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.
Files changed (68) hide show
  1. dars/__init__.py +0 -0
  2. dars/all.py +52 -0
  3. dars/cli/__init__.py +0 -0
  4. dars/cli/hot_reload.py +33 -0
  5. dars/cli/main.py +637 -0
  6. dars/cli/preview.py +419 -0
  7. dars/cli/translations.py +389 -0
  8. dars/components/__init__.py +0 -0
  9. dars/components/advanced/__init__.py +8 -0
  10. dars/components/advanced/accordion.py +21 -0
  11. dars/components/advanced/card.py +28 -0
  12. dars/components/advanced/modal.py +40 -0
  13. dars/components/advanced/navbar.py +31 -0
  14. dars/components/advanced/table.py +24 -0
  15. dars/components/advanced/tabs.py +26 -0
  16. dars/components/basic/__init__.py +34 -0
  17. dars/components/basic/button.py +29 -0
  18. dars/components/basic/checkbox.py +34 -0
  19. dars/components/basic/container.py +23 -0
  20. dars/components/basic/datepicker.py +139 -0
  21. dars/components/basic/image.py +36 -0
  22. dars/components/basic/input.py +50 -0
  23. dars/components/basic/link.py +31 -0
  24. dars/components/basic/page.py +20 -0
  25. dars/components/basic/progressbar.py +17 -0
  26. dars/components/basic/radiobutton.py +34 -0
  27. dars/components/basic/select.py +81 -0
  28. dars/components/basic/slider.py +63 -0
  29. dars/components/basic/spinner.py +11 -0
  30. dars/components/basic/text.py +22 -0
  31. dars/components/basic/textarea.py +46 -0
  32. dars/components/basic/tooltip.py +18 -0
  33. dars/components/layout/__init__.py +0 -0
  34. dars/components/layout/anchor.py +13 -0
  35. dars/components/layout/flex.py +26 -0
  36. dars/components/layout/grid.py +45 -0
  37. dars/core/__init__.py +0 -0
  38. dars/core/app.py +630 -0
  39. dars/core/component.py +25 -0
  40. dars/core/events.py +101 -0
  41. dars/core/properties.py +127 -0
  42. dars/docs/__init__.py +0 -0
  43. dars/exporters/__init__.py +0 -0
  44. dars/exporters/base.py +69 -0
  45. dars/exporters/web/__init__.py +0 -0
  46. dars/exporters/web/html_css_js.py +1406 -0
  47. dars/scripts/__init__.py +0 -0
  48. dars/scripts/script.py +38 -0
  49. dars/templates/__init__.py +0 -0
  50. dars/templates/examples/advanced/all_components_demo.py +87 -0
  51. dars/templates/examples/advanced/dashboard.py +440 -0
  52. dars/templates/examples/advanced/modern_web_app.py +452 -0
  53. dars/templates/examples/basic/flex_layout_responsive.py +13 -0
  54. dars/templates/examples/basic/form_components.py +516 -0
  55. dars/templates/examples/basic/grid_layout_responsive.py +13 -0
  56. dars/templates/examples/basic/hello_world.py +104 -0
  57. dars/templates/examples/basic/layout_multipage_demo.py +23 -0
  58. dars/templates/examples/basic/multipage_example.py +70 -0
  59. dars/templates/examples/basic/pwa_custom_icons.py +31 -0
  60. dars/templates/examples/basic/simple_form.py +377 -0
  61. dars/templates/examples/demo/complete_app.py +720 -0
  62. dars/templates/html/__init__.py +0 -0
  63. dars_framework-1.0.0.dist-info/METADATA +146 -0
  64. dars_framework-1.0.0.dist-info/RECORD +68 -0
  65. dars_framework-1.0.0.dist-info/WHEEL +5 -0
  66. dars_framework-1.0.0.dist-info/entry_points.txt +2 -0
  67. dars_framework-1.0.0.dist-info/licenses/LICENSE +21 -0
  68. 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)