/**
 * @module
 *
 * Types used in bindings for forms/dynamic forms.
 *
 * ## transitioning development
 *
 * I am transitioning from a ad hoc field behavior with angular templated forms
 * to a slightly more powerful dynamic form fields that leverages angular's
 * reactive forms. So many of the later properties of {@link FormItemInfo} are
 * optional for backwards compatibility. These may become required in the
 * future, once I have dynamic forms more fleshed out.
 */
/**
 * Type of the data, to drive what kind of control will be used for data.
 *
 * See individual members for more info.
 *
 * For fields that have auto-generated UI.
 *
 * ATOW Pretty much mirroring html5 input types.
 *
 * @see {@link FormItemDataType.text}
 * @see {@link textarea}
 * @see {@link select}
 * @see {@link toggle}
 * @see {@link number}
 */
export const FormItemDataType = {
    /**
     * @example name
     */
    text: 'text',
    /**
     * @example description
     */
    textarea: 'textarea',
    /**
     * select string(s) from a list.
     *
     * @example States e.g. TX, TN, NY, etc.
     *
     * @see {@link FormItemInfo.multiple}
     */
    select: 'select',
    /**
     * Boolean true/false or on/off, etc.
     */
    toggle: 'toggle',
    /**
     * Number value
     */
    number: 'number',
    /**
     * The item is a collection of other items.
     */
    form: 'form',
};
/**
 * syntactic sugar for `Object.values(FormItemDataType)`
 */
export const FORM_ITEM_DATA_TYPES = Object.values(FormItemDataType);
//# sourceMappingURL=form-items.mjs.map