pgwidgets-js 0.3.2__tar.gz → 0.3.3__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 (203) hide show
  1. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/PKG-INFO +1 -1
  2. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/WhatsNew.rst +40 -0
  3. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/package.json +1 -1
  4. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/pyodide/widget.py +28 -4
  5. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/MDIWidget.js +10 -7
  6. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TextArea.js +24 -1
  7. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js.egg-info/PKG-INFO +1 -1
  8. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js.egg-info/SOURCES.txt +2 -0
  9. pgwidgets_js-0.3.3/pgwidgets_js.egg-info/scm_file_list.json +198 -0
  10. pgwidgets_js-0.3.3/pgwidgets_js.egg-info/scm_version.json +8 -0
  11. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/.flake8 +0 -0
  12. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/.github/workflows/tests.yml +0 -0
  13. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/.gitignore +0 -0
  14. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/.readthedocs.yaml +0 -0
  15. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/LICENSE.md +0 -0
  16. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/MANIFEST.in +0 -0
  17. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/README.md +0 -0
  18. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/Widgets.css +0 -0
  19. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/Widgets.js +0 -0
  20. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/Makefile +0 -0
  21. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/callbacks.rst +0 -0
  22. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/conf.py +0 -0
  23. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/electron.rst +0 -0
  24. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/external-widgets.rst +0 -0
  25. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/for-developers.rst +0 -0
  26. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/frameworks.rst +0 -0
  27. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/getting-started.rst +0 -0
  28. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/index.rst +0 -0
  29. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/pyodide.rst +0 -0
  30. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/remote.rst +0 -0
  31. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/styling.rst +0 -0
  32. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/controls.rst +0 -0
  33. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/dialogs.rst +0 -0
  34. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/display.rst +0 -0
  35. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/index.rst +0 -0
  36. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/layout.rst +0 -0
  37. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/menus.rst +0 -0
  38. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/nonvisual.rst +0 -0
  39. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/docs/widgets/text.rst +0 -0
  40. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/all_widgets.html +0 -0
  41. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/all_widgets_pyodide.html +0 -0
  42. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/all_widgets_pyodide.py +0 -0
  43. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/all_widgets_pyscript.html +0 -0
  44. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/all_widgets_pyscript.py +0 -0
  45. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/box.html +0 -0
  46. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/button.html +0 -0
  47. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/canvas.html +0 -0
  48. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/checkbox.html +0 -0
  49. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/colordialog.html +0 -0
  50. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/combobox.html +0 -0
  51. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/debug_spinbox.html +0 -0
  52. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/dial.html +0 -0
  53. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/dialog.html +0 -0
  54. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/electron/.gitignore +0 -0
  55. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/electron/.npmrc +0 -0
  56. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/electron/index.html +0 -0
  57. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/electron/main.js +0 -0
  58. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/electron/package.json +0 -0
  59. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/expander.html +0 -0
  60. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/external_widgets.html +0 -0
  61. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/fixedlayout.html +0 -0
  62. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/frame.html +0 -0
  63. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/gridbox.html +0 -0
  64. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/htmlview.html +0 -0
  65. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/image.html +0 -0
  66. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/label.html +0 -0
  67. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/mdi_widget.html +0 -0
  68. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/menu.html +0 -0
  69. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/progressbar.html +0 -0
  70. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/pyodide_demo.html +0 -0
  71. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/pyscript.toml +0 -0
  72. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/radiobutton.html +0 -0
  73. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/remote.html +0 -0
  74. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/remote_demo.py +0 -0
  75. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/remote_demo_async.py +0 -0
  76. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/scroll_area.html +0 -0
  77. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/scrollable.html +0 -0
  78. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/scrollbar.html +0 -0
  79. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/slider.html +0 -0
  80. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/spinbox.html +0 -0
  81. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/splitter.html +0 -0
  82. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/tab_widget.html +0 -0
  83. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/tableview.html +0 -0
  84. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/text_entry.html +0 -0
  85. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/textarea.html +0 -0
  86. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/textentryset.html +0 -0
  87. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/textsource.html +0 -0
  88. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/togglebutton.html +0 -0
  89. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/toolbar.html +0 -0
  90. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/treeview.html +0 -0
  91. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/examples/videowidget.html +0 -0
  92. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/__init__.py +0 -0
  93. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/defs.py +0 -0
  94. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/pyodide/__init__.py +0 -0
  95. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/pyodide/log.py +0 -0
  96. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/Widgets.css +0 -0
  97. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/Widgets.js +0 -0
  98. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/AbstractScrollArea.css +0 -0
  99. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Box.css +0 -0
  100. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Button.css +0 -0
  101. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/CheckBox.css +0 -0
  102. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ColorDialog.css +0 -0
  103. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ComboBox.css +0 -0
  104. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Dial.css +0 -0
  105. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Dialog.css +0 -0
  106. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Expander.css +0 -0
  107. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ExternalWidget.css +0 -0
  108. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/FixedLayout.css +0 -0
  109. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Frame.css +0 -0
  110. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/GridBox.css +0 -0
  111. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/HtmlView.css +0 -0
  112. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Image.css +0 -0
  113. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Label.css +0 -0
  114. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/MDIWidget.css +0 -0
  115. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Menu.css +0 -0
  116. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ProgressBar.css +0 -0
  117. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/RadioButton.css +0 -0
  118. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ScrollArea.css +0 -0
  119. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ScrollBar.css +0 -0
  120. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Slider.css +0 -0
  121. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/SpinBox.css +0 -0
  122. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Splitter.css +0 -0
  123. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/StatusBar.css +0 -0
  124. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TabWidget.css +0 -0
  125. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Text.css +0 -0
  126. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TextArea.css +0 -0
  127. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TextEntrySet.css +0 -0
  128. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TextSource.css +0 -0
  129. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ToggleButton.css +0 -0
  130. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/ToolBar.css +0 -0
  131. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TopLevel.css +0 -0
  132. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/TreeView.css +0 -0
  133. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/VideoWidget.css +0 -0
  134. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/Widget.css +0 -0
  135. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/css/WindowMenu.css +0 -0
  136. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/file.svg +0 -0
  137. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/folder.svg +0 -0
  138. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/hdots.svg +0 -0
  139. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/pgicon.svg +0 -0
  140. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/pgwidgets-logo.png +0 -0
  141. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/pgwidgets-logo.svg +0 -0
  142. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/icons/vdots.svg +0 -0
  143. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/AbstractScrollArea.js +0 -0
  144. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Box.js +0 -0
  145. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Button.js +0 -0
  146. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Callback.js +0 -0
  147. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Canvas.js +0 -0
  148. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/CheckBox.js +0 -0
  149. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ColorDialog.js +0 -0
  150. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ColorWidget.js +0 -0
  151. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ComboBox.js +0 -0
  152. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ComboBoxNative.js +0 -0
  153. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Dial.js +0 -0
  154. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Dialog.js +0 -0
  155. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Expander.js +0 -0
  156. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ExternalWidget.js +0 -0
  157. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/FileDialog.js +0 -0
  158. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/FixedLayout.js +0 -0
  159. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Frame.js +0 -0
  160. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/GridBox.js +0 -0
  161. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/HtmlView.js +0 -0
  162. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Image.js +0 -0
  163. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Label.js +0 -0
  164. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Menu.js +0 -0
  165. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/MenuAction.js +0 -0
  166. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/MenuBar.js +0 -0
  167. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Page.js +0 -0
  168. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ProgressBar.js +0 -0
  169. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/RadioButton.js +0 -0
  170. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/RemoteInterface.js +0 -0
  171. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ScrollArea.js +0 -0
  172. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ScrollBar.js +0 -0
  173. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Slider.js +0 -0
  174. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/SpinBox.js +0 -0
  175. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Splitter.js +0 -0
  176. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/StatusBar.js +0 -0
  177. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TabWidget.js +0 -0
  178. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TableView.js +0 -0
  179. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TextEntry.js +0 -0
  180. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TextEntrySet.js +0 -0
  181. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TextSource.js +0 -0
  182. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TextWidget.js +0 -0
  183. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Timer.js +0 -0
  184. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ToggleButton.js +0 -0
  185. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ToolBar.js +0 -0
  186. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/ToolBarAction.js +0 -0
  187. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TopLevel.js +0 -0
  188. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/TreeView.js +0 -0
  189. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/VideoWidget.js +0 -0
  190. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/Widget.js +0 -0
  191. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/modules/WindowMenu.js +0 -0
  192. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js/static/remote.html +0 -0
  193. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js.egg-info/dependency_links.txt +0 -0
  194. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js.egg-info/requires.txt +0 -0
  195. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pgwidgets_js.egg-info/top_level.txt +0 -0
  196. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/pyproject.toml +0 -0
  197. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/setup.cfg +0 -0
  198. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/setup.py +0 -0
  199. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/tests/__init__.py +0 -0
  200. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/tests/test_consistency.py +0 -0
  201. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/tests/test_defs.py +0 -0
  202. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/tests/test_recent_additions.py +0 -0
  203. {pgwidgets_js-0.3.2 → pgwidgets_js-0.3.3}/tests/test_static_assets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pgwidgets-js
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: pgwidgets JavaScript widget library — static assets for use with Python servers
5
5
  Author: PGWidgets Developers
