nicegui 2.22.2__tar.gz → 2.23.1__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 (756) hide show
  1. {nicegui-2.22.2 → nicegui-2.23.1}/PKG-INFO +2 -1
  2. {nicegui-2.22.2 → nicegui-2.23.1}/README.md +1 -0
  3. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/client.py +16 -19
  4. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/element.py +40 -19
  5. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/color_input.py +21 -4
  6. nicegui-2.23.1/nicegui/elements/dark_mode.js +16 -0
  7. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/dark_mode.py +0 -14
  8. nicegui-2.23.1/nicegui/elements/dialog.js +19 -0
  9. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/dialog.py +2 -2
  10. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/plotly.vue +2 -2
  11. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/select.js +13 -0
  12. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/timer.py +3 -2
  13. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/navigate.py +6 -4
  14. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/native/native.py +1 -1
  15. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/nicegui.py +37 -4
  16. nicegui-2.23.1/nicegui/props.py +125 -0
  17. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/slot.py +8 -14
  18. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/nicegui.css +6 -0
  19. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/storage.py +5 -24
  20. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/templates/index.html +2 -3
  21. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/timer.py +16 -7
  22. {nicegui-2.22.2 → nicegui-2.23.1}/pyproject.toml +1 -1
  23. nicegui-2.22.2/nicegui/elements/dark_mode.js +0 -22
  24. nicegui-2.22.2/nicegui/props.py +0 -103
  25. {nicegui-2.22.2 → nicegui-2.23.1}/LICENSE +0 -0
  26. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/.syncignore +0 -0
  27. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/__init__.py +0 -0
  28. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/air.py +0 -0
  29. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/api_router.py +0 -0
  30. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/app/__init__.py +0 -0
  31. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/app/app.py +0 -0
  32. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/app/app_config.py +0 -0
  33. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/app/range_response.py +0 -0
  34. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/awaitable_response.py +0 -0
  35. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/background_tasks.py +0 -0
  36. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/binding.py +0 -0
  37. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/classes.py +0 -0
  38. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/context.py +0 -0
  39. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/core.py +0 -0
  40. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/dataclasses.py +0 -0
  41. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/dependencies.py +0 -0
  42. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/element_filter.py +0 -0
  43. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/__init__.py +0 -0
  44. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/aggrid.js +0 -0
  45. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/aggrid.py +0 -0
  46. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/audio.js +0 -0
  47. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/audio.py +0 -0
  48. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/avatar.py +0 -0
  49. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/badge.py +0 -0
  50. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/button.py +0 -0
  51. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/button_dropdown.py +0 -0
  52. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/button_group.py +0 -0
  53. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/card.py +0 -0
  54. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/carousel.py +0 -0
  55. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/chat_message.py +0 -0
  56. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/checkbox.py +0 -0
  57. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/chip.py +0 -0
  58. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/choice_element.py +0 -0
  59. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/code.js +0 -0
  60. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/code.py +0 -0
  61. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/codemirror.js +0 -0
  62. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/codemirror.py +0 -0
  63. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/color_picker.py +0 -0
  64. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/colors.js +0 -0
  65. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/colors.py +0 -0
  66. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/column.py +0 -0
  67. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/context_menu.py +0 -0
  68. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/date.py +0 -0
  69. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/drawer.py +0 -0
  70. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/echart.js +0 -0
  71. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/echart.py +0 -0
  72. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/editor.js +0 -0
  73. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/editor.py +0 -0
  74. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/expansion.py +0 -0
  75. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/fab.py +0 -0
  76. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/footer.py +0 -0
  77. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/fullscreen.js +0 -0
  78. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/fullscreen.py +0 -0
  79. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/grid.py +0 -0
  80. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/header.js +0 -0
  81. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/header.py +0 -0
  82. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/highchart.py +0 -0
  83. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/html.py +0 -0
  84. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/icon.py +0 -0
  85. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/image.js +0 -0
  86. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/image.py +0 -0
  87. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/input.js +0 -0
  88. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/input.py +0 -0
  89. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/input_chips.py +0 -0
  90. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/interactive_image.js +0 -0
  91. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/interactive_image.py +0 -0
  92. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/item.py +0 -0
  93. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/joystick.py +0 -0
  94. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/joystick.vue +0 -0
  95. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/json_editor.js +0 -0
  96. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/json_editor.py +0 -0
  97. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/keyboard.js +0 -0
  98. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/keyboard.py +0 -0
  99. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/knob.py +0 -0
  100. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/label.py +0 -0
  101. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/leaflet.js +0 -0
  102. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/leaflet.py +0 -0
  103. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/leaflet_layer.py +0 -0
  104. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/leaflet_layers.py +0 -0
  105. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/aggrid/ag-grid-community.js +0 -0
  106. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/aggrid/ag-grid-community.min.js +0 -0
  107. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/apl-CXdQSnD-.js +0 -0
  108. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/asciiarmor-D5V0T9Cu.js +0 -0
  109. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/asn1-BhA3SgW2.js +0 -0
  110. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/asterisk-B46aRdXb.js +0 -0
  111. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/brainfuck-CtZaYBKt.js +0 -0
  112. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/clike-BPCXT8V3.js +0 -0
  113. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/clojure-DR_hEDJv.js +0 -0
  114. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/cmake-DXn5xaP-.js +0 -0
  115. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/cobol-DJhTY0fG.js +0 -0
  116. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/coffeescript-BTDxI-eT.js +0 -0
  117. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/commonlisp-vq6DHwts.js +0 -0
  118. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/crystal-CRzZ78HM.js +0 -0
  119. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/css-ZjFoif2m.js +0 -0
  120. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/cypher-gJDei3ni.js +0 -0
  121. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/d-BShv7fp-.js +0 -0
  122. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/diff-UJJ5BM9S.js +0 -0
  123. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/dockerfile-DbSFhNEh.js +0 -0
  124. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/dtd-DI9Herc-.js +0 -0
  125. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/dylan-CHJ5qNM_.js +0 -0
  126. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ebnf-B-Df8AvO.js +0 -0
  127. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ecl-DPFc0Uaf.js +0 -0
  128. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/editor-DzvLhhiW.js +0 -0
  129. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/editor.js +0 -0
  130. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/eiffel-DR5c0IrL.js +0 -0
  131. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/elm-D7xaZ7Da.js +0 -0
  132. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/erlang-BuqgqA5h.js +0 -0
  133. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/factor-D9hSz2Dc.js +0 -0
  134. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/fcl-CVaBTCzQ.js +0 -0
  135. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/forth-Dri_5nFc.js +0 -0
  136. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/fortran-DL7KluxX.js +0 -0
  137. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/gas-5kEe4nk0.js +0 -0
  138. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/gherkin-B6X1vGSW.js +0 -0
  139. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/groovy-BfRUB6GO.js +0 -0
  140. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/haskell-CmdsSjFB.js +0 -0
  141. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/haxe-75PMBtaN.js +0 -0
  142. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/http-BKJkqRj4.js +0 -0
  143. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/idl-pcmmZuaN.js +0 -0
  144. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-B7tHWccP.js +0 -0
  145. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-BJiyyGqZ.js +0 -0
  146. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-BL_t_ntH.js +0 -0
  147. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-BTAxP3mB.js +0 -0
  148. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-C4TeAHpL.js +0 -0
  149. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CB606nqP.js +0 -0
  150. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CG3aUV_L.js +0 -0
  151. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CJB1zGqD.js +0 -0
  152. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CJhLK3a1.js +0 -0
  153. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CUN-L9uH.js +0 -0
  154. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CYWhQqFb.js +0 -0
  155. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CgEMB2FB.js +0 -0
  156. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-Ckjrdmtm.js +0 -0
  157. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-Ctywxs9F.js +0 -0
  158. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-CvY89YCL.js +0 -0
  159. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-D6K4mE4a.js +0 -0
  160. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-DHm9fpZm.js +0 -0
  161. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-DWxkS7ff.js +0 -0
  162. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-GtIxIVFm.js +0 -0
  163. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-NkaBMccj.js +0 -0
  164. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/index-anbJ5y0U.js +0 -0
  165. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/javascript-CQRKPXEM.js +0 -0
  166. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/jinja2-DhgKlfW7.js +0 -0
  167. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/julia-DjdwvFuI.js +0 -0
  168. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/livescript-B19OIWEP.js +0 -0
  169. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/lua-8DXOpKDz.js +0 -0
  170. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mathematica-IIbmv7SK.js +0 -0
  171. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mbox-z_N2Mo3d.js +0 -0
  172. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mirc-DkvFAiy5.js +0 -0
  173. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mllike-B8DYu8SS.js +0 -0
  174. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/modelica-DSrSSXCg.js +0 -0
  175. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mscgen-B2igx18G.js +0 -0
  176. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/mumps-zvxmGV4l.js +0 -0
  177. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/nginx-B4hAVlXN.js +0 -0
  178. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/nsis-CKXvuz-E.js +0 -0
  179. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ntriples-FFvkTduk.js +0 -0
  180. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/octave-C4hdQ5Hf.js +0 -0
  181. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/oz-qQq7irPq.js +0 -0
  182. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/pascal-CZ0JYm71.js +0 -0
  183. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/perl-tdMlh9QA.js +0 -0
  184. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/pig-CwGJVRC4.js +0 -0
  185. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/powershell-D1ly3AHC.js +0 -0
  186. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/properties-_nPj978X.js +0 -0
  187. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/protobuf-B4y9do6W.js +0 -0
  188. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/pug-Zmekp7TD.js +0 -0
  189. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/puppet-Bc-yJKzi.js +0 -0
  190. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/python-DD-Q2bae.js +0 -0
  191. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/q-B0kTJ4cI.js +0 -0
  192. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/r-BA4EbLKE.js +0 -0
  193. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/rpm-DI_rRufH.js +0 -0
  194. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ruby-CR-u2WLS.js +0 -0
  195. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/sas-Bqaci40L.js +0 -0
  196. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/scheme-qjP0V5Ag.js +0 -0
  197. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/shell-BLav31RL.js +0 -0
  198. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/sieve-r025o_jW.js +0 -0
  199. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/simple-mode-VRHOsiuL.js +0 -0
  200. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/smalltalk-C7J3IyEP.js +0 -0
  201. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/solr-78MBEUkU.js +0 -0
  202. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/sparql-BRLJFz69.js +0 -0
  203. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/spreadsheet-CGlWr0eM.js +0 -0
  204. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/sql-BP5jFf-w.js +0 -0
  205. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/stex-Ba7Sj9VR.js +0 -0
  206. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/stylus-3mOX9C7I.js +0 -0
  207. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/swift-Cbprqdc8.js +0 -0
  208. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/tcl-B2fODqDH.js +0 -0
  209. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/textile-BuVhTOzU.js +0 -0
  210. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/tiddlywiki-BgR6AEZu.js +0 -0
  211. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/tiki-CI-ztowC.js +0 -0
  212. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/toml-BQXy8elZ.js +0 -0
  213. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/troff-Ce85hlLp.js +0 -0
  214. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ttcn-C4reStyN.js +0 -0
  215. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/ttcn-cfg-Ce4xWtqN.js +0 -0
  216. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/turtle-BkSuIpt-.js +0 -0
  217. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/vb-coDLL1b7.js +0 -0
  218. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/vbscript-MdTt_wcJ.js +0 -0
  219. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/velocity-BdD_26Jv.js +0 -0
  220. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/verilog-B4LBqg_1.js +0 -0
  221. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/vhdl-BRDI21CQ.js +0 -0
  222. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/webidl-CGwyPRYs.js +0 -0
  223. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/xquery-BZBLoTvf.js +0 -0
  224. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/yacas-I8QjZlxf.js +0 -0
  225. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/codemirror/z80-D8p3gKXp.js +0 -0
  226. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/echarts/echarts.js.map +0 -0
  227. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/echarts/echarts.min.js +0 -0
  228. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/echarts-gl/echarts-gl.js.map +0 -0
  229. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/echarts-gl/echarts-gl.min.js +0 -0
  230. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/images/layers-2x.png +0 -0
  231. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/images/layers.png +0 -0
  232. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/images/marker-icon-2x.png +0 -0
  233. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/images/marker-icon.png +0 -0
  234. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/images/marker-shadow.png +0 -0
  235. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/leaflet.css +0 -0
  236. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/leaflet.js +0 -0
  237. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet/leaflet.js.map +0 -0
  238. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/layers-2x.png +0 -0
  239. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/layers.png +0 -0
  240. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-icon-2x.png +0 -0
  241. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-icon.png +0 -0
  242. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-shadow.png +0 -0
  243. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet-2x.png +0 -0
  244. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet.png +0 -0
  245. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet.svg +0 -0
  246. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/leaflet.draw.css +0 -0
  247. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/leaflet/leaflet-draw/leaflet.draw.js +0 -0
  248. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/blockDiagram-NDWNTGEE.mjs +0 -0
  249. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/c4Diagram-AUYESYAG.mjs +0 -0
  250. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-2RSIMOBZ.mjs +0 -0
  251. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4BPNZXC3.mjs +0 -0
  252. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4KE642ED.mjs +0 -0
  253. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4SRTBRON.mjs +0 -0
  254. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6BY5RJGC.mjs +0 -0
  255. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6IZS222M.mjs +0 -0
  256. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6XGRHI2A.mjs +0 -0
  257. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-AC3VT7B7.mjs +0 -0
  258. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-BKDDFIKN.mjs +0 -0
  259. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-BOP2KBYH.mjs +0 -0
  260. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-C7NU23FD.mjs +0 -0
  261. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-CBSWTUHP.mjs +0 -0
  262. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-D3PZO57J.mjs +0 -0
  263. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-DZFIHE2J.mjs +0 -0
  264. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-E4AWDUZE.mjs +0 -0
  265. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-F4773GRL.mjs +0 -0
  266. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-GTKDMUJJ.mjs +0 -0
  267. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-KMOJB3TB.mjs +0 -0
  268. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-NQURTBEV.mjs +0 -0
  269. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-OUDNNCD4.mjs +0 -0
  270. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-RRFB4HDS.mjs +0 -0
  271. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-TI4EEUUG.mjs +0 -0
  272. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-U6LOUQAF.mjs +0 -0
  273. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-UWHJNN4Q.mjs +0 -0
  274. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-VRGDDFRA.mjs +0 -0
  275. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-VSLJSFIP.mjs +0 -0
  276. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-WVHPJQMP.mjs +0 -0
  277. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YFFLADYN.mjs +0 -0
  278. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YJEQJWB7.mjs +0 -0
  279. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YPUTD6PB.mjs +0 -0
  280. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/classDiagram-EPVPYR3L.mjs +0 -0
  281. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/classDiagram-v2-NO4EPWGV.mjs +0 -0
  282. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/dagre-EVPMPUST.mjs +0 -0
  283. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/diagram-V25JEYTC.mjs +0 -0
  284. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/erDiagram-Y4N7DENO.mjs +0 -0
  285. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/flowDiagram-JTTVBJUY.mjs +0 -0
  286. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/ganttDiagram-6SR64PWN.mjs +0 -0
  287. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/gitGraph-F2EDSAW4-LKDW3VZQ.mjs +0 -0
  288. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-LRIBUTDQ.mjs +0 -0
  289. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/info-PWGDJKR5-T7ZKA3RY.mjs +0 -0
  290. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/infoDiagram-YTPSHCSX.mjs +0 -0
  291. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/journeyDiagram-VRXW2F6L.mjs +0 -0
  292. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/katex-SWYD7GD6.mjs +0 -0
  293. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/mindmap-definition-KLCIANCF.mjs +0 -0
  294. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/packet-7PPW3X5M-O6SZ3T2R.mjs +0 -0
  295. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/pie-RF5LNP4B-V656W2AT.mjs +0 -0
  296. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/pieDiagram-WYSUK7CQ.mjs +0 -0
  297. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/quadrantDiagram-K5BY4R5E.mjs +0 -0
  298. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/requirementDiagram-2DBX4ZW4.mjs +0 -0
  299. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/sankeyDiagram-F3GI3WFI.mjs +0 -0
  300. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/sequenceDiagram-QBGN4KDC.mjs +0 -0
  301. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/stateDiagram-S3XGF733.mjs +0 -0
  302. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-BSO5MUCZ.mjs +0 -0
  303. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/timeline-definition-MHTE3MCH.mjs +0 -0
  304. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/xychartDiagram-RLS75X5Z.mjs +0 -0
  305. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/mermaid/mermaid.esm.min.mjs +0 -0
  306. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/nipplejs/nipplejs.js +0 -0
  307. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/plotly/plotly.js +0 -0
  308. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/plotly/plotly.min.js +0 -0
  309. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/BufferGeometryUtils.js +0 -0
  310. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/CSS2DRenderer.js +0 -0
  311. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/CSS3DRenderer.js +0 -0
  312. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/DragControls.js +0 -0
  313. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/GLTFLoader.js +0 -0
  314. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/OrbitControls.js +0 -0
  315. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/STLLoader.js +0 -0
  316. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/modules/tween.module.js +0 -0
  317. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/three/three.module.js +0 -0
  318. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/tween/tween.umd.js +0 -0
  319. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/vanilla-jsoneditor/standalone.js +0 -0
  320. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/lib/vanilla-jsoneditor/standalone.js.map +0 -0
  321. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/line_plot.py +0 -0
  322. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/link.js +0 -0
  323. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/link.py +0 -0
  324. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/list.py +0 -0
  325. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/log.py +0 -0
  326. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/markdown.js +0 -0
  327. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/markdown.py +0 -0
  328. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/menu.py +0 -0
  329. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mermaid.js +0 -0
  330. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mermaid.py +0 -0
  331. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/__init__.py +0 -0
  332. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/color_elements.py +0 -0
  333. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/content_element.py +0 -0
  334. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/disableable_element.py +0 -0
  335. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/filter_element.py +0 -0
  336. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/icon_element.py +0 -0
  337. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/label_element.py +0 -0
  338. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/name_element.py +0 -0
  339. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/selectable_element.py +0 -0
  340. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/source_element.py +0 -0
  341. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/text_element.py +0 -0
  342. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/validation_element.py +0 -0
  343. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/value_element.py +0 -0
  344. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/mixins/visibility.py +0 -0
  345. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/notification.js +0 -0
  346. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/notification.py +0 -0
  347. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/number.py +0 -0
  348. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/page_sticky.py +0 -0
  349. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/pagination.py +0 -0
  350. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/plotly.py +0 -0
  351. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/progress.py +0 -0
  352. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/pyplot.py +0 -0
  353. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/query.js +0 -0
  354. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/query.py +0 -0
  355. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/radio.py +0 -0
  356. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/range.py +0 -0
  357. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/rating.py +0 -0
  358. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/restructured_text.py +0 -0
  359. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/row.py +0 -0
  360. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene.js +0 -0
  361. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene.py +0 -0
  362. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene_object3d.py +0 -0
  363. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene_objects.py +0 -0
  364. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene_view.js +0 -0
  365. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scene_view.py +0 -0
  366. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/scroll_area.py +0 -0
  367. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/select.py +0 -0
  368. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/separator.py +0 -0
  369. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/skeleton.py +0 -0
  370. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/slide_item.py +0 -0
  371. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/slider.py +0 -0
  372. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/space.py +0 -0
  373. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/spinner.py +0 -0
  374. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/splitter.py +0 -0
  375. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/stepper.py +0 -0
  376. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/sub_pages.js +0 -0
  377. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/sub_pages.py +0 -0
  378. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/switch.py +0 -0
  379. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/table.js +0 -0
  380. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/table.py +0 -0
  381. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/tabs.py +0 -0
  382. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/teleport.js +0 -0
  383. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/teleport.py +0 -0
  384. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/textarea.py +0 -0
  385. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/time.py +0 -0
  386. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/timeline.py +0 -0
  387. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/timer.js +0 -0
  388. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/toggle.py +0 -0
  389. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/tooltip.py +0 -0
  390. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/tree.py +0 -0
  391. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/upload.js +0 -0
  392. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/upload.py +0 -0
  393. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/video.js +0 -0
  394. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/elements/video.py +0 -0
  395. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/error.py +0 -0
  396. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/event_listener.py +0 -0
  397. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/events.py +0 -0
  398. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/favicon.py +0 -0
  399. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/__init__.py +0 -0
  400. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/clipboard.py +0 -0
  401. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/download.py +0 -0
  402. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/html.py +0 -0
  403. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/javascript.py +0 -0
  404. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/notify.py +0 -0
  405. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/on.py +0 -0
  406. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/page_title.py +0 -0
  407. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/refreshable.js +0 -0
  408. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/refreshable.py +0 -0
  409. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/style.py +0 -0
  410. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/functions/update.py +0 -0
  411. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/helpers.py +0 -0
  412. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/html.py +0 -0
  413. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/javascript_request.py +0 -0
  414. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/json/__init__.py +0 -0
  415. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/json/builtin_wrapper.py +0 -0
  416. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/json/orjson_wrapper.py +0 -0
  417. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/language.py +0 -0
  418. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/logging.py +0 -0
  419. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/middlewares.py +0 -0
  420. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/native/__init__.py +0 -0
  421. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/native/native_config.py +0 -0
  422. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/native/native_mode.py +0 -0
  423. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/observables.py +0 -0
  424. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/optional_features.py +0 -0
  425. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/outbox.py +0 -0
  426. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/page.py +0 -0
  427. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/page_arguments.py +0 -0
  428. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/persistence/__init__.py +0 -0
  429. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/persistence/file_persistent_dict.py +0 -0
  430. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/persistence/persistent_dict.py +0 -0
  431. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/persistence/read_only_dict.py +0 -0
  432. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/persistence/redis_persistent_dict.py +0 -0
  433. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/py.typed +0 -0
  434. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/run.py +0 -0
  435. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/scripts/pack.py +0 -0
  436. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/server.py +0 -0
  437. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/es-module-shims.js +0 -0
  438. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/favicon.ico +0 -0
  439. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/01d40c9fd448face.woff2 +0 -0
  440. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/042d031f00f025d3.woff2 +0 -0
  441. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/0953a0ea5ec2fbe6.woff2 +0 -0
  442. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/096bf4e001f30f3d.woff2 +0 -0
  443. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/0c19a63c7528cc1a.woff2 +0 -0
  444. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/0ca83f77c744e2a2.woff2 +0 -0
  445. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/18cea8b33059950e.woff2 +0 -0
  446. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/1e891d4a2a7f2f96.woff2 +0 -0
  447. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/28b81f220ca048e2.woff2 +0 -0
  448. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/2af55f54d9fac778.woff2 +0 -0
  449. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/2c8ec1765f13887d.woff2 +0 -0
  450. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/2e2ca037aef7b51d.woff2 +0 -0
  451. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/334116c5190f1716.woff2 +0 -0
  452. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/34d83f10ce3fa7b4.woff2 +0 -0
  453. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/425b348f7eab066c.woff2 +0 -0
  454. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/47c853f95b759bef.woff2 +0 -0
  455. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/4ad9ee1c03eed305.woff2 +0 -0
  456. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/4c401738b2e90c99.woff2 +0 -0
  457. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/55a208f32a6be540.woff2 +0 -0
  458. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/5f02a1396c9fc305.woff2 +0 -0
  459. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/616907143b870cb1.woff2 +0 -0
  460. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/62873223be6b39e0.woff2 +0 -0
  461. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/66c1c422e62faf1d.woff2 +0 -0
  462. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/6d6ebdc60d2cd01e.woff2 +0 -0
  463. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/707a7c6749d7c089.woff2 +0 -0
  464. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/7104372e0a34311e.woff2 +0 -0
  465. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/7420c823209e4609.woff2 +0 -0
  466. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/7c7f3bb965e2deae.woff2 +0 -0
  467. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/7f5c1101832b02f5.woff2 +0 -0
  468. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/81471017108054b9.woff2 +0 -0
  469. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/851ed7636af29416.woff2 +0 -0
  470. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/8d21fc3a9d063f00.woff2 +0 -0
  471. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/8e146ffc255e03c3.woff2 +0 -0
  472. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/935e23d0cd87ac6f.woff2 +0 -0
  473. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/9b5609bd55cc78e3.woff2 +0 -0
  474. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/a35a05f781345176.woff2 +0 -0
  475. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/ab8cf1fb84e33cd6.woff2 +0 -0
  476. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/afd447df78322d0d.woff2 +0 -0
  477. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/bb828b03a1f11130.woff2 +0 -0
  478. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/c3f2f68bb77a7944.woff2 +0 -0
  479. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/c854362e488d0bec.woff2 +0 -0
  480. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/cf8e1fe457b4cc05.woff2 +0 -0
  481. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/d4e71f49ac06b20e.woff2 +0 -0
  482. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/d5ec90d9ff9fdc02.woff2 +0 -0
  483. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/dcbef151cf127173.woff2 +0 -0
  484. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/e62204447c1ed92a.woff2 +0 -0
  485. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/ea7496e801e7e453.woff2 +0 -0
  486. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/f3d429b4c95dd3ce.woff2 +0 -0
  487. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts/fdbd937e991f101f.woff2 +0 -0
  488. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/fonts.css +0 -0
  489. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ar-TN.umd.prod.js +0 -0
  490. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ar.umd.prod.js +0 -0
  491. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/az-Latn.umd.prod.js +0 -0
  492. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/bg.umd.prod.js +0 -0
  493. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/bn.umd.prod.js +0 -0
  494. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/bs-BA.umd.prod.js +0 -0
  495. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ca.umd.prod.js +0 -0
  496. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/cs.umd.prod.js +0 -0
  497. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/da.umd.prod.js +0 -0
  498. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/de-CH.umd.prod.js +0 -0
  499. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/de-DE.umd.prod.js +0 -0
  500. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/de.umd.prod.js +0 -0
  501. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/el.umd.prod.js +0 -0
  502. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/en-GB.umd.prod.js +0 -0
  503. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/en-US.umd.prod.js +0 -0
  504. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/eo.umd.prod.js +0 -0
  505. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/es.umd.prod.js +0 -0
  506. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/et.umd.prod.js +0 -0
  507. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/eu.umd.prod.js +0 -0
  508. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/fa-IR.umd.prod.js +0 -0
  509. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/fa.umd.prod.js +0 -0
  510. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/fi.umd.prod.js +0 -0
  511. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/fr.umd.prod.js +0 -0
  512. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/gn.umd.prod.js +0 -0
  513. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/he.umd.prod.js +0 -0
  514. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/hi.umd.prod.js +0 -0
  515. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/hr.umd.prod.js +0 -0
  516. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/hu.umd.prod.js +0 -0
  517. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/id.umd.prod.js +0 -0
  518. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/is.umd.prod.js +0 -0
  519. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/it.umd.prod.js +0 -0
  520. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ja.umd.prod.js +0 -0
  521. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/kk.umd.prod.js +0 -0
  522. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/km.umd.prod.js +0 -0
  523. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ko-KR.umd.prod.js +0 -0
  524. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/kur-CKB.umd.prod.js +0 -0
  525. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/lt.umd.prod.js +0 -0
  526. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/lu.umd.prod.js +0 -0
  527. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/lv.umd.prod.js +0 -0
  528. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/mk.umd.prod.js +0 -0
  529. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ml.umd.prod.js +0 -0
  530. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/mm.umd.prod.js +0 -0
  531. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ms-MY.umd.prod.js +0 -0
  532. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ms.umd.prod.js +0 -0
  533. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/my.umd.prod.js +0 -0
  534. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/nb-NO.umd.prod.js +0 -0
  535. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/nl.umd.prod.js +0 -0
  536. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/pl.umd.prod.js +0 -0
  537. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/pt-BR.umd.prod.js +0 -0
  538. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/pt.umd.prod.js +0 -0
  539. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ro.umd.prod.js +0 -0
  540. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ru.umd.prod.js +0 -0
  541. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sk.umd.prod.js +0 -0
  542. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sl.umd.prod.js +0 -0
  543. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sm.umd.prod.js +0 -0
  544. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sr-CYR.umd.prod.js +0 -0
  545. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sr.umd.prod.js +0 -0
  546. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/sv.umd.prod.js +0 -0
  547. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ta.umd.prod.js +0 -0
  548. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/th.umd.prod.js +0 -0
  549. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/tl.umd.prod.js +0 -0
  550. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/tr.umd.prod.js +0 -0
  551. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/ug.umd.prod.js +0 -0
  552. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/uk.umd.prod.js +0 -0
  553. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/uz-Cyrl.umd.prod.js +0 -0
  554. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/uz-Latn.umd.prod.js +0 -0
  555. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/vi.umd.prod.js +0 -0
  556. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/zh-CN.umd.prod.js +0 -0
  557. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/lang/zh-TW.umd.prod.js +0 -0
  558. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/nicegui.js +0 -0
  559. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/quasar.css +0 -0
  560. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/quasar.prod.css +0 -0
  561. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/quasar.umd.js +0 -0
  562. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/quasar.umd.prod.js +0 -0
  563. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/sad_face.svg +0 -0
  564. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/socket.io.min.js +0 -0
  565. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/socket.io.min.js.map +0 -0
  566. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/tailwindcss.min.js +0 -0
  567. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/utils/dynamic_properties.js +0 -0
  568. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/utils/json.js +0 -0
  569. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/utils/resources.js +0 -0
  570. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/vue.global.js +0 -0
  571. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/static/vue.global.prod.js +0 -0
  572. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/staticfiles.py +0 -0
  573. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/style.py +0 -0
  574. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/sub_pages_router.py +0 -0
  575. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind.py +0 -0
  576. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/__init__.py +0 -0
  577. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/accent_color.py +0 -0
  578. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/align_content.py +0 -0
  579. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/align_items.py +0 -0
  580. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/align_self.py +0 -0
  581. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/animation.py +0 -0
  582. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/appearance.py +0 -0
  583. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/aspect_ratio.py +0 -0
  584. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_blur.py +0 -0
  585. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_brightness.py +0 -0
  586. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_contrast.py +0 -0
  587. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_grayscale.py +0 -0
  588. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_hue_rotate.py +0 -0
  589. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_invert.py +0 -0
  590. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_opacity.py +0 -0
  591. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_saturate.py +0 -0
  592. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/backdrop_sepia.py +0 -0
  593. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_attachment.py +0 -0
  594. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_blend_mode.py +0 -0
  595. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_clip.py +0 -0
  596. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_color.py +0 -0
  597. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_image.py +0 -0
  598. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_origin.py +0 -0
  599. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_position.py +0 -0
  600. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_repeat.py +0 -0
  601. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/background_size.py +0 -0
  602. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/blur.py +0 -0
  603. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_collapse.py +0 -0
  604. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_color.py +0 -0
  605. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_radius.py +0 -0
  606. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_spacing.py +0 -0
  607. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_style.py +0 -0
  608. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/border_width.py +0 -0
  609. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/box_decoration_break.py +0 -0
  610. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/box_shadow.py +0 -0
  611. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/box_shadow_color.py +0 -0
  612. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/box_sizing.py +0 -0
  613. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/break_after.py +0 -0
  614. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/break_before.py +0 -0
  615. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/break_inside.py +0 -0
  616. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/brightness.py +0 -0
  617. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/caption_side.py +0 -0
  618. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/caret_color.py +0 -0
  619. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/clear.py +0 -0
  620. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/columns.py +0 -0
  621. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/content.py +0 -0
  622. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/contrast.py +0 -0
  623. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/cursor.py +0 -0
  624. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/display.py +0 -0
  625. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/divide_color.py +0 -0
  626. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/divide_style.py +0 -0
  627. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/divide_width.py +0 -0
  628. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/drop_shadow.py +0 -0
  629. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/fill.py +0 -0
  630. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex.py +0 -0
  631. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex_basis.py +0 -0
  632. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex_direction.py +0 -0
  633. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex_grow.py +0 -0
  634. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex_shrink.py +0 -0
  635. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/flex_wrap.py +0 -0
  636. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/floats.py +0 -0
  637. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_family.py +0 -0
  638. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_size.py +0 -0
  639. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_smoothing.py +0 -0
  640. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_style.py +0 -0
  641. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_variant_numeric.py +0 -0
  642. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/font_weight.py +0 -0
  643. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/forced_color_adjust.py +0 -0
  644. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/gap.py +0 -0
  645. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/gradient_color_stops.py +0 -0
  646. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grayscale.py +0 -0
  647. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_auto_columns.py +0 -0
  648. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_auto_flow.py +0 -0
  649. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_auto_rows.py +0 -0
  650. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_column_start_end.py +0 -0
  651. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_row_start_end.py +0 -0
  652. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_template_columns.py +0 -0
  653. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/grid_template_rows.py +0 -0
  654. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/height.py +0 -0
  655. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/hue_rotate.py +0 -0
  656. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/hyphens.py +0 -0
  657. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/invert.py +0 -0
  658. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/isolation.py +0 -0
  659. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/justify_content.py +0 -0
  660. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/justify_items.py +0 -0
  661. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/justify_self.py +0 -0
  662. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/letter_spacing.py +0 -0
  663. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/line_clamp.py +0 -0
  664. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/line_height.py +0 -0
  665. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/list_style_image.py +0 -0
  666. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/list_style_position.py +0 -0
  667. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/list_style_type.py +0 -0
  668. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/margin.py +0 -0
  669. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/max_height.py +0 -0
  670. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/max_width.py +0 -0
  671. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/min_height.py +0 -0
  672. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/min_width.py +0 -0
  673. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/mix_blend_mode.py +0 -0
  674. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/object_fit.py +0 -0
  675. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/object_position.py +0 -0
  676. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/opacity.py +0 -0
  677. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/order.py +0 -0
  678. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/outline_color.py +0 -0
  679. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/outline_offset.py +0 -0
  680. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/outline_style.py +0 -0
  681. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/outline_width.py +0 -0
  682. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/overflow.py +0 -0
  683. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/overscroll_behavior.py +0 -0
  684. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/padding.py +0 -0
  685. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/place_content.py +0 -0
  686. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/place_items.py +0 -0
  687. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/place_self.py +0 -0
  688. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/pointer_events.py +0 -0
  689. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/position.py +0 -0
  690. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/resize.py +0 -0
  691. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/ring_color.py +0 -0
  692. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/ring_offset_color.py +0 -0
  693. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/ring_offset_width.py +0 -0
  694. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/ring_width.py +0 -0
  695. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/rotate.py +0 -0
  696. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/saturate.py +0 -0
  697. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scale.py +0 -0
  698. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/screen_readers.py +0 -0
  699. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_behavior.py +0 -0
  700. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_margin.py +0 -0
  701. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_padding.py +0 -0
  702. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_snap_align.py +0 -0
  703. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_snap_stop.py +0 -0
  704. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/scroll_snap_type.py +0 -0
  705. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/sepia.py +0 -0
  706. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/size.py +0 -0
  707. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/skew.py +0 -0
  708. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/space_between.py +0 -0
  709. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/stroke.py +0 -0
  710. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/stroke_width.py +0 -0
  711. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/table_layout.py +0 -0
  712. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_align.py +0 -0
  713. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_color.py +0 -0
  714. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_decoration.py +0 -0
  715. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_decoration_color.py +0 -0
  716. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_decoration_style.py +0 -0
  717. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_decoration_thickness.py +0 -0
  718. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_indent.py +0 -0
  719. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_overflow.py +0 -0
  720. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_transform.py +0 -0
  721. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_underline_offset.py +0 -0
  722. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/text_wrap.py +0 -0
  723. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/top_right_bottom_left.py +0 -0
  724. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/touch_action.py +0 -0
  725. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/transform_origin.py +0 -0
  726. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/transition_delay.py +0 -0
  727. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/transition_duration.py +0 -0
  728. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/transition_property.py +0 -0
  729. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/transition_timing_function.py +0 -0
  730. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/translate.py +0 -0
  731. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/user_select.py +0 -0
  732. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/vertical_align.py +0 -0
  733. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/visibility.py +0 -0
  734. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/whitespace.py +0 -0
  735. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/width.py +0 -0
  736. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/will_change.py +0 -0
  737. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/word_break.py +0 -0
  738. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/tailwind_types/z_index.py +0 -0
  739. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/__init__.py +0 -0
  740. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/conftest.py +0 -0
  741. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/general_fixtures.py +0 -0
  742. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/plugin.py +0 -0
  743. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/screen.py +0 -0
  744. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/screen_plugin.py +0 -0
  745. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user.py +0 -0
  746. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user_download.py +0 -0
  747. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user_interaction.py +0 -0
  748. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user_navigate.py +0 -0
  749. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user_notify.py +0 -0
  750. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/testing/user_plugin.py +0 -0
  751. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/translations.py +0 -0
  752. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/ui.py +0 -0
  753. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/ui_run.py +0 -0
  754. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/ui_run_with.py +0 -0
  755. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/version.py +0 -0
  756. {nicegui-2.22.2 → nicegui-2.23.1}/nicegui/welcome.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nicegui
