@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
1 lines • 3.49 kB
Source Map (JSON)
{"version":3,"file":"ui-provider.cjs","names":["UIProvider: FC<UIProviderProps>","defaultConfig","defaultTheme","EnvironmentProvider","I18nProvider","SystemProvider","config","theme","ThemeProvider","ColorModeProvider","LoadingProvider","NoticeProvider"],"sources":["../../../../src/providers/ui-provider/ui-provider.tsx"],"sourcesContent":["import type { FC } from \"react\"\nimport type {\n ColorModeProviderProps,\n ThemeConfig,\n ThemeProviderProps,\n UsageTheme,\n} from \"../../core\"\nimport type { DeepMerge } from \"../../utils\"\nimport type { I18nProviderProps } from \"../i18n-provider\"\nimport { LoadingProvider } from \"../../components/loading\"\nimport { NoticeProvider } from \"../../components/notice\"\nimport {\n ColorModeProvider,\n EnvironmentProvider,\n SystemProvider,\n ThemeProvider,\n} from \"../../core\"\nimport { config as defaultConfig, theme as defaultTheme } from \"../../theme\"\nimport { merge } from \"../../utils\"\nimport { I18nProvider } from \"../i18n-provider\"\n\nexport interface UIProviderProps\n extends Omit<ThemeProviderProps, \"storageKey\">,\n Pick<ColorModeProviderProps, \"colorMode\">,\n I18nProviderProps {\n /**\n * Key of value saved in storage.\n * By default, it is saved to `local storage`.\n */\n colorModeStorageKey?: string\n /**\n * Key of value saved in storage.\n * By default, it is saved to `local storage`.\n */\n themeSchemeStorageKey?: string\n}\n\n/**\n * The global provider that must be added to make all Yamada UI components work correctly.\n */\nexport const UIProvider: FC<UIProviderProps> = ({\n children,\n colorMode,\n colorModeStorageKey,\n config = defaultConfig,\n cookie,\n dir,\n intl,\n locale,\n storage,\n theme = defaultTheme,\n themeSchemeStorageKey,\n}) => {\n return (\n <EnvironmentProvider>\n <I18nProvider dir={dir} intl={intl} locale={locale}>\n <SystemProvider config={config} theme={theme}>\n <ThemeProvider\n config={config}\n cookie={cookie}\n storage={storage}\n storageKey={themeSchemeStorageKey}\n theme={theme}\n >\n <ColorModeProvider\n colorMode={colorMode}\n config={config}\n cookie={cookie}\n storage={storage}\n storageKey={colorModeStorageKey}\n >\n <LoadingProvider {...config.loading}>\n <NoticeProvider {...config.notice}>{children}</NoticeProvider>\n </LoadingProvider>\n </ColorModeProvider>\n </ThemeProvider>\n </SystemProvider>\n </I18nProvider>\n </EnvironmentProvider>\n )\n}\n\ntype DefaultTheme = typeof defaultTheme\n\nexport const extendTheme = <Y extends UsageTheme>(theme: Y) => {\n return merge<DeepMerge<DefaultTheme, Y>>(defaultTheme, theme)\n}\n\nexport const extendConfig = (config: ThemeConfig) => {\n return merge(defaultConfig, config)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwCA,MAAaA,cAAmC,EAC9C,UACA,WACA,qBACA,mBAASC,uBACT,QACA,KACA,MACA,QACA,SACA,iBAAQC,2BACR,4BACI;AACJ,QACE,2CAACC,8DACC,2CAACC;EAAkB;EAAW;EAAc;YAC1C,2CAACC;GAAe,QAAQC;GAAQ,OAAOC;aACrC,2CAACC;IACC,QAAQF;IACA;IACC;IACT,YAAY;IACZ,OAAOC;cAEP,2CAACE;KACY;KACX,QAAQH;KACA;KACC;KACT,YAAY;eAEZ,2CAACI;MAAgB,GAAIJ,SAAO;gBAC1B,2CAACK;OAAe,GAAIL,SAAO;OAAS;QAA0B;OAC9C;MACA;KACN;IACD;GACJ,GACK;;AAM1B,MAAa,eAAqC,YAAa;AAC7D,qDAAyCJ,2BAAcK,QAAM;;AAG/D,MAAa,gBAAgB,aAAwB;AACnD,qDAAaN,uBAAeK,SAAO"}