import { jsx as _jsx } from "react/jsx-runtime";
// -------------
// this is the registration of all default form elements
// -------------
import { ControlType, RegisterFormControl } from "./Utilities/RegisterUIControl";
import { TextFieldIcon } from "../CommonUI/Icon/TextFieldIcon";
import { XTextField } from "./Controls/XTextField";
import { TimePickerIcon } from "../CommonUI/Icon/TimePickerIcon";
import { XTimePicker } from "./Controls/XTimePicker";
import { TextAreaIcon } from "../CommonUI/Icon/TextAreaIcon";
import { TagIcon } from "../CommonUI/Icon/TagIcon";
import { XTagGroup } from "./Controls/XTagGroup";
import { SwitchIcon } from "../CommonUI/Icon/SwitchIcon";
import { XSwitch } from "./Controls/XSwitch";
import { SliderIcon } from "../CommonUI/Icon/SliderIcon";
import { XSlider } from "./Controls/XSlider";
import { SelectBoxIcon } from "../CommonUI/Icon/SelectBoxIcon";
import { XSelectbox } from "./Controls/XSelectbox";
import { RatingIcon } from "../CommonUI/Icon/RatingIcon";
import { XRating } from "./Controls/XRating";
import { RadioListIcon } from "../CommonUI/Icon/RadioListIcon";
import { XRadioGroup } from "./Controls/XRadioGroup";
import { XPasswordBox } from "./Controls/XPasswordBox";
import { NumberboxIcon } from "../CommonUI/Icon/NumberboxIcon";
import { XNumberBox } from "./Controls/XNumberBox";
import { ListEntryIcon } from "../CommonUI/Icon/ListEntryIcon";
import { XListEntry } from "./Controls/XListEntry";
import { ButtonIcon } from "../CommonUI/Icon/ButtonIcon";
import { XLink } from "./Controls/XLink";
import { LabelIcon } from "../CommonUI/Icon/LabelIcon";
import { XLabel } from "./Controls/XLabel";
import { HeadingIcon } from "../CommonUI/Icon/HeadingIcon";
import { XHeading } from "./Controls/XHeading";
import { DatePickerIcon } from "../CommonUI/Icon/DatePickerIcon";
import { XDatePicker } from "./Controls/XDatePicker";
import { CheckboxListIcon } from "../CommonUI/Icon/CheckboxListIcon";
import { XCheckboxList } from "./Controls/XCheckboxList";
import { CheckboxIcon } from "../CommonUI/Icon/CheckboxFormIcon";
import { XCheckboxField } from "./Controls/XCheckboxField";
import { ButtonGroupIcon } from "../CommonUI/Icon/ButtonGroupIcon";
import { XButtonGroup } from "./Controls/XButtonGroup";
import { XButton } from "./Controls/XButton";
import { XLineControl } from "./Controls/XLineControl";
import { XInlineTextEdit } from "./Controls/XInlineTextEdit";
import { XMultiInlineTextEdit } from "./Controls/XMultiInlineTextEdit";
import { ColumnIcon } from "../CommonUI/Icon/ColumnIcon";
import { XColumnContainer, XHStackContainer, XStackContainer, XTabContainer } from "./Containers";
import { HStackIcon } from "../CommonUI/Icon/HStackIcon";
import { StackIcon } from "../CommonUI/Icon/StackIcon";
import { XFileUpload } from "./Controls/XFileUpload";
import { FileUploadIcon } from "../CommonUI/Icon/FileUploadIcon";
import { XFileDownload } from "./Controls/XFileDownload";
import { FileDownloadIcon } from "../CommonUI/Icon/FileDownloadIcon";
import { XValueSlider } from "./Controls/XValueSlider";
import { XImageControl } from "./Controls/XImageControl";
import { Image } from "mdi-material-ui";
import { XSignaturePad } from "./Controls/XSignaturePad";
import { ValueSliderIcon } from "../CommonUI/Icon/ValueSliderIcon";
import { PasswordBoxIcon } from "../CommonUI/Icon/PasswordBoxIcon";
import { LineIcon } from "../CommonUI/Icon/LineIcon";
import { XInlineRichTextEditor } from "./Controls/XInlineRichTextEditor";
import { XRichTextEditor } from "./Controls/XRichTextEditor";
import { XCurrencyField } from "./Controls/XCurrencyField";
import { CurrencyIcon } from "../CommonUI/Icon/CurrencyIcon";
import { XMultiLineTextEdit } from "./Controls/XMultiLineTextEdit";
import { MultiLineTextIcon } from "../CommonUI/Icon/MultiLineTextIcon";
import { ClickToEditIcon } from "../CommonUI/Icon/ClickToEditIcon";
import { LinkIcon } from "../CommonUI/Icon/LinkIcon";
import { DateRangeIcon } from "../CommonUI/Icon/DateRangeIcon";
import { XDateRange } from "./Controls/XDateRange";
import { ColorPickerIcon } from "../CommonUI/Icon/ColorPickerIcon";
import { XColorPicker } from "./Controls/XColorPicker";
import { XGridContainer } from "./Containers/XGridContainer";
import { DataGridIcon } from "../CommonUI/Icon/DataGridIcon";
import { TabsContainerIcon } from "../CommonUI/Icon/TabsContainerIcon";
import { TableIcon } from "../CommonUI/Icon/TableIcon";
import { XDataGrid } from "./Controls/XDataGrid";
import { XTimeline } from "./Controls/XTimeline";
// import { XLineChart } from "./Controls/XLineChart";
import { XPieChart } from "./Controls/XPieChart";
import { BarChartIcon } from "../CommonUI/Icon/BarChart";
import { PieChartIcon } from "../CommonUI/Icon/PieChart";
import { XBarChart } from "./Controls/XBarChart";
export class RegisterFormElements {
    static doRegistration() {
        if (RegisterFormElements.isRegistered)
            return;
        RegisterFormElements.isRegistered = true;
        // form controls
        RegisterFormControl(new XTextField(), "Data (Entry)", "Text Field", ControlType.Control, _jsx(TextFieldIcon, {}, void 0));
        RegisterFormControl(new XMultiLineTextEdit(), "Data (Entry)", "Multi Line Text Field", ControlType.Control, _jsx(MultiLineTextIcon, {}, void 0));
        RegisterFormControl(new XColorPicker(), "Data (Entry)", "Color Picker", ControlType.Control, _jsx(ColorPickerIcon, {}, void 0));
        RegisterFormControl(new XTimePicker(), "Data (Entry)", "Time Picker", ControlType.Control, _jsx(TimePickerIcon, {}, void 0));
        RegisterFormControl(new XMultiLineTextEdit(), "Data (Entry)", "Text Area", ControlType.Control, _jsx(TextAreaIcon, {}, void 0));
        RegisterFormControl(new XTagGroup(), "Data (Pick)", "Tag Group", ControlType.Control, _jsx(TagIcon, {}, void 0));
        RegisterFormControl(new XSwitch(), "Data (Entry)", "Switch", ControlType.Control, _jsx(SwitchIcon, {}, void 0));
        RegisterFormControl(new XSlider(), "Data (Entry)", "Slider Control", ControlType.Control, _jsx(SliderIcon, {}, void 0));
        RegisterFormControl(new XSelectbox(), "Data (Pick)", "Selectbox", ControlType.Control, _jsx(SelectBoxIcon, {}, void 0));
        RegisterFormControl(new XRating(), "Data (Entry)", "Rating Control", ControlType.Control, _jsx(RatingIcon, {}, void 0));
        RegisterFormControl(new XDataGrid(), "Data (Entry)", "DataGrid", ControlType.Control, _jsx(TableIcon, {}, void 0));
        RegisterFormControl(new XPasswordBox(), "Data (Entry)", "PasswordBox", ControlType.Control, _jsx(PasswordBoxIcon, {}, void 0));
        RegisterFormControl(new XNumberBox(), "Data (Entry)", "NumberBox", ControlType.Control, _jsx(NumberboxIcon, {}, void 0));
        RegisterFormControl(new XCurrencyField(), "Data (Entry)", "CurrencyField", ControlType.Control, _jsx(CurrencyIcon, {}, void 0));
        RegisterFormControl(new XListEntry(), "Data (Pick)", "List Entry", ControlType.Control, _jsx(ListEntryIcon, {}, void 0));
        RegisterFormControl(new XLink(), "Action", "Link", ControlType.Control, _jsx(LinkIcon, {}, void 0));
        RegisterFormControl(new XLabel(), "Text", "Label", ControlType.Control, _jsx(LabelIcon, {}, void 0));
        RegisterFormControl(new XHeading(), "Text", "Heading", ControlType.Control, _jsx(HeadingIcon, {}, void 0));
        RegisterFormControl(new XDatePicker(), "Data (Entry)", "Date Picker", ControlType.Control, _jsx(DatePickerIcon, {}, void 0));
        RegisterFormControl(new XDateRange(), "Data (Entry)", "Date Range Picker", ControlType.Control, _jsx(DateRangeIcon, {}, void 0));
        RegisterFormControl(new XCheckboxList(), "Data (Pick)", "Checkbox List", ControlType.Control, _jsx(CheckboxListIcon, {}, void 0));
        RegisterFormControl(new XRadioGroup(), "Data (Pick)", "Radio List", ControlType.Control, _jsx(RadioListIcon, {}, void 0));
        RegisterFormControl(new XCheckboxField(), "Data (Entry)", "Checkbox", ControlType.Control, _jsx(CheckboxIcon, {}, void 0));
        RegisterFormControl(new XButtonGroup(), "Data (Pick)", "Button Group", ControlType.Control, _jsx(ButtonGroupIcon, {}, void 0));
        RegisterFormControl(new XButton(), "Action", "Button", ControlType.Control, _jsx(ButtonIcon, {}, void 0));
        RegisterFormControl(new XInlineTextEdit(), "Data (Entry)", "Inline Text Edit", ControlType.Control, _jsx(ClickToEditIcon, {}, void 0));
        RegisterFormControl(new XMultiInlineTextEdit(), "Data (Entry)", "Multi Inline Text Edit", ControlType.Control, _jsx(TextFieldIcon, {}, void 0));
        RegisterFormControl(new XFileUpload(), "File Controls", "File Upload", ControlType.Control, _jsx(FileUploadIcon, {}, void 0));
        RegisterFormControl(new XFileDownload(), "File Controls", "File Download", ControlType.Control, _jsx(FileDownloadIcon, {}, void 0));
        RegisterFormControl(new XValueSlider(), "List Selection", "Value Slider", ControlType.Control, _jsx(ValueSliderIcon, {}, void 0));
        RegisterFormControl(new XTimeline(), "List Selection", "Timeline Control", ControlType.Control, _jsx(ValueSliderIcon, {}, void 0));
        RegisterFormControl(new XLineControl(), "Display (Entry)", "Line", ControlType.Control, _jsx(LineIcon, {}, void 0));
        RegisterFormControl(new XImageControl(), "Display (Entry)", "Image", ControlType.Control, _jsx(Image, {}, void 0));
        // containers
        RegisterFormControl(new XColumnContainer(), "Containers", "Columns", ControlType.Container, _jsx(ColumnIcon, { alt: "Columns Container" }, void 0));
        RegisterFormControl(new XStackContainer(), "Containers", "Stack Container", ControlType.Container, _jsx(StackIcon, {}, void 0));
        RegisterFormControl(new XHStackContainer(), "Containers", "Horizontal Stack Container", ControlType.Container, _jsx(HStackIcon, {}, void 0));
        RegisterFormControl(new XGridContainer(), "Containers", "Grid Container", ControlType.Container, _jsx(DataGridIcon, {}, void 0));
        RegisterFormControl(new XTabContainer(), "Containers", "Tab Container", ControlType.Container, _jsx(TabsContainerIcon, {}, void 0));
        RegisterFormControl(new XSignaturePad(), "Data (Pick)", "Signature Pad", ControlType.Control, _jsx(TextAreaIcon, {}, void 0));
        RegisterFormControl(new XInlineRichTextEditor(), "Data (Entry)", "Inline Rich Text Edit", ControlType.Control, _jsx(TextAreaIcon, {}, void 0));
        RegisterFormControl(new XRichTextEditor(), "Data (Entry)", "Rich Text Edit", ControlType.Control, _jsx(TextAreaIcon, {}, void 0));
        RegisterFormControl(new XBarChart(), "Chart", "BarChart", ControlType.Control, _jsx(BarChartIcon, {}, void 0));
        RegisterFormControl(new XPieChart(), "Chart", "PieChart", ControlType.Control, _jsx(PieChartIcon, {}, void 0));
    }
}
RegisterFormElements.isRegistered = false;
//# sourceMappingURL=registerElements.js.map