instaui 0.1.8__tar.gz → 0.1.10__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.
- instaui-0.1.10/.gitignore +4 -0
- instaui-0.1.10/PKG-INFO +153 -0
- instaui-0.1.10/README.md +127 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/_helper/observable_helper.py +11 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/select.py +4 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/static/instaui-arco.css +1 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/static/instaui-arco.js +55771 -55771
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/echarts.js +7 -5
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/echarts.py +1 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/element.py +12 -22
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/grid.py +63 -11
- instaui-0.1.10/instaui/components/html/paragraph.py +29 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/select.py +0 -5
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/table.py +1 -1
- instaui-0.1.10/instaui/components/label.py +5 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/row.py +0 -3
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-style.css +179 -179
- {instaui-0.1.8 → instaui-0.1.10}/instaui/event/js_event.py +24 -0
- instaui-0.1.10/instaui/event/vue_event.py +66 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/event/web_event.py +36 -25
- instaui-0.1.10/instaui/experimental/__init__.py +3 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/_utils.py +27 -5
- {instaui-0.1.8 → instaui-0.1.10}/instaui/shadcn_classless/static/shadcn-classless.css +403 -403
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_file_base_utils.py +20 -16
- instaui-0.1.10/instaui/static/insta-ui.css +1 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/insta-ui.esm-browser.prod.js +3683 -3663
- instaui-0.1.10/instaui/static/insta-ui.js.map +1 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/func_system.py +15 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/webview_template.py +0 -2
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/__init__.py +5 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/__init__.pyi +5 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/ui_page.py +3 -3
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/js_computed.py +25 -1
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/state.py +15 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/web_computed.py +42 -0
- instaui-0.1.10/instaui/watch/js_watch.py +110 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/web_watch.py +53 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/__init__.py +1 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/index.py +0 -1
- instaui-0.1.10/pyproject.toml +62 -0
- instaui-0.1.8/PKG-INFO +0 -160
- instaui-0.1.8/README.md +0 -127
- instaui-0.1.8/instaui/components/html/paragraph.py +0 -19
- instaui-0.1.8/instaui/experimental/__init__.py +0 -4
- instaui-0.1.8/instaui/experimental/link_sql/__init__.py +0 -3
- instaui-0.1.8/instaui/experimental/link_sql/_base.py +0 -23
- instaui-0.1.8/instaui/experimental/link_sql/_duckdb.py +0 -221
- instaui-0.1.8/instaui/experimental/link_sql/_types.py +0 -15
- instaui-0.1.8/instaui/experimental/link_sql/data_source.js +0 -50
- instaui-0.1.8/instaui/static/insta-ui.css +0 -1
- instaui-0.1.8/instaui/static/insta-ui.js.map +0 -1
- instaui-0.1.8/instaui/watch/js_watch.py +0 -74
- instaui-0.1.8/pyproject.toml +0 -50
- {instaui-0.1.8 → instaui-0.1.10}/LICENSE +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/_settings.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/_use_tools/locale.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/component_types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/_utils.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/affix.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/alert.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/anchor.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/auto_complete.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/avatar.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/back_top.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/badge.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/breadcrumb.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/button.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/calendar.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/card.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/carousel.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/cascader.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/checkbox.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/collapse.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/color_picker.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/comment.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/config_provider.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/date_picker.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/descriptions.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/divider.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/drawer.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/dropdown.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/empty.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/form.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/icon.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/image.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_number.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_password.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_search.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_tag.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_content.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_footer.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_header.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_sider.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/link.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/list.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/mention.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/menu.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/modal.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/overflow_list.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/page_header.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/pagination.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/pop_confirm.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/popover.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/progress.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/radio.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/radio_group.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/rate.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/resize_box.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/result.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/skeleton.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/slider.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/space.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/spin.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/split.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/statistic.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/steps.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/switch.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tab_pane.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/table.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tabs.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tag.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/textarea.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/time_picker.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/timeline.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tooltip.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/transfer.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tree.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tree_select.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/trigger.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/typography.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/upload.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/verification_code.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/watermark.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/_index.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/en_us.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/zh_cn.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/setup.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/boot_info.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/common/jsonable.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/column.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/component.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/content.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/directive.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/static/echarts.esm.min.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/_mixins.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/_preset.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/button.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/checkbox.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/date.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/div.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/form.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/heading.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/input.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/label.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/li.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/link.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/number.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/range.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/span.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/textarea.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/ul.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/markdown.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/markdown.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/static/github-markdown.css +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/static/marked.esm.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/match.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/shiki_code.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/shiki_code.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/css.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/markdown.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/python.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/shell.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/shellscript.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-core.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-transformers.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/themes/vitesse-dark.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/themes/vitesse-light.mjs +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/slot.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/transition_group.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/value_element.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/vfor.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/components/vif.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/consts.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/dependencies/component_dependency.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/dependencies/plugin_dependency.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/event/event_mixin.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/experimental/debug.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/_utils.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/_uvicorn.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/debug_mode_router.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/dependency_router.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/event_router.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/middlewares.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/request_context.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/resource.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/server.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/watch_router.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/event_handler.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/watch_handler.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/html_tools.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/inject.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/js/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/js/js_output.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/js/lambda_func.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/launch_collector.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/page_info.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_app.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_inner_helper.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_link_manager.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/context.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/dataclass.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/resource.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/scope.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/ui_state_scope.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/settings/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/settings/__settings.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/shadcn_classless/_index.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/skip.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_components.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_functions.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_install.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_route_model.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_box.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_output.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_param_var.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/templates/page_routes +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/insta-ui.ico +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/instaui-tools-browser.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/debug/sse.html +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/web.html +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/webview.html +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/zero.html +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.esm-browser.prod.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.global.prod.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.runtime.esm-browser.prod.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/file_system.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/js_system.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/module_system.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/pydantic_system.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/string_system.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/_index.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/static/tailwindcss-v3.min.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/static/tailwindcss-v4.min.js +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/_utils.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/env.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/web_template.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/template/zero_template.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/events.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/input_slient_data.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/server.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/str_format.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/ui_types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/url_location.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/_types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/data.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/element_ref.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/event_context.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/event_extend.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/common_type.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/element_binding.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/observable.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/pathable.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/py_binding.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/str_format_binding.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/var_type.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/path_var.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/ref.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/slot_prop.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/vfor_item.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/vue_computed.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/web_view_computed.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/version.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/_types.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/_utils.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/vue_watch.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/_utils.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/api.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/func.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/resource.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/__init__.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/func.py +0 -0
- {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/scope.py +0 -0
instaui-0.1.10/PKG-INFO
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: instaui
|
3
|
+
Version: 0.1.10
|
4
|
+
Summary: insta-ui is a Python-based UI library for rapidly building user interfaces.
|
5
|
+
Author-email: CrystalWindSnake <568166495@qq.com>
|
6
|
+
License-Expression: MIT
|
7
|
+
License-File: LICENSE
|
8
|
+
Keywords: gui,ui,web
|
9
|
+
Requires-Python: <3.13,>=3.8
|
10
|
+
Requires-Dist: jinja2>=3.1.6
|
11
|
+
Requires-Dist: orjson>=3.10.15
|
12
|
+
Requires-Dist: pydantic>=2.10.6
|
13
|
+
Requires-Dist: typing-extensions>=4.13.2
|
14
|
+
Provides-Extra: all
|
15
|
+
Requires-Dist: fastapi[standard]; extra == 'all'
|
16
|
+
Requires-Dist: pywebview; extra == 'all'
|
17
|
+
Requires-Dist: uvicorn; extra == 'all'
|
18
|
+
Provides-Extra: web
|
19
|
+
Requires-Dist: fastapi[standard]; extra == 'web'
|
20
|
+
Requires-Dist: pydantic<3.0.0,>=2.10.6; extra == 'web'
|
21
|
+
Requires-Dist: uvicorn; extra == 'web'
|
22
|
+
Provides-Extra: webview
|
23
|
+
Requires-Dist: pydantic<3.0.0,>=2.10.6; extra == 'webview'
|
24
|
+
Requires-Dist: pywebview; extra == 'webview'
|
25
|
+
Description-Content-Type: text/markdown
|
26
|
+
|
27
|
+
# insta-ui
|
28
|
+
|
29
|
+
<div align="center">
|
30
|
+
|
31
|
+
English| [简体中文](./README.md)
|
32
|
+
|
33
|
+
</div>
|
34
|
+
|
35
|
+
## 📖 Introduction
|
36
|
+
insta-ui is a Python-based UI library for quickly building user interfaces.
|
37
|
+
|
38
|
+
## ⚙️ Features
|
39
|
+
Three modes:
|
40
|
+
|
41
|
+
- Web mode: Generate web (stateless) applications.
|
42
|
+
- Web View mode: Generate web view applications that can be packaged as native apps (no need to start a web server).
|
43
|
+
- Zero mode: Generate pure HTML files that run directly in browsers without any dependencies.
|
44
|
+
|
45
|
+
|
46
|
+
## 📦 Installation
|
47
|
+
|
48
|
+
Zero mode:
|
49
|
+
|
50
|
+
```
|
51
|
+
pip install instaui -U
|
52
|
+
```
|
53
|
+
|
54
|
+
web mode
|
55
|
+
|
56
|
+
```
|
57
|
+
pip install instaui[web] -U
|
58
|
+
```
|
59
|
+
|
60
|
+
Web View mode
|
61
|
+
```
|
62
|
+
pip install instaui[webview] -U
|
63
|
+
```
|
64
|
+
|
65
|
+
|
66
|
+
## 🖥️ Quick Start
|
67
|
+
Below is a simple example of number summation. The result color changes dynamically based on the sum:
|
68
|
+
|
69
|
+
```python
|
70
|
+
from instaui import ui, arco
|
71
|
+
arco.use()
|
72
|
+
|
73
|
+
@ui.page('/')
|
74
|
+
def home():
|
75
|
+
num1 = ui.state(0)
|
76
|
+
num2 = ui.state(0)
|
77
|
+
|
78
|
+
# Automatically recalculates result when num1 or num2 changes
|
79
|
+
@ui.computed(inputs=[num1, num2])
|
80
|
+
def result(num1: int, num2: int):
|
81
|
+
return num1 + num2
|
82
|
+
|
83
|
+
# Automatically updates text_color when result changes
|
84
|
+
@ui.computed(inputs=[result])
|
85
|
+
def text_color(result: int):
|
86
|
+
return "red" if result % 2 == 0 else "blue"
|
87
|
+
|
88
|
+
# UI components
|
89
|
+
arco.input_number(num1)
|
90
|
+
ui.label("+")
|
91
|
+
arco.input_number(num2)
|
92
|
+
ui.label("=")
|
93
|
+
ui.label(result).style({"color": text_color})
|
94
|
+
|
95
|
+
ui.server().run()
|
96
|
+
```
|
97
|
+
|
98
|
+
Replace `ui.server().run()` with `ui.webview().run()` to switch to Web View mode:
|
99
|
+
|
100
|
+
```python
|
101
|
+
...
|
102
|
+
|
103
|
+
# ui.server().run()
|
104
|
+
ui.webview().run()
|
105
|
+
```
|
106
|
+
|
107
|
+
To execute computations on the client side instead of the server, use `ui.js_computed` instead of `ui.computed`:
|
108
|
+
|
109
|
+
```python
|
110
|
+
from instaui import ui, arco
|
111
|
+
arco.use()
|
112
|
+
|
113
|
+
@ui.page('/')
|
114
|
+
def home():
|
115
|
+
num1 = ui.state(0)
|
116
|
+
num2 = ui.state(0)
|
117
|
+
|
118
|
+
result = ui.js_computed(inputs=[num1, num2], code="(num1, num2) => num1 + num2")
|
119
|
+
text_color = ui.js_computed(inputs=[result], code="(result) => result % 2 === 0? 'red' : 'blue'")
|
120
|
+
|
121
|
+
# UI components
|
122
|
+
...
|
123
|
+
|
124
|
+
...
|
125
|
+
|
126
|
+
```
|
127
|
+
|
128
|
+
In this case, all interactions will run on the client side. Use `Zero mode` to generate a standalone HTML file:
|
129
|
+
|
130
|
+
```python
|
131
|
+
from instaui import ui, arco,zero
|
132
|
+
arco.use()
|
133
|
+
|
134
|
+
@ui.page('/')
|
135
|
+
def home():
|
136
|
+
num1 = ui.state(0)
|
137
|
+
num2 = ui.state(0)
|
138
|
+
|
139
|
+
result = ui.js_computed(inputs=[num1, num2], code="(num1, num2) => num1 + num2")
|
140
|
+
text_color = ui.js_computed(inputs=[result], code="(result) => result % 2 === 0? 'red' : 'blue'")
|
141
|
+
|
142
|
+
# UI components
|
143
|
+
arco.input_number(num1)
|
144
|
+
ui.label("+")
|
145
|
+
arco.input_number(num2)
|
146
|
+
ui.label("=")
|
147
|
+
ui.label(result).style({"color": text_color})
|
148
|
+
|
149
|
+
with zero() as z:
|
150
|
+
home()
|
151
|
+
z.to_html('index.html')
|
152
|
+
|
153
|
+
```
|
instaui-0.1.10/README.md
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
# insta-ui
|
2
|
+
|
3
|
+
<div align="center">
|
4
|
+
|
5
|
+
English| [简体中文](./README.md)
|
6
|
+
|
7
|
+
</div>
|
8
|
+
|
9
|
+
## 📖 Introduction
|
10
|
+
insta-ui is a Python-based UI library for quickly building user interfaces.
|
11
|
+
|
12
|
+
## ⚙️ Features
|
13
|
+
Three modes:
|
14
|
+
|
15
|
+
- Web mode: Generate web (stateless) applications.
|
16
|
+
- Web View mode: Generate web view applications that can be packaged as native apps (no need to start a web server).
|
17
|
+
- Zero mode: Generate pure HTML files that run directly in browsers without any dependencies.
|
18
|
+
|
19
|
+
|
20
|
+
## 📦 Installation
|
21
|
+
|
22
|
+
Zero mode:
|
23
|
+
|
24
|
+
```
|
25
|
+
pip install instaui -U
|
26
|
+
```
|
27
|
+
|
28
|
+
web mode
|
29
|
+
|
30
|
+
```
|
31
|
+
pip install instaui[web] -U
|
32
|
+
```
|
33
|
+
|
34
|
+
Web View mode
|
35
|
+
```
|
36
|
+
pip install instaui[webview] -U
|
37
|
+
```
|
38
|
+
|
39
|
+
|
40
|
+
## 🖥️ Quick Start
|
41
|
+
Below is a simple example of number summation. The result color changes dynamically based on the sum:
|
42
|
+
|
43
|
+
```python
|
44
|
+
from instaui import ui, arco
|
45
|
+
arco.use()
|
46
|
+
|
47
|
+
@ui.page('/')
|
48
|
+
def home():
|
49
|
+
num1 = ui.state(0)
|
50
|
+
num2 = ui.state(0)
|
51
|
+
|
52
|
+
# Automatically recalculates result when num1 or num2 changes
|
53
|
+
@ui.computed(inputs=[num1, num2])
|
54
|
+
def result(num1: int, num2: int):
|
55
|
+
return num1 + num2
|
56
|
+
|
57
|
+
# Automatically updates text_color when result changes
|
58
|
+
@ui.computed(inputs=[result])
|
59
|
+
def text_color(result: int):
|
60
|
+
return "red" if result % 2 == 0 else "blue"
|
61
|
+
|
62
|
+
# UI components
|
63
|
+
arco.input_number(num1)
|
64
|
+
ui.label("+")
|
65
|
+
arco.input_number(num2)
|
66
|
+
ui.label("=")
|
67
|
+
ui.label(result).style({"color": text_color})
|
68
|
+
|
69
|
+
ui.server().run()
|
70
|
+
```
|
71
|
+
|
72
|
+
Replace `ui.server().run()` with `ui.webview().run()` to switch to Web View mode:
|
73
|
+
|
74
|
+
```python
|
75
|
+
...
|
76
|
+
|
77
|
+
# ui.server().run()
|
78
|
+
ui.webview().run()
|
79
|
+
```
|
80
|
+
|
81
|
+
To execute computations on the client side instead of the server, use `ui.js_computed` instead of `ui.computed`:
|
82
|
+
|
83
|
+
```python
|
84
|
+
from instaui import ui, arco
|
85
|
+
arco.use()
|
86
|
+
|
87
|
+
@ui.page('/')
|
88
|
+
def home():
|
89
|
+
num1 = ui.state(0)
|
90
|
+
num2 = ui.state(0)
|
91
|
+
|
92
|
+
result = ui.js_computed(inputs=[num1, num2], code="(num1, num2) => num1 + num2")
|
93
|
+
text_color = ui.js_computed(inputs=[result], code="(result) => result % 2 === 0? 'red' : 'blue'")
|
94
|
+
|
95
|
+
# UI components
|
96
|
+
...
|
97
|
+
|
98
|
+
...
|
99
|
+
|
100
|
+
```
|
101
|
+
|
102
|
+
In this case, all interactions will run on the client side. Use `Zero mode` to generate a standalone HTML file:
|
103
|
+
|
104
|
+
```python
|
105
|
+
from instaui import ui, arco,zero
|
106
|
+
arco.use()
|
107
|
+
|
108
|
+
@ui.page('/')
|
109
|
+
def home():
|
110
|
+
num1 = ui.state(0)
|
111
|
+
num2 = ui.state(0)
|
112
|
+
|
113
|
+
result = ui.js_computed(inputs=[num1, num2], code="(num1, num2) => num1 + num2")
|
114
|
+
text_color = ui.js_computed(inputs=[result], code="(result) => result % 2 === 0? 'red' : 'blue'")
|
115
|
+
|
116
|
+
# UI components
|
117
|
+
arco.input_number(num1)
|
118
|
+
ui.label("+")
|
119
|
+
arco.input_number(num2)
|
120
|
+
ui.label("=")
|
121
|
+
ui.label(result).style({"color": text_color})
|
122
|
+
|
123
|
+
with zero() as z:
|
124
|
+
home()
|
125
|
+
z.to_html('index.html')
|
126
|
+
|
127
|
+
```
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import typing
|
2
2
|
from instaui.vars.mixin_types.observable import ObservableMixin
|
3
|
-
from instaui.vars.mixin_types.py_binding import CanInputMixin
|
3
|
+
from instaui.vars.mixin_types.py_binding import CanInputMixin, CanOutputMixin
|
4
4
|
from instaui.ui_functions.input_slient_data import InputSilentData
|
5
5
|
|
6
6
|
from instaui.vars.mixin_types.common_type import TObservableInput
|
@@ -33,3 +33,13 @@ def analyze_observable_inputs(inputs: typing.List[TObservableInput]):
|
|
33
33
|
result_inputs.append(input)
|
34
34
|
|
35
35
|
return result_inputs, slients, datas
|
36
|
+
|
37
|
+
|
38
|
+
def auto_made_inputs_to_slient(
|
39
|
+
inputs: typing.Optional[typing.Sequence[TObservableInput]],
|
40
|
+
outputs: typing.Optional[typing.Sequence[CanOutputMixin]],
|
41
|
+
):
|
42
|
+
if inputs is None or outputs is None:
|
43
|
+
return inputs
|
44
|
+
|
45
|
+
return [InputSilentData(input) if input in outputs else input for input in inputs]
|
@@ -10,6 +10,9 @@ from instaui.arco import component_types
|
|
10
10
|
from instaui.event.event_mixin import EventMixin
|
11
11
|
from ._utils import handle_props, try_setup_vmodel
|
12
12
|
|
13
|
+
|
14
|
+
_TSelectValue = typing.Union[str, int, typing.Sequence[str], typing.Sequence[int]]
|
15
|
+
|
13
16
|
_OPTIONS_TRANSLATE_JS: typing.Final = r"""(options)=>{
|
14
17
|
if (Array.isArray(options)){
|
15
18
|
const obj = {};
|
@@ -27,7 +30,7 @@ class Select(Element):
|
|
27
30
|
def __init__(
|
28
31
|
self,
|
29
32
|
options: TMaybeRef[typing.Union[typing.Sequence, typing.Dict]],
|
30
|
-
value: typing.Optional[TMaybeRef[
|
33
|
+
value: typing.Optional[TMaybeRef[_TSelectValue]] = None,
|
31
34
|
**kwargs: Unpack[component_types.TSelect],
|
32
35
|
):
|
33
36
|
super().__init__("a-select")
|