3
- Version: 2.22.2
3
+ Version: 2.23.1
4
4
  Summary: Create web-based user interfaces with Python. The nice way.
5
5
  License: MIT
6
6
  Keywords: gui,ui,web,interface,live
@@ -171,6 +171,7 @@ If you would like to support this project and have your avatar or company logo a
171
171
  <a href="https://github.com/sereneturtlefox"><img src="https://github.com/sereneturtlefox.png" width="50px" alt="None" /></a>
172
172
  <a href="https://github.com/whoulden"><img src="https://github.com/whoulden.png" width="50px" alt="Wayne Houlden" /></a>
173
173
  <a href="https://github.com/digiquip"><img src="https://github.com/digiquip.png" width="50px" alt="DigiQuip AS" /></a>
174
+ <a href="https://github.com/Christian-D-Bock"><img src="https://github.com/Christian-D-Bock.png" width="50px" alt="Christian Bock" /></a>
174
175
  </p>
175
176
  <!-- SPONSORS -->
176
177
 
@@ -117,6 +117,7 @@ If you would like to support this project and have your avatar or company logo a
117
117
  <a href="https://github.com/sereneturtlefox"><img src="https://github.com/sereneturtlefox.png" width="50px" alt="None" /></a>
118
118
  <a href="https://github.com/whoulden"><img src="https://github.com/whoulden.png" width="50px" alt="Wayne Houlden" /></a>
