nicegui 1.4.2__tar.gz → 1.4.4__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.
- {nicegui-1.4.2 → nicegui-1.4.4}/PKG-INFO +2 -3
- nicegui-1.4.4/nicegui/.syncignore +3 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/air.py +7 -3
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/app/app_config.py +3 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/client.py +5 -4
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/element.py +5 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/aggrid.py +13 -6
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/chat_message.py +10 -5
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/echart.js +1 -1
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/image.js +3 -1
- nicegui-1.4.4/nicegui/elements/image.py +47 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/interactive_image.js +3 -1
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/interactive_image.py +15 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/json_editor.js +1 -1
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/content_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/disableable_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/filter_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/name_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/source_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/text_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/value_element.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/number.py +18 -1
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/scene.js +10 -4
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/scene.py +2 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/select.js +13 -6
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/select.py +1 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/table.py +53 -1
- nicegui-1.4.4/nicegui/functions/download.py +20 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/open.py +9 -3
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/refreshable.py +19 -10
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/nicegui.py +5 -4
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/page.py +10 -1
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/page_layout.py +11 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/templates/index.html +8 -4
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/ui_run.py +10 -6
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/ui_run_with.py +3 -2
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/welcome.py +7 -5
- {nicegui-1.4.2 → nicegui-1.4.4}/pyproject.toml +7 -5
- {nicegui-1.4.2 → nicegui-1.4.4}/setup.py +2 -3
- nicegui-1.4.2/nicegui/elements/chat_message.js +0 -3
- nicegui-1.4.2/nicegui/elements/image.py +0 -17
- nicegui-1.4.2/nicegui/functions/download.py +0 -19
- {nicegui-1.4.2 → nicegui-1.4.4}/LICENSE +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/README.md +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/api_router.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/app/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/app/app.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/app/streaming_response.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/awaitable_response.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/background_tasks.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/binding.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/context.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/core.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/dataclasses.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/dependencies.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/aggrid.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/audio.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/audio.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/avatar.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/badge.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/button.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/card.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/carousel.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/chart.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/checkbox.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/choice_element.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/code.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/color_input.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/color_picker.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/colors.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/colors.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/column.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/context_menu.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/dark_mode.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/dark_mode.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/date.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/dialog.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/echart.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/editor.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/expansion.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/grid.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/highchart.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/html.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/icon.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/input.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/input.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/joystick.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/joystick.vue +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/json_editor.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/keyboard.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/keyboard.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/knob.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/label.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/aggrid/ag-grid-community.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/aggrid/ag-grid-community.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/echarts/echarts.js.map +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/echarts/echarts.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/arc-8b90ddc8.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/arc-907dcd53.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/array-2ff2c7a6.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/array-b7dcf730.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/c4Diagram-331b94a9.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/c4Diagram-4bfe15a7.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/c4Diagram-7e558229.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-1f3fb0f7.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-8fd6d062.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-bfe30095.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-v2-3a55c922.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-v2-8c49bbbd.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/classDiagram-v2-e3ddc2d7.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/constant-2fe7eae5.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/constant-b644328d.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/createText-53d25889.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/createText-56dbee71.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/createText-b3507a77.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/edges-32b26c0e.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/edges-345e4ceb.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/edges-bc33a094.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/erDiagram-5b6cebf0.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/erDiagram-5d923d74.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/erDiagram-fe64cf2c.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDb-203d9d78.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDb-2e398966.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDb-bd9f2a91.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-90a5ee23.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-a7ef5206.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-fc477a2f.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-v2-54a189bd.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-v2-5d1a7836.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowDiagram-v2-eab222bb.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowchart-elk-definition-1cf4c568.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowchart-elk-definition-387761c1.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/flowchart-elk-definition-4ac3371a.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/ganttDiagram-33f16fa4.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/ganttDiagram-67dd342e.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/ganttDiagram-9d6d9e54.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/gitGraphDiagram-7b32de06.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/gitGraphDiagram-94f74fa6.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/gitGraphDiagram-a6165b81.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/index-08d47d0a.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/index-a53b5366.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/index-b0b3af87.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/infoDiagram-645befec.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/infoDiagram-6a975df6.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/infoDiagram-78c839bd.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/init-cc95ec8e.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/init-f9637058.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/journeyDiagram-14f1468f.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/journeyDiagram-67cc1186.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/journeyDiagram-85312b66.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/layout-1caf14c9.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/layout-8affc211.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/line-3d4ae7d1.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/line-9d49a987.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/linear-1d0b5464.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/linear-c9300245.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid-485fd1a4.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid-5f2d2ec5.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid-f344f6a7.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid.core.mjs +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid.esm.min.mjs +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid.esm.mjs +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mermaid.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mindmap-definition-9a80f489.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mindmap-definition-c18effbb.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/mindmap-definition-e624fba5.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/ordinal-475e0c0c.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/ordinal-5695958c.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/pieDiagram-47467502.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/pieDiagram-b8ef8d1d.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/pieDiagram-cdffdf74.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/quadrantDiagram-3646f1b7.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/quadrantDiagram-e493ce51.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/quadrantDiagram-f86baae9.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/requirementDiagram-3252776f.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/requirementDiagram-cc8b2f2f.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/requirementDiagram-d7b522a1.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sankeyDiagram-31fcfff2.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sankeyDiagram-3886b48b.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sankeyDiagram-6008c03c.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sequenceDiagram-906ce93a.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sequenceDiagram-ccb4d521.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/sequenceDiagram-e03e412c.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-096e8085.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-a7efb93f.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-dac17514.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-v2-0255b0b2.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-v2-9dc5bbab.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/stateDiagram-v2-cedd2d35.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-081ce523.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-3bbdb1fe.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-409bbf16.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-47086cb2.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-554c1edb.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-8234ce8b.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-9a324dfc.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-c47180b5.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/styles-dc48a676.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/svgDrawCommon-43c67fcf.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/svgDrawCommon-cae1106a.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/svgDrawCommon-dee24e02.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/timeline-definition-2815a264.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/timeline-definition-64934a04.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/mermaid/timeline-definition-fd64d3c8.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/nipplejs/nipplejs.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/plotly/plotly.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/plotly/plotly.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/modules/CSS2DRenderer.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/modules/CSS3DRenderer.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/modules/DragControls.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/modules/OrbitControls.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/modules/STLLoader.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/three/three.module.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/tween/tween.umd.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/vanilla-jsoneditor/index.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/lib/vanilla-jsoneditor/index.js.map +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/line_plot.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/link.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/link.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/log.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/log.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/markdown.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/markdown.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/menu.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mermaid.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mermaid.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/color_elements.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/validation_element.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/mixins/visibility.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/pagination.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/plotly.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/plotly.vue +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/progress.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/pyplot.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/query.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/query.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/radio.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/row.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/scene_object3d.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/scene_objects.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/scroll_area.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/separator.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/slider.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/spinner.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/splitter.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/stepper.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/switch.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/table.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/tabs.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/textarea.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/time.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/timeline.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/timer.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/timer.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/toggle.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/tooltip.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/tree.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/upload.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/upload.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/video.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/elements/video.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/error.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/event_listener.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/events.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/favicon.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/html.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/javascript.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/notify.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/refreshable.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/functions/update.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/helpers.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/json/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/json/builtin_wrapper.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/json/orjson_wrapper.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/language.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/logging.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/middlewares.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/native/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/native/native.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/native/native_config.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/native/native_mode.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/observables.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/optional_features.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/outbox.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/run.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/server.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/slot.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/es-module-shims.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/favicon.ico +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxEIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxFIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxGIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxHIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxIIzIXKMny.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxLIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgVxMIzIXKMnyrYk.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOkCnqEu92Fr1MmgWxP.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmEU9vAw.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmSU5vAw.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfABc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfBxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfCBc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfCRc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfChc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlfCxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmWUlvAw.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfABc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfBBc4AMP6lQ.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfBxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfCBc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfCRc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfChc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtfCxc4AMP6lbBP.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOlCnqEu92Fr1MmYUtvAw.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Me5Q.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNZ.ttf +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/fonts.css +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ar-TN.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ar.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/az-Latn.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/bg.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/bn.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ca.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/cs.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/da.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/de-CH.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/de-DE.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/de.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/el.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/en-GB.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/en-US.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/eo.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/es.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/et.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/eu.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/fa-IR.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/fa.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/fi.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/fr.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/gn.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/he.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/hi.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/hr.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/hu.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/id.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/is.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/it.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ja.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/kk.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/km.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ko-KR.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/kur-CKB.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/lt.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/lu.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/lv.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/mk.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ml.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/mm.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ms.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/my.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/nb-NO.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/nl.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/pl.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/pt-BR.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/pt.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ro.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ru.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sk.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sl.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sm.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sr-CYR.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sr.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/sv.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ta.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/th.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/tr.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/ug.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/uk.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/uz-Cyrl.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/uz-Latn.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/vi.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/zh-CN.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/lang/zh-TW.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/nicegui.css +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/quasar.css +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/quasar.prod.css +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/quasar.umd.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/quasar.umd.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/sad_face.svg +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/socket.io.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/socket.io.min.js.map +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/tailwindcss.min.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/utils/dynamic_properties.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/vue.global.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/static/vue.global.prod.js +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/storage.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/__init__.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/accent_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/align_content.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/align_items.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/align_self.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/animation.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/appearance.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/aspect_ratio.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_blur.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_brightness.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_contrast.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_grayscale.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_hue_rotate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_invert.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_opacity.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_saturate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/backdrop_sepia.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_attachment.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_blend_mode.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_clip.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_image.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_origin.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_position.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_repeat.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/background_size.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/blur.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_collapse.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_radius.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_spacing.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_style.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/border_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/box_decoration_break.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/box_shadow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/box_shadow_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/box_sizing.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/break_after.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/break_before.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/break_inside.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/brightness.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/caption_side.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/caret_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/clear.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/columns.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/content.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/contrast.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/cursor.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/display.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/divide_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/divide_style.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/divide_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/drop_shadow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/fill.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex_basis.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex_direction.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex_grow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex_shrink.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/flex_wrap.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/floats.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_family.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_size.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_smoothing.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_style.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_variant_numeric.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/font_weight.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/gap.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/gradient_color_stops.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grayscale.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_auto_columns.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_auto_flow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_auto_rows.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_column_start_end.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_row_start_end.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_template_columns.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/grid_template_rows.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/height.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/hue_rotate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/hyphens.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/invert.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/isolation.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/justify_content.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/justify_items.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/justify_self.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/letter_spacing.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/line_clamp.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/line_height.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/list_style_image.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/list_style_position.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/list_style_type.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/margin.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/max_height.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/max_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/min_height.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/min_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/mix_blend_mode.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/object_fit.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/object_position.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/opacity.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/order.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/outline_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/outline_offset.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/outline_style.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/outline_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/overflow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/overscroll_behavior.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/padding.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/place_content.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/place_items.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/place_self.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/pointer_events.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/position.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/resize.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/ring_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/ring_offset_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/ring_offset_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/ring_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/rotate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/saturate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scale.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/screen_readers.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_behavior.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_margin.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_padding.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_snap_align.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_snap_stop.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/scroll_snap_type.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/sepia.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/skew.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/space_between.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/stroke.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/stroke_width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/table_layout.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_align.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_decoration.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_decoration_color.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_decoration_style.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_decoration_thickness.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_indent.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_overflow.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_transform.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/text_underline_offset.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/top_right_bottom_left.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/touch_action.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/transform_origin.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/transition_delay.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/transition_duration.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/transition_property.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/transition_timing_function.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/translate.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/user_select.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/vertical_align.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/visibility.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/whitespace.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/width.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/will_change.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/word_break.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/tailwind_types/z_index.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/ui.py +0 -0
- {nicegui-1.4.2 → nicegui-1.4.4}/nicegui/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: nicegui
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.4
|
|
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
|
|
@@ -20,7 +20,6 @@ Provides-Extra: native
|
|
|
20
20
|
Provides-Extra: plotly
|
|
21
21
|
Requires-Dist: Pygments (>=2.15.1,<3.0.0)
|
|
22
22
|
Requires-Dist: aiofiles (>=23.1.0,<24.0.0)
|
|
23
|
-
Requires-Dist: aiohttp (>=3.8.5,<4.0.0)
|
|
24
23
|
Requires-Dist: fastapi (>=0.93,<1.0.0)
|
|
25
24
|
Requires-Dist: fastapi-socketio (>=0.0.10,<0.0.11)
|
|
26
25
|
Requires-Dist: httpx (>=0.24.0,<1.0.0)
|
|
@@ -35,7 +34,7 @@ Requires-Dist: plotly (>=5.13.0,<6.0.0) ; extra == "plotly"
|
|
|
35
34
|
Requires-Dist: python-multipart (>=0.0.6,<0.0.7)
|
|
36
35
|
Requires-Dist: python-socketio (>=5.10.0)
|
|
37
36
|
Requires-Dist: pywebview (>=4.4.0,<5.0.0) ; extra == "native"
|
|
38
|
-
Requires-Dist: typing-extensions (>=
|
|
37
|
+
Requires-Dist: typing-extensions (>=4.0.0)
|
|
39
38
|
Requires-Dist: uvicorn[standard] (>=0.22.0,<0.23.0)
|
|
40
39
|
Requires-Dist: vbuild (>=0.8.2)
|
|
41
40
|
Requires-Dist: watchfiles (>=0.18.1,<1.0.0)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import gzip
|
|
3
|
+
import json
|
|
3
4
|
import re
|
|
4
5
|
from typing import Any, Dict, Optional
|
|
5
6
|
|
|
@@ -55,7 +56,8 @@ class Air:
|
|
|
55
56
|
@self.relay.on('ready')
|
|
56
57
|
def _handle_ready(data: Dict[str, Any]) -> None:
|
|
57
58
|
core.app.urls.add(data['device_url'])
|
|
58
|
-
|
|
59
|
+
if core.app.config.show_welcome_message:
|
|
60
|
+
print(f'NiceGUI is on air at {data["device_url"]}', flush=True)
|
|
59
61
|
|
|
60
62
|
@self.relay.on('error')
|
|
61
63
|
def _handleerror(data: Dict[str, Any]) -> None:
|
|
@@ -85,8 +87,10 @@ class Air:
|
|
|
85
87
|
if client_id not in Client.instances:
|
|
86
88
|
return
|
|
87
89
|
client = Client.instances[client_id]
|
|
88
|
-
if
|
|
89
|
-
data['msg']['args'][
|
|
90
|
+
if data['msg']['args'] and data['msg']['args'][0].startswith('{"socket_id":'):
|
|
91
|
+
args = json.loads(data['msg']['args'][0])
|
|
92
|
+
args['socket_id'] = client_id # HACK: translate socket_id of ui.scene's init event
|
|
93
|
+
data['msg']['args'][0] = json.dumps(args)
|
|
90
94
|
client.handle_event(data['msg'])
|
|
91
95
|
|
|
92
96
|
@self.relay.on('javascript_response')
|
|
@@ -34,6 +34,7 @@ class AppConfig:
|
|
|
34
34
|
reconnect_timeout: float = field(init=False)
|
|
35
35
|
tailwind: bool = field(init=False)
|
|
36
36
|
prod_js: bool = field(init=False)
|
|
37
|
+
show_welcome_message: bool = field(init=False)
|
|
37
38
|
_has_run_config: bool = False
|
|
38
39
|
|
|
39
40
|
def add_run_config(self,
|
|
@@ -48,6 +49,7 @@ class AppConfig:
|
|
|
48
49
|
reconnect_timeout: float,
|
|
49
50
|
tailwind: bool,
|
|
50
51
|
prod_js: bool,
|
|
52
|
+
show_welcome_message: bool,
|
|
51
53
|
) -> None:
|
|
52
54
|
"""Add the run config to the app config."""
|
|
53
55
|
self.reload = reload
|
|
@@ -60,6 +62,7 @@ class AppConfig:
|
|
|
60
62
|
self.reconnect_timeout = reconnect_timeout
|
|
61
63
|
self.tailwind = tailwind
|
|
62
64
|
self.prod_js = prod_js
|
|
65
|
+
self.show_welcome_message = show_welcome_message
|
|
63
66
|
self._has_run_config = True
|
|
64
67
|
|
|
65
68
|
@property
|
|
@@ -105,7 +105,8 @@ class Client:
|
|
|
105
105
|
'elements': elements.replace('&', '&')
|
|
106
106
|
.replace('<', '<')
|
|
107
107
|
.replace('>', '>')
|
|
108
|
-
.replace('`', '`')
|
|
108
|
+
.replace('`', '`')
|
|
109
|
+
.replace('$', '$'),
|
|
109
110
|
'head_html': self.head_html,
|
|
110
111
|
'body_html': '<style>' + '\n'.join(vue_styles) + '</style>\n' + self.body_html + '\n' + '\n'.join(vue_html),
|
|
111
112
|
'vue_scripts': '\n'.join(vue_scripts),
|
|
@@ -192,9 +193,9 @@ class Client:
|
|
|
192
193
|
path = target if isinstance(target, str) else self.page_routes[target]
|
|
193
194
|
outbox.enqueue_message('open', {'path': path, 'new_tab': new_tab}, self.id)
|
|
194
195
|
|
|
195
|
-
def download(self,
|
|
196
|
-
"""Download a file from
|
|
197
|
-
outbox.enqueue_message('download', {'
|
|
196
|
+
def download(self, src: Union[str, bytes], filename: Optional[str] = None) -> None:
|
|
197
|
+
"""Download a file from a given URL or raw bytes."""
|
|
198
|
+
outbox.enqueue_message('download', {'src': src, 'filename': filename}, self.id)
|
|
198
199
|
|
|
199
200
|
def on_connect(self, handler: Union[Callable[..., Any], Awaitable]) -> None:
|
|
200
201
|
"""Register a callback to be called when the client connects."""
|
|
@@ -410,7 +410,7 @@ class Element(Visibility):
|
|
|
410
410
|
"""Update the element on the client side."""
|
|
411
411
|
outbox.enqueue_update(self)
|
|
412
412
|
|
|
413
|
-
def run_method(self, name: str, *args: Any) -> AwaitableResponse:
|
|
413
|
+
def run_method(self, name: str, *args: Any, timeout: float = 1, check_interval: float = 0.01) -> AwaitableResponse:
|
|
414
414
|
"""Run a method on the client side.
|
|
415
415
|
|
|
416
416
|
If the function is awaited, the result of the method call is returned.
|
|
@@ -418,10 +418,13 @@ class Element(Visibility):
|
|
|
418
418
|
|
|
419
419
|
:param name: name of the method
|
|
420
420
|
:param args: arguments to pass to the method
|
|
421
|
+
:param timeout: maximum time to wait for a response (default: 1 second)
|
|
422
|
+
:param check_interval: time between checks for a response (default: 0.01 seconds)
|
|
421
423
|
"""
|
|
422
424
|
if not core.loop:
|
|
423
425
|
return NullResponse()
|
|
424
|
-
return self.client.run_javascript(f'return runMethod({self.id}, "{name}", {json.dumps(args)})'
|
|
426
|
+
return self.client.run_javascript(f'return runMethod({self.id}, "{name}", {json.dumps(args)})',
|
|
427
|
+
timeout=timeout, check_interval=check_interval)
|
|
425
428
|
|
|
426
429
|
def _collect_descendants(self, *, include_self: bool = False) -> List[Element]:
|
|
427
430
|
elements: List[Element] = [self] if include_self else []
|
|
@@ -85,7 +85,7 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
|
|
|
85
85
|
super().update()
|
|
86
86
|
self.run_method('update_grid')
|
|
87
87
|
|
|
88
|
-
def call_api_method(self, name: str, *args) -> AwaitableResponse:
|
|
88
|
+
def call_api_method(self, name: str, *args, timeout: float = 1, check_interval: float = 0.01) -> AwaitableResponse:
|
|
89
89
|
"""Call an AG Grid API method.
|
|
90
90
|
|
|
91
91
|
See `AG Grid API <https://www.ag-grid.com/javascript-data-grid/grid-api/>`_ for a list of methods.
|
|
@@ -95,12 +95,15 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
|
|
|
95
95
|
|
|
96
96
|
:param name: name of the method
|
|
97
97
|
:param args: arguments to pass to the method
|
|
98
|
+
:param timeout: timeout in seconds (default: 1 second)
|
|
99
|
+
:param check_interval: interval in seconds to check for a response (default: 0.01 seconds)
|
|
98
100
|
|
|
99
101
|
:return: AwaitableResponse that can be awaited to get the result of the method call
|
|
100
102
|
"""
|
|
101
|
-
return self.run_method('call_api_method', name, *args)
|
|
103
|
+
return self.run_method('call_api_method', name, *args, timeout=timeout, check_interval=check_interval)
|
|
102
104
|
|
|
103
|
-
def call_column_api_method(self, name: str, *args
|
|
105
|
+
def call_column_api_method(self, name: str, *args,
|
|
106
|
+
timeout: float = 1, check_interval: float = 0.01) -> AwaitableResponse:
|
|
104
107
|
"""Call an AG Grid Column API method.
|
|
105
108
|
|
|
106
109
|
See `AG Grid Column API <https://www.ag-grid.com/javascript-data-grid/column-api/>`_ for a list of methods.
|
|
@@ -110,10 +113,12 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
|
|
|
110
113
|
|
|
111
114
|
:param name: name of the method
|
|
112
115
|
:param args: arguments to pass to the method
|
|
116
|
+
:param timeout: timeout in seconds (default: 1 second)
|
|
117
|
+
:param check_interval: interval in seconds to check for a response (default: 0.01 seconds)
|
|
113
118
|
|
|
114
119
|
:return: AwaitableResponse that can be awaited to get the result of the method call
|
|
115
120
|
"""
|
|
116
|
-
return self.run_method('call_column_api_method', name, *args)
|
|
121
|
+
return self.run_method('call_column_api_method', name, *args, timeout=timeout, check_interval=check_interval)
|
|
117
122
|
|
|
118
123
|
async def get_selected_rows(self) -> List[Dict]:
|
|
119
124
|
"""Get the currently selected rows.
|
|
@@ -137,7 +142,7 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
|
|
|
137
142
|
rows = await self.get_selected_rows()
|
|
138
143
|
return rows[0] if rows else None
|
|
139
144
|
|
|
140
|
-
async def get_client_data(self) -> List[Dict]:
|
|
145
|
+
async def get_client_data(self, *, timeout: float = 1, check_interval: float = 0.01) -> List[Dict]:
|
|
141
146
|
"""Get the data from the client including any edits made by the client.
|
|
142
147
|
|
|
143
148
|
This method is especially useful when the grid is configured with ``'editable': True``.
|
|
@@ -147,13 +152,15 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
|
|
|
147
152
|
Note that when editing a cell, the row data is not updated until the cell exits the edit mode.
|
|
148
153
|
This does not happen when the cell loses focus, unless ``stopEditingWhenCellsLoseFocus: True`` is set.
|
|
149
154
|
|
|
155
|
+
:param timeout: timeout in seconds (default: 1 second)
|
|
156
|
+
:param check_interval: interval in seconds to check for a response (default: 0.01 seconds)
|
|
150
157
|
:return: list of row data
|
|
151
158
|
"""
|
|
152
159
|
result = await self.client.run_javascript(f'''
|
|
153
160
|
const rowData = [];
|
|
154
161
|
getElement({self.id}).gridOptions.api.forEachNode(node => rowData.push(node.data));
|
|
155
162
|
return rowData;
|
|
156
|
-
''')
|
|
163
|
+
''', timeout=timeout, check_interval=check_interval)
|
|
157
164
|
return cast(List[Dict], result)
|
|
158
165
|
|
|
159
166
|
async def load_client_data(self) -> None:
|
|
@@ -2,12 +2,13 @@ import html
|
|
|
2
2
|
from typing import List, Optional, Union
|
|
3
3
|
|
|
4
4
|
from ..element import Element
|
|
5
|
+
from .html import Html
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class ChatMessage(Element
|
|
8
|
+
class ChatMessage(Element):
|
|
8
9
|
|
|
9
10
|
def __init__(self,
|
|
10
|
-
text: Union[str, List[str]]
|
|
11
|
+
text: Union[str, List[str]] = ..., *,
|
|
11
12
|
name: Optional[str] = None,
|
|
12
13
|
label: Optional[str] = None,
|
|
13
14
|
stamp: Optional[str] = None,
|
|
@@ -27,15 +28,15 @@ class ChatMessage(Element, component='chat_message.js'):
|
|
|
27
28
|
:param sent: render as a sent message (so from current user) (default: False)
|
|
28
29
|
:param text_html: render text as HTML (default: False)
|
|
29
30
|
"""
|
|
30
|
-
super().__init__()
|
|
31
|
+
super().__init__('q-chat-message')
|
|
31
32
|
|
|
33
|
+
if text is ...:
|
|
34
|
+
text = []
|
|
32
35
|
if isinstance(text, str):
|
|
33
36
|
text = [text]
|
|
34
37
|
if not text_html:
|
|
35
38
|
text = [html.escape(part) for part in text]
|
|
36
39
|
text = [part.replace('\n', '<br />') for part in text]
|
|
37
|
-
self._props['text'] = text
|
|
38
|
-
self._props['text-html'] = True
|
|
39
40
|
|
|
40
41
|
if name is not None:
|
|
41
42
|
self._props['name'] = name
|
|
@@ -46,3 +47,7 @@ class ChatMessage(Element, component='chat_message.js'):
|
|
|
46
47
|
if avatar is not None:
|
|
47
48
|
self._props['avatar'] = avatar
|
|
48
49
|
self._props['sent'] = sent
|
|
50
|
+
|
|
51
|
+
with self:
|
|
52
|
+
for line in text:
|
|
53
|
+
Html(line)
|
|
@@ -17,7 +17,7 @@ export default {
|
|
|
17
17
|
methods: {
|
|
18
18
|
update_chart() {
|
|
19
19
|
convertDynamicProperties(this.options, true);
|
|
20
|
-
this.chart.setOption(this.options);
|
|
20
|
+
this.chart.setOption(this.options, { notMerge: this.chart.options?.series.length != this.options.series.length });
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
props: {
|
|
@@ -12,6 +12,7 @@ export default {
|
|
|
12
12
|
`,
|
|
13
13
|
props: {
|
|
14
14
|
src: String,
|
|
15
|
+
t: String,
|
|
15
16
|
},
|
|
16
17
|
data: function () {
|
|
17
18
|
return {
|
|
@@ -26,7 +27,8 @@ export default {
|
|
|
26
27
|
},
|
|
27
28
|
methods: {
|
|
28
29
|
compute_src() {
|
|
29
|
-
this.
|
|
30
|
+
const suffix = this.t ? (this.src.includes("?") ? "&" : "?") + "_nicegui_t=" + this.t : "";
|
|
31
|
+
this.computed_src = (this.src.startsWith("/") ? window.path_prefix : "") + this.src + suffix;
|
|
30
32
|
},
|
|
31
33
|
},
|
|
32
34
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
import io
|
|
3
|
+
import time
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Union
|
|
6
|
+
|
|
7
|
+
from PIL.Image import Image as PIL_Image
|
|
8
|
+
|
|
9
|
+
from .mixins.source_element import SourceElement
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Image(SourceElement, component='image.js'):
|
|
13
|
+
PIL_CONVERT_FORMAT = 'PNG'
|
|
14
|
+
|
|
15
|
+
def __init__(self, source: Union[str, Path, PIL_Image] = '') -> None:
|
|
16
|
+
"""Image
|
|
17
|
+
|
|
18
|
+
Displays an image.
|
|
19
|
+
This element is based on Quasar's `QImg <https://quasar.dev/vue-components/img>`_ component.
|
|
20
|
+
|
|
21
|
+
:param source: the source of the image; can be a URL, local file path, a base64 string or a PIL image
|
|
22
|
+
"""
|
|
23
|
+
super().__init__(source=source)
|
|
24
|
+
|
|
25
|
+
def _set_props(self, source: Union[str, Path]) -> None:
|
|
26
|
+
if isinstance(source, PIL_Image):
|
|
27
|
+
source = pil_to_base64(source, self.PIL_CONVERT_FORMAT)
|
|
28
|
+
super()._set_props(source)
|
|
29
|
+
|
|
30
|
+
def force_reload(self) -> None:
|
|
31
|
+
"""Force the image to reload from the source."""
|
|
32
|
+
self._props['t'] = time.time()
|
|
33
|
+
self.update()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def pil_to_base64(pil_image: PIL_Image, image_format: str) -> str:
|
|
37
|
+
"""Convert a PIL image to a base64 string which can be used as image source.
|
|
38
|
+
|
|
39
|
+
:param pil_image: the PIL image
|
|
40
|
+
:param image_format: the image format
|
|
41
|
+
:return: the base64 string
|
|
42
|
+
"""
|
|
43
|
+
buffer = io.BytesIO()
|
|
44
|
+
pil_image.save(buffer, image_format)
|
|
45
|
+
base64_encoded = base64.b64encode(buffer.getvalue())
|
|
46
|
+
base64_string = base64_encoded.decode('utf-8')
|
|
47
|
+
return f'data:image/{image_format.lower()};base64,{base64_string}'
|
|
@@ -49,7 +49,8 @@ export default {
|
|
|
49
49
|
},
|
|
50
50
|
methods: {
|
|
51
51
|
compute_src() {
|
|
52
|
-
const
|
|
52
|
+
const suffix = this.t ? (this.src.includes("?") ? "&" : "?") + "_nicegui_t=" + this.t : "";
|
|
53
|
+
const new_src = (this.src.startsWith("/") ? window.path_prefix : "") + this.src + suffix;
|
|
53
54
|
if (new_src == this.computed_src) {
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
@@ -103,5 +104,6 @@ export default {
|
|
|
103
104
|
content: String,
|
|
104
105
|
events: Array,
|
|
105
106
|
cross: Boolean,
|
|
107
|
+
t: String,
|
|
106
108
|
},
|
|
107
109
|
};
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import time
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from typing import Any, Callable, List, Optional, Union, cast
|
|
5
6
|
|
|
7
|
+
from PIL.Image import Image as PIL_Image
|
|
8
|
+
|
|
6
9
|
from ..events import GenericEventArguments, MouseEventArguments, handle_event
|
|
10
|
+
from .image import pil_to_base64
|
|
7
11
|
from .mixins.content_element import ContentElement
|
|
8
12
|
from .mixins.source_element import SourceElement
|
|
9
13
|
|
|
10
14
|
|
|
11
15
|
class InteractiveImage(SourceElement, ContentElement, component='interactive_image.js'):
|
|
12
16
|
CONTENT_PROP = 'content'
|
|
17
|
+
PIL_CONVERT_FORMAT = 'PNG'
|
|
13
18
|
|
|
14
19
|
def __init__(self,
|
|
15
20
|
source: Union[str, Path] = '', *,
|
|
@@ -55,3 +60,13 @@ class InteractiveImage(SourceElement, ContentElement, component='interactive_ima
|
|
|
55
60
|
)
|
|
56
61
|
handle_event(on_mouse, arguments)
|
|
57
62
|
self.on('mouse', handle_mouse)
|
|
63
|
+
|
|
64
|
+
def _set_props(self, source: Union[str, Path]) -> None:
|
|
65
|
+
if isinstance(source, PIL_Image):
|
|
66
|
+
source = pil_to_base64(source, self.PIL_CONVERT_FORMAT)
|
|
67
|
+
super()._set_props(source)
|
|
68
|
+
|
|
69
|
+
def force_reload(self) -> None:
|
|
70
|
+
"""Force the image to reload from the source."""
|
|
71
|
+
self._props['t'] = time.time()
|
|
72
|
+
self.update()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from typing import Any, Callable, Optional
|
|
1
|
+
from typing import Any, Callable, Optional, cast
|
|
2
2
|
|
|
3
|
-
from typing_extensions import Self
|
|
3
|
+
from typing_extensions import Self
|
|
4
4
|
|
|
5
5
|
from ...binding import BindableProperty, bind, bind_from, bind_to
|
|
6
6
|
from ...element import Element
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
-
from typing import Any, Callable, Optional, Union
|
|
2
|
+
from typing import Any, Callable, Optional, Union, cast
|
|
3
3
|
|
|
4
|
-
from typing_extensions import Self
|
|
4
|
+
from typing_extensions import Self
|
|
5
5
|
|
|
6
6
|
from ... import core
|
|
7
7
|
from ...binding import BindableProperty, bind, bind_from, bind_to
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from typing import Any, Callable, Optional
|
|
1
|
+
from typing import Any, Callable, Optional, cast
|
|
2
2
|
|
|
3
|
-
from typing_extensions import Self
|
|
3
|
+
from typing_extensions import Self
|
|
4
4
|
|
|
5
5
|
from ...binding import BindableProperty, bind, bind_from, bind_to
|
|
6
6
|
from ...element import Element
|
|
@@ -14,6 +14,7 @@ class Number(ValidationElement, DisableableElement):
|
|
|
14
14
|
value: Optional[float] = None,
|
|
15
15
|
min: Optional[float] = None, # pylint: disable=redefined-builtin
|
|
16
16
|
max: Optional[float] = None, # pylint: disable=redefined-builtin
|
|
17
|
+
precision: Optional[int] = None,
|
|
17
18
|
step: Optional[float] = None,
|
|
18
19
|
prefix: Optional[str] = None,
|
|
19
20
|
suffix: Optional[str] = None,
|
|
@@ -33,6 +34,7 @@ class Number(ValidationElement, DisableableElement):
|
|
|
33
34
|
:param value: the initial value of the field
|
|
34
35
|
:param min: the minimum value allowed
|
|
35
36
|
:param max: the maximum value allowed
|
|
37
|
+
:param precision: the number of decimal places allowed (default: no limit, negative: decimal places before the dot)
|
|
36
38
|
:param step: the step size for the stepper buttons
|
|
37
39
|
:param prefix: a prefix to prepend to the displayed value
|
|
38
40
|
:param suffix: a suffix to append to the displayed value
|
|
@@ -51,6 +53,7 @@ class Number(ValidationElement, DisableableElement):
|
|
|
51
53
|
self._props['min'] = min
|
|
52
54
|
if max is not None:
|
|
53
55
|
self._props['max'] = max
|
|
56
|
+
self._precision = precision
|
|
54
57
|
if step is not None:
|
|
55
58
|
self._props['step'] = step
|
|
56
59
|
if prefix is not None:
|
|
@@ -79,6 +82,16 @@ class Number(ValidationElement, DisableableElement):
|
|
|
79
82
|
self._props['max'] = value
|
|
80
83
|
self.sanitize()
|
|
81
84
|
|
|
85
|
+
@property
|
|
86
|
+
def precision(self) -> Optional[int]:
|
|
87
|
+
"""The number of decimal places allowed (default: no limit, negative: decimal places before the dot)."""
|
|
88
|
+
return self._precision
|
|
89
|
+
|
|
90
|
+
@precision.setter
|
|
91
|
+
def precision(self, value: Optional[int]) -> None:
|
|
92
|
+
self._precision = value
|
|
93
|
+
self.sanitize()
|
|
94
|
+
|
|
82
95
|
@property
|
|
83
96
|
def out_of_limits(self) -> bool:
|
|
84
97
|
"""Whether the current value is out of the allowed limits."""
|
|
@@ -86,9 +99,13 @@ class Number(ValidationElement, DisableableElement):
|
|
|
86
99
|
|
|
87
100
|
def sanitize(self) -> None:
|
|
88
101
|
"""Sanitize the current value to be within the allowed limits."""
|
|
89
|
-
|
|
102
|
+
if self.value is None:
|
|
103
|
+
return
|
|
104
|
+
value = float(self.value)
|
|
90
105
|
value = max(value, self.min)
|
|
91
106
|
value = min(value, self.max)
|
|
107
|
+
if self.precision is not None:
|
|
108
|
+
value = float(round(value, self.precision))
|
|
92
109
|
self.set_value(float(self.format % value) if self.format else value)
|
|
93
110
|
|
|
94
111
|
def _event_args_to_value(self, e: GenericEventArguments) -> Any:
|
|
@@ -326,14 +326,20 @@ export default {
|
|
|
326
326
|
},
|
|
327
327
|
draggable(object_id, value) {
|
|
328
328
|
if (!this.objects.has(object_id)) return;
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
const object = this.objects.get(object_id);
|
|
330
|
+
if (value) this.draggable_objects.push(object);
|
|
331
|
+
else {
|
|
332
|
+
const index = this.draggable_objects.indexOf(object);
|
|
333
|
+
if (index != -1) this.draggable_objects.splice(index, 1);
|
|
334
|
+
}
|
|
331
335
|
},
|
|
332
336
|
delete(object_id) {
|
|
333
337
|
if (!this.objects.has(object_id)) return;
|
|
334
|
-
this.objects.get(object_id)
|
|
338
|
+
const object = this.objects.get(object_id);
|
|
339
|
+
object.removeFromParent();
|
|
335
340
|
this.objects.delete(object_id);
|
|
336
|
-
this.draggable_objects.
|
|
341
|
+
const index = this.draggable_objects.indexOf(object);
|
|
342
|
+
if (index != -1) this.draggable_objects.splice(index, 1);
|
|
337
343
|
},
|
|
338
344
|
set_texture_url(object_id, url) {
|
|
339
345
|
if (!this.objects.has(object_id)) return;
|
|
@@ -117,7 +117,7 @@ class Scene(Element,
|
|
|
117
117
|
for obj in self.objects.values():
|
|
118
118
|
obj.send()
|
|
119
119
|
|
|
120
|
-
def run_method(self, name: str, *args: Any) -> AwaitableResponse:
|
|
120
|
+
def run_method(self, name: str, *args: Any, timeout: float = 1, check_interval: float = 0.01) -> AwaitableResponse:
|
|
121
121
|
"""Run a method on the client.
|
|
122
122
|
|
|
123
123
|
:param name: name of the method
|
|
@@ -125,7 +125,7 @@ class Scene(Element,
|
|
|
125
125
|
"""
|
|
126
126
|
if not self.is_initialized:
|
|
127
127
|
return NullResponse()
|
|
128
|
-
return super().run_method(name, *args)
|
|
128
|
+
return super().run_method(name, *args, timeout=timeout, check_interval=check_interval)
|
|
129
129
|
|
|
130
130
|
def _handle_click(self, e: GenericEventArguments) -> None:
|
|
131
131
|
arguments = SceneClickEventArguments(
|
|
@@ -20,13 +20,20 @@ export default {
|
|
|
20
20
|
},
|
|
21
21
|
methods: {
|
|
22
22
|
filterFn(val, update, abort) {
|
|
23
|
-
update(() =>
|
|
24
|
-
const needle = val.toLocaleLowerCase();
|
|
25
|
-
this.filteredOptions = needle
|
|
26
|
-
? this.initialOptions.filter((v) => String(v.label).toLocaleLowerCase().indexOf(needle) > -1)
|
|
27
|
-
: this.initialOptions;
|
|
28
|
-
});
|
|
23
|
+
update(() => (this.filteredOptions = this.findFilteredOptions()));
|
|
29
24
|
},
|
|
25
|
+
findFilteredOptions() {
|
|
26
|
+
const needle = this.$el.querySelector("input[type=search]")?.value.toLocaleLowerCase();
|
|
27
|
+
return needle
|
|
28
|
+
? this.initialOptions.filter((v) => String(v.label).toLocaleLowerCase().indexOf(needle) > -1)
|
|
29
|
+
: this.initialOptions;
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
updated() {
|
|
33
|
+
const newFilteredOptions = this.findFilteredOptions();
|
|
34
|
+
if (newFilteredOptions.length !== this.filteredOptions.length) {
|
|
35
|
+
this.filteredOptions = newFilteredOptions;
|
|
36
|
+
}
|
|
30
37
|
},
|
|
31
38
|
watch: {
|
|
32
39
|
options: {
|
|
@@ -29,6 +29,7 @@ class Select(ChoiceElement, DisableableElement, component='select.js'):
|
|
|
29
29
|
|
|
30
30
|
If `new_value_mode` is not None, it implies `with_input=True` and the user can enter new values in the input field.
|
|
31
31
|
See `Quasar's documentation <https://quasar.dev/vue-components/select#the-new-value-mode-prop>`_ for details.
|
|
32
|
+
Note that this mode is ineffective when setting the `value` property programmatically.
|
|
32
33
|
|
|
33
34
|
:param options: a list ['value1', ...] or dictionary `{'value1':'label1', ...}` specifying the options
|
|
34
35
|
:param label: the label to display above the selection
|