* README updates.
* Ensure pre-commit black args match those in Makefile.
* Ensure pre-commit and requirements versions align, and the commands run are the same in pre-commit and Makefile.
* Update README files to reflect recent changes. Where possible, remove duplication and point to the official docs.
* Run format and pre-commit prettifier on code.
* Remove isort - it causes more trouble than is justified.
* Ensure usage examples in the README.
* Remove duplicate LICENSE.
* Remove un-userd pyscript.sw directory and its content.
* Remove ReadTheDocs settings (unused).
* Remove un-used pyproject.toml
* Remove now unused CHANGELOG. Changes now tracked via release notes on GitHub.
* Updated / cleaned release page template and associated GH actions.
* Update prettierignore to remove un-needed refs.
* Move troubleshooting into correct README.
* Add reason for the index.html
* Rename the "pyscript.core" directory to "core".
* Update PR template because CHANGELOG is no longer used.
* Codespell configuration in pyproject.toml.
* Update pyscript.core -> core in .githubignore
* Remove test-results/.last-run.json. This should be ignored by git.
* Pin nodejs version.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Test refinement.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* pyscript.web tests pass with upytest.
* Refactor of old integration tests to new Python tests.
* Added comprehensive test suite for Python based `pyscript` module.
* Add integration tests to Makefile (and CI)
* Remove un-needed upload action.
* Ensure fails are properly logged as an array. Remove the explicit test step, since this is already built into the build step.
* Bump polyscript.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Andrea Giammarchi <andrea.giammarchi@gmail.com>
* Fix#2155 - Allow editor.process to run on behalf of users
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Updated dev/dependendencies
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix#2167 - Provide instructions to build the project
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Update GH actions to node 20 and Python env for PyMinifier.
* Fix spaces.
* Fix test.yml
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add a storage equivalent for JS
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix#2156 - Avoid requiring args for async functions
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Improve by far error reporting around PyEditor bootstrap
* Improve by far error reporting around PyEditor bootstrapiImprove by far error reporting around PyEditor bootstrap
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix#2146 - Workaround Pyodide issue with attributes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix#2146 - Updated polyscript
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Implemented pyminify for our stdlib
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix#2093 - Show setup errors with the editor
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Minor cleanups: move all Element classes to bottom of module.
* Commenting.
* Commenting.
* Commenting.
* Group dunder methods.
* Don't cache the element's parent.
* Remove style type check until we decide whether or not to add for classes too.
* Add ability to register/unregister element classes.
* Implement __iter__ for container elements.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Minor renaming to make it clear when we have an Element instance vs an actual DOM element.
* remove duplication: added Element.get_tag_name
* Commenting.
* Allow Element.append to 1) use *args, 2) accept iterables
* Remove iterable check - inteferes with js proxies.
* Don't use *args, so it quacks more like a list ;)
* Element.append take 2 :)
* Remove unused code.
* Move to web.py with a page object!
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Added 'page.title' too :)
* Add __getitem__ as a shortcut for page.find
* Add Element.__getitem__ to be consistent
* Make __getitem__ consistent for Page, Element and ElementCollection.
* Docstringing.
* Docstringing.
* Docstringing/commenting.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix select.add (revert InnerHTML->html)
* Commenting.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Hand-edit some of the AI :)
* Rename ElementCollection.children -> ElementCollection.elements
* Remove unnecessary guard.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Updated Polyscript and added Panel worker test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Override __getattr__ and __setattr__ on ElementCollection.
* fix: bug when using a string to query an ElementCollection.
* Use Element.find when indexing ElementCollection with a string.
* For consistency also have a find method on ElementCollection.
* ElementCollection.find now returns a collection of collections :)
* fix tests: for textContent
* Revert to extend for ElementCollection.find :)
* Make element_from_dom a classmethod Element.from_dom
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename: Element.from_dom -> Element.from_dom_element
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* PyCharm warning sweep.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Workaround for mp not allowing setting via __dict__
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* change pydom example to use new pyscript.web namespace
* change tests to use new pyscript.web namespace
* create new pyscript.web package and move pydom to pyscript.web.dom
* add __init__ to pyscript.web and expose the dom instance instead of the pyscript.web.dom module
* move elements from pyweb.ui to pyscript.web and temp fix pydom import
* moved of elements file completed
* moved media from pyweb to pyscript.web
* RIP pyweb
* move JSProperty from pyscript.web.dom to pyscript.web.elements
* move element classes from pyscript.web.dom to pyscript.web.elements
* first round of fixes while running tests
* fix test typo
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* restore right type type returned for Element.parent. ALL TESTS PASS LOCALLY NOW
* lint
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up dom.py from dead commented code and osbolete comments
* bugfix: dom shouldn't return None when it can't find any element for a specific selector so it now returns an empty collection
* additional cleanup in tests
* lint
* initial cleaning up of unused modules
* change element.append to not consider types anymore and add tests for appending elements.Element or a JsProxy object
* add Element.append tests for append JS elements directly and appending nodeList as well
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Tag and create the correct subclass of Element.
* Move: Element.snap -> video.snap
* Move: Element.download and draw to canvas.download and draw.
* Minor cleanups.
* Commenting.
* Allow css classes to be passed to Element constructor.
* Commenting.
* Typo fix.
* Make html, id and text JSProperties.
* Commenting.
* Remove unnecessary selected attribute on BaseElement.
* Extract: BaseElement.from_js -> element_from_js
* Pass *args and **kwargs to element_from_js and remove BaseElement.create
* Move value attribute to specific Element subclasses.
* fix: wrapping of existing js elements.
* Add body and head elements so parent and children work everywhere.
* Revert order of HasOptions mixin for the select element.
* Comment out tests that are no longer relevant (see comment).
* Use correct super args in mixin.
* Have to use element_from_js when returning options from OptionsProxy.
* rename: StyleProxy -> Style, OptionsProxy -> Options and added Classes.
* Remove cached_property.
* Remove list-y methods from Classes collection.
* Allow explicit children or *args for containers.
* controversial: fix tests to use find rather than dom
* Add html element so (say) body.parent does what is expected.
* Collapse Element class hierarchy.
* rename: js_element -> dom_element
* rename: element_from_js -> element_from_dom
* replace: JS with DOM
* rename: _js -> _dom_element
* fix dom tests.
* Complete element list with void elements derived from Element.
* Added attributes to the newly added Element subclasses.
* remove dom module, replace with instance.
Also, remove media :)
* fix: typo in test for 'b' element.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove dom and media modules.
* fix up ts definitions.
* Added missing import (used in content property).
* Added TODO :)
* wip: Add ClassesCollection
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Attempt to ask black to leave class list alone.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add classes attribute to ElementCollection
* wip: work on classes collection
* Extract code to get set of all class names in ClassesCollection.
* Update elements.py
* Polishing.
* Make children return an ElementCollection
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: Add the ability to set multiple properties.
* Add __getitem__ back to the dom object.
* Put validation when setting DOM properties back in.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* All tests green.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove unnecessary comment.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Martin <martin.chilvers@gmail.com>