119
119
  <a href="https://github.com/digiquip"><img src="https://github.com/digiquip.png" width="50px" alt="DigiQuip AS" /></a>
120
+ <a href="https://github.com/Christian-D-Bock"><img src="https://github.com/Christian-D-Bock.png" width="50px" alt="Christian Bock" /></a>
120
121
  </p>
121
122
  <!-- SPONSORS -->
122
123
 
@@ -131,7 +131,7 @@ class Client:
131
131
  def build_response(self, request: Request, status_code: int = 200) -> Response:
132
132
  """Build a FastAPI response for the client."""
133
133
  self.outbox.updates.clear()
134
- prefix = request.headers.get('X-Forwarded-Prefix', request.scope.get('root_path', ''))
134
+ prefix = request.headers.get('X-Forwarded-Prefix', '') + request.scope.get('root_path', '')
135
135
  elements = json.dumps({
136
136
  id: element._to_dict() for id, element in self.elements.items() # pylint: disable=protected-access
137
137
  })
@@ -273,6 +273,7 @@ class Client:
273
273
  document_id = self._socket_to_document_id.pop(socket_id)
274
274
  self._cancel_delete_task(document_id)
275
275
  self._num_connections[document_id] -= 1
276
+ self.tab_id = None
276
277
 
277
278
  async def delete_content() -> None:
