module Material3
# Material3Theme (the live theme) is exposed as a QML root-context
# property by ThemeManager.install_qml() at runtime -- NOT listed here,
# and NOT a qmlRegisterSingletonInstance module singleton. Registering a
# Python singleton under this same module URI alongside these qmldir
# component files triggers a reproducible Qt/PySide6 bug where components
# with a nested child Rectangle (most of ours, for the state-layer
# overlay) fail to compile. See docs/AUDIT.md for the isolated repro.
# Because it's a context property, QML referencing Material3Theme does
# not even need "import Material3" -- only the component types below do.
#
# Component names are prefixed with "M3" on purpose: QML gives every type
# file in a module implicit, unqualified visibility of its *own*
# directory's other registered types. A component named e.g. "Button"
# living next to a qmldir entry "Button 1.0 Button.qml" has its own
# `Button { ... }` base-type reference resolve back to itself (even when
# explicitly namespace-qualified against QtQuick.Controls), which breaks
# at load time. Prefixing avoids that whole class of bug too.
M3Button 1.0 M3Button.qml
M3IconButton 1.0 M3IconButton.qml
M3Card 1.0 M3Card.qml
M3TextField 1.0 M3TextField.qml
M3Switch 1.0 M3Switch.qml
M3TopAppBar 1.0 M3TopAppBar.qml
M3FAB 1.0 M3FAB.qml
