@sehv-oss/i18n-react 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react.d.mts +2 -1
- package/dist/react.mjs +2 -1
- package/dist/react.mjs.map +1 -0
- package/package.json +6 -2
package/dist/react.d.mts
CHANGED
|
@@ -81,4 +81,5 @@ type I18nProviderProps = {
|
|
|
81
81
|
};
|
|
82
82
|
declare function I18nProvider(props: I18nProviderProps): react_jsx_runtime0.JSX.Element;
|
|
83
83
|
//#endregion
|
|
84
|
-
export { FormatCurrency, FormatCurrencyProps, FormatDate, FormatDateProps, FormatList, FormatListProps, FormatNumber, FormatNumberProps, FormatRelativeTime, FormatRelativeTimeProps, I18nContext, I18nContextValue, I18nProvider, I18nProviderProps, Translate, TranslateProps, UseLocaleReturn, useFormatCurrency, useFormatDate, useFormatList, useFormatNumber, useFormatRelativeTime, useI18n, useI18nContext, useLocale, useTranslate };
|
|
84
|
+
export { FormatCurrency, FormatCurrencyProps, FormatDate, FormatDateProps, FormatList, FormatListProps, FormatNumber, FormatNumberProps, FormatRelativeTime, FormatRelativeTimeProps, I18nContext, I18nContextValue, I18nProvider, I18nProviderProps, Translate, TranslateProps, UseLocaleReturn, useFormatCurrency, useFormatDate, useFormatList, useFormatNumber, useFormatRelativeTime, useI18n, useI18nContext, useLocale, useTranslate };
|
|
85
|
+
//# sourceMappingURL=react.d.mts.map
|
package/dist/react.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{jsx as t}from"react/jsx-runtime";const n=e.createContext(null),r=()=>{let t=e.useContext(n);if(!t)throw Error(`Context not initialized.`);return t};function i(){let{i18n:t}=r();return e.useCallback((e,n,r)=>t.formatCurrency(e,n,r),[t])}function a(e){let{value:t,currency:n,...r}=e;return i()(t,n,r)}function o(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatDate(e,n),[t])}function s(e){let{value:t,...n}=e;return o()(t,n)}function c(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatList(e,n),[t])}function l(e){let{values:t,...n}=e;return c()(t,n)}function u(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatNumber(e,n),[t])}function d(e){let{value:t,...n}=e;return u()(t,n)}function f(){let{i18n:t}=r();return e.useCallback((e,n,r)=>t.formatRelativeTime(e,n,r),[t])}function p(e){let{value:t,unit:n,...r}=e;return f()(t,n,r)}const m=()=>{let{i18n:t}=r();return e.useCallback((e,n)=>t.translate(e,n),[t])};function h(e){let{id:t,values:n}=e;return m()(t,n)}function g(){let{i18n:e}=r();return e}function _(){let{i18n:t}=r(),n=e.useCallback(e=>{t.setLocale(e)},[t]);return[t.getLocale(),n]}function v(r){let{i18n:i,children:a}=r,[o,s]=e.useState(i.getLocale());return e.useEffect(()=>i.onLocaleChange(s),[i]),t(n,{value:e.useMemo(()=>({i18n:i,locale:o}),[i,o]),children:a})}export{a as FormatCurrency,s as FormatDate,l as FormatList,d as FormatNumber,p as FormatRelativeTime,n as I18nContext,v as I18nProvider,h as Translate,i as useFormatCurrency,o as useFormatDate,c as useFormatList,u as useFormatNumber,f as useFormatRelativeTime,g as useI18n,r as useI18nContext,_ as useLocale,m as useTranslate};
|
|
1
|
+
import*as e from"react";import{jsx as t}from"react/jsx-runtime";const n=e.createContext(null),r=()=>{let t=e.useContext(n);if(!t)throw Error(`Context not initialized.`);return t};function i(){let{i18n:t}=r();return e.useCallback((e,n,r)=>t.formatCurrency(e,n,r),[t])}function a(e){let{value:t,currency:n,...r}=e;return i()(t,n,r)}function o(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatDate(e,n),[t])}function s(e){let{value:t,...n}=e;return o()(t,n)}function c(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatList(e,n),[t])}function l(e){let{values:t,...n}=e;return c()(t,n)}function u(){let{i18n:t}=r();return e.useCallback((e,n)=>t.formatNumber(e,n),[t])}function d(e){let{value:t,...n}=e;return u()(t,n)}function f(){let{i18n:t}=r();return e.useCallback((e,n,r)=>t.formatRelativeTime(e,n,r),[t])}function p(e){let{value:t,unit:n,...r}=e;return f()(t,n,r)}const m=()=>{let{i18n:t}=r();return e.useCallback((e,n)=>t.translate(e,n),[t])};function h(e){let{id:t,values:n}=e;return m()(t,n)}function g(){let{i18n:e}=r();return e}function _(){let{i18n:t}=r(),n=e.useCallback(e=>{t.setLocale(e)},[t]);return[t.getLocale(),n]}function v(r){let{i18n:i,children:a}=r,[o,s]=e.useState(i.getLocale());return e.useEffect(()=>i.onLocaleChange(s),[i]),t(n,{value:e.useMemo(()=>({i18n:i,locale:o}),[i,o]),children:a})}export{a as FormatCurrency,s as FormatDate,l as FormatList,d as FormatNumber,p as FormatRelativeTime,n as I18nContext,v as I18nProvider,h as Translate,i as useFormatCurrency,o as useFormatDate,c as useFormatList,u as useFormatNumber,f as useFormatRelativeTime,g as useI18n,r as useI18nContext,_ as useLocale,m as useTranslate};
|
|
2
|
+
//# sourceMappingURL=react.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.mjs","names":[],"sources":["../src/context.ts","../src/hooks/use-format-currency.ts","../src/components/format-currency.ts","../src/hooks/use-format-date.ts","../src/components/format-date.ts","../src/hooks/use-format-list.ts","../src/components/format-list.ts","../src/hooks/use-format-number.ts","../src/components/format-number.ts","../src/hooks/use-format-relative-time.ts","../src/components/format-relative-time.ts","../src/hooks/use-translate.ts","../src/components/translate.ts","../src/hooks/use-i18n.ts","../src/hooks/use-locale.ts","../src/provider.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { I18nInstance } from '@sehv-oss/i18n';\n\nexport type I18nContextValue = {\n i18n: I18nInstance;\n};\n\nexport const I18nContext = React.createContext<I18nContextValue | null>(null);\n\nexport const useI18nContext = () => {\n const context = React.useContext(I18nContext);\n if (!context) {\n throw new Error('Context not initialized.');\n }\n\n return context;\n};\n","import * as React from 'react';\nimport type { FormatCurrencyOptions } from '@sehv-oss/i18n';\n\nimport { useI18nContext } from '../context.ts';\n\nexport function useFormatCurrency() {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (value: number, currency: string, options?: FormatCurrencyOptions) => {\n return i18n.formatCurrency(value, currency, options);\n },\n [i18n]\n );\n}\n","import type { FormatCurrencyOptions } from '@sehv-oss/i18n';\nimport { useFormatCurrency } from '../hooks/use-format-currency';\n\nexport type FormatCurrencyProps = {\n value: number;\n currency: string;\n} & FormatCurrencyOptions;\n\nexport function FormatCurrency(props: FormatCurrencyProps) {\n const { value, currency, ...options } = props;\n\n const formatCurrency = useFormatCurrency();\n\n return formatCurrency(value, currency, options);\n}\n","import * as React from 'react';\nimport type { FormatDateOptions } from '@sehv-oss/i18n';\n\nimport { useI18nContext } from '../context.ts';\n\nexport function useFormatDate() {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (value: Date | number, options?: FormatDateOptions) => {\n return i18n.formatDate(value, options);\n },\n [i18n]\n );\n}\n","import type { FormatDateOptions } from '@sehv-oss/i18n';\n\nimport { useFormatDate } from '../hooks/use-format-date.ts';\n\nexport type FormatDateProps = {\n value: Date | number;\n} & FormatDateOptions;\n\nexport function FormatDate(props: FormatDateProps) {\n const { value, ...options } = props;\n\n const formatDate = useFormatDate();\n\n return formatDate(value, options);\n}\n","import * as React from 'react';\nimport type { FormatListOptions } from '@sehv-oss/i18n';\n\nimport { useI18nContext } from '../context.ts';\n\nexport function useFormatList() {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (values: string[], options?: FormatListOptions) => {\n return i18n.formatList(values, options);\n },\n [i18n]\n );\n}\n","import type { FormatListOptions } from '@sehv-oss/i18n';\n\nimport { useFormatList } from '../hooks/use-format-list.ts';\n\nexport type FormatListProps = {\n values: string[];\n} & FormatListOptions;\n\nexport function FormatList(props: FormatListProps) {\n const { values, ...options } = props;\n\n const formatList = useFormatList();\n\n return formatList(values, options);\n}\n","import * as React from 'react';\nimport type { FormatNumberOptions } from '@sehv-oss/i18n';\n\nimport { useI18nContext } from '../context.ts';\n\nexport function useFormatNumber() {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (value: number, options?: FormatNumberOptions) => {\n return i18n.formatNumber(value, options);\n },\n [i18n]\n );\n}\n","import type { FormatNumberOptions } from '@sehv-oss/i18n';\nimport { useFormatNumber } from '../hooks/use-format-number.ts';\n\nexport type FormatNumberProps = {\n value: number;\n} & FormatNumberOptions;\n\nexport function FormatNumber(props: FormatNumberProps) {\n const { value, ...options } = props;\n\n const formatNumber = useFormatNumber();\n\n return formatNumber(value, options);\n}\n","import * as React from 'react';\nimport type {\n FormatRelativeTimeOptions,\n FormatRelativeTimeUnit,\n} from '@sehv-oss/i18n';\n\nimport { useI18nContext } from '../context.ts';\n\nexport function useFormatRelativeTime() {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (\n value: number,\n unit: FormatRelativeTimeUnit,\n options?: FormatRelativeTimeOptions\n ) => {\n return i18n.formatRelativeTime(value, unit, options);\n },\n [i18n]\n );\n}\n","import type {\n FormatRelativeTimeOptions,\n FormatRelativeTimeUnit,\n} from '@sehv-oss/i18n';\n\nimport { useFormatRelativeTime } from '../hooks/use-format-relative-time.ts';\n\nexport type FormatRelativeTimeProps = {\n value: number;\n unit: FormatRelativeTimeUnit;\n} & FormatRelativeTimeOptions;\n\nexport function FormatRelativeTime(props: FormatRelativeTimeProps) {\n const { value, unit, ...options } = props;\n\n const formatRelativeTime = useFormatRelativeTime();\n\n return formatRelativeTime(value, unit, options);\n}\n","import * as React from 'react';\nimport { useI18nContext } from '../context.ts';\n\nexport const useTranslate = () => {\n const { i18n } = useI18nContext();\n\n return React.useCallback(\n (key: string, values?: Record<string, unknown>) => {\n return i18n.translate(key, values);\n },\n [i18n]\n );\n};\n","import { useTranslate } from '../hooks/use-translate.ts';\n\nexport type TranslateProps = {\n id: string;\n values?: Record<string, unknown>;\n};\n\nexport function Translate(props: TranslateProps) {\n const { id, values } = props;\n\n const translate = useTranslate();\n\n return translate(id, values);\n}\n","import { useI18nContext } from '../context.ts';\n\nexport function useI18n() {\n const { i18n } = useI18nContext();\n\n return i18n;\n}\n","import * as React from 'react';\n\nimport { useI18nContext } from '../context.ts';\n\nexport type UseLocaleReturn = [string, (locale: string) => void];\n\nexport function useLocale(): UseLocaleReturn {\n const { i18n } = useI18nContext();\n\n const setLocale = React.useCallback(\n (newLocale: string) => {\n i18n.setLocale(newLocale);\n },\n [i18n]\n );\n\n const locale = i18n.getLocale();\n\n return [locale, setLocale];\n}\n","import * as React from 'react';\nimport type { I18nInstance } from '@sehv-oss/i18n';\nimport { I18nContext, type I18nContextValue } from './context';\n\nexport type I18nProviderProps = {\n i18n: I18nInstance;\n children: React.ReactNode;\n};\n\nexport function I18nProvider(props: I18nProviderProps) {\n const { i18n, children } = props;\n\n const [locale, setLocale] = React.useState(i18n.getLocale());\n\n React.useEffect(() => {\n return i18n.onLocaleChange(setLocale);\n }, [i18n]);\n\n const contextValue = React.useMemo<I18nContextValue>(\n () => ({\n i18n,\n locale,\n }),\n [i18n, locale]\n );\n\n return <I18nContext value={contextValue}>{children}</I18nContext>;\n}\n"],"mappings":"gEAOA,MAAa,EAAc,EAAM,cAAuC,KAAK,CAEhE,MAAuB,CAClC,IAAM,EAAU,EAAM,WAAW,EAAY,CAC7C,GAAI,CAAC,EACH,MAAU,MAAM,2BAA2B,CAG7C,OAAO,GCVT,SAAgB,GAAoB,CAClC,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aACV,EAAe,EAAkB,IACzB,EAAK,eAAe,EAAO,EAAU,EAAQ,CAEtD,CAAC,EAAK,CACP,CCLH,SAAgB,EAAe,EAA4B,CACzD,GAAM,CAAE,QAAO,WAAU,GAAG,GAAY,EAIxC,OAFuB,GAAmB,CAEpB,EAAO,EAAU,EAAQ,CCRjD,SAAgB,GAAgB,CAC9B,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aACV,EAAsB,IACd,EAAK,WAAW,EAAO,EAAQ,CAExC,CAAC,EAAK,CACP,CCLH,SAAgB,EAAW,EAAwB,CACjD,GAAM,CAAE,QAAO,GAAG,GAAY,EAI9B,OAFmB,GAAe,CAEhB,EAAO,EAAQ,CCRnC,SAAgB,GAAgB,CAC9B,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aACV,EAAkB,IACV,EAAK,WAAW,EAAQ,EAAQ,CAEzC,CAAC,EAAK,CACP,CCLH,SAAgB,EAAW,EAAwB,CACjD,GAAM,CAAE,SAAQ,GAAG,GAAY,EAI/B,OAFmB,GAAe,CAEhB,EAAQ,EAAQ,CCRpC,SAAgB,GAAkB,CAChC,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aACV,EAAe,IACP,EAAK,aAAa,EAAO,EAAQ,CAE1C,CAAC,EAAK,CACP,CCNH,SAAgB,EAAa,EAA0B,CACrD,GAAM,CAAE,QAAO,GAAG,GAAY,EAI9B,OAFqB,GAAiB,CAElB,EAAO,EAAQ,CCJrC,SAAgB,GAAwB,CACtC,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aAET,EACA,EACA,IAEO,EAAK,mBAAmB,EAAO,EAAM,EAAQ,CAEtD,CAAC,EAAK,CACP,CCRH,SAAgB,EAAmB,EAAgC,CACjE,GAAM,CAAE,QAAO,OAAM,GAAG,GAAY,EAIpC,OAF2B,GAAuB,CAExB,EAAO,EAAM,EAAQ,CCdjD,MAAa,MAAqB,CAChC,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,EAAM,aACV,EAAa,IACL,EAAK,UAAU,EAAK,EAAO,CAEpC,CAAC,EAAK,CACP,ECJH,SAAgB,EAAU,EAAuB,CAC/C,GAAM,CAAE,KAAI,UAAW,EAIvB,OAFkB,GAAc,CAEf,EAAI,EAAO,CCV9B,SAAgB,GAAU,CACxB,GAAM,CAAE,QAAS,GAAgB,CAEjC,OAAO,ECCT,SAAgB,GAA6B,CAC3C,GAAM,CAAE,QAAS,GAAgB,CAE3B,EAAY,EAAM,YACrB,GAAsB,CACrB,EAAK,UAAU,EAAU,EAE3B,CAAC,EAAK,CACP,CAID,MAAO,CAFQ,EAAK,WAAW,CAEf,EAAU,CCT5B,SAAgB,EAAa,EAA0B,CACrD,GAAM,CAAE,OAAM,YAAa,EAErB,CAAC,EAAQ,GAAa,EAAM,SAAS,EAAK,WAAW,CAAC,CAc5D,OAZA,EAAM,cACG,EAAK,eAAe,EAAU,CACpC,CAAC,EAAK,CAAC,CAUH,EAAC,EAAA,CAAY,MARC,EAAM,aAClB,CACL,OACA,SACD,EACD,CAAC,EAAM,EAAO,CACf,CAEyC,YAAuB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sehv-oss/i18n-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "React bindings for @sehv-oss/i18n",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -25,12 +25,16 @@
|
|
|
25
25
|
"url": "https://github.com/sehv-oss/i18n.git",
|
|
26
26
|
"directory": "packages/react"
|
|
27
27
|
},
|
|
28
|
+
"homepage": "https://sehv-oss.github.io/i18n/",
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/sehv-oss/i18n/issues"
|
|
31
|
+
},
|
|
28
32
|
"engines": {
|
|
29
33
|
"node": ">=22 <25"
|
|
30
34
|
},
|
|
31
35
|
"peerDependencies": {
|
|
32
36
|
"react": "^19.0.0",
|
|
33
|
-
"@sehv-oss/i18n": "1.0.
|
|
37
|
+
"@sehv-oss/i18n": "1.0.1"
|
|
34
38
|
},
|
|
35
39
|
"devDependencies": {
|
|
36
40
|
"@types/react": "^19.0.0"
|