@progress/kendo-react-intl
Version:
React Internationalization package provides services for parsing and formatting of dates and numbers. KendoReact Internationalization package
16 lines (15 loc) • 5.05 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@progress/kendo-intl"),require("prop-types"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","react","@progress/kendo-intl","prop-types","@progress/kendo-react-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactIntl={},e.React,e.KendoIntl,e.PropTypes,e.KendoReactCommon)}(this,(function(e,t,n,o,r){"use strict";function a(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var l=a(t),i=a(n);let c=class{constructor(e){if(this.locale=e,""===e&&"production"!==process.env.NODE_ENV)throw"Locale should not be empty string"}format(e,...t){return 1===t.length&&Array.isArray(t[0])?i.format(e,t[0],this.locale):i.format(e,t,this.locale)}formatDate(e,t){return i.formatDate(e,t,this.locale)}toString(e,t){return i.toString(e,t,this.locale)}parseNumber(e,t){return i.parseNumber(e,this.locale,t)}parseDate(e,t){return i.parseDate(e,t,this.locale)}formatNumber(e,t){return i.formatNumber(e,t,this.locale)}dateFieldName(e){return i.dateFieldName(e,this.locale)}dateFormatNames(e){return i.dateFormatNames(this.locale,e)}splitDateFormat(e){return i.splitDateFormat(e,this.locale)}numberSymbols(){return i.numberSymbols(this.locale)}firstDay(){return i.firstDay(this.locale)}localeInfo(){return i.localeInfo(this.locale)}localeCurrency(){return i.localeCurrency(this.locale)}};const s=Object.create({});let u=class{constructor(e){if(this.language=e,""===e&&"production"!==process.env.NODE_ENV)throw"Language should not be an empty string"}toLanguageString(e,t){return this.language&&s[this.language]&&s[this.language].hasOwnProperty(e)?s[this.language][e]:t}};const p=l.createContext({intl:new c("en"),localization:new u});const d=class extends l.Component{getIntlService(){return new c(this.props.locale)}render(){return l.createElement(p.Consumer,null,(e=>l.createElement(p.Provider,{value:{...e,intl:this.getIntlService()}},this.props.children)))}};d.propTypes={locale:o.string};let m=d;const g={},f=(...e)=>{e.forEach((e=>{const t=Object.keys(e)[0];if(["main","supplemental"].includes(t)){const n=Object.keys(e[t])[0];n in g?g[n].includes(e)||(g[n]=[...g[n],e]):g[n]=[e]}})),n.load(...e)},h=e=>{const{locale:t,data:n,children:o}=e;return t&&f(n),o},y=class extends l.Component{getLocalizationService(){return new u(this.props.language)}render(){return l.createElement(p.Consumer,null,(e=>l.createElement(p.Provider,{value:{...e,localization:this.getLocalizationService()}},this.props.children)))}};y.propTypes={language:o.string};let v=y;const b=Object.create({}),E=(e,t,n)=>{for(const o in e)if(e.hasOwnProperty(o)){const r=[...n];if(r.push(o),"string"!=typeof e[o])E(e[o],t,r);else{const n=e[o];Object.defineProperty(t,r.join("."),{value:n,enumerable:!0})}}};function z(e,t){const n=s[t]=s[t]||{};b.lang=t,E(e,n,[])}const O=e=>{const{data:t,language:n,children:o}=e;return n&&z(t,n),o};e.GlobalizationContext=p,e.IntlProvider=m,e.IntlService=c,e.LocalizationProvider=v,e.LocalizationService=u,e.ServerGlobalization=e=>{var o,a,l;const{language:i="",locale:c="en",children:u}=e,p=n.localeInfo(c),d=null!=(o=s[i])?o:[],f=(null!=(a=g.version)?a:[]).concat(null!=(l=g[p.name])?l:[]),[y]=r.useCustomComponent(c?m:t.Fragment),[b]=r.useCustomComponent(i?v:t.Fragment);return t.createElement(O,{data:d,language:i},t.createElement(h,{data:f,locale:c},t.createElement(b,{language:i},t.createElement(y,{locale:c},u))))},e.load=f,e.loadMessages=z,e.localizationMessages=s,e.provideIntlService=function(e){if(!e&&"production"!==process.env.NODE_ENV)throw`Passed component - ${e} is invalid.`;const t=e.context;return t&&t.intl?t.intl:new c("en")},e.provideLocalizationService=function(e){if(!e&&"production"!==process.env.NODE_ENV)throw`Passed component - ${e} is invalid.`;const t=e.context;return t&&t.localization?t.localization:new u},e.registerForIntl=function(e){e.contextType=p},e.registerForLocalization=function(e){e.contextType=p},e.useInternationalization=()=>l.useContext(p).intl,e.useLocalization=()=>l.useContext(p).localization}));