6
6
  License: BSD-3-Clause
@@ -1,6 +1,46 @@
1
1
  What's New
2
2
  ==========
3
3
 
4
+ Recent changes — since ``v0.3.2``
5
+ ---------------------------------
6
+
7
+ MDIWidget: new and raised sub-windows come to the top
8
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
+
10
+ Raising a sub-window (including the implicit raise when one is created)
11
+ now sets its ``z-index`` to one above the current maximum, rather than to
12
+ the sub-window count. The count could drift below the live z-indices
13
+ (after closing windows, or repeated raise/lower), which previously left a
14
+ freshly created window stacked *underneath* existing ones and hidden.
15
+
16
+ TextArea: scrollbars, and ``set_limit`` is a history limit
17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+
19
+ Scrollbars now appear correctly for an over-full ``TextArea``. Also,
20
+ ``set_limit(n)`` now bounds the *retained* text to the last ``n`` lines
21
+ (a scrollback/history limit, trimming the oldest lines as new text is
22
+ appended) instead of setting the number of visible rows.
23
+
24
+ Pyodide: keyword args for positional constructor parameters
25
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26
+
27
+ In the in-situ (Pyodide) backend, constructing a widget with keyword
28
+ arguments that name positional constructor parameters -- e.g.
29
+ ``Dialog(title=..., buttons=...)`` -- now fills those constructor slots,
30
+ matching the sync backend. Previously such kwargs fell through to
31
+ ``set_<name>`` setter dispatch and raised when no such setter existed, so
32
+ affected widgets (e.g. ``Dialog``) could not be constructed in-situ.
33
+
34
+ Pyodide: widgets expose their definition for ``has_callback``
35
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
+
37
+ In-situ widget classes now carry their definition, so ``has_callback(name)``
38
+ reports the callbacks a widget *declares* (e.g. ``page-switch`` /
39
+ ``page-close``), matching the sync backend. Host code that wires a callback
40
+ only ``if widget.has_callback(name)`` -- such as a workspace connecting
41
+ ``page-close`` -- now works in-situ; previously that gate returned ``False``
42
+ and the callback was never connected.
43
+
4
44
  Recent changes — since ``v0.3.0``
