flexablelib-components 3.5.0__tar.gz → 3.5.2__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 (22) hide show
  1. {flexablelib_components-3.5.0/flexablelib_components.egg-info → flexablelib_components-3.5.2}/PKG-INFO +3 -3
  2. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/__init__.py +1 -1
  3. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/overlays.py +14 -4
  4. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2/flexablelib_components.egg-info}/PKG-INFO +3 -3
  5. flexablelib_components-3.5.2/flexablelib_components.egg-info/requires.txt +2 -0
  6. flexablelib_components-3.5.0/flexablelib_components.egg-info/requires.txt +0 -2
  7. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/LICENSE +0 -0
  8. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/MANIFEST.in +0 -0
  9. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/README.md +0 -0
  10. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/base.py +0 -0
  11. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/data.py +0 -0
  12. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/dates.py +0 -0
  13. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/display.py +0 -0
  14. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/inputs.py +0 -0
  15. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/media.py +0 -0
  16. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/navigation.py +0 -0
  17. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components/py.typed +0 -0
  18. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components.egg-info/SOURCES.txt +0 -0
  19. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components.egg-info/dependency_links.txt +0 -0
  20. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/flexablelib_components.egg-info/top_level.txt +0 -0
  21. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/setup.cfg +0 -0
  22. {flexablelib_components-3.5.0 → flexablelib_components-3.5.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flexablelib-components
3
- Version: 3.5.0
3
+ Version: 3.5.2
4
4
  Summary: Interactive terminal components for flexablelib: inputs, dates, tables, forms, menus, tabs, dialogs and more.
5
5
  Home-page: https://github.com/Opus-Perpetuus/flexablelib
6
6
  Author: Benjamin Ramirez
@@ -17,8 +17,8 @@ Classifier: Topic :: Software Development :: User Interfaces
17
17
  Requires-Python: >=3.8
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: flexablelib>=3.5.0
21
- Requires-Dist: flexablelib-tui>=3.5.0
20
+ Requires-Dist: flexablelib>=3.5.2
21
+ Requires-Dist: flexablelib-tui>=3.5.2
22
22
  Dynamic: author
23
23
  Dynamic: author-email
24
24
  Dynamic: classifier
@@ -17,7 +17,7 @@ keys to the focused component) and also renders on its own with
17
17
  ``render(width)``. See docs/COMPONENTS.md.
18
18
  """
19
19
 
20
- __version__ = '3.5.0'
20
+ __version__ = '3.5.2'
21
21
 
22
22
  from .base import Theme, DEFAULT_THEME, Input, Box, Button, frame
23
23
  from .inputs import (TextInput, PasswordInput, NumberInput, ExpressionInput,
@@ -67,12 +67,23 @@ class Modal(_Themed):
67
67
 
68
68
  def open(self, app):
69
69
  app.push(self)
70
- self.is_open = True
71
70
  return self
72
71
 
73
72
  def close(self):
74
- if self.app is not None and self.is_open:
75
- self.app.pop(self)
73
+ # Also when it was shown with app.push() rather than open(): what
74
+ # counts is being on the app's layers, not how it got there.
75
+ if self.app is not None and self in self.app.layers:
76
+ self.app.pop(self) # calls _popped()
77
+ else:
78
+ self._popped()
79
+
80
+ def _pushed(self):
81
+ self.is_open = True
82
+
83
+ def _popped(self):
84
+ # The app took it off the screen (close(), Escape, a button, or a
85
+ # form's on_cancel calling app.pop()): keep is_open in step and run
86
+ # on_close once.
76
87
  self.is_open = False
77
88
  if self.on_close is not None:
78
89
  self.on_close()
@@ -226,7 +237,6 @@ class Popover(Modal):
226
237
 
227
238
  def open(self, app, position='center', modal=True):
228
239
  app.push(self, position=position, modal=modal)
229
- self.is_open = True
230
240
  return self
231
241
 
232
242
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flexablelib-components
3
- Version: 3.5.0
3
+ Version: 3.5.2
4
4
  Summary: Interactive terminal components for flexablelib: inputs, dates, tables, forms, menus, tabs, dialogs and more.
5
5
  Home-page: https://github.com/Opus-Perpetuus/flexablelib
6
6
  Author: Benjamin Ramirez
@@ -17,8 +17,8 @@ Classifier: Topic :: Software Development :: User Interfaces
17
17
  Requires-Python: >=3.8
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: flexablelib>=3.5.0
21
- Requires-Dist: flexablelib-tui>=3.5.0
20
+ Requires-Dist: flexablelib>=3.5.2
21
+ Requires-Dist: flexablelib-tui>=3.5.2
22
22
  Dynamic: author
23
23
  Dynamic: author-email
24
24
  Dynamic: classifier
@@ -0,0 +1,2 @@
1
+ flexablelib>=3.5.2
2
+ flexablelib-tui>=3.5.2
@@ -1,2 +0,0 @@
1
- flexablelib>=3.5.0
2
- flexablelib-tui>=3.5.0