Modules
Dala — BEAM-on-device dalaile framework for Elixir.
Public API for Dala application functionality.
Behaviour for Dala application entry point.
Public API for native view components.
Public API for component registry operations.
Public API for component server operations.
Platform-aware Erlang distribution startup.
WiFi network information and configuration.
Android-specific device events. Symmetrical with Dala.Device.Ios.
Cross-platform device events and queries.
iOS-specific device events. Subscribers receive events that either have no
Android counterpart (e.g. :protected_data_did_become_available) or carry
extra iOS fidelity beyond what Dala.Device exposes cross-platform.
Public API for diff operations.
Convenience module that re-exports the unified event emission API.
Canonical address for an event in the Dala view tree.
Translates legacy event shapes ({:tap, tag}, {:change, tag, value},
{:tap, {:list, id, :select, index}}) into the canonical
{:dala_event, %Address{}, event, payload} envelope.
Behaviour for stateful event-owning components.
The unified event emission API for Dala.
Resolves a target: spec to a concrete delivery pid.
Throttle / debounce config for high-frequency event subscriptions.
Live tracing of Dala events for IEx debugging.
Biometric authentication (Face ID / Touch ID / fingerprint).
Bluetooth Low Energy (BLE) support.
Haptic feedback. No permission required on either platform.
QR code and barcode scanner.
Public API for list operations.
Public API for machine learning operations.
CoreML integration for iOS.
Public API for CoreML/EMLX operations.
Public API for ONNX operations.
Microphone recording and audio playback.
Native camera capture for photos and videos.
Photo / video library picker.
Helper to configure ML dependencies and settings for Dala apps.
Simple example of using ML in a Dala app.
Unified ML API for Dala apps on iOS and Android.
Nx integration helpers for Dala.
ETS-backed registry mapping screen name atoms to their modules.
Structured representation of a UI node in the Dala framework.
Permission management for Dala plugins.
Background execution keep-alive via a silent audio session.
System clipboard access. No permission required.
Runtime diagnostics that run inside a Dala app's BEAM. Designed to be invoked via Erlang RPC from a developer's machine to inspect the actual state of a deployed app.
Linking API for opening URLs and handling deep links.
Bridge between Phoenix LiveView and the Dala native WebView.
Device location (GPS / network).
OTP logger handler that routes Elixir Logger output to the platform's native system log.
Local and push notifications.
Request OS-level permissions from the user.
Simplified PubSub for Dala apps using Elixir's built-in Registry.
Maps component names (atoms) to their platform-specific NIF constructors.
Persistent app settings (UserDefaults on iOS, SharedPreferences on Android).
System share sheet. Opens the OS share dialog with a piece of content. Fire-and-forget — no response arrives in the BEAM.
Persistent key-value store for app state.
Behaviour and macros for self-describing component plugins.
Represents a single component schema within a plugin.
Evaluates the component definition DSL.
Typed event definitions for Dala plugins.
Lifecycle management for Dala plugins.
Generates native plugin manifests for iOS and Android platforms.
Generates binary protocol specifications from plugin schemas.
Registry for plugin management and lookup.
Interactive HTML preview and design tool for Dala UI components.
Interactive drag-and-drop UI design canvas for Dala.
Generates Elixir screen module source code from Dala UI trees.
Example UI trees for Dala Preview demonstration.
Standalone Phoenix LiveView server for Dala Preview Designer.
Root layout for Dala Preview LiveView.
Convenience module that re-exports the PubSub API.
Public API for rendering operations.
Behaviour and macros for Dala screens.
Central registry for tracking all active screens in the application.
Screen behaviour and Spark DSL entry point.
Android Bluetooth/WiFi setup automation for Dala.
iOS Bluetooth/WiFi setup automation for Dala.
Runtime setup helpers for Bluetooth and WiFi functionality.
The socket struct passed through all Dala.Screen and Dala.Ui.NativeView callbacks.
Spark DSL for declarative Dala screens.
Generates entity structs and Spark entity definitions from the Component registry.
Compile-time validation for Dala Spark DSL.
Spark DSL extension for declarative PubSub subscriptions in Dala screens.
Spark transformer that generates the mount/3 function from DSL attributes.
Spark transformer that handles PubSub subscriptions from DSL.
Spark transformer that generates the render/1 function from DSL entities.
Android-specific storage locations and MediaStore integration.
iOS-specific storage locations and media library integration.
Binary data handling via blob references.
System file picker. Opens the OS document picker (Files app on iOS, SAF on Android).
App-local file storage.
Remote inspection and interaction helpers for connected Dala apps.
Theme that follows the OS-level light / dark setting.
GenServer that re-resolves the active theme when the OS appearance flips.
Birch theme for Dala — warm parchment surfaces with a chestnut-brown accent.
Citrus theme for Dala — warm charcoal with a lime-green accent.
High-contrast greyscale dark theme.
High-contrast greyscale light theme.
Obsidian theme for Dala — deep blacks with a violet accent.
Design token system for Dala apps.
Central registry of all Dala UI components.
Diff engine for incremental UI updates.
Bidirectional JS bridge for the native WebView component.
Native alert dialogs, action sheets, and toast messages.
Data-driven list component.
Behaviour for native view components.
Structured representation of a UI node in the Dala framework.
Serializes a component tree to a binary command stream and passes it to the platform NIF in a single call. Compose (Android) and SwiftUI (iOS) handle diffing and rendering internally.
Accelerometer and gyroscope sensor data.
Backward-compatible delegate to Dala.Socket.
Thin wrapper around a props map for named, reusable styles.
UI component constructors for the Dala framework.
Screen wakelock — keep the device screen on.
Design state management
Mix Tasks
Runs the Dala onboarding integration tests, which verify that a new user can go from zero to a running app without hitting any friction that should have been caught automatically.
Generates a new Dala plugin scaffold. Usage: mix dala.plugin.new dala_camera
Preview Dala UI designs in a browser without a simulator/emulator.
One-command setup for Bluetooth and WiFi functionality in Dala apps.
Automated setup for iOS Bluetooth and WiFi functionality in Dala.