LICENSE
README.md
pyproject.toml
src/janelkit/__init__.py
src/janelkit/diagnostics.py
src/janelkit/displays.py
src/janelkit/events.py
src/janelkit/ext.py
src/janelkit/inspect.py
src/janelkit/lifecycle.py
src/janelkit/locale.py
src/janelkit/session.py
src/janelkit/tasks.py
src/janelkit/testing.py
src/janelkit/themes.py
src/janelkit/timers.py
src/janelkit/video.py
src/janelkit/windows.py
src/janelkit.egg-info/PKG-INFO
src/janelkit.egg-info/SOURCES.txt
src/janelkit.egg-info/dependency_links.txt
src/janelkit.egg-info/entry_points.txt
src/janelkit.egg-info/requires.txt
src/janelkit.egg-info/top_level.txt
src/janelkit/cli/__init__.py
src/janelkit/cli/build.py
src/janelkit/cli/dev.py
src/janelkit/cli/main.py
src/janelkit/cli/migrate.py
src/janelkit/cli/scaffolding.py
src/janelkit/compiler/__init__.py
src/janelkit/compiler/ast_nodes.py
src/janelkit/compiler/cascade.py
src/janelkit/compiler/css.py
src/janelkit/compiler/css_parser.py
src/janelkit/compiler/elements.py
src/janelkit/compiler/expressions.py
src/janelkit/compiler/ir.py
src/janelkit/compiler/layout_choice.py
src/janelkit/compiler/legacy.py
src/janelkit/compiler/lowering.py
src/janelkit/compiler/qml_generator.py
src/janelkit/compiler/qml_interface.py
src/janelkit/compiler/script_analysis.py
src/janelkit/compiler/sfc_parser.py
src/janelkit/compiler/template_parser.py
src/janelkit/qml/DevError.qml
src/janelkit/qml/Janel/JkBlocker.qml
src/janelkit/qml/Janel/JkBox.qml
src/janelkit/qml/Janel/JkButton.qml
src/janelkit/qml/Janel/JkCheckBox.qml
src/janelkit/qml/Janel/JkColumn.qml
src/janelkit/qml/Janel/JkContext.qml
src/janelkit/qml/Janel/JkDeck.qml
src/janelkit/qml/Janel/JkFlex.qml
src/janelkit/qml/Janel/JkFlexColumn.qml
src/janelkit/qml/Janel/JkFlexRow.qml
src/janelkit/qml/Janel/JkHost.qml
src/janelkit/qml/Janel/JkHover.qml
src/janelkit/qml/Janel/JkImage.qml
src/janelkit/qml/Janel/JkList.qml
src/janelkit/qml/Janel/JkOutline.qml
src/janelkit/qml/Janel/JkProgressBar.qml
src/janelkit/qml/Janel/JkQtBox.qml
src/janelkit/qml/Janel/JkRadioGroup.qml
src/janelkit/qml/Janel/JkRemote.qml
src/janelkit/qml/Janel/JkRole.qml
src/janelkit/qml/Janel/JkRow.qml
src/janelkit/qml/Janel/JkScroll.qml
src/janelkit/qml/Janel/JkScroller.qml
src/janelkit/qml/Janel/JkSelect.qml
src/janelkit/qml/Janel/JkShadow.qml
src/janelkit/qml/Janel/JkShortcut.qml
src/janelkit/qml/Janel/JkSides.qml
src/janelkit/qml/Janel/JkSlider.qml
src/janelkit/qml/Janel/JkSpacer.qml
src/janelkit/qml/Janel/JkSwitch.qml
src/janelkit/qml/Janel/JkTabs.qml
src/janelkit/qml/Janel/JkTap.qml
src/janelkit/qml/Janel/JkText.qml
src/janelkit/qml/Janel/JkTextArea.qml
src/janelkit/qml/Janel/JkTextBox.qml
src/janelkit/qml/Janel/JkTextField.qml
src/janelkit/qml/Janel/JkTextInherit.qml
src/janelkit/qml/Janel/JkTextLinks.qml
src/janelkit/qml/Janel/JkTextSelect.qml
src/janelkit/qml/Janel/JkTransition.qml
src/janelkit/qml/Janel/JkTranslate.qml
src/janelkit/qml/Janel/JkVideo.qml
src/janelkit/qml/Janel/JkWindow.qml
src/janelkit/qml/Janel/flex.js
src/janelkit/qml/Janel/jk.js
src/janelkit/qml/Janel/qmldir
src/janelkit/qt_backend/__init__.py
src/janelkit/qt_backend/application.py
src/janelkit/qt_backend/events.py
src/janelkit/qt_backend/polish.py
src/janelkit/qt_backend/video_surface.py
src/janelkit/reactivity/__init__.py
src/janelkit/reactivity/collections.py
src/janelkit/reactivity/computed.py
src/janelkit/reactivity/effects.py
src/janelkit/reactivity/props.py
src/janelkit/reactivity/state.py
src/janelkit/reactivity/writes.py
src/janelkit/runtime/__init__.py
src/janelkit/runtime/component.py
src/janelkit/runtime/hosts.py
src/janelkit/runtime/list_model.py
src/janelkit/runtime/markdown.py
src/janelkit/runtime/qt_bridge.py
src/janelkit/templates/starter/README.md.tmpl
src/janelkit/templates/starter/dot-gitignore.tmpl
src/janelkit/templates/starter/main.py.tmpl
src/janelkit/templates/starter/pyproject.toml.tmpl
src/janelkit/templates/starter/assets/dot-gitkeep.tmpl
src/janelkit/templates/starter/src/App.janel.tmpl
src/janelkit/templates/starter/src/components/Counter.janel.tmpl
src/janelkit/templates/starter/src/pages/dot-gitkeep.tmpl
src/janelkit/templates/starter/src/services/users.py.tmpl
tests/test_accessibility_qt.py
tests/test_async_qt.py
tests/test_attribute_state_qt.py
tests/test_bind_descriptor_qt.py
tests/test_cli.py
tests/test_collections.py
tests/test_compiler.py
tests/test_components_qt.py
tests/test_computed_methods.py
tests/test_controls_qt.py
tests/test_dev.py
tests/test_each_transfer.py
tests/test_ext_gate.py
tests/test_ext_hosts_qt.py
tests/test_extensions.py
tests/test_flex_components.py
tests/test_flex_drag.py
tests/test_flex_events.py
tests/test_flex_inherit.py
tests/test_flex_lazy.py
tests/test_flex_position.py
tests/test_flex_qt.py
tests/test_flex_states.py
tests/test_hidden_gate.py
tests/test_inspect.py
tests/test_layout_choice.py
tests/test_lifecycle_qt.py
tests/test_list_qt.py
tests/test_list_scroll_qt.py
tests/test_lowercase_elements.py
tests/test_metrics_qt.py
tests/test_migrate.py
tests/test_package_imports.py
tests/test_parser.py
tests/test_public_api.py
tests/test_qml_elements_qt.py
tests/test_reactivity.py
tests/test_runtime_qt.py
tests/test_safe_markdown_qt.py
tests/test_scope_await_qt.py
tests/test_screens_qt.py
tests/test_script_module_qt.py
tests/test_scroll_control_qt.py
tests/test_session.py
tests/test_slots_qt.py
tests/test_text_select.py
tests/test_timers_qt.py
tests/test_transitions_qt.py
tests/test_video.py
tests/test_visibility_qt.py
tests/test_windows_qt.py
tests/test_writes.py