dars-framework 1.0.8__tar.gz → 1.0.9__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 (79) hide show
  1. {dars_framework-1.0.8 → dars_framework-1.0.9}/PKG-INFO +4 -3
  2. {dars_framework-1.0.8 → dars_framework-1.0.9}/README.md +3 -2
  3. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/all.py +4 -2
  4. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/component.py +3 -1
  5. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/html_css_js.py +10 -7
  6. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/version.py +2 -2
  7. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/PKG-INFO +4 -3
  8. {dars_framework-1.0.8 → dars_framework-1.0.9}/pyproject.toml +1 -1
  9. {dars_framework-1.0.8 → dars_framework-1.0.9}/LICENSE +0 -0
  10. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/__init__.py +0 -0
  11. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/__init__.py +0 -0
  12. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/hot_reload.py +0 -0
  13. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/main.py +0 -0
  14. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/preview.py +0 -0
  15. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/translations.py +0 -0
  16. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/__init__.py +0 -0
  17. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/__init__.py +0 -0
  18. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/accordion.py +0 -0
  19. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/card.py +0 -0
  20. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/modal.py +0 -0
  21. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/navbar.py +0 -0
  22. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/table.py +0 -0
  23. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/tabs.py +0 -0
  24. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/__init__.py +0 -0
  25. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/button.py +0 -0
  26. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/checkbox.py +0 -0
  27. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/container.py +0 -0
  28. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/datepicker.py +0 -0
  29. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/image.py +0 -0
  30. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/input.py +0 -0
  31. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/link.py +0 -0
  32. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/page.py +0 -0
  33. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/progressbar.py +0 -0
  34. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/radiobutton.py +0 -0
  35. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/select.py +0 -0
  36. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/slider.py +0 -0
  37. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/spinner.py +0 -0
  38. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/text.py +0 -0
  39. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/textarea.py +0 -0
  40. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/tooltip.py +0 -0
  41. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/__init__.py +0 -0
  42. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/anchor.py +0 -0
  43. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/flex.py +0 -0
  44. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/grid.py +0 -0
  45. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/__init__.py +0 -0
  46. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/app.py +0 -0
  47. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/events.py +0 -0
  48. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/properties.py +0 -0
  49. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/docs/__init__.py +0 -0
  50. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/__init__.py +0 -0
  51. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/base.py +0 -0
  52. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_OLD4.py +0 -0
  53. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_old.py +0 -0
  54. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_old2.py +0 -0
  55. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/__init__.py +0 -0
  56. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/__init__.py +0 -0
  57. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/dscript.py +0 -0
  58. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/script.py +0 -0
  59. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/__init__.py +0 -0
  60. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/advanced_modal_demo.py +0 -0
  61. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/all_components_demo.py +0 -0
  62. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/dashboard.py +0 -0
  63. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/modern_web_app.py +0 -0
  64. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/flex_layout_responsive.py +0 -0
  65. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/form_components.py +0 -0
  66. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/grid_layout_responsive.py +0 -0
  67. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/hello_world.py +0 -0
  68. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/layout_multipage_demo.py +0 -0
  69. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/multipage_example.py +0 -0
  70. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/pwa_custom_icons.py +0 -0
  71. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/simple_form.py +0 -0
  72. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/demo/complete_app.py +0 -0
  73. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/html/__init__.py +0 -0
  74. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/SOURCES.txt +0 -0
  75. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/dependency_links.txt +0 -0
  76. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/entry_points.txt +0 -0
  77. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/requires.txt +0 -0
  78. {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/top_level.txt +0 -0
  79. {dars_framework-1.0.8 → dars_framework-1.0.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dars-framework
3
- Version: 1.0.8
3
+ Version: 1.0.9
4
4
  Summary: Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
5
5
  Author-email: ztamdev <zondax2009@gmail.com>
6
6
  License: MIT License
@@ -35,8 +35,6 @@ Dynamic: license-file
35
35
 
36
36
  # Dars Framework
37
37
 
38
- Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
39
-
40
38
  Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
41
39
 
42
40
  > Some Javascript or frontend stack required.
@@ -50,6 +48,7 @@ pip install dars-framework
50
48
  - Preview instantly with hot-reload using `app.rTimeCompile()`.
51
49
  - Export your app to static web files with a single CLI command.
52
50
  - Use multipage, layouts, scripts, and more—see docs for advanced features.
51
+ - For mor information visit the [Documentation](dars/docs/index.md)
53
52
 
54
53
  ## Quick Example: Your First App
55
54
 
@@ -109,6 +108,8 @@ if __name__ == "__main__":
109
108
  - [Project Roadmap](ROADMAP.md)
110
109
  - [Getting Started](dars/docs/getting_started.md)
111
110
  - [Components Documentation](dars/docs/components.md)
111
+ - [Custom Components](dars/docs/custom_components.md)
112
+ - [Event Handling](dars/docs/events.md)
112
113
  - [Exporters](dars/docs/exporters.md)
113
114
  - [Scripts System](dars/docs/scripts.md)
114
115
  - [CLI usage and commands](dars/docs/cli.md)
@@ -1,7 +1,5 @@
1
1
  # Dars Framework
2
2
 
3
- Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
4
-
5
3
  Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
6
4
 
7
5
  > Some Javascript or frontend stack required.
@@ -15,6 +13,7 @@ pip install dars-framework
15
13
  - Preview instantly with hot-reload using `app.rTimeCompile()`.
16
14
  - Export your app to static web files with a single CLI command.
17
15
  - Use multipage, layouts, scripts, and more—see docs for advanced features.
16
+ - For mor information visit the [Documentation](dars/docs/index.md)
18
17
 
19
18
  ## Quick Example: Your First App
20
19
 
@@ -74,6 +73,8 @@ if __name__ == "__main__":
74
73
  - [Project Roadmap](ROADMAP.md)
75
74
  - [Getting Started](dars/docs/getting_started.md)
76
75
  - [Components Documentation](dars/docs/components.md)
76
+ - [Custom Components](dars/docs/custom_components.md)
77
+ - [Event Handling](dars/docs/events.md)
77
78
  - [Exporters](dars/docs/exporters.md)
78
79
  - [Scripts System](dars/docs/scripts.md)
79
80
  - [CLI usage and commands](dars/docs/cli.md)
@@ -43,7 +43,8 @@ from dars.scripts.dscript import dScript
43
43
 
44
44
  # Exporters (optional, for direct use)
45
45
  from dars.exporters.web.html_css_js import HTMLCSSJSExporter
46
-
46
+ from dars.core.events import EventTypes
47
+ from dars.core.events import EventHandler, EventEmitter, EventManager
47
48
  # CLI (optional, for advanced usage)
48
49
  # from dars.cli.main import main as dars_cli_main
49
50
 
@@ -53,5 +54,6 @@ __all__ = [
53
54
  'RadioButton', 'Select', 'Slider', 'Spinner', 'Text', 'Textarea', 'Tooltip',
54
55
  'Accordion', 'Card', 'Modal', 'Navbar', 'Table', 'Tabs',
55
56
  'GridLayout', 'FlexLayout', 'LayoutBase', 'AnchorPoint',
56
- 'InlineScript', 'FileScript', 'dScript',
57
+ 'InlineScript', 'FileScript', 'dScript', 'HTMLCSSJSExporter',
58
+ 'EventTypes', 'EventHandler', 'EventEmitter', 'EventManager'
57
59
  ]
@@ -78,11 +78,13 @@ class Component(ABC):
78
78
  self.children: List[Component] = []
79
79
  self.parent: Optional[Component] = None
80
80
  self.id: Optional[str] = props.get('id')
81
- self.class_name: Optional[str] = props.get('class_name')
81
+ self.class_name: str = props.get("class_name", self.__class__.__name__)
82
82
  self.style: Dict[str, Any] = props.get('style', {})
83
83
  self.events: Dict[str, Callable] = {}
84
84
 
85
85
  def add_child(self, child: 'Component'):
86
+ if isinstance(child, type) and issubclass(child, Component):
87
+ raise TypeError(f"The class {child.__name__} was passed instead of an instance. You should use {child.__name__}(...).")
86
88
  child.parent = self
87
89
  self.children.append(child)
88
90
 
@@ -1219,7 +1219,9 @@ body {
1219
1219
  return comp_id
1220
1220
 
1221
1221
  def render_component(self, component: Component) -> str:
1222
- """Renderiza un componente a HTML"""
1222
+ if not isinstance(component, Component):
1223
+ raise TypeError(f"render_component wait to recived an instance of Component, but recive an {component}")
1224
+ """Render an HTML component"""
1223
1225
  from dars.components.basic.page import Page
1224
1226
  from dars.components.layout.grid import GridLayout
1225
1227
  from dars.components.layout.flex import FlexLayout
@@ -1238,12 +1240,13 @@ body {
1238
1240
  is_custom_component = False
1239
1241
  break
1240
1242
 
1241
- # Solo llamar al método render() del componente si es personalizado
1242
- if is_custom_component and hasattr(component, 'render') and callable(component.render):
1243
- try:
1244
- return component.render(self) # Pasar el exporter como argumento
1245
- except Exception as e:
1246
- print(f"Error al renderizar componente personalizado {component.__class__.__name__}: {e}")
1243
+ if isinstance(component, Component) and is_custom_component:
1244
+ if hasattr(component, 'render') and callable(component.render):
1245
+ try:
1246
+ return component.render(self)
1247
+ except Exception as e:
1248
+ print(f"Error at rendering component {component.__class__.__name__}: {e}")
1249
+
1247
1250
 
1248
1251
  if isinstance(component, Page):
1249
1252
  return self.render_page(component)
@@ -1,2 +1,2 @@
1
- __version__ = "1.0.8"
2
- __release_url__ = "https://github.com/ZtaMDev/Dars-Framework/releases/tag/1.0.8"
1
+ __version__ = "1.0.9"
2
+ __release_url__ = "https://github.com/ZtaMDev/Dars-Framework/releases/tag/1.0.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dars-framework
3
- Version: 1.0.8
3
+ Version: 1.0.9
4
4
  Summary: Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
5
5
  Author-email: ztamdev <zondax2009@gmail.com>
6
6
  License: MIT License
@@ -35,8 +35,6 @@ Dynamic: license-file
35
35
 
36
36
  # Dars Framework
37
37
 
38
- Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
39
-
40
38
  Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
41
39
 
42
40
  > Some Javascript or frontend stack required.
@@ -50,6 +48,7 @@ pip install dars-framework
50
48
  - Preview instantly with hot-reload using `app.rTimeCompile()`.
51
49
  - Export your app to static web files with a single CLI command.
52
50
  - Use multipage, layouts, scripts, and more—see docs for advanced features.
51
+ - For mor information visit the [Documentation](dars/docs/index.md)
53
52
 
54
53
  ## Quick Example: Your First App
55
54
 
@@ -109,6 +108,8 @@ if __name__ == "__main__":
109
108
  - [Project Roadmap](ROADMAP.md)
110
109
  - [Getting Started](dars/docs/getting_started.md)
111
110
  - [Components Documentation](dars/docs/components.md)
111
+ - [Custom Components](dars/docs/custom_components.md)
112
+ - [Event Handling](dars/docs/events.md)
112
113
  - [Exporters](dars/docs/exporters.md)
113
114
  - [Scripts System](dars/docs/scripts.md)
114
115
  - [CLI usage and commands](dars/docs/cli.md)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dars-framework"
3
- version = "1.0.8"
3
+ version = "1.0.9"
4
4
  description = "Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere."
5
5
  authors = [
6
6
  { name="ztamdev", email="zondax2009@gmail.com" }
File without changes
File without changes