export { KitFormValidation, HtmlInputKind, NumberInputFormat, KitInputConstraints, KitValidationResult, KitValidityState } from "@kit/kit.slint";
// SPDX-License-Identifier: GPL-3.0-or-later
import { KitSlider, RangeThumb, NavigationStep, KitTheme, KitThemes } from "@kit/kit.slint";
export component App inherits Window {
    title: "KitSlider example";
    preferred-width: 520px;
    preferred-height: 220px;
    max-width: 100000px;
    max-height: 100000px;
    background: root.theme.canvas;
    in-out property <KitTheme> theme: KitThemes.light;
    in property <int> lower;
    in property <int> upper;
    callback position(RangeThumb, float);
    callback navigate(RangeThumb, NavigationStep);
    callback begin();
    callback commit();
    callback cancel();
    VerticalLayout {
        padding: 24px;
        spacing: 16px;
        alignment: start;
        control := KitSlider { theme: root.theme; label: "Volume"; position: root.upper * 0.01; value-label: root.upper + "%";
            position-requested(value) => { root.position(RangeThumb.upper, value); }
            navigate(step) => { root.navigate(RangeThumb.upper, step); }
            gesture-started => { root.begin(); } committed => { root.commit(); } cancelled => { root.cancel(); }
        }
        result := Text { text: "Volume: " + root.upper + "%"; color: root.theme.text-primary; }
    }

}
