import * as React from 'react';
import { ComboBox, Stack, SelectableOptionMenuItemType, Toggle, } from '@fluentui/react';
import { useBoolean } from '@fluentui/react-hooks';
var options = [
    { key: 'Header1', text: 'First heading', itemType: SelectableOptionMenuItemType.Header },
    { key: 'A', text: 'Option A' },
    { key: 'B', text: 'Option B' },
    { key: 'C', text: 'Option C' },
    { key: 'D', text: 'Option D' },
    { key: 'divider', text: '-', itemType: SelectableOptionMenuItemType.Divider },
    { key: 'Header2', text: 'Second heading', itemType: SelectableOptionMenuItemType.Header },
    { key: 'E', text: 'Option E' },
    { key: 'F', text: 'Option F', disabled: true },
    { key: 'G', text: 'Option G' },
    { key: 'H', text: 'Option H' },
    { key: 'I', text: 'Option I' },
    { key: 'J', text: 'Option J' },
];
// Optional styling to make the example look nicer
var comboBoxStyles = { root: { maxWidth: 300 } };
var stackTokens = { childrenGap: 20 };
export var ComboBoxTogglesExample = function () {
    var _a = useBoolean(false), autoComplete = _a[0], toggleAutoComplete = _a[1].toggle;
    var _b = useBoolean(true), allowFreeform = _b[0], toggleAllowFreeform = _b[1].toggle;
    return (React.createElement(Stack, { horizontal: true, tokens: stackTokens },
        React.createElement(ComboBox, { label: "ComboBox with toggleable freeform/auto-complete", allowFreeform: allowFreeform, autoComplete: autoComplete ? 'on' : 'off', options: options, styles: comboBoxStyles, 
            // Force re-creating the component when the toggles change (for demo purposes)
            key: '' + autoComplete + allowFreeform }),
        React.createElement(Toggle, { label: "Allow freeform", checked: allowFreeform, onChange: toggleAllowFreeform }),
        React.createElement(Toggle, { label: "Auto-complete", checked: autoComplete, onChange: toggleAutoComplete })));
};
//# sourceMappingURL=ComboBox.Toggles.Example.js.map