5
45
  ---------------------------------
6
46
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pgwidgets",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "A native JavaScript widget library with Qt/GTK-style layout and controls",
5
5
  "type": "module",
6
6
  "main": "Widgets.js",
@@ -108,10 +108,23 @@ class Widget:
108
108
  pos_names = defn.get("args", [])
109
109
  opt_names = defn.get("options", [])
110
110
 
111
- # Build JS constructor args
112
- js_args = list(args[:len(pos_names)])
111
+ # Build JS constructor args. Fill the declared positional slots
112
+ # from positional args first, then from any same-named keyword
113
+ # arg (e.g. ``Dialog(title=..., buttons=...)``); unfilled slots
114
+ # are ``None`` placeholders. Without the kwarg mapping such a
115
+ # kwarg would be mistaken for a ``set_<name>`` setter call and
116
+ # fail when no such setter exists.
117
+ js_args = []
118
+ for i, name in enumerate(pos_names):
119
+ if i < len(args):
120
+ js_args.append(args[i])
121
+ elif name in kwargs:
122
+ js_args.append(kwargs.pop(name))
123
+ else:
124
+ js_args.append(None)
113
125
 
114
- # Remaining positional args become options
126
+ # Remaining positional args (beyond the declared slots) become
127
+ # options, in declared order.
115
128
  for i, val in enumerate(args[len(pos_names):]):
