@pyscript/core 0.4.54 → 0.4.56
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.
- package/dist/{codemirror-uEsvwGeX.js → codemirror-BZEh__gm.js} +2 -2
- package/dist/{codemirror-uEsvwGeX.js.map → codemirror-BZEh__gm.js.map} +1 -1
- package/dist/{codemirror_commands-BjErX5JV.js → codemirror_commands-leH8shna.js} +2 -2
- package/dist/{codemirror_commands-BjErX5JV.js.map → codemirror_commands-leH8shna.js.map} +1 -1
- package/dist/{codemirror_lang-python-rjOo-iGF.js → codemirror_lang-python-DuOzopOD.js} +2 -2
- package/dist/{codemirror_lang-python-rjOo-iGF.js.map → codemirror_lang-python-DuOzopOD.js.map} +1 -1
- package/dist/{codemirror_language-oTnz5LmX.js → codemirror_language-Dakzaxks.js} +2 -2
- package/dist/{codemirror_language-oTnz5LmX.js.map → codemirror_language-Dakzaxks.js.map} +1 -1
- package/dist/codemirror_view-Bm5_2vT5.js +2 -0
- package/dist/codemirror_view-Bm5_2vT5.js.map +1 -0
- package/dist/core-DKrwnOQh.js +3 -0
- package/dist/core-DKrwnOQh.js.map +1 -0
- package/dist/core.js +1 -1
- package/dist/{deprecations-manager-BxzDUsLg.js → deprecations-manager-BYGF73-y.js} +2 -2
- package/dist/{deprecations-manager-BxzDUsLg.js.map → deprecations-manager-BYGF73-y.js.map} +1 -1
- package/dist/{error-BiBuvdCh.js → error-DgYfWJQg.js} +2 -2
- package/dist/{error-BiBuvdCh.js.map → error-DgYfWJQg.js.map} +1 -1
- package/dist/{index-DvH26nkT.js → index-DA5aljNV.js} +2 -2
- package/dist/{index-DvH26nkT.js.map → index-DA5aljNV.js.map} +1 -1
- package/dist/{mpy-C8arSQdw.js → mpy-DiqSc6w9.js} +2 -2
- package/dist/mpy-DiqSc6w9.js.map +1 -0
- package/dist/{py-CQbAin00.js → py-DEubHlb_.js} +2 -2
- package/dist/{py-CQbAin00.js.map → py-DEubHlb_.js.map} +1 -1
- package/dist/{py-editor-Cd7PRgND.js → py-editor-DHmqLMO5.js} +2 -2
- package/dist/{py-editor-Cd7PRgND.js.map → py-editor-DHmqLMO5.js.map} +1 -1
- package/dist/{py-terminal-DCvjFHnO.js → py-terminal-E6BBcU6N.js} +2 -2
- package/dist/{py-terminal-DCvjFHnO.js.map → py-terminal-E6BBcU6N.js.map} +1 -1
- package/dist/{zip-BxogYCy6.js → zip-CGWtiqjJ.js} +2 -2
- package/dist/zip-CGWtiqjJ.js.map +1 -0
- package/package.json +7 -7
- package/src/plugins/py-terminal/mpy.js +19 -7
- package/src/stdlib/pyscript/event_handling.py +13 -12
- package/src/stdlib/pyscript/web/__init__.py +18 -4
- package/src/stdlib/pyscript/web/elements.py +898 -723
- package/src/stdlib/pyscript.js +3 -14
- package/types/core.d.ts +1 -1
- package/types/stdlib/pyscript.d.ts +0 -11
- package/dist/codemirror_view-CH_aW-qU.js +0 -2
- package/dist/codemirror_view-CH_aW-qU.js.map +0 -1
- package/dist/core-DsWVYGyA.js +0 -3
- package/dist/core-DsWVYGyA.js.map +0 -1
- package/dist/mpy-C8arSQdw.js.map +0 -1
- package/dist/zip-BxogYCy6.js.map +0 -1
- package/src/stdlib/pyscript/web/dom.py +0 -21
- package/src/stdlib/pyscript/web/media.py +0 -95
- package/src/stdlib/pyweb/__init__.py +0 -2
- package/src/stdlib/pyweb/media.py +0 -95
- package/src/stdlib/pyweb/pydom.py +0 -569
- package/src/stdlib/pyweb/ui/__init__.py +0 -1
- package/src/stdlib/pyweb/ui/elements.py +0 -947
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pyscript/core",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.56",
|
4
4
|
"type": "module",
|
5
5
|
"description": "PyScript",
|
6
6
|
"module": "./index.js",
|
@@ -44,7 +44,7 @@
|
|
44
44
|
"dependencies": {
|
45
45
|
"@ungap/with-resolvers": "^0.1.0",
|
46
46
|
"basic-devtools": "^0.1.6",
|
47
|
-
"polyscript": "^0.13.
|
47
|
+
"polyscript": "^0.13.10",
|
48
48
|
"sticky-module": "^0.1.1",
|
49
49
|
"to-json-callback": "^0.1.1",
|
50
50
|
"type-checked-collections": "^0.1.7"
|
@@ -54,20 +54,20 @@
|
|
54
54
|
"@codemirror/lang-python": "^6.1.6",
|
55
55
|
"@codemirror/language": "^6.10.2",
|
56
56
|
"@codemirror/state": "^6.4.1",
|
57
|
-
"@codemirror/view": "^6.28.
|
58
|
-
"@playwright/test": "^1.45.
|
57
|
+
"@codemirror/view": "^6.28.5",
|
58
|
+
"@playwright/test": "^1.45.2",
|
59
59
|
"@rollup/plugin-commonjs": "^26.0.1",
|
60
60
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
61
61
|
"@rollup/plugin-terser": "^0.4.4",
|
62
62
|
"@webreflection/toml-j0.4": "^1.1.3",
|
63
63
|
"@xterm/addon-fit": "^0.10.0",
|
64
64
|
"@xterm/addon-web-links": "^0.11.0",
|
65
|
-
"bun": "^1.1.
|
65
|
+
"bun": "^1.1.20",
|
66
66
|
"chokidar": "^3.6.0",
|
67
67
|
"codemirror": "^6.0.1",
|
68
|
-
"eslint": "^9.
|
68
|
+
"eslint": "^9.7.0",
|
69
69
|
"flatted": "^3.3.1",
|
70
|
-
"rollup": "^4.18.
|
70
|
+
"rollup": "^4.18.1",
|
71
71
|
"rollup-plugin-postcss": "^4.0.2",
|
72
72
|
"rollup-plugin-string": "^3.0.0",
|
73
73
|
"static-handler": "^0.4.3",
|
@@ -164,13 +164,25 @@ export default async (element) => {
|
|
164
164
|
};
|
165
165
|
terminal.onData((buffer) => {
|
166
166
|
if (promisedChunks) {
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
167
|
+
// handle backspace on input
|
168
|
+
if (buffer === "\x7f") {
|
169
|
+
// avoid over-greedy backspace
|
170
|
+
if (readChunks.length) {
|
171
|
+
readChunks = readChunks.slice(0, -1);
|
172
|
+
// override previous char position
|
173
|
+
// put an empty space to clear the char
|
174
|
+
// move back position again
|
175
|
+
buffer = "\b \b";
|
176
|
+
} else buffer = "";
|
177
|
+
} else readChunks += buffer;
|
178
|
+
if (buffer) {
|
179
|
+
terminal.write(buffer);
|
180
|
+
if (readChunks.endsWith("\r")) {
|
181
|
+
terminal.write("\n");
|
182
|
+
promisedChunks.resolve(readChunks.slice(0, -1));
|
183
|
+
promisedChunks = null;
|
184
|
+
readChunks = "";
|
185
|
+
}
|
174
186
|
}
|
175
187
|
} else {
|
176
188
|
stream.write(buffer);
|
@@ -19,22 +19,23 @@ def when(event_type=None, selector=None):
|
|
19
19
|
"""
|
20
20
|
|
21
21
|
def decorator(func):
|
22
|
+
|
23
|
+
from pyscript.web.elements import Element, ElementCollection
|
24
|
+
|
22
25
|
if isinstance(selector, str):
|
23
26
|
elements = document.querySelectorAll(selector)
|
27
|
+
# TODO: This is a hack that will be removed when pyscript becomes a package
|
28
|
+
# and we can better manage the imports without circular dependencies
|
29
|
+
elif isinstance(selector, Element):
|
30
|
+
elements = [selector._dom_element]
|
31
|
+
elif isinstance(selector, ElementCollection):
|
32
|
+
elements = [el._dom_element for el in selector]
|
24
33
|
else:
|
25
|
-
|
26
|
-
|
27
|
-
from pyweb import pydom
|
28
|
-
|
29
|
-
if isinstance(selector, pydom.Element):
|
30
|
-
elements = [selector._js]
|
31
|
-
elif isinstance(selector, pydom.ElementCollection):
|
32
|
-
elements = [el._js for el in selector]
|
34
|
+
if isinstance(selector, list):
|
35
|
+
elements = selector
|
33
36
|
else:
|
34
|
-
|
35
|
-
|
36
|
-
" be a string, a pydom.Element or a pydom.ElementCollection."
|
37
|
-
)
|
37
|
+
elements = [selector]
|
38
|
+
|
38
39
|
try:
|
39
40
|
sig = inspect.signature(func)
|
40
41
|
# Function doesn't receive events
|
@@ -1,5 +1,19 @@
|
|
1
|
-
from
|
1
|
+
from pyscript import document
|
2
|
+
from pyscript.web.elements import ElementCollection, element_from_dom
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
class DOM:
|
6
|
+
def __init__(self):
|
7
|
+
self.body = element_from_dom(document.body)
|
8
|
+
self.head = element_from_dom(document.head)
|
9
|
+
|
10
|
+
def __getitem__(self, selector):
|
11
|
+
return self.find(selector)
|
12
|
+
|
13
|
+
def find(self, selector):
|
14
|
+
return ElementCollection(
|
15
|
+
[element_from_dom(el) for el in document.querySelectorAll(selector)]
|
16
|
+
)
|
17
|
+
|
18
|
+
|
19
|
+
dom = DOM()
|