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.
Files changed (296) hide show
  1. instaui-0.1.10/.gitignore +4 -0
  2. instaui-0.1.10/PKG-INFO +153 -0
  3. instaui-0.1.10/README.md +127 -0
  4. {instaui-0.1.8 → instaui-0.1.10}/instaui/_helper/observable_helper.py +11 -1
  5. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/select.py +4 -1
  6. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/static/instaui-arco.css +1 -1
  7. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/static/instaui-arco.js +55771 -55771
  8. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/echarts.js +7 -5
  9. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/echarts.py +1 -1
  10. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/element.py +12 -22
  11. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/grid.py +63 -11
  12. instaui-0.1.10/instaui/components/html/paragraph.py +29 -0
  13. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/select.py +0 -5
  14. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/table.py +1 -1
  15. instaui-0.1.10/instaui/components/label.py +5 -0
  16. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/row.py +0 -3
  17. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-style.css +179 -179
  18. {instaui-0.1.8 → instaui-0.1.10}/instaui/event/js_event.py +24 -0
  19. instaui-0.1.10/instaui/event/vue_event.py +66 -0
  20. {instaui-0.1.8 → instaui-0.1.10}/instaui/event/web_event.py +36 -25
  21. instaui-0.1.10/instaui/experimental/__init__.py +3 -0
  22. {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/_utils.py +27 -5
  23. {instaui-0.1.8 → instaui-0.1.10}/instaui/shadcn_classless/static/shadcn-classless.css +403 -403
  24. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_file_base_utils.py +20 -16
  25. instaui-0.1.10/instaui/static/insta-ui.css +1 -0
  26. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/insta-ui.esm-browser.prod.js +3683 -3663
  27. instaui-0.1.10/instaui/static/insta-ui.js.map +1 -0
  28. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/func_system.py +15 -0
  29. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/webview_template.py +0 -2
  30. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/__init__.py +5 -1
  31. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/__init__.pyi +5 -1
  32. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/ui_page.py +3 -3
  33. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/js_computed.py +25 -1
  34. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/state.py +15 -0
  35. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/web_computed.py +42 -0
  36. instaui-0.1.10/instaui/watch/js_watch.py +110 -0
  37. {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/web_watch.py +53 -0
  38. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/__init__.py +1 -0
  39. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/index.py +0 -1
  40. instaui-0.1.10/pyproject.toml +62 -0
  41. instaui-0.1.8/PKG-INFO +0 -160
  42. instaui-0.1.8/README.md +0 -127
  43. instaui-0.1.8/instaui/components/html/paragraph.py +0 -19
  44. instaui-0.1.8/instaui/experimental/__init__.py +0 -4
  45. instaui-0.1.8/instaui/experimental/link_sql/__init__.py +0 -3
  46. instaui-0.1.8/instaui/experimental/link_sql/_base.py +0 -23
  47. instaui-0.1.8/instaui/experimental/link_sql/_duckdb.py +0 -221
  48. instaui-0.1.8/instaui/experimental/link_sql/_types.py +0 -15
  49. instaui-0.1.8/instaui/experimental/link_sql/data_source.js +0 -50
  50. instaui-0.1.8/instaui/static/insta-ui.css +0 -1
  51. instaui-0.1.8/instaui/static/insta-ui.js.map +0 -1
  52. instaui-0.1.8/instaui/watch/js_watch.py +0 -74
  53. instaui-0.1.8/pyproject.toml +0 -50
  54. {instaui-0.1.8 → instaui-0.1.10}/LICENSE +0 -0
  55. {instaui-0.1.8 → instaui-0.1.10}/instaui/__init__.py +0 -0
  56. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/__init__.py +0 -0
  57. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/_settings.py +0 -0
  58. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/_use_tools/locale.py +0 -0
  59. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/component_types.py +0 -0
  60. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/_utils.py +0 -0
  61. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/affix.py +0 -0
  62. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/alert.py +0 -0
  63. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/anchor.py +0 -0
  64. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/auto_complete.py +0 -0
  65. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/avatar.py +0 -0
  66. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/back_top.py +0 -0
  67. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/badge.py +0 -0
  68. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/breadcrumb.py +0 -0
  69. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/button.py +0 -0
  70. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/calendar.py +0 -0
  71. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/card.py +0 -0
  72. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/carousel.py +0 -0
  73. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/cascader.py +0 -0
  74. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/checkbox.py +0 -0
  75. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/collapse.py +0 -0
  76. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/color_picker.py +0 -0
  77. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/comment.py +0 -0
  78. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/config_provider.py +0 -0
  79. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/date_picker.py +0 -0
  80. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/descriptions.py +0 -0
  81. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/divider.py +0 -0
  82. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/drawer.py +0 -0
  83. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/dropdown.py +0 -0
  84. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/empty.py +0 -0
  85. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/form.py +0 -0
  86. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/icon.py +0 -0
  87. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/image.py +0 -0
  88. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input.py +0 -0
  89. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_number.py +0 -0
  90. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_password.py +0 -0
  91. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_search.py +0 -0
  92. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/input_tag.py +0 -0
  93. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout.py +0 -0
  94. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_content.py +0 -0
  95. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_footer.py +0 -0
  96. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_header.py +0 -0
  97. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/layout_sider.py +0 -0
  98. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/link.py +0 -0
  99. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/list.py +0 -0
  100. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/mention.py +0 -0
  101. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/menu.py +0 -0
  102. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/modal.py +0 -0
  103. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/overflow_list.py +0 -0
  104. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/page_header.py +0 -0
  105. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/pagination.py +0 -0
  106. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/pop_confirm.py +0 -0
  107. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/popover.py +0 -0
  108. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/progress.py +0 -0
  109. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/radio.py +0 -0
  110. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/radio_group.py +0 -0
  111. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/rate.py +0 -0
  112. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/resize_box.py +0 -0
  113. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/result.py +0 -0
  114. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/skeleton.py +0 -0
  115. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/slider.py +0 -0
  116. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/space.py +0 -0
  117. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/spin.py +0 -0
  118. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/split.py +0 -0
  119. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/statistic.py +0 -0
  120. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/steps.py +0 -0
  121. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/switch.py +0 -0
  122. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tab_pane.py +0 -0
  123. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/table.py +0 -0
  124. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tabs.py +0 -0
  125. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tag.py +0 -0
  126. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/textarea.py +0 -0
  127. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/time_picker.py +0 -0
  128. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/timeline.py +0 -0
  129. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tooltip.py +0 -0
  130. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/transfer.py +0 -0
  131. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tree.py +0 -0
  132. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/tree_select.py +0 -0
  133. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/trigger.py +0 -0
  134. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/typography.py +0 -0
  135. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/upload.py +0 -0
  136. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/verification_code.py +0 -0
  137. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/components/watermark.py +0 -0
  138. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/__init__.py +0 -0
  139. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/_index.py +0 -0
  140. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/en_us.py +0 -0
  141. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/locales/zh_cn.py +0 -0
  142. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/setup.py +0 -0
  143. {instaui-0.1.8 → instaui-0.1.10}/instaui/arco/types.py +0 -0
  144. {instaui-0.1.8 → instaui-0.1.10}/instaui/boot_info.py +0 -0
  145. {instaui-0.1.8 → instaui-0.1.10}/instaui/common/jsonable.py +0 -0
  146. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/__init__.py +0 -0
  147. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/column.py +0 -0
  148. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/component.py +0 -0
  149. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/content.py +0 -0
  150. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/directive.py +0 -0
  151. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/echarts/static/echarts.esm.min.js +0 -0
  152. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/__init__.py +0 -0
  153. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/_mixins.py +0 -0
  154. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/_preset.py +0 -0
  155. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/button.py +0 -0
  156. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/checkbox.py +0 -0
  157. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/date.py +0 -0
  158. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/div.py +0 -0
  159. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/form.py +0 -0
  160. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/heading.py +0 -0
  161. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/input.py +0 -0
  162. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/label.py +0 -0
  163. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/li.py +0 -0
  164. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/link.py +0 -0
  165. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/number.py +0 -0
  166. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/range.py +0 -0
  167. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/span.py +0 -0
  168. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/textarea.py +0 -0
  169. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/html/ul.py +0 -0
  170. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/markdown.js +0 -0
  171. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/markdown.py +0 -0
  172. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/static/github-markdown.css +0 -0
  173. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/markdown/static/marked.esm.js +0 -0
  174. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/match.py +0 -0
  175. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/shiki_code.js +0 -0
  176. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/shiki_code.py +0 -0
  177. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/css.mjs +0 -0
  178. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/markdown.mjs +0 -0
  179. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/python.mjs +0 -0
  180. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/shell.mjs +0 -0
  181. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/langs/shellscript.mjs +0 -0
  182. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-core.js +0 -0
  183. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/shiki-transformers.js +0 -0
  184. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/themes/vitesse-dark.mjs +0 -0
  185. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/shiki_code/static/themes/vitesse-light.mjs +0 -0
  186. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/slot.py +0 -0
  187. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/transition_group.py +0 -0
  188. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/value_element.py +0 -0
  189. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/vfor.py +0 -0
  190. {instaui-0.1.8 → instaui-0.1.10}/instaui/components/vif.py +0 -0
  191. {instaui-0.1.8 → instaui-0.1.10}/instaui/consts.py +0 -0
  192. {instaui-0.1.8 → instaui-0.1.10}/instaui/dependencies/component_dependency.py +0 -0
  193. {instaui-0.1.8 → instaui-0.1.10}/instaui/dependencies/plugin_dependency.py +0 -0
  194. {instaui-0.1.8 → instaui-0.1.10}/instaui/event/event_mixin.py +0 -0
  195. {instaui-0.1.8 → instaui-0.1.10}/instaui/experimental/debug.py +0 -0
  196. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/_utils.py +0 -0
  197. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/_uvicorn.py +0 -0
  198. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/debug_mode_router.py +0 -0
  199. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/dependency_router.py +0 -0
  200. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/event_router.py +0 -0
  201. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/middlewares.py +0 -0
  202. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/request_context.py +0 -0
  203. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/resource.py +0 -0
  204. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/server.py +0 -0
  205. {instaui-0.1.8 → instaui-0.1.10}/instaui/fastapi_server/watch_router.py +0 -0
  206. {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/event_handler.py +0 -0
  207. {instaui-0.1.8 → instaui-0.1.10}/instaui/handlers/watch_handler.py +0 -0
  208. {instaui-0.1.8 → instaui-0.1.10}/instaui/html_tools.py +0 -0
  209. {instaui-0.1.8 → instaui-0.1.10}/instaui/inject.py +0 -0
  210. {instaui-0.1.8 → instaui-0.1.10}/instaui/js/__init__.py +0 -0
  211. {instaui-0.1.8 → instaui-0.1.10}/instaui/js/js_output.py +0 -0
  212. {instaui-0.1.8 → instaui-0.1.10}/instaui/js/lambda_func.py +0 -0
  213. {instaui-0.1.8 → instaui-0.1.10}/instaui/launch_collector.py +0 -0
  214. {instaui-0.1.8 → instaui-0.1.10}/instaui/page_info.py +0 -0
  215. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/__init__.py +0 -0
  216. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_app.py +0 -0
  217. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_inner_helper.py +0 -0
  218. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/_link_manager.py +0 -0
  219. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/context.py +0 -0
  220. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/dataclass.py +0 -0
  221. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/resource.py +0 -0
  222. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/scope.py +0 -0
  223. {instaui-0.1.8 → instaui-0.1.10}/instaui/runtime/ui_state_scope.py +0 -0
  224. {instaui-0.1.8 → instaui-0.1.10}/instaui/settings/__init__.py +0 -0
  225. {instaui-0.1.8 → instaui-0.1.10}/instaui/settings/__settings.py +0 -0
  226. {instaui-0.1.8 → instaui-0.1.10}/instaui/shadcn_classless/_index.py +0 -0
  227. {instaui-0.1.8 → instaui-0.1.10}/instaui/skip.py +0 -0
  228. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/__init__.py +0 -0
  229. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_components.py +0 -0
  230. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_functions.py +0 -0
  231. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_install.py +0 -0
  232. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_route_model.py +0 -0
  233. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_box.py +0 -0
  234. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_output.py +0 -0
  235. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_router_param_var.py +0 -0
  236. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/_types.py +0 -0
  237. {instaui-0.1.8 → instaui-0.1.10}/instaui/spa_router/templates/page_routes +0 -0
  238. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/insta-ui.ico +0 -0
  239. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/instaui-tools-browser.js +0 -0
  240. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/debug/sse.html +0 -0
  241. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/web.html +0 -0
  242. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/webview.html +0 -0
  243. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/templates/zero.html +0 -0
  244. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.esm-browser.prod.js +0 -0
  245. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.global.prod.js +0 -0
  246. {instaui-0.1.8 → instaui-0.1.10}/instaui/static/vue.runtime.esm-browser.prod.js +0 -0
  247. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/file_system.py +0 -0
  248. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/js_system.py +0 -0
  249. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/module_system.py +0 -0
  250. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/pydantic_system.py +0 -0
  251. {instaui-0.1.8 → instaui-0.1.10}/instaui/systems/string_system.py +0 -0
  252. {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/__init__.py +0 -0
  253. {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/_index.py +0 -0
  254. {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/static/tailwindcss-v3.min.js +0 -0
  255. {instaui-0.1.8 → instaui-0.1.10}/instaui/tailwind/static/tailwindcss-v4.min.js +0 -0
  256. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/__init__.py +0 -0
  257. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/_utils.py +0 -0
  258. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/env.py +0 -0
  259. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/web_template.py +0 -0
  260. {instaui-0.1.8 → instaui-0.1.10}/instaui/template/zero_template.py +0 -0
  261. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui/events.py +0 -0
  262. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/input_slient_data.py +0 -0
  263. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/server.py +0 -0
  264. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/str_format.py +0 -0
  265. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/ui_types.py +0 -0
  266. {instaui-0.1.8 → instaui-0.1.10}/instaui/ui_functions/url_location.py +0 -0
  267. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/_types.py +0 -0
  268. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/data.py +0 -0
  269. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/element_ref.py +0 -0
  270. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/event_context.py +0 -0
  271. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/event_extend.py +0 -0
  272. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/common_type.py +0 -0
  273. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/element_binding.py +0 -0
  274. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/observable.py +0 -0
  275. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/pathable.py +0 -0
  276. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/py_binding.py +0 -0
  277. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/str_format_binding.py +0 -0
  278. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/mixin_types/var_type.py +0 -0
  279. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/path_var.py +0 -0
  280. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/ref.py +0 -0
  281. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/slot_prop.py +0 -0
  282. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/types.py +0 -0
  283. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/vfor_item.py +0 -0
  284. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/vue_computed.py +0 -0
  285. {instaui-0.1.8 → instaui-0.1.10}/instaui/vars/web_view_computed.py +0 -0
  286. {instaui-0.1.8 → instaui-0.1.10}/instaui/version.py +0 -0
  287. {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/_types.py +0 -0
  288. {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/_utils.py +0 -0
  289. {instaui-0.1.8 → instaui-0.1.10}/instaui/watch/vue_watch.py +0 -0
  290. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/_utils.py +0 -0
  291. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/api.py +0 -0
  292. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/func.py +0 -0
  293. {instaui-0.1.8 → instaui-0.1.10}/instaui/webview/resource.py +0 -0
  294. {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/__init__.py +0 -0
  295. {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/func.py +0 -0
  296. {instaui-0.1.8 → instaui-0.1.10}/instaui/zero/scope.py +0 -0
@@ -0,0 +1,4 @@
1
+ /temp/
2
+ __tests/testing_web/resources/**/_routes.py
3
+ # py-instaui/static/*.*
4
+ __tests/testing_webview/webview_assets
@@ -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
+ ```
@@ -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[typing.Union[str, int]]] = None,
33
+ value: typing.Optional[TMaybeRef[_TSelectValue]] = None,
31
34
  **kwargs: Unpack[component_types.TSelect],
32
35
  ):
33
36
  super().__init__("a-select")