278
279
  await asyncio.sleep(self.page.resolve_reconnect_timeout())
@@ -370,21 +371,17 @@ class Client:
370
371
  self._temporary_socket_id = None
371
372
 
372
373
  @classmethod
373
- async def prune_instances(cls) -> None:
374
- """Prune stale clients in an endless loop."""
375
- while True:
376
- try:
377
- stale_clients = [
378
- client
379
- for client in cls.instances.values()
380
- if not client.shared and not client.has_socket_connection and client.created < time.time() - 60.0
381
- ]
382
- for client in stale_clients:
383
- client.delete()
384
- except Exception:
385
- # NOTE: make sure the loop doesn't crash
386
- log.exception('Error while pruning clients')
387
- try:
388
- await asyncio.sleep(10)
389
- except asyncio.CancelledError:
390
- break
374
+ def prune_instances(cls, *, client_age_threshold: float = 60.0) -> None:
375
+ """Prune stale clients."""
376
+ try:
377
+ stale_clients = [
378
+ client
379
+ for client in cls.instances.values()
380
+ if not client.shared and not client.has_socket_connection
381
+ and client.created <= time.time() - client_age_threshold
382
+ ]
383
+ for client in stale_clients:
384
+ client.delete()
385
+
386
+ except Exception:
387
+ log.exception('Error while pruning clients')
@@ -76,17 +76,18 @@ class Element(Visibility):
76
76
  self._deleted: bool = False
