{"version":3,"file":"OdysseyThemeProviderPropsContext.cjs","names":["_react","require","_jsxRuntime","OdysseyThemeProviderPropsContext","exports","createContext","useOdysseyThemeProviderPropsContext","useContext","OdysseyThemeProviderPropsProvider","children","designTokensOverride","shadowRootElement","themeOverride","odysseyThemeProviderPropsContext","providerValue","useMemo","jsx","Provider","value","MemoizedOdysseyThemeProviderPropsProvider","memo","displayName"],"sources":["../../src/OdysseyThemeProviderPropsContext.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { ThemeOptions } from \"@mui/material\";\nimport {\n  createContext,\n  memo,\n  type ReactNode,\n  useContext,\n  useMemo,\n} from \"react\";\n\nimport { DesignTokensOverride } from \"./theme/theme.js\";\n\nexport type OdysseyThemeProviderContextProps = {\n  designTokensOverride?: DesignTokensOverride;\n  shadowRootElement?: HTMLDivElement | HTMLElement;\n  themeOverride?: ThemeOptions;\n};\n\nexport const OdysseyThemeProviderPropsContext =\n  createContext<OdysseyThemeProviderContextProps>({});\n\nexport const useOdysseyThemeProviderPropsContext = () =>\n  useContext(OdysseyThemeProviderPropsContext);\n\nexport type OdysseyThemeProviderPropsProviderProps =\n  OdysseyThemeProviderContextProps & {\n    children: ReactNode;\n  };\n\nconst OdysseyThemeProviderPropsProvider = ({\n  children,\n  designTokensOverride,\n  shadowRootElement,\n  themeOverride,\n}: OdysseyThemeProviderPropsProviderProps) => {\n  const odysseyThemeProviderPropsContext =\n    useOdysseyThemeProviderPropsContext();\n\n  const providerValue = useMemo(\n    () => ({\n      ...odysseyThemeProviderPropsContext,\n      designTokensOverride,\n      shadowRootElement,\n      themeOverride,\n    }),\n    [\n      designTokensOverride,\n      odysseyThemeProviderPropsContext,\n      shadowRootElement,\n      themeOverride,\n    ],\n  );\n\n  return (\n    <OdysseyThemeProviderPropsContext.Provider value={providerValue}>\n      {children}\n    </OdysseyThemeProviderPropsContext.Provider>\n  );\n};\n\nconst MemoizedOdysseyThemeProviderPropsProvider = memo(\n  OdysseyThemeProviderPropsProvider,\n);\nMemoizedOdysseyThemeProviderPropsProvider.displayName =\n  \"OdysseyThemeProviderPropsProvider\";\n\nexport {\n  MemoizedOdysseyThemeProviderPropsProvider as OdysseyThemeProviderPropsProvider,\n};\n"],"mappings":";;;;;;AAaA,IAAAA,MAAA,GAAAC,OAAA;AAMe,IAAAC,WAAA,GAAAD,OAAA;AAnBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBO,MAAME,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,GAC3C,IAAAE,oBAAa,EAAmC,CAAC,CAAC,CAAC;AAE9C,MAAMC,mCAAmC,GAAGA,CAAA,KACjD,IAAAC,iBAAU,EAACJ,gCAAgC,CAAC;AAACC,OAAA,CAAAE,mCAAA,GAAAA,mCAAA;AAO/C,MAAME,iCAAiC,GAAGA,CAAC;EACzCC,QAAQ;EACRC,oBAAoB;EACpBC,iBAAiB;EACjBC;AACsC,CAAC,KAAK;EAC5C,MAAMC,gCAAgC,GACpCP,mCAAmC,CAAC,CAAC;EAEvC,MAAMQ,aAAa,GAAG,IAAAC,cAAO,EAC3B,OAAO;IACL,GAAGF,gCAAgC;IACnCH,oBAAoB;IACpBC,iBAAiB;IACjBC;EACF,CAAC,CAAC,EACF,CACEF,oBAAoB,EACpBG,gCAAgC,EAChCF,iBAAiB,EACjBC,aAAa,CAEjB,CAAC;EAED,OACE,IAAAV,WAAA,CAAAc,GAAA,EAACb,gCAAgC,CAACc,QAAQ;IAACC,KAAK,EAAEJ,aAAc;IAAAL,QAAA,EAC7DA;EAAQ,CACgC,CAAC;AAEhD,CAAC;AAED,MAAMU,yCAAyC,GAAAf,OAAA,CAAAI,iCAAA,GAAG,IAAAY,WAAI,EACpDZ,iCACF,CAAC;AACDW,yCAAyC,CAACE,WAAW,mEAChB","ignoreList":[]}