/**
 * DevExtreme (esm/core/config.js)
 * Version: 24.1.7-build-24272-1937
 * Build date: Sat Sep 28 2024
 *
 * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
 * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
 */
import {
    extend
} from "./utils/extend";
import errors from "./errors";
const config = {
    rtlEnabled: false,
    defaultCurrency: "USD",
    defaultUseCurrencyAccountingStyle: true,
    oDataFilterToLower: true,
    serverDecimalSeparator: ".",
    decimalSeparator: ".",
    thousandsSeparator: ",",
    forceIsoDateParsing: true,
    wrapActionsBeforeExecute: true,
    useLegacyStoreResult: false,
    useJQuery: void 0,
    editorStylingMode: void 0,
    useLegacyVisibleIndex: false,
    floatingActionButtonConfig: {
        icon: "add",
        closeIcon: "close",
        label: "",
        position: {
            at: "right bottom",
            my: "right bottom",
            offset: {
                x: -16,
                y: -16
            }
        },
        maxSpeedDialActionCount: 5,
        shading: false,
        direction: "auto"
    },
    optionsParser: optionsString => {
        if ("{" !== optionsString.trim().charAt(0)) {
            optionsString = "{" + optionsString + "}"
        }
        try {
            return JSON.parse(optionsString)
        } catch (ex) {
            try {
                return JSON.parse(normalizeToJSONString(optionsString))
            } catch (exNormalize) {
                throw errors.Error("E3018", ex, optionsString)
            }
        }
    }
};
const normalizeToJSONString = optionsString => optionsString.replace(/'/g, '"').replace(/,\s*([\]}])/g, "$1").replace(/([{,])\s*([^":\s]+)\s*:/g, '$1"$2":');
const deprecatedFields = ["decimalSeparator", "thousandsSeparator"];
const configMethod = function() {
    if (!arguments.length) {
        return config
    }
    const newConfig = arguments.length <= 0 ? void 0 : arguments[0];
    deprecatedFields.forEach((deprecatedField => {
        if (newConfig[deprecatedField]) {
            const message = `Now, the ${deprecatedField} is selected based on the specified locale.`;
            errors.log("W0003", "config", deprecatedField, "19.2", message)
        }
    }));
    extend(config, newConfig)
};
if ("undefined" !== typeof DevExpress && DevExpress.config) {
    configMethod(DevExpress.config)
}
export default configMethod;
