"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.createOdysseyMuiTheme = void 0;
var _styles = require("@mui/material/styles");
var _useContrastMode = require("../useContrastMode.cjs");
var _components = require("./components.cjs");
var _mixins = require("./mixins.cjs");
var _palette = require("./palette.cjs");
var _shape = require("./shape.cjs");
var _spacing = require("./spacing.cjs");
require("./components.types.cjs");
require("./mixins.types.cjs");
require("./palette.types.cjs");
require("./typography.types.cjs");
var _typography = require("./typography.cjs");
/*!
 * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */

const createOdysseyMuiTheme = ({
  contrastMode = _useContrastMode.defaultContrast,
  odysseyTokens,
  shadowDomElement,
  shadowRootElement
}) => (0, _styles.createTheme)({
  components: (0, _components.getComponents)({
    contrastMode,
    odysseyTokens,
    shadowRootElement: shadowRootElement || shadowDomElement
  }),
  mixins: (0, _mixins.mixins)({
    odysseyTokens
  }),
  palette: (0, _palette.palette)({
    odysseyTokens
  }),
  shape: (0, _shape.shape)({
    odysseyTokens
  }),
  spacing: (0, _spacing.spacing)({
    odysseyTokens
  }),
  typography: (0, _typography.typography)({
    odysseyTokens
  })
});
exports.createOdysseyMuiTheme = createOdysseyMuiTheme;
//# sourceMappingURL=createOdysseyMuiTheme.cjs.map