@easy-shadcn/react
Version:
Use shadcn/ui easy&enhance like component library
48 lines (42 loc) • 1.49 kB
JavaScript
;
var chunkI53BA67V_js = require('./chunk-I53BA67V.js');
var React = require('react');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespace(React);
var LocaleContext = React.createContext(undefined);
var context_default = LocaleContext;
var useLocale = (componentName, defaultLocale) => {
const fullLocale = React__namespace.useContext(context_default);
const locale = React__namespace.useMemo(() => {
const locale2 = defaultLocale || chunkI53BA67V_js.en_US_default[componentName];
const localeFromContext = fullLocale?.[componentName] ?? {};
return {
...typeof locale2 === "function" ? locale2() : locale2,
...localeFromContext || {}
};
}, [componentName, defaultLocale, fullLocale]);
const localeLanguageCode = React__namespace.useMemo(() => {
const localeCode = fullLocale?.locale;
return localeCode;
}, [fullLocale]);
return [locale, localeLanguageCode];
};
var useLocale_default = useLocale;
exports.context_default = context_default;
exports.useLocale_default = useLocale_default;