116
129
  if i < len(opt_names):
117
130
  kwargs[opt_names[i]] = val
@@ -125,10 +138,16 @@ class Widget:
125
138
  else:
126
139
  setter_kwargs[k] = v
127
140
 
128
- # Convert args and build options object
141
+ # Convert args and build options object. Keep the positional
142
+ # slots when an options dict follows (so it lands after the last
143
+ # positional arg, not in one); otherwise trim trailing None
144
+ # placeholders.
129
145
  converted_args = [_to_js_val(a) for a in js_args]
130
146
  if options:
131
147
  converted_args.append(_to_js_val(options))
148
+ else:
149
+ while converted_args and converted_args[-1] is None:
150
+ converted_args.pop()
132
151
 
133
152
  # Construct the JS widget
134
153
  js_class = getattr(Widgets, js_class_name)
@@ -342,6 +361,11 @@ def build_widget_class(js_class, defn):
342
361
  Widget.__init__(self, js_class, *args, **kwargs)
343
362
  attrs["__init__"] = __init__
344
363
 
364
+ # expose the definition so callers can introspect declared callbacks
365
+ # (mirrors the sync backend): ginga's has_callback() consults
366
+ # ``_defn["callbacks"]`` to decide whether to wire e.g. 'page-close'
367
+ attrs["_defn"] = defn
368
+
345
369
  cls = type(js_class, (Widget,), attrs)
346
370
  # register so widgets returned from JS calls can be wrapped in their
347
371
  # proper subclass (see _from_js_val)
