"""
lara_django_material forms package.

This package contains all forms organized into sub-modules:
- base: Common utilities (CustomFormRenderer, SearchableSelectMultiple),
        ExtraData forms, PartDeviceClass forms
- parts: Part, PartShape forms
- devices: Device, DeviceShape forms
- device_setups: DeviceSetup, DeviceSetupShape forms
- labware: Labware, LabwareClass, LabwareShape, WellShape forms
"""

from .base import (
    CustomFormRenderer,
    ExtraDataCreateForm,
    ExtraDataUpdateForm,
    PartDeviceClassCreateForm,
    PartDeviceClassUpdateForm,
    SearchableSelectMultiple,
)
from .device_setups import (
    DeviceSetupCreateForm,
    DeviceSetupShapeCreateForm,
    DeviceSetupShapeUpdateForm,
    DeviceSetupUpdateForm,
)
from .devices import (
    DeviceCreateForm,
    DeviceShapeCreateForm,
    DeviceShapeUpdateForm,
    DeviceUpdateForm,
)
from .labware import (
    LabwareClassCreateForm,
    LabwareClassUpdateForm,
    LabwareCreateForm,
    LabwareShapeCreateForm,
    LabwareShapeUpdateForm,
    LabwareUpdateForm,
    WellShapeCreateForm,
    WellShapeUpdateForm,
)
from .parts import (
    PartCreateForm,
    PartShapeCreateForm,
    PartShapeUpdateForm,
    PartUpdateForm,
)

__all__ = [
    "CustomFormRenderer",
    "DeviceCreateForm",
    "DeviceSetupCreateForm",
    "DeviceSetupShapeCreateForm",
    "DeviceSetupShapeUpdateForm",
    "DeviceSetupUpdateForm",
    "DeviceShapeCreateForm",
    "DeviceShapeUpdateForm",
    "DeviceUpdateForm",
    "ExtraDataCreateForm",
    "ExtraDataUpdateForm",
    "LabwareClassCreateForm",
    "LabwareClassUpdateForm",
    "LabwareCreateForm",
    "LabwareShapeCreateForm",
    "LabwareShapeUpdateForm",
    "LabwareUpdateForm",
    "PartCreateForm",
    "PartDeviceClassCreateForm",
    "PartDeviceClassUpdateForm",
    "PartShapeCreateForm",
    "PartShapeUpdateForm",
    "PartUpdateForm",
    "SearchableSelectMultiple",
    "WellShapeCreateForm",
    "WellShapeUpdateForm",
]
