UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

50 lines (49 loc) 1.87 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useTranslation; var _react = require("react"); var _Context = _interopRequireDefault(require("../../../shared/Context.js")); var _useTranslation = _interopRequireDefault(require("../../../shared/useTranslation.js")); var _componentHelper = require("../../../shared/component-helper.js"); var _defaults = require("../../../shared/defaults.js"); var _index = _interopRequireDefault(require("../constants/locales/index.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function useTranslation(messagesOrArgs) { const { locale, translation: globalTranslation } = (0, _react.useContext)(_Context.default); const { messages, fallbackLocale } = (0, _react.useMemo)(() => { const arg = messagesOrArgs; if ((0, _componentHelper.isObject)(messagesOrArgs) && ('messages' in messagesOrArgs || 'fallbackLocale' in messagesOrArgs)) { return { messages: arg === null || arg === void 0 ? void 0 : arg.messages, fallbackLocale: arg === null || arg === void 0 ? void 0 : arg.fallbackLocale }; } return { messages: messagesOrArgs, fallbackLocale: _defaults.LOCALE }; }, [messagesOrArgs]); let translationLocale = locale; if (locale.startsWith('en-') && !Object.keys(_index.default).some(l => l === locale)) { translationLocale = 'en-GB'; } const base = (0, _react.useMemo)(() => { return (0, _componentHelper.extendDeep)({}, _index.default[translationLocale] || _index.default[_defaults.LOCALE], globalTranslation); }, [globalTranslation, translationLocale]); return (0, _useTranslation.default)({ messages, fallbackLocale, base, warnLabel: 'Form.useTranslation' }); } //# sourceMappingURL=useTranslation.js.map