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
dars/__init__.py
ADDED
|
File without changes
|
dars/all.py
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Barrel import for all Dars components and core modules
|
|
2
|
+
# Usage: from dars.all import *
|
|
3
|
+
|
|
4
|
+
# Core
|
|
5
|
+
from dars.core.app import App
|
|
6
|
+
from dars.core.component import Component
|
|
7
|
+
from dars.core.events import EventManager
|
|
8
|
+
|
|
9
|
+
# Basic Components
|
|
10
|
+
from dars.components.basic.button import Button
|
|
11
|
+
from dars.components.basic.checkbox import Checkbox
|
|
12
|
+
from dars.components.basic.container import Container
|
|
13
|
+
from dars.components.basic.datepicker import DatePicker
|
|
14
|
+
from dars.components.basic.image import Image
|
|
15
|
+
from dars.components.basic.input import Input
|
|
16
|
+
from dars.components.basic.link import Link
|
|
17
|
+
from dars.components.basic.page import Page
|
|
18
|
+
from dars.components.basic.progressbar import ProgressBar
|
|
19
|
+
from dars.components.basic.radiobutton import RadioButton
|
|
20
|
+
from dars.components.basic.select import Select
|
|
21
|
+
from dars.components.basic.slider import Slider
|
|
22
|
+
from dars.components.basic.spinner import Spinner
|
|
23
|
+
from dars.components.basic.text import Text
|
|
24
|
+
from dars.components.basic.textarea import Textarea
|
|
25
|
+
from dars.components.basic.tooltip import Tooltip
|
|
26
|
+
|
|
27
|
+
# Advanced Components
|
|
28
|
+
from dars.components.advanced.accordion import Accordion
|
|
29
|
+
from dars.components.advanced.card import Card
|
|
30
|
+
from dars.components.advanced.modal import Modal
|
|
31
|
+
from dars.components.advanced.navbar import Navbar
|
|
32
|
+
from dars.components.advanced.table import Table
|
|
33
|
+
from dars.components.advanced.tabs import Tabs
|
|
34
|
+
|
|
35
|
+
# Layout
|
|
36
|
+
from dars.components.layout.grid import GridLayout, LayoutBase
|
|
37
|
+
from dars.components.layout.flex import FlexLayout
|
|
38
|
+
from dars.components.layout.anchor import AnchorPoint
|
|
39
|
+
|
|
40
|
+
# Exporters (optional, for direct use)
|
|
41
|
+
# from dars.exporters.web.html_css_js import HTMLCSSJSExporter
|
|
42
|
+
|
|
43
|
+
# CLI (optional, for advanced usage)
|
|
44
|
+
# from dars.cli.main import main as dars_cli_main
|
|
45
|
+
|
|
46
|
+
__all__ = [
|
|
47
|
+
'App', 'Component', 'EventManager',
|
|
48
|
+
'Button', 'Checkbox', 'Container', 'DatePicker', 'Image', 'Input', 'Link', 'Page', 'ProgressBar',
|
|
49
|
+
'RadioButton', 'Select', 'Slider', 'Spinner', 'Text', 'Textarea', 'Tooltip',
|
|
50
|
+
'Accordion', 'Card', 'Modal', 'Navbar', 'Table', 'Tabs',
|
|
51
|
+
'GridLayout', 'FlexLayout', 'LayoutBase', 'AnchorPoint',
|
|
52
|
+
]
|
dars/cli/__init__.py
ADDED
|
File without changes
|
dars/cli/hot_reload.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import time
|
|
3
|
+
import threading
|
|
4
|
+
import importlib
|
|
5
|
+
|
|
6
|
+
class FileWatcher:
|
|
7
|
+
"""Watches a file for changes and triggers a callback when it changes."""
|
|
8
|
+
def __init__(self, path, on_change, poll_interval=0.5):
|
|
9
|
+
self.path = path
|
|
10
|
+
self.on_change = on_change
|
|
11
|
+
self.poll_interval = poll_interval
|
|
12
|
+
self._last_mtime = None
|
|
13
|
+
self._stop_event = threading.Event()
|
|
14
|
+
self._thread = threading.Thread(target=self._watch, daemon=True)
|
|
15
|
+
|
|
16
|
+
def start(self):
|
|
17
|
+
self._last_mtime = os.path.getmtime(self.path)
|
|
18
|
+
self._thread.start()
|
|
19
|
+
|
|
20
|
+
def stop(self):
|
|
21
|
+
self._stop_event.set()
|
|
22
|
+
self._thread.join()
|
|
23
|
+
|
|
24
|
+
def _watch(self):
|
|
25
|
+
while not self._stop_event.is_set():
|
|
26
|
+
try:
|
|
27
|
+
mtime = os.path.getmtime(self.path)
|
|
28
|
+
if mtime != self._last_mtime:
|
|
29
|
+
self._last_mtime = mtime
|
|
30
|
+
self.on_change()
|
|
31
|
+
except Exception:
|
|
32
|
+
pass
|
|
33
|
+
time.sleep(self.poll_interval)
|