dars-framework 1.0.0__py3-none-any.whl
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.
- dars/__init__.py +0 -0
- dars/all.py +52 -0
- dars/cli/__init__.py +0 -0
- dars/cli/hot_reload.py +33 -0
- dars/cli/main.py +637 -0
- dars/cli/preview.py +419 -0
- dars/cli/translations.py +389 -0
- dars/components/__init__.py +0 -0
- dars/components/advanced/__init__.py +8 -0
- dars/components/advanced/accordion.py +21 -0
- dars/components/advanced/card.py +28 -0
- dars/components/advanced/modal.py +40 -0
- dars/components/advanced/navbar.py +31 -0
- dars/components/advanced/table.py +24 -0
- dars/components/advanced/tabs.py +26 -0
- dars/components/basic/__init__.py +34 -0
- dars/components/basic/button.py +29 -0
- dars/components/basic/checkbox.py +34 -0
- dars/components/basic/container.py +23 -0
- dars/components/basic/datepicker.py +139 -0
- dars/components/basic/image.py +36 -0
- dars/components/basic/input.py +50 -0
- dars/components/basic/link.py +31 -0
- dars/components/basic/page.py +20 -0
- dars/components/basic/progressbar.py +17 -0
- dars/components/basic/radiobutton.py +34 -0
- dars/components/basic/select.py +81 -0
- dars/components/basic/slider.py +63 -0
- dars/components/basic/spinner.py +11 -0
- dars/components/basic/text.py +22 -0
- dars/components/basic/textarea.py +46 -0
- dars/components/basic/tooltip.py +18 -0
- dars/components/layout/__init__.py +0 -0
- dars/components/layout/anchor.py +13 -0
- dars/components/layout/flex.py +26 -0
- dars/components/layout/grid.py +45 -0
- dars/core/__init__.py +0 -0
- dars/core/app.py +630 -0
- dars/core/component.py +25 -0
- dars/core/events.py +101 -0
- dars/core/properties.py +127 -0
- dars/docs/__init__.py +0 -0
- dars/exporters/__init__.py +0 -0
- dars/exporters/base.py +69 -0
- dars/exporters/web/__init__.py +0 -0
- dars/exporters/web/html_css_js.py +1406 -0
- dars/scripts/__init__.py +0 -0
- dars/scripts/script.py +38 -0
- dars/templates/__init__.py +0 -0
- dars/templates/examples/advanced/all_components_demo.py +87 -0
- dars/templates/examples/advanced/dashboard.py +440 -0
- dars/templates/examples/advanced/modern_web_app.py +452 -0
- dars/templates/examples/basic/flex_layout_responsive.py +13 -0
- dars/templates/examples/basic/form_components.py +516 -0
- dars/templates/examples/basic/grid_layout_responsive.py +13 -0
- dars/templates/examples/basic/hello_world.py +104 -0
- dars/templates/examples/basic/layout_multipage_demo.py +23 -0
- dars/templates/examples/basic/multipage_example.py +70 -0
- dars/templates/examples/basic/pwa_custom_icons.py +31 -0
- dars/templates/examples/basic/simple_form.py +377 -0
- dars/templates/examples/demo/complete_app.py +720 -0
- dars/templates/html/__init__.py +0 -0
- dars_framework-1.0.0.dist-info/METADATA +146 -0
- dars_framework-1.0.0.dist-info/RECORD +68 -0
- dars_framework-1.0.0.dist-info/WHEEL +5 -0
- dars_framework-1.0.0.dist-info/entry_points.txt +2 -0
- dars_framework-1.0.0.dist-info/licenses/LICENSE +21 -0
- dars_framework-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from dars.components.layout.grid import LayoutBase
|
|
2
|
+
from typing import List, Optional
|
|
3
|
+
|
|
4
|
+
class FlexLayout(LayoutBase):
|
|
5
|
+
"""
|
|
6
|
+
Responsive flexbox layout component. Allows direction, wrap, justify, align, and anchor points for children.
|
|
7
|
+
"""
|
|
8
|
+
def __init__(self,
|
|
9
|
+
children: Optional[List[object]] = None,
|
|
10
|
+
direction: str = "row",
|
|
11
|
+
wrap: str = "wrap",
|
|
12
|
+
justify: str = "flex-start",
|
|
13
|
+
align: str = "stretch",
|
|
14
|
+
gap: str = "16px",
|
|
15
|
+
anchors: Optional[dict] = None,
|
|
16
|
+
**kwargs):
|
|
17
|
+
super().__init__(children=children, anchors=anchors, **kwargs)
|
|
18
|
+
self.direction = direction
|
|
19
|
+
self.wrap = wrap
|
|
20
|
+
self.justify = justify
|
|
21
|
+
self.align = align
|
|
22
|
+
self.gap = gap
|
|
23
|
+
|
|
24
|
+
def add_child(self, child, anchor: Optional[str] = None):
|
|
25
|
+
self.children.append(child)
|
|
26
|
+
# Could store anchor info per child if needed
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from dars.core.component import Component
|
|
2
|
+
from typing import List, Optional, Dict, Any
|
|
3
|
+
|
|
4
|
+
class LayoutBase(Component):
|
|
5
|
+
"""
|
|
6
|
+
Base class for all layout components. Allows adding children and anchor/positioning info.
|
|
7
|
+
"""
|
|
8
|
+
def __init__(self, children: Optional[List[Component]] = None, anchors: Optional[Dict[str, Any]] = None, **kwargs):
|
|
9
|
+
super().__init__(**kwargs)
|
|
10
|
+
self.children = children or []
|
|
11
|
+
self.anchors = anchors or {}
|
|
12
|
+
|
|
13
|
+
def add_child(self, child: Component):
|
|
14
|
+
self.children.append(child)
|
|
15
|
+
|
|
16
|
+
def render(self, exporter=None):
|
|
17
|
+
# Layouts se renderizan solo por el exporter, pero se requiere para evitar TypeError
|
|
18
|
+
return ""
|
|
19
|
+
|
|
20
|
+
class GridLayout(LayoutBase):
|
|
21
|
+
"""
|
|
22
|
+
Responsive grid layout component. Supports rows/columns and anchor points for children.
|
|
23
|
+
"""
|
|
24
|
+
def __init__(self, rows: int = 1, cols: int = 1, children: Optional[List[Component]] = None, anchors: Optional[Dict[str, Any]] = None, gap: str = "16px", **kwargs):
|
|
25
|
+
super().__init__(children=children, anchors=anchors, **kwargs)
|
|
26
|
+
self.rows = rows
|
|
27
|
+
self.cols = cols
|
|
28
|
+
self.gap = gap
|
|
29
|
+
|
|
30
|
+
def add_child(self, child: Component, row: int = 0, col: int = 0, row_span: int = 1, col_span: int = 1, anchor: Optional[str] = None):
|
|
31
|
+
# Store child with layout info
|
|
32
|
+
if not hasattr(self, '_child_layout'):
|
|
33
|
+
self._child_layout = []
|
|
34
|
+
self._child_layout.append({
|
|
35
|
+
'child': child,
|
|
36
|
+
'row': row,
|
|
37
|
+
'col': col,
|
|
38
|
+
'row_span': row_span,
|
|
39
|
+
'col_span': col_span,
|
|
40
|
+
'anchor': anchor
|
|
41
|
+
})
|
|
42
|
+
self.children.append(child)
|
|
43
|
+
|
|
44
|
+
def get_child_layout(self):
|
|
45
|
+
return getattr(self, '_child_layout', [])
|
dars/core/__init__.py
ADDED
|
File without changes
|