77
77
 
78
78
  client.elements[self.id] = self
79
- self.parent_slot: Optional[Slot] = None
79
+ self._parent_slot: Optional[weakref.ref[Slot]] = None
80
80
  slot_stack = context.slot_stack
81
81
  if slot_stack:
82
- self.parent_slot = slot_stack[-1]
83
- self.parent_slot.children.append(self)
82
+ parent_slot = slot_stack[-1]
83
+ parent_slot.children.append(self)
84
+ self._parent_slot = weakref.ref(parent_slot)
84
85
 
85
86
  self.tailwind = Tailwind(self)
86
87
 
87
88
  client.outbox.enqueue_update(self)
88
- if self.parent_slot:
89
- client.outbox.enqueue_update(self.parent_slot.parent)
89
+ if self._parent_slot:
90
+ client.outbox.enqueue_update(parent_slot.parent)
90
91
 
91
92
  def __init_subclass__(cls, *,
92
93
  component: Union[str, Path, None] = None,
@@ -156,6 +157,20 @@ class Element(Visibility):
156
157
  raise RuntimeError('The client this element belongs to has been deleted.')
157
158
  return client
158
159
 
160
+ @property
161
+ def parent_slot(self) -> Optional[Slot]:
162
+ """The parent slot of the element."""
163
+ if self._parent_slot is None:
164
+ return None
165
+ parent_slot = self._parent_slot()
166
+ if parent_slot is None:
167
+ raise RuntimeError('The parent slot of the element has been deleted.')
168
+ return parent_slot
169
+
170
+ @parent_slot.setter
171
+ def parent_slot(self, value: Optional[Slot]) -> None:
172
+ self._parent_slot = weakref.ref(value) if value else None
173
+
159
174
  def add_resource(self, path: Union[str, Path]) -> None:
160
175
  """Add a resource to the element.
161
176
 
@@ -455,8 +470,9 @@ class Element(Visibility):
455
470
  """
456
471
  if include_self:
457
472
  yield self
458
- if self.parent_slot:
459
- yield from self.parent_slot.parent.ancestors(include_self=True)
473
+ parent_slot = self.parent_slot
474
+ if parent_slot:
475
+ yield from parent_slot.parent.ancestors(include_self=True)
460
476
 
461
477
  def descendants(self, *, include_self: bool = False) -> Iterator[Element]:
462
478
  """Iterate over the descendants of the element.
@@ -485,21 +501,24 @@ class Element(Visibility):
485
501
  :param target_index: index within the target slot (default: append to the end)
486
502
  :param target_slot: slot within the target container (default: default slot)
487
503
  """
488
- assert self.parent_slot is not None
489
- self.parent_slot.children.remove(self)
490
- self.parent_slot.parent.update()
491
- target_container = target_container or self.parent_slot.parent
504
+ parent_slot = self.parent_slot
505
+ assert parent_slot is not None
506
+ parent_slot.children.remove(self)
507
+ parent_slot.parent.update()
508
+ target_container = target_container or parent_slot.parent
492
509
 
493
510
  if target_slot is None:
494
- self.parent_slot = target_container.default_slot
511
+ parent_slot = target_container.default_slot
512
+ self.parent_slot = parent_slot
495
513
  elif target_slot in target_container.slots:
496
- self.parent_slot = target_container.slots[target_slot]
514
+ parent_slot = target_container.slots[target_slot]
515
+ self.parent_slot = parent_slot
497
516
  else:
498
517
  raise ValueError(f'Slot "{target_slot}" does not exist in the target container. '
499
518
  f'Add it first using `add_slot("{target_slot}")`.')
500
519
 
501
- target_index = target_index if target_index >= 0 else len(self.parent_slot.children)
502
- self.parent_slot.children.insert(target_index, self)
520
+ target_index = target_index if target_index >= 0 else len(parent_slot.children)
521
+ parent_slot.children.insert(target_index, self)
503
522
 
504
523
  target_container.update()
505
524
 
@@ -512,14 +531,16 @@ class Element(Visibility):
512
531
  children = list(self)
513
532
  element = children[element]
514
533
  self.client.remove_elements(element.descendants(include_self=True))
515
- assert element.parent_slot is not None
516
- element.parent_slot.children.remove(element)
534
+ parent_slot = element.parent_slot
535
+ assert parent_slot is not None
536
+ parent_slot.children.remove(element)
517
537
  self.update()
518
538
 
519
539
  def delete(self) -> None:
520
540
  """Delete the element and all its children."""
521
- assert self.parent_slot is not None
522
- self.parent_slot.parent.remove(self)
541
+ parent_slot = self.parent_slot
542
+ assert parent_slot is not None
543
+ parent_slot.parent.remove(self)
523
544
 
524
545
  def _handle_delete(self) -> None:
525
546
  """Called when the element is deleted.
@@ -1,3 +1,5 @@
1
+ import re
2
+ from colorsys import rgb_to_yiq
1
3
  from typing import Any, Optional
2
4
 
3
5
  from ..events import Handler, ValueChangeEventArguments
@@ -7,6 +9,9 @@ from .mixins.disableable_element import DisableableElement
7
9
  from .mixins.label_element import LabelElement
8
10
  from .mixins.value_element import ValueElement
9
11
 
12
+ HEX_COLOR_PATTERN_6 = re.compile(r'^#([0-9a-fA-F]{6})$')
13
+ HEX_COLOR_PATTERN_3 = re.compile(r'^#([0-9a-fA-F]{3})$')
14
+
10
15
 
11
16
  class ColorInput(LabelElement, ValueElement, DisableableElement):
12
17
  LOOPBACK = False
@@ -53,7 +58,19 @@ class ColorInput(LabelElement, ValueElement, DisableableElement):
53
58
  def _update_preview(self) -> None:
54
59
  if not self.preview:
55
60
  return
56
- self.button.style(f'''
57
- background-color: {(self.value or "#fff").split(";", 1)[0]};
58
- text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff, 1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
59
- ''')
61
+
62
+ color = self.value.strip()
63
+ if HEX_COLOR_PATTERN_6.match(color):
64
+ r = int(color[1:3], 16) / 255
65
+ g = int(color[3:5], 16) / 255
66
+ b = int(color[5:7], 16) / 255
67
+ elif HEX_COLOR_PATTERN_3.match(color):
68
+ r = int(color[1], 16) / 15
69
+ g = int(color[2], 16) / 15
70
+ b = int(color[3], 16) / 15
71
+ else:
72
+ self.button.style('background-color: transparent').props(remove='color')
73
+ return
74
+ luminance = rgb_to_yiq(r, g, b)[0]
75
+ icon_color = 'grey-10' if luminance > 0.5 else 'grey-3'
76
+ self.button.style(f'background-color: {color}').props(f'color="{icon_color}"')
@@ -0,0 +1,16 @@
1
+ export default {
2
+ mounted() {
3
+ this.update();
4
+ },
5
+ updated() {
6
+ this.update();
7
+ },
8
+ methods: {
9
+ update() {
10
+ Quasar.Dark.set(this.value === null ? "auto" : this.value);
11
+ },
12
+ },
13
+ props: {
14
+ value: Boolean,
15
+ },
16
+ };
@@ -1,6 +1,5 @@
1
1
  from typing import Optional
2
2
 
3
- from .. import core, helpers
4
3
  from ..events import Handler, ValueChangeEventArguments
5
4
  from .mixins.value_element import ValueElement
6
5
 
@@ -21,19 +20,6 @@ class DarkMode(ValueElement, component='dark_mode.js'):
21
20
  """
22
21
  super().__init__(value=value, on_value_change=on_change)
23
22
 
24
- # HACK: this is a temporary warning to inform users about issue #3753
25
- if core.app.is_started:
26
- self._check_for_issue_3753()
27
- else:
28
- core.app.on_startup(self._check_for_issue_3753)
29
-
30
- def _check_for_issue_3753(self) -> None:
31
- if self.client.page.resolve_dark() is None and core.app.config.tailwind:
32
- helpers.warn_once(
33
- '`ui.dark_mode` is not supported on pages with `dark=None` while running with `tailwind=True` (the default). '
34
- 'See https://github.com/zauberzeug/nicegui/issues/3753 for more information.'
35
- )
36
-
37
23
  def enable(self) -> None:
38
24
  """Enable dark mode."""
39
25
  self.value = True
@@ -0,0 +1,19 @@
1
+ export default {
2
+ template: `
3
+ <q-dialog v-bind="$attrs" @show="addClass" @hide="removeClass">
4
+ <slot />
5
+ </q-dialog>
6
+ `,
7
+ methods: {
8
+ addClass() {
9
+ // NOTE: prevent the page from scrolling when the dialog is closed (#5031)
10
+ document.documentElement.classList.add("nicegui-dialog-open");
11
+ },
12
+ removeClass() {
13
+ document.documentElement.classList.remove("nicegui-dialog-open");
14
+ },
15
+ },
16
+ unmounted() {
17
+ this.removeClass();
18
+ },
19
+ };
@@ -4,7 +4,7 @@ from typing import Any, Optional
4
4
  from .mixins.value_element import ValueElement
5
5
 
6
6
 
7
- class Dialog(ValueElement):
7
+ class Dialog(ValueElement, component='dialog.js'):
8
8
 
9
9
  def __init__(self, *, value: bool = False) -> None:
10
10
  """Dialog
@@ -19,7 +19,7 @@ class Dialog(ValueElement):
19
19
 
20
20
  :param value: whether the dialog should be opened on creation (default: `False`)
21
21
  """
22
- super().__init__(tag='q-dialog', value=value, on_value_change=None)
22
+ super().__init__(value=value, on_value_change=None)
23
23
  self._result: Any = None
24
24
  self._submitted: Optional[asyncio.Event] = None
25
25
 
@@ -23,9 +23,9 @@ export default {
23
23
 
24
24
  // re-use plotly instance if config is the same
25
25
  if (JSON.stringify(options.config) == JSON.stringify(this.last_options.config)) {
26
- Plotly.react(this.$el.id, this.options.data, this.options.layout);
26
+ Plotly.react(this.$el.id, this.options, options.config);
27
27
  } else {
28
- Plotly.newPlot(this.$el.id, this.options.data, this.options.layout, options.config);
28
+ Plotly.newPlot(this.$el.id, this.options, options.config);
29
29
  this.set_handlers();
30
30
  }
31
31
 
@@ -6,6 +6,8 @@ export default {
6
6
  v-bind="$attrs"
7
7
  :options="filteredOptions"
8
8
  @filter="filterFn"
9
+ @popup-show="addClass"
10
+ @popup-hide="removeClass"
9
11
  >
10
12
  <template v-for="(_, slot) in $slots" v-slot:[slot]="slotProps">
11
13
  <slot :name="slot" v-bind="slotProps || {}" />
@@ -28,6 +30,14 @@ export default {
28
30
  ? this.initialOptions.filter((v) => String(v.label).toLocaleLowerCase().indexOf(needle) > -1)
29
31
  : this.initialOptions;
30
32
  },
33
+ addClass() {
34
+ // NOTE: prevent the page from scrolling when the select popup is closed (#5031)
35
+ document.documentElement.classList.add("nicegui-select-popup-open");
36
+ },
37
+ async removeClass() {
38
+ await this.$nextTick();
39
+ document.documentElement.classList.remove("nicegui-select-popup-open");
40
+ },
31
41
  },
32
42
  updated() {
33
43
  if (!this.$attrs.multiple) return;
@@ -36,6 +46,9 @@ export default {
36
46
  this.filteredOptions = newFilteredOptions;
37
47
  }
38
48
  },
49
+ unmounted() {
50
+ this.removeClass();
51
+ },
39
52
  watch: {
40
53
  options: {
41
54
  handler(newOptions) {
@@ -40,8 +40,9 @@ class Timer(BaseTimer, Element, component='timer.js'):
40
40
  def _cleanup(self) -> None:
41
41
  super()._cleanup()
42
42
  if not self._deleted:
43
- assert self.parent_slot
44
- self.parent_slot.parent.remove(self)
43
+ parent_slot = self.parent_slot
44
+ assert parent_slot is not None
45
+ parent_slot.parent.remove(self)
45
46
 
46
47
  def set_visibility(self, visible: bool) -> None:
47
48
  raise NotImplementedError('Use `activate()`, `deactivate()` or `cancel()`. See #3670 for more information.')
@@ -69,10 +69,12 @@ class Navigate:
69
69
  else:
70
70
  raise TypeError(f'Invalid target type: {type(target)}')
71
71
 
72
- if not new_tab and isinstance(target, str) and not bool(urlparse(target).netloc) and \
73
- any(isinstance(el, SubPages) for el in context.client.elements.values()):
74
- context.client.sub_pages_router._handle_navigate(path) # pylint: disable=protected-access
75
- return
72
+ if not new_tab and isinstance(target, str):
73
+ parsed = urlparse(path)
74
+ if not parsed.scheme and not parsed.netloc and \
75
+ any(isinstance(el, SubPages) for el in context.client.elements.values()):
76
+ context.client.sub_pages_router._handle_navigate(path) # pylint: disable=protected-access
77
+ return
76
78
 
77
79
  context.client.open(path, new_tab)
78
80
 
@@ -123,7 +123,7 @@ try:
123
123
 
124
124
  async def create_file_dialog( # type: ignore # pylint: disable=invalid-overridden-method
125
125
  self,
126
- dialog_type: int = webview.OPEN_DIALOG,
126
+ dialog_type: int = webview.FileDialog.OPEN if hasattr(webview, 'FileDialog') else webview.OPEN_DIALOG,
127
127
  directory: str = '',
128
128
  allow_multiple: bool = False,
129
129
  save_filename: str = '',
@@ -1,9 +1,10 @@
1
1
  import asyncio
2
2
  import mimetypes
3
+ import time
3
4
  import urllib.parse
4
5
  from contextlib import asynccontextmanager
5
6
  from pathlib import Path
6
- from typing import Any, Dict
7
+ from typing import Any, Dict, List
7
8
 
8
9
  import socketio
9
10
  from fastapi import HTTPException, Request
@@ -17,6 +18,7 @@ from .error import error_content
17
18
  from .json import NiceGUIJSONResponse
18
19
  from .logging import log
19
20
  from .page import page
21
+ from .persistence import PersistentDict
20
22
  from .slot import Slot
21
23
  from .staticfiles import CacheControlledStaticFiles
22
24
  from .version import __version__
@@ -132,9 +134,10 @@ async def _startup() -> None:
132
134
  run.setup()
133
135
  app.start()
134
136
  background_tasks.create(binding.refresh_loop(), name='refresh bindings')
135
- background_tasks.create(Client.prune_instances(), name='prune clients')
136
- background_tasks.create(Slot.prune_stacks(), name='prune slot stacks')
137
- background_tasks.create(core.app.storage.prune_tab_storage(), name='prune tab storage')
137
+ app.timer(10, Client.prune_instances, immediate=False)
138
+ app.timer(10, Slot.prune_stacks, immediate=False)
139
+ app.timer(10, prune_tab_storage, immediate=False)
140
+ app.timer(10, prune_user_storage, immediate=False)
138
141
  air.connect()
139
142
 
140
143
 
@@ -214,3 +217,33 @@ def _on_ack(_: str, msg: Dict) -> None:
214
217
  if not client:
215
218
  return
216
219
  client.outbox.prune_history(msg['next_message_id'])
220
+
221
+
222
+ async def prune_tab_storage(*, force: bool = False) -> None:
223
+ """Prune tab storage that is older than the configured ``max_tab_storage_age``."""
224
+ tab_storages = core.app.storage._tabs # pylint: disable=protected-access
225
+ for tab_id, tab in list(tab_storages.items()):
226
+ if force or time.time() > tab.last_modified + core.app.storage.max_tab_storage_age:
227
+ tab.clear()
228
+ if isinstance(tab, PersistentDict):
229
+ await tab.close()
230
+ del tab_storages[tab_id]
231
+
232
+
233
+ async def prune_user_storage(*, force: bool = False) -> None:
234
+ """Remove user storage objects without a client session."""
235
+ client_session_ids = {client.request.session['id']
236
+ for client in Client.instances.values()
237
+ if client.request is not None}
238
+ storages_to_close: List[PersistentDict] = []
239
+ now = time.time()
240
+ user_storages = core.app.storage._users # pylint: disable=protected-access
241
+ for session_id in list(user_storages):
242
+ if session_id not in client_session_ids:
243
+ age = now - user_storages[session_id].last_modified
244
+ if force or age > 10.0: # NOTE: do not remove storages created by middleware and still wait for client
245
+ storages_to_close.append(user_storages.pop(session_id))
246
+ results = await asyncio.gather(*[storage.close() for storage in storages_to_close], return_exceptions=True)
247
+ for result in results:
248
+ if isinstance(result, Exception):
249
+ log.exception(result)
@@ -0,0 +1,125 @@
1
+ import ast
2
+ import re
3
+ import weakref
4
+ from typing import TYPE_CHECKING, Any, Dict, Generic, Optional, TypeVar
5
+
6
+ from . import helpers
7
+
8
+ if TYPE_CHECKING:
9
+ from .element import Element
10
+
11
+ PROPS_PATTERN = re.compile(r'''
12
+ # Match a key or key-value pair optionally followed by whitespace or end of string
13
+ # The value can be unquoted, or enclosed in quotes, or square or curly brackets
14
+ (?P<key>[:\w\-]+) # Capture group 1: Key
15
+ ( # Optional non-capturing group for value
16
+ = # An equals sign
17
+ ( # followed by one of ...
18
+ (?P<double> # a value enclosed in double quotes
19
+ " # Match double quote
20
+ [^"\\]* # Match any character except quotes or backslashes zero or more times
21
+ (\\.[^"\\]*)* # Match any escaped character followed by any character except quotes or backslashes zero or more times
22
+ " # Match the closing quote
23
+ )
24
+ | # or
25
+ (?P<single> # a value enclosed in single quotes
26
+ ' # Match a single quote
27
+ [^'\\]* # Match any character except quotes or backslashes zero or more times
28
+ (\\.[^'\\]*)* # Match any escaped character followed by any character except quotes or backslashes zero or more times
29
+ ' # Match the closing quote
30
+ )
31
+ | # or
32
+ (?P<square> # a value enclosed in square brackets
33
+ \[ # Match the opening [
34
+ [^\]\\]* # Match any character except a ] or backslashes zero or more times
35
+ (\\.[^\]\\]*)* # Match any escaped character followed by any character except ] or backslashes zero or more times
36
+ \] # Match the closing ]
37
+ )
38
+ | # or
39
+ (?P<curly> # a value enclosed in curly braces
40
+ \{ # Match the opening {
41
+ [^\}\\]* # Match any character except } or backslashes zero or more times
42
+ (\\.[^\}\\]*)* # Match any escaped character followed by any character except ] or backslashes zero or more times
43
+ \} # Match the closing }
44
+ )
45
+ | # or, as a final alternative ....
46
+ (?P<unquoted>[\w\-.,%:\/=?&;+#@~$]+) # a value without quotes
47
+ )
48
+ )? # End of optional non-capturing group for value
49
+ ($|\s) # Match end of string or whitespace
50
+ ''', re.VERBOSE)
51
+
52
+ T = TypeVar('T', bound='Element')
53
+
54
+
55
+ class Props(dict, Generic[T]):
56
+
57
+ def __init__(self, *args, element: T, **kwargs) -> None:
58
+ super().__init__(*args, **kwargs)
59
+ self._element = weakref.ref(element)
60
+ self._warnings: Dict[str, str] = {}
61
+
62
+ @property
63
+ def element(self) -> T:
64
+ """The element this props object belongs to."""
65
+ element = self._element()
66
+ if element is None:
67
+ raise RuntimeError('The element this props object belongs to has been deleted.')
68
+ return element
69
+
70
+ def add_warning(self, prop: str, message: str) -> None:
71
+ """Add a warning message for a prop."""
72
+ self._warnings[prop] = message
73
+
74
+ def __call__(self,
75
+ add: Optional[str] = None, *,
76
+ remove: Optional[str] = None) -> T:
77
+ """Add or remove props.
78
+
79
+ This allows modifying the look of the element or its layout using `Quasar <https://quasar.dev/>`_ props.
80
+ Since props are simply applied as HTML attributes, they can be used with any HTML element.
81
+
82
+ Boolean properties are assumed ``True`` if no value is specified.
83
+
84
+ :param add: whitespace-delimited list of either boolean values or key=value pair to add
85
+ :param remove: whitespace-delimited list of property keys to remove
86
+ """
87
+ element = self.element
88
+ needs_update = False
89
+ for key in self.parse(remove):
90
+ if key in self:
91
+ needs_update = True
92
+ del self[key]
93
+ for key, value in self.parse(add).items():
94
+ if self.get(key) != value:
95
+ needs_update = True
96
+ self[key] = value
97
+ if needs_update:
98
+ element.update()
99
+ for name, message in self._warnings.items():
100
+ if name in self:
101
+ del self[name]
102
+ helpers.warn_once(message)
103
+ return element
104
+
105
+ @staticmethod
106
+ def parse(text: Optional[str]) -> Dict[str, Any]:
107
+ """Parse a string of props into a dictionary."""
108
+ if not text:
109
+ return {}
110
+ props = {}
111
+ for match in PROPS_PATTERN.finditer(text):
112
+ match_groups = match.groupdict()
113
+ key = match_groups['key']
114
+
115
+ for group in ['single', 'double', 'square', 'curly']:
116
+ if match_groups[group] is not None:
117
+ props[key] = ast.literal_eval(match_groups[group])
118
+ break
119
+ else:
120
+ if match_groups['unquoted'] is not None:
121
+ props[key] = match_groups['unquoted']
122
+ else:
123
+ props[key] = True
124
+
125
+ return props
@@ -58,20 +58,14 @@ class Slot:
58
58
 
59
59
  @classmethod
60
60
  async def prune_stacks(cls) -> None:
61
- """Remove stale slot stacks in an endless loop."""
62
- while True:
63
- try:
64
- running = [id(task) for task in asyncio.tasks.all_tasks() if not task.done() and not task.cancelled()]
65
- stale_ids = [task_id for task_id in cls.stacks if task_id not in running]
66
- for task_id in stale_ids:
67
- del cls.stacks[task_id]
68
- except Exception:
69
- # NOTE: make sure the loop doesn't crash
70
- log.exception('Error while pruning slot stacks')
71
- try:
72
- await asyncio.sleep(10)
73
- except asyncio.CancelledError:
74
- break
61
+ """Remove stale slot stacks."""
62
+ try:
63
+ running = [id(task) for task in asyncio.tasks.all_tasks() if not task.done() and not task.cancelled()]
64
+ stale_ids = [task_id for task_id in cls.stacks if task_id not in running]
65
+ for task_id in stale_ids:
66
+ del cls.stacks[task_id]
67
+ except Exception:
68
+ log.exception('Error while pruning slot stacks')
75
69
 
76
70
 
77
71
  def get_task_id() -> int:
@@ -10,6 +10,12 @@
10
10
  outline-offset: 2px;
11
11
  }
12
12
 
13
+ /* prevent page from smooth-scrolling when dialogs or select popups close */
14
+ .nicegui-dialog-open,
15
+ .nicegui-select-popup-open {
16
+ scroll-behavior: auto;
17
+ }
18
+
13
19
  /* flex containers */
14
20
  .nicegui-content,
15
21
  .nicegui-header,