@react-awesome-query-builder/mui
Version:
User-friendly query builder for React. MUI 5 widgets
96 lines (91 loc) • 3.89 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
var _xdpPackage$version$s, _xdpPackage$version;
import React from "react";
import { ThemeProvider, createTheme } from "@mui/material/styles";
import { ConfirmProvider, useConfirm } from "material-ui-confirm";
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment"; // TODO: set moment to dayjs
import xdpPackage from "@mui/x-date-pickers/package.json"; // to determine version
var xdpVersion = parseInt((_xdpPackage$version$s = xdpPackage === null || xdpPackage === void 0 || (_xdpPackage$version = xdpPackage.version) === null || _xdpPackage$version === void 0 || (_xdpPackage$version = _xdpPackage$version.split(".")) === null || _xdpPackage$version === void 0 ? void 0 : _xdpPackage$version[0]) !== null && _xdpPackage$version$s !== void 0 ? _xdpPackage$version$s : "0");
// value widgets
import MuiTextWidget from "./value/MuiText";
import MuiTextAreaWidget from "./value/MuiTextArea";
import MuiDateWidget from "./value/MuiDate";
import MuiDateTimeWidget from "./value/MuiDateTime";
import MuiTimeWidget from "./value/MuiTime";
import MuiSelectWidget from "./value/MuiSelect";
import MuiNumberWidget from "./value/MuiNumber";
import MuiSliderWidget from "./value/MuiSlider";
import MuiRangeWidget from "./value/MuiRange";
import MuiBooleanWidget from "./value/MuiBoolean";
import MuiMultiSelectWidget from "./value/MuiMultiSelect";
import MuiAutocompleteWidget from "./value/MuiAutocomplete";
// field select widgets
import MuiFieldSelect from "./core/MuiFieldSelect";
import MuiFieldAutocomplete from "./core/MuiFieldAutocomplete";
// core components
import MuiIcon from "./core/MuiIcon";
import MuiButton from "./core/MuiButton";
import MuiButtonGroup from "./core/MuiButtonGroup";
import MuiConjs from "./core/MuiConjs";
import MuiSwitch from "./core/MuiSwitch";
import MuiValueSources from "./core/MuiValueSources";
import MuiConfirm from "./core/MuiConfirm";
// provider
var MuiProvider = function MuiProvider(_ref) {
var config = _ref.config,
children = _ref.children;
var settingsTheme = config.settings.theme || {};
var settingsLocale = config.settings.locale || {};
var momentLocale = settingsLocale.moment;
var themeConfig = settingsTheme.mui;
var locale = settingsLocale.mui;
var theme = createTheme(themeConfig, locale, {
palette: {
// neutral: {
// main: "#64748B",
// contrastText: "#fff"
// },
}
});
var locProviderProps = xdpVersion >= 6 ? {
locale: momentLocale
} : {
adapterLocale: momentLocale
};
var base = /*#__PURE__*/React.createElement("div", {
className: "mui"
}, children);
var withProviders = /*#__PURE__*/React.createElement(LocalizationProvider, _extends({
dateAdapter: AdapterMoment
}, locProviderProps), /*#__PURE__*/React.createElement(ConfirmProvider, null, base));
var withTheme = theme ? /*#__PURE__*/React.createElement(ThemeProvider, {
theme: theme
}, withProviders) : withProviders;
return withTheme;
};
export default {
MuiTextWidget: MuiTextWidget,
MuiTextAreaWidget: MuiTextAreaWidget,
MuiDateWidget: MuiDateWidget,
MuiDateTimeWidget: MuiDateTimeWidget,
MuiTimeWidget: MuiTimeWidget,
MuiSelectWidget: MuiSelectWidget,
MuiNumberWidget: MuiNumberWidget,
MuiSliderWidget: MuiSliderWidget,
MuiRangeWidget: MuiRangeWidget,
MuiBooleanWidget: MuiBooleanWidget,
MuiMultiSelectWidget: MuiMultiSelectWidget,
MuiAutocompleteWidget: MuiAutocompleteWidget,
MuiFieldSelect: MuiFieldSelect,
MuiFieldAutocomplete: MuiFieldAutocomplete,
MuiIcon: MuiIcon,
MuiButton: MuiButton,
MuiButtonGroup: MuiButtonGroup,
MuiConjs: MuiConjs,
MuiSwitch: MuiSwitch,
MuiValueSources: MuiValueSources,
MuiConfirm: MuiConfirm,
MuiUseConfirm: useConfirm,
MuiProvider: MuiProvider
};