bootstack 0.4.0__tar.gz → 0.4.1__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 (480) hide show
  1. {bootstack-0.4.0/src/bootstack.egg-info → bootstack-0.4.1}/PKG-INFO +1 -1
  2. {bootstack-0.4.0 → bootstack-0.4.1}/pyproject.toml +2 -2
  3. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/signal_binding.py +2 -1
  4. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/signals/signal.py +14 -13
  5. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_parts/spinnerentry_part.py +24 -11
  6. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_parts/textentry_part.py +29 -14
  7. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/core.py +3 -4
  8. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/textarea.py +4 -0
  9. {bootstack-0.4.0 → bootstack-0.4.1/src/bootstack.egg-info}/PKG-INFO +1 -1
  10. {bootstack-0.4.0 → bootstack-0.4.1}/LICENSE +0 -0
  11. {bootstack-0.4.0 → bootstack-0.4.1}/MANIFEST.in +0 -0
  12. {bootstack-0.4.0 → bootstack-0.4.1}/NOTICE +0 -0
  13. {bootstack-0.4.0 → bootstack-0.4.1}/README.md +0 -0
  14. {bootstack-0.4.0 → bootstack-0.4.1}/setup.cfg +0 -0
  15. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/__init__.py +0 -0
  16. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/__main__.py +0 -0
  17. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/__init__.py +0 -0
  18. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/capture.py +0 -0
  19. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/exceptions.py +0 -0
  20. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/images.py +0 -0
  21. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/localization.py +0 -0
  22. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/mixins/__init__.py +0 -0
  23. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/mixins/ttk_state.py +0 -0
  24. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/mixins/widget.py +0 -0
  25. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/paths.py +0 -0
  26. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_core/variables.py +0 -0
  27. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/__init__.py +0 -0
  28. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/app.py +0 -0
  29. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/base_window.py +0 -0
  30. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/events.py +0 -0
  31. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/grab.py +0 -0
  32. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/shortcuts.py +0 -0
  33. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/tk_patch.py +0 -0
  34. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/toplevel.py +0 -0
  35. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/utility.py +0 -0
  36. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/visual_focus.py +0 -0
  37. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/wheel.py +0 -0
  38. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/_runtime/window_utilities.py +0 -0
  39. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/__init__.py +0 -0
  40. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/bootstack.ico +0 -0
  41. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/bootstack.png +0 -0
  42. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/__init__.py +0 -0
  43. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/badge-pill.png +0 -0
  44. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/badge-square.png +0 -0
  45. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/button-compact.png +0 -0
  46. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/button-default.png +0 -0
  47. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-after-h-compact.png +0 -0
  48. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-after-h-default.png +0 -0
  49. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-after-v-compact.png +0 -0
  50. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-after-v-default.png +0 -0
  51. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-before-h-compact.png +0 -0
  52. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-before-h-default.png +0 -0
  53. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-before-v-compact.png +0 -0
  54. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-before-v-default.png +0 -0
  55. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-center-h-compact.png +0 -0
  56. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-center-h-default.png +0 -0
  57. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-center-v-compact.png +0 -0
  58. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/buttongroup-center-v-default.png +0 -0
  59. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/card.png +0 -0
  60. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/checkbox-checked.png +0 -0
  61. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/checkbox-indeterminate.png +0 -0
  62. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/checkbox-unchecked.png +0 -0
  63. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/field.png +0 -0
  64. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/input-addon-compact.png +0 -0
  65. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/input-addon-default.png +0 -0
  66. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/input-compact.png +0 -0
  67. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/input-default.png +0 -0
  68. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/list-item-separated.png +0 -0
  69. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/list-item.png +0 -0
  70. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/listrow-compact.png +0 -0
  71. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/listrow-default.png +0 -0
  72. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/manifest.toml +0 -0
  73. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/menu-item.png +0 -0
  74. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/navitem-compact.png +0 -0
  75. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/navitem-default.png +0 -0
  76. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/progressbar-h-compact.png +0 -0
  77. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/progressbar-h-default.png +0 -0
  78. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/progressbar-v-compact.png +0 -0
  79. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/progressbar-v-default.png +0 -0
  80. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/radiobutton.png +0 -0
  81. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/scrollbar-horizontal.png +0 -0
  82. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/scrollbar-vertical.png +0 -0
  83. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/slider-handle.png +0 -0
  84. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/slider-track-h.png +0 -0
  85. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/slider-track-v.png +0 -0
  86. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/switch-off.png +0 -0
  87. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/switch-on.png +0 -0
  88. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/tab-h.png +0 -0
  89. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/elements/tab-v.png +0 -0
  90. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/icons/bootstrap.ttf +0 -0
  91. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/icons/glyphmap.json +0 -0
  92. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/icons/icon_metrics.json +0 -0
  93. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ar/LC_MESSAGES/bootstack.mo +0 -0
  94. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ar/LC_MESSAGES/bootstack.po +0 -0
  95. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/bg/LC_MESSAGES/bootstack.mo +0 -0
  96. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/bg/LC_MESSAGES/bootstack.po +0 -0
  97. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/cs/LC_MESSAGES/bootstack.mo +0 -0
  98. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/cs/LC_MESSAGES/bootstack.po +0 -0
  99. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/da/LC_MESSAGES/bootstack.mo +0 -0
  100. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/da/LC_MESSAGES/bootstack.po +0 -0
  101. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/de/LC_MESSAGES/bootstack.mo +0 -0
  102. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/de/LC_MESSAGES/bootstack.po +0 -0
  103. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/en/LC_MESSAGES/bootstack.mo +0 -0
  104. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/en/LC_MESSAGES/bootstack.po +0 -0
  105. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/es/LC_MESSAGES/bootstack.mo +0 -0
  106. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/es/LC_MESSAGES/bootstack.po +0 -0
  107. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/fr/LC_MESSAGES/bootstack.mo +0 -0
  108. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/fr/LC_MESSAGES/bootstack.po +0 -0
  109. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/he/LC_MESSAGES/bootstack.mo +0 -0
  110. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/he/LC_MESSAGES/bootstack.po +0 -0
  111. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/hi/LC_MESSAGES/bootstack.mo +0 -0
  112. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/hi/LC_MESSAGES/bootstack.po +0 -0
  113. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/it/LC_MESSAGES/bootstack.mo +0 -0
  114. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/it/LC_MESSAGES/bootstack.po +0 -0
  115. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ja/LC_MESSAGES/bootstack.mo +0 -0
  116. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ja/LC_MESSAGES/bootstack.po +0 -0
  117. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ko/LC_MESSAGES/bootstack.mo +0 -0
  118. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/ko/LC_MESSAGES/bootstack.po +0 -0
  119. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/nb/LC_MESSAGES/bootstack.mo +0 -0
  120. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/nb/LC_MESSAGES/bootstack.po +0 -0
  121. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/nl/LC_MESSAGES/bootstack.mo +0 -0
  122. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/nl/LC_MESSAGES/bootstack.po +0 -0
  123. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pl/LC_MESSAGES/bootstack.mo +0 -0
  124. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pl/LC_MESSAGES/bootstack.po +0 -0
  125. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pt/LC_MESSAGES/bootstack.mo +0 -0
  126. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pt/LC_MESSAGES/bootstack.po +0 -0
  127. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pt_BR/LC_MESSAGES/bootstack.mo +0 -0
  128. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/pt_BR/LC_MESSAGES/bootstack.po +0 -0
  129. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/sl/LC_MESSAGES/bootstack.mo +0 -0
  130. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/sl/LC_MESSAGES/bootstack.po +0 -0
  131. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/sv/LC_MESSAGES/bootstack.mo +0 -0
  132. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/sv/LC_MESSAGES/bootstack.po +0 -0
  133. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/tr/LC_MESSAGES/bootstack.mo +0 -0
  134. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/tr/LC_MESSAGES/bootstack.po +0 -0
  135. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/zh_CN/LC_MESSAGES/bootstack.mo +0 -0
  136. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/zh_CN/LC_MESSAGES/bootstack.po +0 -0
  137. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/zh_TW/LC_MESSAGES/bootstack.mo +0 -0
  138. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/assets/locales/zh_TW/LC_MESSAGES/bootstack.po +0 -0
  139. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/__init__.py +0 -0
  140. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/__main__.py +0 -0
  141. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/add.py +0 -0
  142. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/appicon.py +0 -0
  143. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/build.py +0 -0
  144. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/config.py +0 -0
  145. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/demo.py +0 -0
  146. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/dev.py +0 -0
  147. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/doctor.py +0 -0
  148. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/icons.py +0 -0
  149. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/promote.py +0 -0
  150. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/pyinstaller.py +0 -0
  151. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/run.py +0 -0
  152. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/start.py +0 -0
  153. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/cli/templates/__init__.py +0 -0
  154. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/clipboard.py +0 -0
  155. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/constants.py +0 -0
  156. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/README.md +0 -0
  157. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/__init__.py +0 -0
  158. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/_observable.py +0 -0
  159. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/base.py +0 -0
  160. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/file_source.py +0 -0
  161. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/memory_source.py +0 -0
  162. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/query.py +0 -0
  163. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/readers.py +0 -0
  164. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/sqlite_source.py +0 -0
  165. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/types.py +0 -0
  166. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/data/writers.py +0 -0
  167. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/__init__.py +0 -0
  168. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_capture.py +0 -0
  169. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_env.py +0 -0
  170. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_registry.py +0 -0
  171. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_reloader.py +0 -0
  172. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_reset.py +0 -0
  173. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dev/_watcher.py +0 -0
  174. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/__init__.py +0 -0
  175. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/__init__.py +0 -0
  176. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/colorchooser.py +0 -0
  177. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/datedialog.py +0 -0
  178. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/dialog.py +0 -0
  179. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/filterdialog.py +0 -0
  180. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/fontdialog.py +0 -0
  181. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/formdialog.py +0 -0
  182. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/message.py +0 -0
  183. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/dialogs/_impl/query.py +0 -0
  184. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/errors.py +0 -0
  185. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/events/__init__.py +0 -0
  186. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/events/_event.py +0 -0
  187. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/events/_payloads.py +0 -0
  188. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/events/_subscription.py +0 -0
  189. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/README.md +0 -0
  190. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/__init__.py +0 -0
  191. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/catalog.py +0 -0
  192. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/intl_format.py +0 -0
  193. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/msgcat.py +0 -0
  194. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/i18n/specs.py +0 -0
  195. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/images.py +0 -0
  196. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/py.typed +0 -0
  197. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/scheduling/__init__.py +0 -0
  198. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/scheduling/_schedule.py +0 -0
  199. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/shortcuts.py +0 -0
  200. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/signals/README.md +0 -0
  201. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/signals/__init__.py +0 -0
  202. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/signals/integration.py +0 -0
  203. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/signals/types.py +0 -0
  204. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/store.py +0 -0
  205. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/streams/__init__.py +0 -0
  206. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/streams/_stream.py +0 -0
  207. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/__init__.py +0 -0
  208. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/__init__.py +0 -0
  209. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/badge.py +0 -0
  210. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/button.py +0 -0
  211. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/buttongroup.py +0 -0
  212. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/calendar.py +0 -0
  213. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/checkbutton.py +0 -0
  214. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/combobox.py +0 -0
  215. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/contextmenu.py +0 -0
  216. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/entry.py +0 -0
  217. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/expander.py +0 -0
  218. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/field.py +0 -0
  219. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/frame.py +0 -0
  220. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/label.py +0 -0
  221. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/labelframe.py +0 -0
  222. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/listview.py +0 -0
  223. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/menubar.py +0 -0
  224. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/menubutton.py +0 -0
  225. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/panedwindow.py +0 -0
  226. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/progressbar.py +0 -0
  227. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/radiobutton.py +0 -0
  228. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/scale.py +0 -0
  229. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/scrollbar.py +0 -0
  230. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/separator.py +0 -0
  231. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/sidenav.py +0 -0
  232. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/sizegrip.py +0 -0
  233. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/spinbox.py +0 -0
  234. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/switch.py +0 -0
  235. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/tabitem.py +0 -0
  236. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/togglegroup.py +0 -0
  237. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/toolbutton.py +0 -0
  238. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/tooltip.py +0 -0
  239. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/treeview.py +0 -0
  240. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders/utils.py +0 -0
  241. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders_tk/__init__.py +0 -0
  242. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/builders_tk/defaults.py +0 -0
  243. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/element.py +0 -0
  244. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/fonts.py +0 -0
  245. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style.py +0 -0
  246. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style_builder_base.py +0 -0
  247. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style_builder_mixed.py +0 -0
  248. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style_builder_tk.py +0 -0
  249. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style_builder_ttk.py +0 -0
  250. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/style_resolver.py +0 -0
  251. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/theme.py +0 -0
  252. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/theme_provider.py +0 -0
  253. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/themes/__init__.py +0 -0
  254. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/tk_patch.py +0 -0
  255. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/token_maps.py +0 -0
  256. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/types.py +0 -0
  257. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/typography.py +0 -0
  258. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/style/utility.py +0 -0
  259. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/types.py +0 -0
  260. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/validation/__init__.py +0 -0
  261. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/validation/types.py +0 -0
  262. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/validation/validation_result.py +0 -0
  263. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/validation/validation_rules.py +0 -0
  264. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/__init__.py +0 -0
  265. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/__init__.py +0 -0
  266. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/app_config.py +0 -0
  267. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/base.py +0 -0
  268. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/choices.py +0 -0
  269. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/container.py +0 -0
  270. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/context.py +0 -0
  271. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/events.py +0 -0
  272. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/field_mixin.py +0 -0
  273. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/icon_image_props.py +0 -0
  274. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/image_binding.py +0 -0
  275. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/kwargs.py +0 -0
  276. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/navmodel.py +0 -0
  277. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/options.py +0 -0
  278. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/selection_group.py +0 -0
  279. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/window_controls.py +0 -0
  280. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_core/window_menu.py +0 -0
  281. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/__init__.py +0 -0
  282. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_internal/__init__.py +0 -0
  283. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_internal/wrapper_base.py +0 -0
  284. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_parts/__init__.py +0 -0
  285. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/_parts/numberentry_part.py +0 -0
  286. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/__init__.py +0 -0
  287. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/_dateutils.py +0 -0
  288. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/_image_fit.py +0 -0
  289. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/accordion.py +0 -0
  290. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/avatar.py +0 -0
  291. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/buttongroup.py +0 -0
  292. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/calendar.py +0 -0
  293. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/carousel.py +0 -0
  294. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/chart.py +0 -0
  295. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/compositeframe.py +0 -0
  296. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/contextmenu.py +0 -0
  297. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/dateentry.py +0 -0
  298. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/dropdownbutton.py +0 -0
  299. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/expander.py +0 -0
  300. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/field.py +0 -0
  301. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/form.py +0 -0
  302. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/gallery.py +0 -0
  303. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/list/__init__.py +0 -0
  304. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/list/listitem.py +0 -0
  305. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/list/listview.py +0 -0
  306. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/menu/__init__.py +0 -0
  307. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/menu/model.py +0 -0
  308. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/menu/render_native.py +0 -0
  309. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/menu/render_themed.py +0 -0
  310. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/meter.py +0 -0
  311. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/numericentry.py +0 -0
  312. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/pagestack.py +0 -0
  313. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/passwordentry.py +0 -0
  314. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/pathentry.py +0 -0
  315. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/picture.py +0 -0
  316. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/radiogroup.py +0 -0
  317. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/scrolledtext.py +0 -0
  318. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/scrolledtext.pyi +0 -0
  319. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/scrollview.py +0 -0
  320. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/selectbox.py +0 -0
  321. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/__init__.py +0 -0
  322. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/content_host.py +0 -0
  323. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/layout.py +0 -0
  324. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/nav_panel.py +0 -0
  325. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/providers.py +0 -0
  326. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/rail.py +0 -0
  327. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/shell.py +0 -0
  328. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/shell/workspace.py +0 -0
  329. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/sidenav/__init__.py +0 -0
  330. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/sidenav/header.py +0 -0
  331. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/sidenav/separator.py +0 -0
  332. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/slider/__init__.py +0 -0
  333. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/slider/_shared.py +0 -0
  334. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/slider/rangeslider.py +0 -0
  335. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/slider/slider.py +0 -0
  336. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/spinnerentry.py +0 -0
  337. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tableview/__init__.py +0 -0
  338. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tableview/tableview.py +0 -0
  339. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tableview/types.py +0 -0
  340. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tabs/__init__.py +0 -0
  341. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tabs/tabitem.py +0 -0
  342. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tabs/tabs.py +0 -0
  343. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tabs/tabview.py +0 -0
  344. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/__init__.py +0 -0
  345. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/change.py +0 -0
  346. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/codeeditor.py +0 -0
  347. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/decoration.py +0 -0
  348. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/diff.py +0 -0
  349. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/__init__.py +0 -0
  350. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/bracket_matcher.py +0 -0
  351. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/indent_guides.py +0 -0
  352. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/line_numbers.py +0 -0
  353. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/pygments_highlighter.py +0 -0
  354. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/extensions/smart_indent.py +0 -0
  355. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/filter.py +0 -0
  356. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/redirector.py +0 -0
  357. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/search_overlay.py +0 -0
  358. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/sidebar.py +0 -0
  359. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/style_registry.py +0 -0
  360. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/textarea.py +0 -0
  361. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textarea/undo.py +0 -0
  362. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/textentry.py +0 -0
  363. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/timeentry.py +0 -0
  364. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/toast.py +0 -0
  365. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/toast_stack.py +0 -0
  366. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/togglegroup.py +0 -0
  367. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/toolbar.py +0 -0
  368. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tooltip.py +0 -0
  369. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tree/__init__.py +0 -0
  370. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tree/source_binding.py +0 -0
  371. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tree/treeitem.py +0 -0
  372. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tree/treenode.py +0 -0
  373. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/composites/tree/treeview.py +0 -0
  374. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/__init__.py +0 -0
  375. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/configure_mixin.py +0 -0
  376. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/entry_mixin.py +0 -0
  377. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/font_mixin.py +0 -0
  378. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/icon_mixin.py +0 -0
  379. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/localization_mixin.py +0 -0
  380. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/signal_mixin.py +0 -0
  381. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/mixins/validation_mixin.py +0 -0
  382. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/__init__.py +0 -0
  383. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/_menubutton.py +0 -0
  384. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/badge.py +0 -0
  385. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/button.py +0 -0
  386. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/card.py +0 -0
  387. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/checkbutton.py +0 -0
  388. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/checktoggle.py +0 -0
  389. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/combobox.py +0 -0
  390. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/entry.py +0 -0
  391. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/flexframe.py +0 -0
  392. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/frame.py +0 -0
  393. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/gridframe.py +0 -0
  394. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/label.py +0 -0
  395. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/labelframe.py +0 -0
  396. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/optionmenu.py +0 -0
  397. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/packframe.py +0 -0
  398. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/panedwindow.py +0 -0
  399. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/progressbar.py +0 -0
  400. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/radiobutton.py +0 -0
  401. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/radiotoggle.py +0 -0
  402. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/scrollbar.py +0 -0
  403. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/separator.py +0 -0
  404. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/sizegrip.py +0 -0
  405. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/spinbox.py +0 -0
  406. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/switch.py +0 -0
  407. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/_impl/primitives/treeview.py +0 -0
  408. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/app.py +0 -0
  409. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/appshell.py +0 -0
  410. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/avatar.py +0 -0
  411. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/boolean_controls.py +0 -0
  412. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/button.py +0 -0
  413. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/buttongroup.py +0 -0
  414. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/calendar.py +0 -0
  415. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/card.py +0 -0
  416. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/carousel.py +0 -0
  417. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/chart.py +0 -0
  418. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/codeeditor.py +0 -0
  419. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/contextmenu.py +0 -0
  420. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/datatable.py +0 -0
  421. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/datefield.py +0 -0
  422. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/divider.py +0 -0
  423. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/expander.py +0 -0
  424. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/form.py +0 -0
  425. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/gallery.py +0 -0
  426. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/gauge.py +0 -0
  427. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/grid.py +0 -0
  428. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/groupbox.py +0 -0
  429. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/label.py +0 -0
  430. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/listview.py +0 -0
  431. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/menubutton.py +0 -0
  432. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/numberfield.py +0 -0
  433. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/pagestack.py +0 -0
  434. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/passwordfield.py +0 -0
  435. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/pathfield.py +0 -0
  436. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/picture.py +0 -0
  437. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/progressbar.py +0 -0
  438. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/radio_variants.py +0 -0
  439. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/radiogroup.py +0 -0
  440. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/scrollbar.py +0 -0
  441. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/scrollview.py +0 -0
  442. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/select.py +0 -0
  443. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/selectbutton.py +0 -0
  444. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/sidebar_toggle.py +0 -0
  445. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/sizegrip.py +0 -0
  446. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/slider.py +0 -0
  447. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/spinbox.py +0 -0
  448. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/spinnerfield.py +0 -0
  449. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/splash.py +0 -0
  450. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/splitview.py +0 -0
  451. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/stacks.py +0 -0
  452. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/statusbar.py +0 -0
  453. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/tabs.py +0 -0
  454. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/textfield.py +0 -0
  455. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/theme_toggle.py +0 -0
  456. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/timefield.py +0 -0
  457. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/toast.py +0 -0
  458. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/togglegroup.py +0 -0
  459. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/toolbar.py +0 -0
  460. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/tooltip.py +0 -0
  461. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/tree.py +0 -0
  462. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/types.py +0 -0
  463. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack/widgets/window.py +0 -0
  464. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack.egg-info/SOURCES.txt +0 -0
  465. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack.egg-info/dependency_links.txt +0 -0
  466. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack.egg-info/entry_points.txt +0 -0
  467. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack.egg-info/requires.txt +0 -0
  468. {bootstack-0.4.0 → bootstack-0.4.1}/src/bootstack.egg-info/top_level.txt +0 -0
  469. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_dialog_anchor.py +0 -0
  470. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_events_doc_coverage.py +0 -0
  471. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_hot_reload.py +0 -0
  472. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_images.py +0 -0
  473. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_images_gui.py +0 -0
  474. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_intl_format.py +0 -0
  475. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_navmodel.py +0 -0
  476. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_on_color_contrast.py +0 -0
  477. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_public_surface.py +0 -0
  478. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_store.py +0 -0
  479. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_theme_from_existing.py +0 -0
  480. {bootstack-0.4.0 → bootstack-0.4.1}/tests/test_validation_rules.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bootstack
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Build desktop GUI apps in pure Python and ship them as a standalone executable — built on Tk, no Tkinter boilerplate.
5
5
  Author-email: Israel Dryer <israel.dryer@gmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "bootstack"
