instaui 0.1.17__py2.py3-none-any.whl → 0.1.19__py2.py3-none-any.whl

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/ui/__init__.py CHANGED
@@ -54,12 +54,12 @@ __all__ = [
54
54
  "watch",
55
55
  "vue_watch",
56
56
  "js_watch",
57
+ "js_fn",
57
58
  "TWatchState",
58
59
  "match",
59
60
  "column",
60
61
  "experimental",
61
62
  "skip_output",
62
- "js_output",
63
63
  "str_format",
64
64
  "on_page_request_lifespan",
65
65
  "webview",
@@ -122,7 +122,6 @@ from instaui.watch.js_watch import js_watch
122
122
  from instaui.handlers.watch_handler import WatchState as TWatchState
123
123
  from instaui.skip import skip_output
124
124
  from instaui.ui_functions.input_slient_data import InputSilentData as slient
125
- from instaui.js.js_output import JsOutput as js_output
126
125
  import instaui.experimental as experimental
127
126
 
128
127
  from instaui.ui_functions.server import create_server as server
@@ -132,6 +131,7 @@ from instaui.ui_functions.ui_types import TBindable, is_bindable
132
131
 
133
132
  from .events import on_page_request_lifespan
134
133
  from instaui.extra_libs._import_error import show_error # noqa: E402, F401
134
+ from instaui.js.fn import JsFn as js_fn
135
135
 
136
136
  # -- dynamic imports
137
137
  from instaui.systems.module_system import LazyModule as _LazyModule
instaui/ui/__init__.pyi CHANGED
@@ -54,12 +54,12 @@ __all__ = [
54
54
  "watch",
55
55
  "vue_watch",
56
56
  "js_watch",
57
+ "js_fn",
57
58
  "TWatchState",
58
59
  "match",
59
60
  "column",
60
61
  "experimental",
61
62
  "skip_output",
62
- "js_output",
63
63
  "str_format",
64
64
  "on_page_request_lifespan",
65
65
  "webview",
@@ -122,7 +122,6 @@ from instaui.watch.js_watch import js_watch
122
122
  from instaui.handlers.watch_handler import WatchState as TWatchState
123
123
  from instaui.skip import skip_output
124
124
  from instaui.ui_functions.input_slient_data import InputSilentData as slient
125
- from instaui.js.js_output import JsOutput as js_output
126
125
  import instaui.experimental as experimental
127
126
 
128
127
  from instaui.ui_functions.server import create_server as server
@@ -132,6 +131,7 @@ from instaui.ui_functions.ui_types import TBindable, is_bindable
132
131
 
133
132
  from .events import on_page_request_lifespan
134
133
  from instaui.extra_libs._import_error import show_error # noqa: E402, F401
134
+ from instaui.js.fn import JsFn as js_fn
135
135
 
136
136
  # -- dynamic imports
137
137
  from instaui.components.markdown.markdown import Markdown as markdown
instaui/vars/data.py CHANGED
@@ -31,15 +31,13 @@ class ConstData(
31
31
  self.value = value # type: ignore
32
32
 
33
33
  scope = get_current_scope()
34
- scope.register_data(self)
35
- self._sid = scope.id
36
- self._id = scope.generate_vars_id()
34
+ self.__register_info = scope.register_data_task(self)
37
35
 
38
36
  def __to_binding_config(self):
39
37
  return {
40
38
  "type": self.BIND_TYPE,
41
- "id": self._id,
42
- "sid": self._sid,
39
+ "id": self.__register_info.var_id,
40
+ "sid": self.__register_info.scope_id,
43
41
  }
44
42
 
45
43
  def _to_pathable_binding_config(self) -> Dict:
@@ -59,8 +57,8 @@ class ConstData(
59
57
 
60
58
  def _to_json_dict(self):
61
59
  data = super()._to_json_dict()
62
- data["sid"] = self._sid
63
- data["id"] = self._id
60
+ data["sid"] = self.__register_info.scope_id
61
+ data["id"] = self.__register_info.var_id
64
62
 
65
63
  return data
66
64
 
@@ -6,10 +6,7 @@ from instaui.common.jsonable import Jsonable
6
6
  from instaui.runtime._app import get_current_scope
7
7
  from instaui.vars.path_var import PathVar
8
8
  from instaui.vars.mixin_types.var_type import VarMixin
9
- from instaui.vars.mixin_types.element_binding import (
10
- ElementBindingMixin,
11
- _try_mark_inputs_used,
12
- )
9
+ from instaui.vars.mixin_types.element_binding import ElementBindingMixin
13
10
  from instaui.vars.mixin_types.py_binding import CanInputMixin
14
11
  from instaui.vars.mixin_types.pathable import CanPathPropMixin
15
12
  from instaui.vars.mixin_types.str_format_binding import StrFormatBindingMixin
@@ -61,9 +58,7 @@ class JsComputed(
61
58
  self._org_inputs = inputs or []
62
59
 
63
60
  scope = get_current_scope()
64
- scope.register_js_computed(self)
65
- self._sid = scope.id
66
- self._id = scope.generate_vars_id()
61
+ self.__register_info = scope.register_js_computed_task(self)
67
62
 
68
63
  self._inputs, self._is_slient_inputs, self._is_data = (
69
64
  observable_helper.analyze_observable_inputs(list(inputs or []))
@@ -71,13 +66,12 @@ class JsComputed(
71
66
 
72
67
  self._async_init_value = async_init_value
73
68
  self._deep_compare_on_input = deep_compare_on_input
74
- self.__be_used = False
75
69
 
76
70
  def __to_binding_config(self):
77
71
  return {
78
72
  "type": self.BIND_TYPE,
79
- "id": self._id,
80
- "sid": self._sid,
73
+ "id": self.__register_info.var_id,
74
+ "sid": self.__register_info.scope_id,
81
75
  }
82
76
 
83
77
  def _to_input_config(self):
@@ -95,21 +89,11 @@ class JsComputed(
95
89
  def _to_observable_config(self):
96
90
  return self.__to_binding_config()
97
91
 
98
- def _mark_used(self):
99
- if self.__be_used:
100
- return
101
-
102
- self.__be_used = True
103
- _try_mark_inputs_used(self._org_inputs)
104
-
105
- def _is_used(self):
106
- return self.__be_used
107
-
108
92
  def _to_json_dict(self):
109
93
  data = super()._to_json_dict()
110
94
 
111
- data["sid"] = self._sid
112
- data["id"] = self._id
95
+ data["sid"] = self.__register_info.scope_id
96
+ data["id"] = self.__register_info.var_id
113
97
 
114
98
  if self._inputs:
115
99
  data["inputs"] = self._inputs
@@ -1,4 +1,4 @@
1
- from typing import Dict, Generic, Iterable, TypeVar
1
+ from typing import Dict, Generic, TypeVar
2
2
  from abc import ABC, abstractmethod
3
3
 
4
4
  T = TypeVar("T")
@@ -8,15 +8,3 @@ class ElementBindingMixin(ABC, Generic[T]):
8
8
  @abstractmethod
9
9
  def _to_element_binding_config(self) -> Dict:
10
10
  pass
11
-
12
- def _mark_used(self):
13
- pass
14
-
15
- def _is_used(self):
16
- return True
17
-
18
-
19
- def _try_mark_inputs_used(inputs: Iterable):
20
- for input_ in inputs:
21
- if isinstance(input_, ElementBindingMixin):
22
- input_._mark_used()
instaui/vars/ref.py CHANGED
@@ -42,10 +42,8 @@ class Ref(
42
42
  ) -> None:
43
43
  self.value = value # type: ignore
44
44
  scope = get_current_scope()
45
- scope.register_ref(self)
45
+ self.__register_info = scope.register_ref_task(self)
46
46
 
47
- self._sid = scope.id
48
- self._id = scope.generate_vars_id()
49
47
  self._deep_compare = deep_compare
50
48
  self._debounced = None
51
49
 
@@ -56,8 +54,8 @@ class Ref(
56
54
  def __to_binding_config(self):
57
55
  return {
58
56
  "type": self.VAR_TYPE,
59
- "id": self._id,
60
- "sid": self._sid,
57
+ "id": self.__register_info.var_id,
58
+ "sid": self.__register_info.scope_id,
61
59
  }
62
60
 
63
61
  def _to_pathable_binding_config(self) -> Dict:
@@ -80,8 +78,8 @@ class Ref(
80
78
 
81
79
  def _to_json_dict(self):
82
80
  data = super()._to_json_dict()
83
- data["sid"] = self._sid
84
- data["id"] = self._id
81
+ data["sid"] = self.__register_info.scope_id
82
+ data["id"] = self.__register_info.var_id
85
83
 
86
84
  if self._debounced is not None:
87
85
  data["debounced"] = self._debounced
@@ -6,10 +6,7 @@ from instaui.common.jsonable import Jsonable
6
6
  from instaui.runtime._app import get_current_scope
7
7
  from instaui.vars.path_var import PathVar
8
8
  from instaui.vars.mixin_types.var_type import VarMixin
9
- from instaui.vars.mixin_types.element_binding import (
10
- ElementBindingMixin,
11
- _try_mark_inputs_used,
12
- )
9
+ from instaui.vars.mixin_types.element_binding import ElementBindingMixin
13
10
  from instaui.vars.mixin_types.py_binding import CanInputMixin
14
11
  from instaui.vars.mixin_types.pathable import CanPathPropMixin
15
12
  from instaui.vars.mixin_types.str_format_binding import StrFormatBindingMixin
@@ -36,11 +33,10 @@ class VueComputed(
36
33
  self.code = fn_code
37
34
  self._bindings = bindings
38
35
  scope = get_current_scope()
39
- scope.register_vue_computed(self)
36
+ self.__register_info = scope.register_vue_computed_task(self)
40
37
 
41
38
  self._sid = scope.id
42
39
  self._id = scope.generate_vars_id()
43
- self.__be_used = False
44
40
 
45
41
  if bindings:
46
42
  const_bind = []
@@ -57,8 +53,8 @@ class VueComputed(
57
53
  def __to_binding_config(self):
58
54
  return {
59
55
  "type": self.BIND_TYPE,
60
- "id": self._id,
61
- "sid": self._sid,
56
+ "id": self.__register_info.var_id,
57
+ "sid": self.__register_info.scope_id,
62
58
  }
63
59
 
64
60
  def _to_input_config(self):
@@ -76,21 +72,10 @@ class VueComputed(
76
72
  def _to_observable_config(self):
77
73
  return self.__to_binding_config()
78
74
 
79
- def _mark_used(self):
80
- if self.__be_used:
81
- return
82
-
83
- self.__be_used = True
84
- _try_mark_inputs_used((self._bindings or {}).values())
85
-
86
- def _is_used(self):
87
- return self.__be_used
88
-
89
75
  def _to_json_dict(self):
90
76
  data = super()._to_json_dict()
91
- data["sid"] = self._sid
92
- data["id"] = self._id
93
- _try_mark_inputs_used((self._bindings or {}).values())
77
+ data["sid"] = self.__register_info.scope_id
78
+ data["id"] = self.__register_info.var_id
94
79
  return data
95
80
 
96
81
 
@@ -17,10 +17,7 @@ from instaui.handlers import watch_handler
17
17
 
18
18
  from instaui.vars.path_var import PathVar
19
19
  from instaui.vars.mixin_types.py_binding import CanInputMixin, CanOutputMixin
20
- from instaui.vars.mixin_types.element_binding import (
21
- ElementBindingMixin,
22
- _try_mark_inputs_used,
23
- )
20
+ from instaui.vars.mixin_types.element_binding import ElementBindingMixin
24
21
  from instaui.vars.mixin_types.pathable import CanPathPropMixin
25
22
  from instaui.vars.mixin_types.str_format_binding import StrFormatBindingMixin
26
23
  from instaui.vars.mixin_types.observable import ObservableMixin
@@ -58,10 +55,7 @@ class WebComputed(
58
55
  ) -> None:
59
56
  scope = get_current_scope()
60
57
 
61
- self._sid = scope.id
62
- self._id = scope.generate_vars_id()
63
- get_current_scope().register_web_computed(self)
64
-
58
+ self.__register_info = scope.register_computed_task(self)
65
59
  self._org_inputs = inputs or []
66
60
 
67
61
  self._inputs, self._is_slient_inputs, self._is_data = (
@@ -72,7 +66,6 @@ class WebComputed(
72
66
  self._init_value = init_value
73
67
  self._evaluating = evaluating
74
68
  self._deep_compare_on_input = deep_compare_on_input
75
- self.__be_used = False
76
69
 
77
70
  if debug_info is not None:
78
71
  self.debug = debug_info
@@ -92,8 +85,8 @@ class WebComputed(
92
85
 
93
86
  watch_handler.register_handler(hkey, self._fn, len(self._outputs) + 1)
94
87
 
95
- data["id"] = self._id
96
- data["sid"] = self._sid
88
+ data["id"] = self.__register_info.var_id
89
+ data["sid"] = self.__register_info.scope_id
97
90
 
98
91
  if self._inputs:
99
92
  data["inputs"] = self._inputs
@@ -125,8 +118,8 @@ class WebComputed(
125
118
  def __to_binding_config(self):
126
119
  return {
127
120
  "type": self.BIND_TYPE,
128
- "id": self._id,
129
- "sid": self._sid,
121
+ "id": self.__register_info.var_id,
122
+ "sid": self.__register_info.scope_id,
130
123
  }
131
124
 
132
125
  def _to_pathable_binding_config(self) -> Dict:
@@ -144,16 +137,6 @@ class WebComputed(
144
137
  def _to_observable_config(self):
145
138
  return self.__to_binding_config()
146
139
 
147
- def _mark_used(self):
148
- if self.__be_used:
149
- return
150
-
151
- self.__be_used = True
152
- _try_mark_inputs_used(self._org_inputs)
153
-
154
- def _is_used(self):
155
- return self.__be_used
156
-
157
140
 
158
141
  def web_computed(
159
142
  *,
instaui/watch/js_watch.py CHANGED
@@ -6,7 +6,6 @@ from instaui.common.jsonable import Jsonable
6
6
  from instaui.runtime._app import get_current_scope
7
7
 
8
8
  from instaui.vars.mixin_types.py_binding import CanOutputMixin
9
- from instaui.vars.mixin_types.element_binding import _try_mark_inputs_used
10
9
  from instaui.vars.mixin_types.common_type import TObservableInput
11
10
  from instaui._helper import observable_helper
12
11
 
@@ -22,7 +21,6 @@ class JsWatch(Jsonable):
22
21
  once: bool = False,
23
22
  flush: typing.Optional[_types.TFlush] = None,
24
23
  ) -> None:
25
- _try_mark_inputs_used(inputs or [])
26
24
  inputs = observable_helper.auto_made_inputs_to_slient(inputs, outputs)
27
25
 
28
26
  get_current_scope().register_js_watch(self)
@@ -10,7 +10,6 @@ from instaui.runtime._app import get_app_slot, get_current_scope
10
10
  from instaui.handlers import watch_handler
11
11
 
12
12
  from instaui.vars.mixin_types.py_binding import CanOutputMixin
13
- from instaui.vars.mixin_types.element_binding import _try_mark_inputs_used
14
13
  from instaui.vars.mixin_types.common_type import TObservableInput
15
14
  from instaui._helper import observable_helper
16
15
 
@@ -33,7 +32,6 @@ class WebWatch(Jsonable, typing.Generic[P, R]):
33
32
  flush: typing.Optional[_types.TFlush] = None,
34
33
  _debug: typing.Optional[typing.Any] = None,
35
34
  ) -> None:
36
- _try_mark_inputs_used(inputs or [])
37
35
  inputs = observable_helper.auto_made_inputs_to_slient(inputs, outputs)
38
36
 
39
37
  get_current_scope().register_web_watch(self)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: instaui
3
- Version: 0.1.17
3
+ Version: 0.1.19
4
4
  Summary: insta-ui is a Python-based UI library for rapidly building user interfaces.
5
5
  Author-email: CrystalWindSnake <568166495@qq.com>
6
6
  License-Expression: MIT
@@ -105,19 +105,19 @@ instaui/arco/static/instaui-arco.js,sha256=PktbvZE6yids2NyfSKo81g--fCo-AiNEdOgvv
105
105
  instaui/common/jsonable.py,sha256=efzn_IvfrsaNKjc3B3UzshoMvsqSsB-jnD2Aia8YMYM,902
106
106
  instaui/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  instaui/components/column.py,sha256=t_kDAelb-5_aqx4hv19sOm8zcQpRmn-slTMcwZfMOLk,848
108
- instaui/components/component.py,sha256=peaC_t1I-tAIS43U1cZ_UrrxVSO7exoorQAr4jqPoxU,1364
108
+ instaui/components/component.py,sha256=cfKWlhxATdvERSzsVzvLtm61f72_gblhLJXIrXLGQrk,1284
109
109
  instaui/components/content.py,sha256=f6dm0GukYJk4RRNJzuvOGqBrStLWkJQbLkV7M5fJ63k,1094
110
110
  instaui/components/directive.py,sha256=bHSOWXNhzWRVNqLXwhc_hY3R3g-JAQ5DWIqpZkI6_wI,1411
111
- instaui/components/element.py,sha256=pPbiJ84D2MZoNE4MZdiMuE_riwuv8PRibOhRbAx7NNA,17691
111
+ instaui/components/element.py,sha256=XS87h5oWYcye1S2omEDw6uPj4i-RREEI7gIJNDgUbOg,17122
112
112
  instaui/components/grid.py,sha256=h9Lzxqiw4HB-8VG2JGHVz-KGn4bHTtsibtUb8UCgHO4,7529
113
113
  instaui/components/label.py,sha256=Fp7malMB2i6MjJjZnxdIl2tg6rb33-1PdgxEhGecoTM,118
114
- instaui/components/match.py,sha256=-gG9d01LeEHCJNbrpDvdzpU2FoDRjdVZzlBFoVWN3WQ,2852
114
+ instaui/components/match.py,sha256=rQ74OV9V5rJvK8taHfpD-VDPXF0raxvNKjD_5nWnjXM,2778
115
115
  instaui/components/row.py,sha256=c0dxJwt955EF7PXlrFpqIoQNZ59tJm-UvZlx_zjeuBg,570
116
116
  instaui/components/slot.py,sha256=RT0eU7wH7ffFDkl5ucfrNXB1nbsKDq688Hp920TZaoo,2287
117
117
  instaui/components/transition_group.py,sha256=H9zx9NTlCoQnBArWfmxmh7CMKb5hZn8vKrFe4OFxPrE,201
118
118
  instaui/components/value_element.py,sha256=wRIAaR3_Cq9qLNJw2KPhWt7dJmclj1mrttzlGpb01Y0,1412
119
- instaui/components/vfor.py,sha256=1KeJ0-XMmxJuaZIuOqyOZjh6Y5rDAdAewr6HEqL8N_M,4125
120
- instaui/components/vif.py,sha256=jG0xa-DFU9gegJp-S6Br-FX0TZfg5AdVx7z0sNkFNYk,1313
119
+ instaui/components/vfor.py,sha256=uUaePBf-Z2utV0C0j0KuMe5eebAUA6vG-2q77qOZ_UI,4033
120
+ instaui/components/vif.py,sha256=vn-tZ_ejVm5S5NjR1s9HPVCRXKPbi-tAzUBkz4PTdxs,1237
121
121
  instaui/components/html/__init__.py,sha256=B1BDIbeHexH3dEg1Gwx3HwZgR0JnxWhNcNlVUp5VeE4,1137
122
122
  instaui/components/html/_mixins.py,sha256=5dcSM9h1PswIKL6_eiqUxqW4H2OCuyNeCuRZq3gDGOc,876
123
123
  instaui/components/html/_preset.py,sha256=c5rTj3r8W7UP0UHFLUW-ZSPedIa-gzrsU1goi60l20Q,94
@@ -161,9 +161,9 @@ instaui/components/timer/timer.py,sha256=49J_xHd5Ck4Ma9uhLXFigGq7kZZWuIdYmFYmWkJ
161
161
  instaui/dependencies/component_dependency.py,sha256=V9L9YmM0_d1bQFMea3aH8qYG_mvGsAVPhmz0UHZa3PQ,672
162
162
  instaui/dependencies/plugin_dependency.py,sha256=6u562ihKbiL3DE4hBrGjauS2nzYEC2glOVN0fwEVNVc,806
163
163
  instaui/event/event_mixin.py,sha256=cN0Wh95e1wX183mGnGFm8BK_aEHWJ8WNx3Upy75mU_4,286
164
- instaui/event/js_event.py,sha256=0W8oo1ZXEJsyqTGsHXugpUcSIy6LJFqMMdeIr1tymgw,2993
165
- instaui/event/vue_event.py,sha256=AseL5M2eHnLQOkTB7YLpPV4k6DJUcgxulqwwf3SFfGc,2329
166
- instaui/event/web_event.py,sha256=_RYvKdUcy8JUnV7nQdLODpAYQsozK5J9qBuxrfkrQJQ,3730
164
+ instaui/event/js_event.py,sha256=CGegLXP3QldJp0jN-lNY0XSG8fLuaitFqKkgGEfI7yE,2868
165
+ instaui/event/vue_event.py,sha256=NRwEcAromivjyPtgMq5SEqHqx8GEc1OJZsRL2Nj43RY,2187
166
+ instaui/event/web_event.py,sha256=sojugqfXyF0q4gDCQsVjcfdBcuELVGeucZveFTDno10,3607
167
167
  instaui/experimental/__init__.py,sha256=nKvudMaBaDsxflSZQ00ck8Cc4hmrF0f6Xzs4mhIYa08,75
168
168
  instaui/experimental/debug.py,sha256=UGUWgNZ3ShanpuxfuPdx52TgQrkO9hByABYMnPZEIiE,1325
169
169
  instaui/extra_libs/_echarts.py,sha256=HCF4mxmzVyKRtxHuehiqf7kmBq7G14_dc2m9XQEM-fQ,78
@@ -183,17 +183,15 @@ instaui/fastapi_server/watch_router.py,sha256=KC8AbGNpH2x11PHQMPgc9N5WOlqW05i6r0
183
183
  instaui/handlers/_utils.py,sha256=uO7WgbNhrykJwDwSEXQxsqsuCR37nx8ehL_urXm-Tks,2830
184
184
  instaui/handlers/event_handler.py,sha256=hjxi_nDh0yjk9EmRgew1USXk-Egd4pR8YnUiOcJbbnc,1761
185
185
  instaui/handlers/watch_handler.py,sha256=Ay4lubEdRnZcWSqWLwxQyS_uWiF0gu-E9PrNGCAHvL0,1600
186
- instaui/js/__init__.py,sha256=oIYLPskHpQf8a4SWHLX4DyKjrlDrqWaqbNksIQsLBoA,69
187
- instaui/js/js_output.py,sha256=a4tZ99P19oen4510qI9LWX6pX0-lH5y37v8va6UY62Y,382
188
- instaui/js/lambda_func.py,sha256=ulCJ1lzF4h3jGihVTwltS3xEDPbTegjzIN8Al7U4Ank,1004
186
+ instaui/js/fn.py,sha256=3y5nQvEjQtsaFYfTcS1-1v5b4bM20NLkk0HFl_3fewE,1186
189
187
  instaui/runtime/__init__.py,sha256=4aYTDsKaloRMQns8ttdfSx5xLmcN0Ot6tMqELbjIDZg,667
190
- instaui/runtime/_app.py,sha256=tF2rb_4SC6cMYTriDYUKRfroAK6tn5PFLEEXyogClmI,7340
188
+ instaui/runtime/_app.py,sha256=xT1KirhO5NuJrv0w_voDDugNnOk1NtCSyuP86jt6ptI,7704
191
189
  instaui/runtime/_inner_helper.py,sha256=Aw7S_KtCuOlpd8NP2RuQvNTL1GJtpxQGLsKdc3VXQFY,326
192
190
  instaui/runtime/_link_manager.py,sha256=sVdqm3gdCl6i9UXa8WwckfYVf1vmESm7hvdagT_-OZI,2271
193
191
  instaui/runtime/context.py,sha256=MXwyKnX1X13peHOUbYzwAMflaA1WoQrNkGbi5C_0ErU,1086
194
192
  instaui/runtime/dataclass.py,sha256=dr3hN4YjFXPzckRX9HR87t1-gPjT9RNq9YV-0uJnjHo,587
195
193
  instaui/runtime/resource.py,sha256=8I47HZHRHIzIDrYcfSiHA2RWwb3-ZIsVFMsat8jgV-8,2363
196
- instaui/runtime/scope.py,sha256=zDihbXxdI2Qs_fLk0sfTCiBDO3awNs-rs2_MTZ5HQqs,4962
194
+ instaui/runtime/scope.py,sha256=CtjXNV5Ap43hxn6tN5XJxA2jxQYvlmVLbFS56J5rVhw,6329
197
195
  instaui/runtime/ui_state_scope.py,sha256=g48VpQj0BboooUrPr5VIWvcQoJe0bIQARMwRyVEE0I8,314
198
196
  instaui/settings/__init__.py,sha256=nK_xDrlq7CPjm9x3EKsKUW5qWBg_1d-xbqAp_i5G8cc,70
199
197
  instaui/settings/__settings.py,sha256=DWzRvs9bBqjoNA2MvGAyz3GRrSV8H6lMLF1H3iJyoyA,385
@@ -204,16 +202,16 @@ instaui/spa_router/_components.py,sha256=vPo4JuRtbD_5ll0LkGwU1p8l_pxNfCSdFLDzMXs
204
202
  instaui/spa_router/_file_base_utils.py,sha256=fdZJxi8h9oEf9olks4m-0rTe9Fqn7lq3uIDyFFt07xU,8805
205
203
  instaui/spa_router/_functions.py,sha256=6EDwXLHnmRrB_CUcbRNPblfOUPF8orob9PXrWm2RfSI,3227
206
204
  instaui/spa_router/_install.py,sha256=X9p7wtuGxo6B5F47UTY4ndOSRzENXkoK1XdkNo3F_YA,291
207
- instaui/spa_router/_route_model.py,sha256=x54tqunkVQSbBKpELiSwcDdBDUzDXFbJl_o6eSu7M7A,4057
205
+ instaui/spa_router/_route_model.py,sha256=qtRDoTqWjEWxV5bFDsLGgw6c5mET-o9Ks5oDnU1Czd8,3997
208
206
  instaui/spa_router/_router_box.py,sha256=Ez0vWWEYH_FHuFDvcAVhhfrlMRnDpT0_7tjmMZRMWZg,1163
209
207
  instaui/spa_router/_router_output.py,sha256=Nc6N8yO_9IrUbaYbPZMkOX_9VlwBKzyXMahaPp5GFGg,528
210
208
  instaui/spa_router/_router_param_var.py,sha256=KCy54xBZxGMqLO3Zlbzr6XV8ts-M6jCOKunL2gz5IUc,1455
211
209
  instaui/spa_router/_types.py,sha256=KuGuv5C6qivwllfdmV5qrvM0S_GWJ6u8OOTkCNmJImU,81
212
210
  instaui/spa_router/templates/page_routes,sha256=8VjM_8f6pjFb01QbU9z5HNqpcNRdCiX3X0OqNHLq8fo,1355
213
211
  instaui/static/insta-ui.css,sha256=EFA-_5bytZzwbe9w_kaAskE-bpdtwKbBRAyS4iw7NvU,292
214
- instaui/static/insta-ui.esm-browser.prod.js,sha256=03mpt5Q9ltVW5AHGgXjJpsE83-xXj-ZZYwINcF0gpzk,109952
212
+ instaui/static/insta-ui.esm-browser.prod.js,sha256=8DFn3kGjXs3FDdrATFCUeKSOLuDcmqiJS8RAmnCIL7Q,110148
215
213
  instaui/static/insta-ui.ico,sha256=08FJg4qWolvOjfodoh8IJLStslrvd8sDyuRcTUDq5ak,1150
216
- instaui/static/insta-ui.js.map,sha256=c9H_5BPV7SSjK1RHxWAc2TKYx0pFFbLcw08VRrCqu-U,664247
214
+ instaui/static/insta-ui.js.map,sha256=ZopVR83bDks_gfzqGpFAzdOUsO02KV-492Nke-Iyidk,664965
217
215
  instaui/static/instaui-tools-browser.js,sha256=cLHKNXYaYMZriMxV-yKGAHTrHSdNRUlDVZmv6uc6mMw,14455
218
216
  instaui/static/vue.esm-browser.prod.js,sha256=vwQkXANuVYQuEFc0VgiokJdhNyMmvxMKyb1FmrYrNb4,162662
219
217
  instaui/static/vue.global.prod.js,sha256=YO-UVLcXWjFOKfGU2uRrIMYpliGY2y48OmEjV464Z7M,157933
@@ -238,8 +236,8 @@ instaui/template/env.py,sha256=ZqVsqpfSY1mupbgpBSkvOJytNui8xfNR5kNNC9rv4Ps,150
238
236
  instaui/template/web_template.py,sha256=BmZY13q4E_ZP4YVgfBKbbXvPHcGZfOl2f54wp_0DjJA,1603
239
237
  instaui/template/webview_template.py,sha256=rd51iPi600QOPQ9PMjgYk61oIxn3L2p3_sJ3eBPG_24,1557
240
238
  instaui/template/zero_template.py,sha256=E88VGsyjb1qbHFJlMW-xmLRFkwUXZA7VDoZ_Jd8YubA,3514
241
- instaui/ui/__init__.py,sha256=e8GJWNB8HXMWlqqp4hGuRCWii5HcgyxXnyH4F8O7B64,4795
242
- instaui/ui/__init__.pyi,sha256=8LwGzW1nFLd5bSKi25rrB47TMXdpomcWF31L0zx6blY,4875
239
+ instaui/ui/__init__.py,sha256=LwgVJIsEY4vOkAyWq5v_CyQrJKVAP2OCcj2nUMUGsMM,4776
240
+ instaui/ui/__init__.pyi,sha256=I5nfskP87QjdEwo7DF-ncXOp2pZ0TPCvWbkrirKin9U,4856
243
241
  instaui/ui/events.py,sha256=lfhiINwn-Kh0MezsSeLJPttWm6G1aWiwyk3TRo0NrlA,809
244
242
  instaui/ui_functions/input_slient_data.py,sha256=0A5DegIt_MqdZgbj1RiVFNmB_RUqgov9FYtkw6VX0DE,511
245
243
  instaui/ui_functions/server.py,sha256=B4w8KwBUMGStY19uUG8E4vRG7-L4cedttLkh35xr698,357
@@ -247,22 +245,22 @@ instaui/ui_functions/str_format.py,sha256=ECWttA4LlNHlvdT_73wGF_I68soWNEXTP_Hosm
247
245
  instaui/ui_functions/ui_page.py,sha256=WVm1qoQ9IxE3kWKKnAU8WVI8drsqxxlLucYKfEZ712s,367
248
246
  instaui/ui_functions/ui_types.py,sha256=J5tqFFkoZJMuoLeTqU52KNgw3kdB_IfcrhaBmyI6NAA,505
249
247
  instaui/vars/_types.py,sha256=wthCk1fcxj1SZ5y6b84W9gFpoi8j2PYnfmaPj4Am72s,308
250
- instaui/vars/data.py,sha256=uxDN-Xa5wO-_QFZYkiYOACnb9Ve8yODSFNIUs-S_E0I,1768
248
+ instaui/vars/data.py,sha256=zetw3wloheoh45gyuXQ_FZsy_UE6JIt04sYrM5RkFHs,1799
251
249
  instaui/vars/element_ref.py,sha256=qC-Kb1hBGz_Y6WKjKxRvYR8jdvWW4VeAAGzJ2wSrGgI,1059
252
250
  instaui/vars/event_context.py,sha256=3ML6nyF6Q1hbFvdeu6E2QVOIVcWe1P9FtlCR0dgBGjo,1308
253
251
  instaui/vars/event_extend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
- instaui/vars/js_computed.py,sha256=HjBbSeKCOYExJ2xwhklouG8bawlXW4JNvJZjDaE4CWg,3972
252
+ instaui/vars/js_computed.py,sha256=MTCafS01I2CDJBoaz1NCmTy1QHVs74-S-LDiJEt-Cp4,3715
255
253
  instaui/vars/path_var.py,sha256=znIvxaNHwQzXflEqwB2xjrI7Bk5_QjwYlhdl4qvtyws,2811
256
- instaui/vars/ref.py,sha256=01MwULr6LYgVaOulLOBaGaN9XbSg5b0DO0p_R3rLhCQ,2875
254
+ instaui/vars/ref.py,sha256=aGihjRDdEoles_RVFnmufaPu0g2Rv6IokW1xP3EndPo,2906
257
255
  instaui/vars/slot_prop.py,sha256=qBVQ0Ze0T8-Wsy__8qEuqVESIrLX69Bmy21Kuxrg_GQ,1198
258
256
  instaui/vars/state.py,sha256=x6qeTliE1J7qoFmAG7huJ-sNQ4VcFgy0IlJoNodqRe0,3190
259
257
  instaui/vars/types.py,sha256=K0QTajlzHaDvFoVMCHAhY_rVvrBm3FsC92BFPOgdBog,511
260
258
  instaui/vars/vfor_item.py,sha256=cVrpErh8OrycYjDLm7PTuE2kIcC2M6ThAQlwvTXG8x0,5490
261
- instaui/vars/vue_computed.py,sha256=bWMlnjKf9pFYX9IrXtSzUZy4A7P4zABeDXUi4fvqnnI,2818
262
- instaui/vars/web_computed.py,sha256=vbxN7ccyhdtKJAaYbnkc1aPWHPW_TmY9DzSyizsMAOM,6335
259
+ instaui/vars/vue_computed.py,sha256=XIgwnVuIaC8RZsgH3LYW88cpqcaIcO5V6UWR_sJ2fks,2557
260
+ instaui/vars/web_computed.py,sha256=l84nUW_EVzDXmw-vwyz9k_2PSyUvSpNXiP9N6RohH3s,6058
263
261
  instaui/vars/web_view_computed.py,sha256=bFFVE9jRKczNy4HhmegWoC6KOL_Nrej-ag37DAIDzaA,36
264
262
  instaui/vars/mixin_types/common_type.py,sha256=4KduANLCUCeGTA1ClEsbFzEzd8Mgve3693Wxf9H7Gmw,176
265
- instaui/vars/mixin_types/element_binding.py,sha256=WqULHTT8iqhebjt9lOvN9TqZfNz13cb1VQR9tMiQncE,499
263
+ instaui/vars/mixin_types/element_binding.py,sha256=4suqqLT3zn5y7LvqVo2QrEgI1uUFS_5sv8vtTUCzkTc,235
266
264
  instaui/vars/mixin_types/observable.py,sha256=h2cox7BwQtLOWqCTaWnNU0TsgYJKuoNUuuEqwj-KXpU,141
267
265
  instaui/vars/mixin_types/pathable.py,sha256=40H5f1gCDtKs4Qor0C-moB821T7Df8DOgUcntjxgums,302
268
266
  instaui/vars/mixin_types/py_binding.py,sha256=VIVSrHrjcltsP5ADKHtMSZBpi2qKyameXqoEevdfqk8,237
@@ -270,9 +268,9 @@ instaui/vars/mixin_types/str_format_binding.py,sha256=i2jXm1RKddPnGrCxEyz0tkDrBU
270
268
  instaui/vars/mixin_types/var_type.py,sha256=FQj1TEkjT7HopDPztt0-J6eQVGHjem3KBFsjZwvcvYg,57
271
269
  instaui/watch/_types.py,sha256=HJ_eAID0NsEJ_S8PhcYWxpVWhYLjjqKlbNWwqdqS4IU,73
272
270
  instaui/watch/_utils.py,sha256=mTITHG8hp0pyfQXUERQKXMDna5Au02bhuASCV32eXHI,124
273
- instaui/watch/js_watch.py,sha256=m2p-6jL6ZJerkk2MJ-cE7nAngcFY5-NFVP3yFSO9Kmw,4351
271
+ instaui/watch/js_watch.py,sha256=8lVINBauHBRiDX3-F1V6V5_1CN9j1EMCROjcD9LRCD8,4230
274
272
  instaui/watch/vue_watch.py,sha256=Vd3nsRyf9ufrXLFTjaSvglwnkoWyE32fOV0qOogWPt4,2013
275
- instaui/watch/web_watch.py,sha256=UdofiqTfyvGW1CLtyYydFtAwc_sAKRWhiLQCEHSNJPw,6152
273
+ instaui/watch/web_watch.py,sha256=Z0xevG6Zwp-9yPSGBZFlbwtd0yP4j29F0GV-yksZVV0,6031
276
274
  instaui/webview/__init__.py,sha256=_L8B0Ym7i1Q8eonQ81fC54EXn7oZuc6zE1KqeAEPHEg,65
277
275
  instaui/webview/_utils.py,sha256=pqARVv37h-8p7CLOpvqLV8O_az4EV2VD9G-beUVqjD8,172
278
276
  instaui/webview/api.py,sha256=9xuG3EKpmOOy1dvIrS9C9z9ukQDRnIdZLrGFD5FLyvU,2071
@@ -282,7 +280,7 @@ instaui/webview/resource.py,sha256=kFT6N5UZK5GLE0KmW3TrEYDNlViw9DL2OshRh41wBXs,5
282
280
  instaui/zero/__init__.py,sha256=N0LuRUAcaurxHSspcEDuwZg62W2S3qL4VtrMKxOivBE,49
283
281
  instaui/zero/func.py,sha256=8cA_wJMtRmoAARjWY8yY5MmLXDAQ7hyVW6f1Vbejtoc,3576
284
282
  instaui/zero/scope.py,sha256=HGohYOqnpRGVkkoz_gvR6-DgCc48AtJAcDwbOnnGHLM,3753
285
- instaui-0.1.17.dist-info/METADATA,sha256=rCiN5ssW1cIw_eNgbt6JzB1cKlI1qcFE_8aR2I5YmO8,3562
286
- instaui-0.1.17.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
287
- instaui-0.1.17.dist-info/licenses/LICENSE,sha256=_JjnAWrikJ6qkwT7PazeFNRlcIu8q_RH3mYcHTxEF5c,1094
288
- instaui-0.1.17.dist-info/RECORD,,
283
+ instaui-0.1.19.dist-info/METADATA,sha256=t-xqTl3zZ7KvlW4WSMAFDNseLTmwUlvxZ7sJ1-dAjsE,3562
284
+ instaui-0.1.19.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
285
+ instaui-0.1.19.dist-info/licenses/LICENSE,sha256=_JjnAWrikJ6qkwT7PazeFNRlcIu8q_RH3mYcHTxEF5c,1094
286
+ instaui-0.1.19.dist-info/RECORD,,
instaui/js/__init__.py DELETED
@@ -1,4 +0,0 @@
1
- from .lambda_func import LambdaFunc as func
2
-
3
-
4
- __all__ = ["func"]
instaui/js/js_output.py DELETED
@@ -1,15 +0,0 @@
1
- from instaui.common.jsonable import Jsonable
2
- from instaui.vars.mixin_types.py_binding import CanOutputMixin
3
-
4
-
5
- class JsOutput(Jsonable, CanOutputMixin):
6
- def __init__(self):
7
- self.type = "jsOutput"
8
-
9
- def _to_output_config(self):
10
- return self._to_json_dict()
11
-
12
- def _to_json_dict(self):
13
- data = super()._to_json_dict()
14
-
15
- return data
instaui/js/lambda_func.py DELETED
@@ -1,35 +0,0 @@
1
- from typing import Dict
2
- from instaui.common.jsonable import Jsonable
3
- from instaui.vars.mixin_types.element_binding import ElementBindingMixin
4
-
5
-
6
- class LambdaFunc(Jsonable, ElementBindingMixin):
7
- def __init__(
8
- self, code: str, *, bindings: Dict[str, ElementBindingMixin], computed=False
9
- ):
10
- self.code = code
11
- self.type = "js"
12
- self._bindings = bindings
13
- self._computed = computed
14
-
15
- def _to_binding_config(self) -> Dict:
16
- return self._to_json_dict()
17
-
18
- def _to_js_binding_config(self):
19
- return self._to_json_dict()
20
-
21
- def _to_element_binding_config(self):
22
- return self._to_json_dict()
23
-
24
- def _to_json_dict(self):
25
- data = super()._to_json_dict()
26
-
27
- if self._bindings:
28
- data["bind"] = {
29
- k: v._to_element_binding_config() for k, v in self._bindings.items()
30
- }
31
-
32
- if self._computed is True:
33
- data["ext"] = ["cpt"]
34
-
35
- return data