// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

global MyGlobal := {
    property<length> custom_prop;
    property<color> color_prop;
    color_prop: red;
}

export SomeComp := Rectangle {
    property<length> foo;
}

global my_lowercase := {
    property <int> glob;
}


export X := Rectangle {
    x: MyGlobal.custom_prop;
    background: MyGlobal.blue;
//                       ^error{'MyGlobal' does not have a property 'blue'}
    y: SomeComp.foo;
//     ^error{Cannot access id 'SomeComp'}

    my_lowercase := Rectangle {
        clip: NativeStyleMetrics.color-scheme == ColorScheme.dark;
        //    ^error{Cannot access id 'NativeStyleMetrics'}
        visible: SlintInternal.color-scheme;
        //       ^error{Cannot access id 'SlintInternal'}
    }

    property <int> my_lowercase: 45;

    property<brush> xxx: my_lowercase.background;
    property<int> yyy: my_lowercase.glob; // error because this is not the global, but the local element
    //                              ^error{Element 'Rectangle' does not have a property 'glob'}

    property<int> zzz: self.my_lowercase;

}