7
- version = "0.4.0"
7
+ version = "0.4.1"
8
8
  description = "Build desktop GUI apps in pure Python and ship them as a standalone executable — built on Tk, no Tkinter boilerplate."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -114,7 +114,7 @@ where = ["src"]
114
114
  ]
115
115
 
116
116
  [tool.bumpversion]
117
- current_version = "0.4.0"
117
+ current_version = "0.4.1"
118
118
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)((?P<pre>a|b|rc)(?P<pre_n>\\d+))?"
119
119
  serialize = [
120
120
  "{major}.{minor}.{patch}{pre}{pre_n}",
@@ -157,7 +157,8 @@ def create_signal(default_value: Any) -> SignalBinding:
157
157
  0.0
158
158
  """
159
159
  from bootstack.signals import Signal
160
- signal = Signal(default_value)
160
+ # (str, set) mirrors Signal._empty_value()'s own rule
161
+ signal = Signal(default_value, allow_empty=isinstance(default_value, (str, set)))
161
162
  return SignalBinding(
162
163
  signal=signal,
163
164
  variable=signal.var,
@@ -108,6 +108,7 @@ class Signal(Generic[T]):
108
108
  self._name = name or f"SIG{next(self._cnt)}"
109
109
  self._master: tk.Misc | None = master
110
110
  self._allow_empty = allow_empty
111
+
111
112
  if dtype is not None:
112
113
  if not isinstance(dtype, type):
113
114
  raise TypeError(
@@ -132,6 +133,11 @@ class Signal(Generic[T]):
132
133
  "A Signal that starts empty has no value to take its type from, so "
133
134
  "it must declare one: bs.Signal(None, allow_empty=True, dtype=date)."
134
135
  )
136
+ elif value is None and not allow_empty:
137
+ raise TypeError(
138
+ "A Signal that starts empty needs allow_empty=True and a dtype "
139
+ "or it can never hold any other value."
140
+ )
135
141
  else:
136
142
  self._type = type(value)
137
143
  self._object_mode = not self._is_tk_native(value)
@@ -354,12 +360,12 @@ class Signal(Generic[T]):
354
360
  """
355
361
  Set the signal to a new value and notify subscribers.
356
362
 
363
+ In general, the value must match the signals types, however,
364
+ an `int` may be set on a `float`-typed signal (it is widened), and
365
+ `None` is accepted on a signal declared `allow_empty=True`.
366
+
357
367
  Args:
358
- value: The new value. Must match the signal's type, except that an
359
- `int` may be set on a `float`-typed signal (it is widened), and
360
- that `None` is accepted on a signal declared `allow_empty=True`,
361
- where it becomes that signal's empty value — `''` when the value
362
- lives in a widget's variable, `None` otherwise.
368
+ value: The new value. Must match the signal's type.
363
369
 
364
370
  Raises:
365
371
  TypeError: If the value type does not match the signal's type (and is
@@ -367,12 +373,11 @@ class Signal(Generic[T]):
367
373
  signal that was not declared able to be empty.
368
374
  """
369
375
  if value is None:
370
- # A signal whose type IS NoneType has always taken None (map() makes
371
- # one whenever the transform returns None for the first value seen).
372
376
  if not self._allow_empty and self._type is not type(None):
373
377
  raise TypeError(
374
- f"Expected {self._type.__name__}, got NoneType. Pass "
375
- f"allow_empty=True to Signal() if this value can be empty."
378
+ f"Expected {self._type.__name__}, got NoneType. If you created "
379
+ f"this signal, then add `allow_empty=True`, otherwise set the "
380
+ f"value directly instead of clearing it."
376
381
  )
377
382
  value = self._empty_value()
378
383
  else:
@@ -420,10 +425,6 @@ class Signal(Generic[T]):
420
425
  Raises:
421
426
  TypeError: If the signal was not declared able to be empty.
422
427
  """
423
- # Through set(None), not set(_empty_value()): the empty of a realized
424
- # str signal is '', which is a valid str, so passing it here walked
425
- # straight past the allow_empty check and let any realized text signal
426
- # be cleared without the declaration (#390 round 2, finding 3).
427
428
  self.set(None)
428
429
 
429
430
  def map(self, transform: Callable[[T], U]) -> 'Signal[U]':
@@ -159,6 +159,28 @@ class SpinnerEntryPart(ValidationMixin, Spinbox):
159
159
 
160
160
  self._prev_change_text = text
161
161
  self.event_generate('<<Input>>', data=InputEvent(text=text))
162
+ self._commit_if_not_editing()
163
+
164
+ def _commit_if_not_editing(self):
165
+ """Re-derive the committed value for a change the user did not type (#482)."""
166
+ try:
167
+ if self.focus_get() is self:
168
+ return
169
+ except (TclError, KeyError):
170
+ return
171
+ self._reparse()
172
+
173
+ def _reparse(self) -> bool:
174
+ """Re-derive `_value` from the display text; False if it will not parse."""
175
+ s = self.get().strip()
176
+ if s == '':
177
+ self._value = None if self._allow_blank else self._value
178
+ return True
179
+ try:
180
+ self._value = s if self._value_format is None else self._fmt.parse(s, self._value_format)
181
+ except ValueError:
182
+ return False # keep prior value on parse failure
183
+ return True
162
184
 
163
185
  def _check_if_changed(self):
164
186
  """Emit <<Change>> event if parsed value changed since focus-in."""
@@ -355,17 +377,8 @@ class SpinnerEntryPart(ValidationMixin, Spinbox):
355
377
 
356
378
  def commit(self):
357
379
  """Parse display text, update value, and normalize display (called on FocusOut/Return)."""
358
- s = self.get().strip()
359
-
360
- # Parse once
361
- if s == '':
362
- self._value = None if self._allow_blank else self._value
363
- else:
364
- try:
365
- self._value = s if self._value_format is None else self._fmt.parse(s, self._value_format)
366
- except ValueError:
367
- # Keep prior value on parse failure
368
- return
380
+ if not self._reparse():
381
+ return
369
382
 
370
383
  # Format the value for display
371
384
  new_text = self._format_value(self._value)
@@ -7,9 +7,9 @@ from bootstack.widgets._impl.primitives.entry import Entry
7
7
  from bootstack.widgets._impl.mixins import ValidationMixin
8
8
  from bootstack.widgets._impl.mixins.configure_mixin import configure_delegate
9
9
 
10
- #: Sentinel marking "no argument passed" for the combined get/set accessors below.
11
- #: `None` cannot serve as that sentinel — it is a real value meaning "empty", and
12
- #: using it to mean "get" made `value(None)` a silent no-op instead of clearing.
10
+ # Sentinel marking "no argument passed" for the combined get/set accessors below.
11
+ # `None` cannot serve as that sentinel — it is a real value meaning "empty", and
12
+ # using it to mean "get" made `value(None)` a silent no-op instead of clearing.
13
13
  _UNSET: Any = object()
14
14
 
15
15
 
@@ -174,6 +174,30 @@ class TextEntryPart(ValidationMixin, Entry):
174
174
  return
175
175
  self._prev_change_text = text
176
176
  self.event_generate('<<Input>>', data=InputEvent(text=text))
177
+ self._commit_if_not_editing()
178
+
179
+ def _commit_if_not_editing(self):
180
+ """Re-derive the committed value for a change the user did not type (#482)."""
181
+ if self._showing_placeholder:
182
+ return
183
+ try:
184
+ if self.focus_get() is self:
185
+ return
186
+ except (TclError, KeyError):
187
+ return
188
+ self._reparse() # value only; this runs inside the variable's write trace
189
+
190
+ def _reparse(self) -> bool:
191
+ """Re-derive `_value` from the display text; False if it will not parse."""
192
+ s = self.get().strip()
193
+ if s == '':
194
+ self._value = None if self._allow_blank else self._value
195
+ return True
196
+ try:
197
+ self._value = s if self._value_format is None else self._fmt.parse(s, self._value_format)
198
+ except ValueError:
199
+ return False # keep prior value on parse failure
200
+ return True
177
201
 
178
202
  def _check_if_changed(self):
179
203
  """Emit <<Change>> event if parsed value changed since focus-in."""
@@ -325,17 +349,8 @@ class TextEntryPart(ValidationMixin, Entry):
325
349
  """Parse display text, update value, and normalize display (called on FocusOut/Return)."""
326
350
  if self._showing_placeholder:
327
351
  return
328
- s = self.get().strip()
329
-
330
- # parse once
331
- if s == '':
332
- self._value = None if self._allow_blank else self._value
333
- else:
334
- try:
335
- self._value = s if self._value_format is None else self._fmt.parse(s, self._value_format)
336
- except ValueError:
337
- # keep prior value on parse failure
338
- return
352
+ if not self._reparse():
353
+ return
339
354
 
340
355
  # Format the value for display
341
356
  new_text = self._format_value(self._value)
@@ -352,10 +352,9 @@ class _MultilineCore(tk.Frame):
352
352
  self.value = text
353
353
 
354
354
  def _on_signal_change(self, new_value) -> None:
355
- if new_value is not None:
356
- text = str(new_value)
357
- if self._signal_text() != text:
358
- self._apply_signal_text(text)
355
+ text = str(new_value or "")
356
+ if self._signal_text() != text:
357
+ self._apply_signal_text(text)
359
358
 
360
359
  # ── dirty tracking ────────────────────────────────────────────────────
361
360
 
@@ -227,6 +227,8 @@ class TextArea(PublicWidgetBase):
227
227
  Args:
228
228
  text: Text to insert at the current cursor position.
229
229
  """
230
+ if self._internal._showing_placeholder:
231
+ self._internal._hide_placeholder()
230
232
  self._internal._core.insert("insert", text)
231
233
 
232
234
  def append(self, text: str) -> None:
@@ -238,6 +240,8 @@ class TextArea(PublicWidgetBase):
238
240
  Args:
239
241
  text: Text to add at the end of the content.
240
242
  """
243
+ if self._internal._showing_placeholder:
244
+ self._internal._hide_placeholder()
241
245
  self._internal._core.insert("end-1c", text)
242
246
 
243
247
  def select_all(self) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bootstack
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Build desktop GUI apps in pure Python and ship them as a standalone executable — built on Tk, no Tkinter boilerplate.
5
5
  Author-email: Israel Dryer <israel.dryer@gmail.com>
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes
File without changes