@@ -437,16 +437,19 @@ class MDISubWindow extends ContainerWidget {
437
437
 
438
438
  /** Raises the sub-window to the top of the z-order. */
439
439
  raise_() {
440
- let num_children = this.mdi_widget.children.length;
441
- this.element.style.zIndex = num_children;
440
+ // Place this window above all others. Use (max existing z)+1
441
+ // rather than children.length: the z-indices can drift above the
442
+ // child count (e.g. after closing windows or repeated raise/lower),
443
+ // which previously left a freshly added/raised window stacked
444
+ // *under* existing ones, hiding it.
445
+ let maxZ = 0;
442
446
  for (let subwin of this.mdi_widget.children) {
443
- if (subwin != this) {
444
- let win_elt = subwin.get_element();
445
- if (win_elt.style.zIndex == num_children) {
446
- win_elt.style.zIndex--;
447
- }
447
+ if (subwin !== this) {
448
+ let z = parseInt(subwin.get_element().style.zIndex, 10) || 0;
449
+ if (z > maxZ) maxZ = z;
448
450
  }
449
451
  }
452
+ this.element.style.zIndex = maxZ + 1;
450
453
 
451
454
  this.mdi_widget._refreshActiveSubWindow();
452
455
  this.mdi_widget.make_callback('page-switch', this.get_child());
@@ -35,6 +35,10 @@ class TextArea extends Widget {
35
35
 
36
36
  this._scrollTimer = null;
37
37
  this._scrollReady = false;
38
+ // history limit: max number of lines retained (null = unlimited).
39
+ // NOTE: this caps the *content*, not the display height -- the
40
+ // textarea is sized by its container (grid cell) and scrolls.
41
+ this._limit = null;
38
42
 
39
43
  super.init_style();
40
44
 
@@ -88,6 +92,7 @@ class TextArea extends Widget {
88
92
 
89
93
  set_text(text) {
90
94
  this._textarea.value = text;
95
+ this._enforce_limit();
91
96
  this._syncScrollbars();
92
97
  }
93
98
 
@@ -97,9 +102,20 @@ class TextArea extends Widget {
97
102
 
98
103
  append_text(text) {
99
104
  this._textarea.value += text;
105
+ this._enforce_limit();
100
106
  this._syncScrollbars();
101
107
  }
102
108
 
109
+ /** Trim the buffer to the configured line limit (oldest dropped). */
110
+ _enforce_limit() {
111
+ if (!this._limit) return;
112
+ let lines = this._textarea.value.split('\n');
113
+ if (lines.length > this._limit) {
114
+ this._textarea.value = lines.slice(lines.length - this._limit)
115
+ .join('\n');
116
+ }
117
+ }
118
+
103
119
  clear() {
104
120
  this._textarea.value = '';
105
121
  this._syncScrollbars();
@@ -115,7 +131,14 @@ class TextArea extends Widget {
115
131
  }
116
132
 
117
133
  set_limit(numlines) {
118
- this._textarea.rows = numlines;
134
+ // History limit: the maximum number of lines retained in the
135
+ // buffer (oldest dropped when exceeded). This is NOT the display
136
+ // height -- the textarea is sized by its container and scrolls --
137
+ // so we must not touch ``rows`` (doing so would inflate the
138
+ // textarea to ``numlines`` tall and defeat scrolling).
139
+ this._limit = (numlines && numlines > 0) ? numlines : null;
140
+ this._enforce_limit();
141
+ this._syncScrollbars();
119
142
  }
120
143
 
121
144
  // -----------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pgwidgets-js
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: pgwidgets JavaScript widget library — static assets for use with Python servers
5
5
  Author: PGWidgets Developers
6
6
  License: BSD-3-Clause
@@ -89,6 +89,8 @@ pgwidgets_js.egg-info/PKG-INFO
89
89
  pgwidgets_js.egg-info/SOURCES.txt
90
90
  pgwidgets_js.egg-info/dependency_links.txt
91
91
  pgwidgets_js.egg-info/requires.txt
92
+ pgwidgets_js.egg-info/scm_file_list.json
93
+ pgwidgets_js.egg-info/scm_version.json
92
94
  pgwidgets_js.egg-info/top_level.txt
93
95
  pgwidgets_js/pyodide/__init__.py
94
96
  pgwidgets_js/pyodide/log.py
@@ -0,0 +1,198 @@
1
+ {
2
+ "files": [
3
+ ".flake8",
4
+ "setup.py",
5
+ "MANIFEST.in",
6
+ "package.json",
7
+ "LICENSE.md",
8
+ "Widgets.js",
9
+ ".readthedocs.yaml",
10
+ "pyproject.toml",
11
+ "Widgets.css",
12
+ "README.md",
13
+ ".gitignore",
14
+ "examples/external_widgets.html",
15
+ "examples/remote_demo.py",
16
+ "examples/progressbar.html",
17
+ "examples/debug_spinbox.html",
18
+ "examples/text_entry.html",
19
+ "examples/scrollbar.html",
20
+ "examples/pyodide_demo.html",
21
+ "examples/scroll_area.html",
22
+ "examples/togglebutton.html",
23
+ "examples/textarea.html",
24
+ "examples/htmlview.html",
25
+ "examples/colordialog.html",
26
+ "examples/menu.html",
27
+ "examples/canvas.html",
28
+ "examples/textsource.html",
29
+ "examples/all_widgets_pyscript.html",
30
+ "examples/all_widgets.html",
31
+ "examples/expander.html",
32
+ "examples/spinbox.html",
33
+ "examples/button.html",
34
+ "examples/remote_demo_async.py",
35
+ "examples/scrollable.html",
36
+ "examples/treeview.html",
37
+ "examples/dial.html",
38
+ "examples/image.html",
39
+ "examples/slider.html",
40
+ "examples/toolbar.html",
41
+ "examples/tab_widget.html",
42
+ "examples/all_widgets_pyodide.html",
43
+ "examples/pyscript.toml",
44
+ "examples/box.html",
45
+ "examples/mdi_widget.html",
46
+ "examples/frame.html",
47
+ "examples/label.html",
48
+ "examples/gridbox.html",
49
+ "examples/textentryset.html",
50
+ "examples/all_widgets_pyscript.py",
51
+ "examples/checkbox.html",
52
+ "examples/splitter.html",
53
+ "examples/videowidget.html",
54
+ "examples/remote.html",
55
+ "examples/radiobutton.html",
56
+ "examples/fixedlayout.html",
57
+ "examples/all_widgets_pyodide.py",
58
+ "examples/tableview.html",
59
+ "examples/combobox.html",
60
+ "examples/dialog.html",
61
+ "examples/electron/package.json",
62
+ "examples/electron/.npmrc",
63
+ "examples/electron/index.html",
64
+ "examples/electron/.gitignore",
65
+ "examples/electron/main.js",
66
+ "tests/test_static_assets.py",
67
+ "tests/test_consistency.py",
68
+ "tests/test_defs.py",
69
+ "tests/test_recent_additions.py",
70
+ "tests/__init__.py",
71
+ "docs/electron.rst",
72
+ "docs/external-widgets.rst",
73
+ "docs/index.rst",
74
+ "docs/getting-started.rst",
75
+ "docs/pyodide.rst",
76
+ "docs/WhatsNew.rst",
77
+ "docs/for-developers.rst",
78
+ "docs/frameworks.rst",
79
+ "docs/conf.py",
80
+ "docs/remote.rst",
81
+ "docs/Makefile",
82
+ "docs/callbacks.rst",
83
+ "docs/styling.rst",
84
+ "docs/widgets/text.rst",
85
+ "docs/widgets/nonvisual.rst",
86
+ "docs/widgets/display.rst",
87
+ "docs/widgets/layout.rst",
88
+ "docs/widgets/menus.rst",
89
+ "docs/widgets/controls.rst",
90
+ "docs/widgets/index.rst",
91
+ "docs/widgets/dialogs.rst",
92
+ ".github/workflows/tests.yml",
93
+ "pgwidgets_js/defs.py",
94
+ "pgwidgets_js/__init__.py",
95
+ "pgwidgets_js/pyodide/__init__.py",
96
+ "pgwidgets_js/pyodide/widget.py",
97
+ "pgwidgets_js/pyodide/log.py",
98
+ "pgwidgets_js/static/remote.html",
99
+ "pgwidgets_js/static/Widgets.css",
100
+ "pgwidgets_js/static/Widgets.js",
101
+ "pgwidgets_js/static/modules/FixedLayout.js",
102
+ "pgwidgets_js/static/modules/Canvas.js",
103
+ "pgwidgets_js/static/modules/SpinBox.js",
104
+ "pgwidgets_js/static/modules/AbstractScrollArea.js",
105
+ "pgwidgets_js/static/modules/ScrollArea.js",
106
+ "pgwidgets_js/static/modules/Box.js",
107
+ "pgwidgets_js/static/modules/CheckBox.js",
108
+ "pgwidgets_js/static/modules/TextEntry.js",
109
+ "pgwidgets_js/static/modules/MDIWidget.js",
110
+ "pgwidgets_js/static/modules/ComboBoxNative.js",
111
+ "pgwidgets_js/static/modules/RadioButton.js",
112
+ "pgwidgets_js/static/modules/Label.js",
113
+ "pgwidgets_js/static/modules/ExternalWidget.js",
114
+ "pgwidgets_js/static/modules/Image.js",
115
+ "pgwidgets_js/static/modules/ColorWidget.js",
116
+ "pgwidgets_js/static/modules/ColorDialog.js",
117
+ "pgwidgets_js/static/modules/ToggleButton.js",
118
+ "pgwidgets_js/static/modules/ComboBox.js",
119
+ "pgwidgets_js/static/modules/TreeView.js",
120
+ "pgwidgets_js/static/modules/ProgressBar.js",
121
+ "pgwidgets_js/static/modules/TopLevel.js",
122
+ "pgwidgets_js/static/modules/Page.js",
123
+ "pgwidgets_js/static/modules/ScrollBar.js",
124
+ "pgwidgets_js/static/modules/TabWidget.js",
125
+ "pgwidgets_js/static/modules/Callback.js",
126
+ "pgwidgets_js/static/modules/TextSource.js",
127
+ "pgwidgets_js/static/modules/Frame.js",
128
+ "pgwidgets_js/static/modules/MenuBar.js",
129
+ "pgwidgets_js/static/modules/ToolBar.js",
130
+ "pgwidgets_js/static/modules/Menu.js",
131
+ "pgwidgets_js/static/modules/Slider.js",
132
+ "pgwidgets_js/static/modules/GridBox.js",
133
+ "pgwidgets_js/static/modules/TextArea.js",
134
+ "pgwidgets_js/static/modules/TextWidget.js",
135
+ "pgwidgets_js/static/modules/HtmlView.js",
136
+ "pgwidgets_js/static/modules/WindowMenu.js",
137
+ "pgwidgets_js/static/modules/TextEntrySet.js",
138
+ "pgwidgets_js/static/modules/TableView.js",
139
+ "pgwidgets_js/static/modules/MenuAction.js",
140
+ "pgwidgets_js/static/modules/VideoWidget.js",
141
+ "pgwidgets_js/static/modules/Button.js",
142
+ "pgwidgets_js/static/modules/StatusBar.js",
143
+ "pgwidgets_js/static/modules/Dialog.js",
144
+ "pgwidgets_js/static/modules/Widget.js",
145
+ "pgwidgets_js/static/modules/Expander.js",
146
+ "pgwidgets_js/static/modules/FileDialog.js",
147
+ "pgwidgets_js/static/modules/Timer.js",
148
+ "pgwidgets_js/static/modules/Splitter.js",
149
+ "pgwidgets_js/static/modules/Dial.js",
150
+ "pgwidgets_js/static/modules/RemoteInterface.js",
151
+ "pgwidgets_js/static/modules/ToolBarAction.js",
152
+ "pgwidgets_js/static/icons/pgwidgets-logo.png",
153
+ "pgwidgets_js/static/icons/vdots.svg",
154
+ "pgwidgets_js/static/icons/pgwidgets-logo.svg",
155
+ "pgwidgets_js/static/icons/pgicon.svg",
156
+ "pgwidgets_js/static/icons/file.svg",
157
+ "pgwidgets_js/static/icons/hdots.svg",
158
+ "pgwidgets_js/static/icons/folder.svg",
159
+ "pgwidgets_js/static/css/TextEntrySet.css",
160
+ "pgwidgets_js/static/css/FixedLayout.css",
161
+ "pgwidgets_js/static/css/Label.css",
162
+ "pgwidgets_js/static/css/ToggleButton.css",
163
+ "pgwidgets_js/static/css/Image.css",
164
+ "pgwidgets_js/static/css/Text.css",
165
+ "pgwidgets_js/static/css/GridBox.css",
166
+ "pgwidgets_js/static/css/StatusBar.css",
167
+ "pgwidgets_js/static/css/AbstractScrollArea.css",
168
+ "pgwidgets_js/static/css/Splitter.css",
169
+ "pgwidgets_js/static/css/Menu.css",
170
+ "pgwidgets_js/static/css/ProgressBar.css",
171
+ "pgwidgets_js/static/css/ScrollBar.css",
172
+ "pgwidgets_js/static/css/HtmlView.css",
173
+ "pgwidgets_js/static/css/ToolBar.css",
174
+ "pgwidgets_js/static/css/TextArea.css",
175
+ "pgwidgets_js/static/css/Box.css",
176
+ "pgwidgets_js/static/css/VideoWidget.css",
177
+ "pgwidgets_js/static/css/TabWidget.css",
178
+ "pgwidgets_js/static/css/MDIWidget.css",
179
+ "pgwidgets_js/static/css/Dial.css",
180
+ "pgwidgets_js/static/css/ColorDialog.css",
181
+ "pgwidgets_js/static/css/Slider.css",
182
+ "pgwidgets_js/static/css/Expander.css",
183
+ "pgwidgets_js/static/css/Dialog.css",
184
+ "pgwidgets_js/static/css/TreeView.css",
185
+ "pgwidgets_js/static/css/TopLevel.css",
186
+ "pgwidgets_js/static/css/SpinBox.css",
187
+ "pgwidgets_js/static/css/RadioButton.css",
188
+ "pgwidgets_js/static/css/WindowMenu.css",
189
+ "pgwidgets_js/static/css/Frame.css",
190
+ "pgwidgets_js/static/css/Button.css",
191
+ "pgwidgets_js/static/css/CheckBox.css",
192
+ "pgwidgets_js/static/css/ScrollArea.css",
193
+ "pgwidgets_js/static/css/ExternalWidget.css",
194
+ "pgwidgets_js/static/css/ComboBox.css",
195
+ "pgwidgets_js/static/css/Widget.css",
196
+ "pgwidgets_js/static/css/TextSource.css"
197
+ ]
198
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.3.3",
3
+ "distance": 0,
4
+ "node": "gc7bed76926bc574aa185995b4a3b1b2d63ddbf96",
5
+ "dirty": false,
6
+ "branch": "main",
7
+ "node_date": "2026-06-25"
8
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes