"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ThemePickers = exports.PartPicker = exports.themePickerStyles = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const react_native_1 = require("react-native");
const text_1 = require("@fluentui-react-native/text");
const applyTheme_1 = require("./applyTheme");
const CustomThemes_1 = require("./CustomThemes");
const MenuPicker_1 = require("../TestComponents/Common/MenuPicker");
exports.themePickerStyles = react_native_1.StyleSheet.create({
    pickerRoot: {
        flexDirection: 'row',
    },
    picker: {
        flexDirection: 'row',
        alignItems: 'center',
        padding: 4,
    },
    dropdown: {
        height: 30,
        width: 120,
        fontSize: 12,
    },
});
const PartPicker = (props) => {
    const { initial, contents, onChange } = props;
    const [selected, setSelected] = React.useState(initial);
    const onValueChange = React.useCallback((value) => {
        setSelected(value);
        onChange(value);
    }, [setSelected, onChange]);
    return React.createElement(MenuPicker_1.MenuPicker, { selected: selected, style: exports.themePickerStyles.dropdown, onChange: onValueChange, collection: contents });
};
exports.PartPicker = PartPicker;
const PickerLabel = text_1.TextV1.customize({ variant: 'bodySemibold' });
const ThemePickers = () => {
    const onThemeSelected = React.useCallback((newTheme) => {
        CustomThemes_1.testerTheme.themeName = newTheme;
    }, []);
    const onAppearanceChange = React.useCallback((newAppearance) => {
        CustomThemes_1.testerTheme.appearance = newAppearance;
    }, []);
    return (React.createElement(react_native_1.View, { style: exports.themePickerStyles.pickerRoot },
        React.createElement(react_native_1.View, { style: exports.themePickerStyles.picker },
            React.createElement(PickerLabel, null, "Theme: "),
            React.createElement(exports.PartPicker, { initial: CustomThemes_1.testerTheme.themeName, onChange: onThemeSelected, contents: applyTheme_1.themeChoices })),
        React.createElement(react_native_1.View, { style: exports.themePickerStyles.picker },
            React.createElement(PickerLabel, null, "Light/Dark: "),
            React.createElement(exports.PartPicker, { initial: CustomThemes_1.testerTheme.appearance, onChange: onAppearanceChange, contents: CustomThemes_1.lightnessOptions }))));
};
exports.ThemePickers = ThemePickers;
//# sourceMappingURL=ThemePickers.js.map