@effect-app/vue 2.73.0 → 2.73.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 2.73.1
4
+
5
+ ### Patch Changes
6
+
7
+ - eb082c1: fix locale input
8
+
3
9
  ## 2.73.0
4
10
 
5
11
  ### Minor Changes
@@ -6,16 +6,16 @@ export interface MakeIntlReturn<Locale extends string> extends ReturnType<typeof
6
6
  export interface IntlShape<T = string> extends ResolvedIntlConfig<T>, IntlFormatters<T> {
7
7
  formatters: Formatters;
8
8
  }
9
- export declare const makeIntl: <Locale extends string>(messages: Record<Locale, Record<string, string>>, setup: () => Ref<NoInfer<Locale>>) => {
9
+ export declare const makeIntl: <Locale extends string>(messages: Record<Locale, Record<string, string>>, localeRef: Ref<NoInfer<Locale>>) => {
10
10
  useIntl: () => {
11
- locale: Ref<Locale, Locale>;
11
+ locale: Ref<NoInfer<Locale>, NoInfer<Locale>>;
12
12
  trans: (id: keyof (typeof messages)[Locale], values?: Record<string, PrimitiveType | FormatXMLElementFn<string, string>>) => string;
13
13
  readonly formatMessage: (descriptor: MessageDescriptor, values?: Record<string, PrimitiveType | FormatXMLElementFn<string, string>>, opts?: IntlMessageFormatOptions) => string;
14
14
  readonly intl: IntlShape<Locale>;
15
15
  };
16
16
  LocaleContext: {
17
- use: () => Ref<Locale, Locale>;
18
- provide: (locale: Ref<Locale, Locale>) => void;
17
+ use: () => Ref<NoInfer<Locale>, NoInfer<Locale>>;
18
+ provide: (locale: Ref<NoInfer<Locale>, NoInfer<Locale>>) => void;
19
19
  };
20
20
  };
21
21
  //# sourceMappingURL=makeIntl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeIntl.d.ts","sourceRoot":"","sources":["../src/makeIntl.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnJ,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,IAAI,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC1H,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,KAAK,CAAA;AAI1C,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;CAAG;AAGrG,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrF,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,MAAM,EAC5C,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAChD,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;oBAyBzB,MAAM,CAAC,OAAO,QAAQ,EAAE,MAAM,CAAC,WAC1B,MAAM,CACb,MAAM,EACN,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CACnD;gCAgBoB,CACnB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC3E,IAAI,CAAC,EAAE,wBAAwB,KAC5B,MAAM;uBAIqB,SAAS,CAAC,MAAM,CAAC;;;;;;CAKtD,CAAA"}
1
+ {"version":3,"file":"makeIntl.d.ts","sourceRoot":"","sources":["../src/makeIntl.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnJ,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,IAAI,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC1H,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,KAAK,CAAA;AAIrC,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;CAAG;AAGrG,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrF,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,MAAM,EAC5C,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAEhD,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;oBAyBvB,MAAM,CAAC,OAAO,QAAQ,EAAE,MAAM,CAAC,WAC1B,MAAM,CACb,MAAM,EACN,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CACnD;gCAgBoB,CACnB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC3E,IAAI,CAAC,EAAE,wBAAwB,KAC5B,MAAM;uBAIqB,SAAS,CAAC,MAAM,CAAC;;;;;;CAKtD,CAAA"}
package/dist/makeIntl.js CHANGED
@@ -1,20 +1,22 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-object-type */
2
2
  import { createIntl, createIntlCache } from "@formatjs/intl";
3
3
  import { typedKeysOf } from "effect-app/utils";
4
- import { ref, watch } from "vue";
4
+ import { watch } from "vue";
5
5
  import { translate } from "./form.js";
6
6
  import { makeContext } from "./makeContext.js";
7
- export const makeIntl = (messages, setup) => {
7
+ export const makeIntl = (messages,
8
+ // TODO: changing locale should really be a page reload, as you don't want to listen to the locale changing at every place
9
+ localeRef) => {
8
10
  const intlCache = createIntlCache();
9
11
  const intls = typedKeysOf(messages).reduce((acc, cur) => {
10
12
  acc[cur] = createIntl({
11
- defaultLocale,
13
+ defaultLocale: localeRef.value,
12
14
  locale: cur,
13
15
  messages: messages[cur]
14
16
  }, intlCache);
15
17
  return acc;
16
18
  }, {});
17
- const LocaleContext = makeContext(ref(defaultLocale));
19
+ const LocaleContext = makeContext(localeRef);
18
20
  const useIntl = () => {
19
21
  const locale = LocaleContext.use();
20
22
  const trans = (id, values
@@ -37,4 +39,4 @@ export const makeIntl = (messages, setup) => {
37
39
  };
38
40
  return { useIntl, LocaleContext };
39
41
  };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUludGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFrZUludGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUF5RixNQUFNLGdCQUFnQixDQUFBO0FBQ25KLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUU5QyxPQUFPLEVBQVksR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVM5QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsUUFBZ0QsRUFDaEQsS0FBaUMsRUFDakMsRUFBRTtJQUNGLE1BQU0sU0FBUyxHQUFHLGVBQWUsRUFBRSxDQUFBO0lBRW5DLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3hDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FDbkI7WUFDRSxhQUFhO1lBQ2IsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztTQUN4QixFQUNELFNBQVMsQ0FDVixDQUFBO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDLEVBQ0QsRUFBdUMsQ0FDeEMsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQVMsYUFBYSxDQUFnQixDQUFDLENBQUE7SUFFNUUsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ25CLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUVsQyxNQUFNLEtBQUssR0FBRyxDQUNaLEVBQW1DLEVBQ25DLE1BR0M7UUFDRCx1R0FBdUc7VUFDdkcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBRWpFLEtBQUssQ0FDSCxNQUFNLEVBQ04sQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNULE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMxQixTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUE7UUFDdEMsQ0FBQyxFQUNELEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUNwQixDQUFBO1FBRUQsT0FBTztZQUNMLE1BQU07WUFDTixLQUFLO1lBQ0wsSUFBSSxhQUFhO2dCQUtmLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUE7WUFDMUMsQ0FBQztZQUNELElBQUksSUFBSTtnQkFDTixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFzQixDQUFBO1lBQ2pELENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQTtBQUNuQyxDQUFDLENBQUEifQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUludGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFrZUludGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUF5RixNQUFNLGdCQUFnQixDQUFBO0FBQ25KLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUU5QyxPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBUzlDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUN0QixRQUFnRDtBQUNoRCwwSEFBMEg7QUFDMUgsU0FBK0IsRUFDL0IsRUFBRTtJQUNGLE1BQU0sU0FBUyxHQUFHLGVBQWUsRUFBRSxDQUFBO0lBRW5DLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3hDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FDbkI7WUFDRSxhQUFhLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDOUIsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztTQUN4QixFQUNELFNBQVMsQ0FDVixDQUFBO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDLEVBQ0QsRUFBdUMsQ0FDeEMsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU1QyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBRWxDLE1BQU0sS0FBSyxHQUFHLENBQ1osRUFBbUMsRUFDbkMsTUFHQztRQUNELHVHQUF1RztVQUN2RyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBUyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFakUsS0FBSyxDQUNILE1BQU0sRUFDTixDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzFCLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtRQUN0QyxDQUFDLEVBQ0QsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQ3BCLENBQUE7UUFFRCxPQUFPO1lBQ0wsTUFBTTtZQUNOLEtBQUs7WUFDTCxJQUFJLGFBQWE7Z0JBS2YsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsSUFBSSxJQUFJO2dCQUNOLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQXNCLENBQUE7WUFDakQsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDLENBQUE7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFBO0FBQ25DLENBQUMsQ0FBQSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "2.73.0",
3
+ "version": "2.73.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
package/src/makeIntl.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import { createIntl, createIntlCache, type Formatters, type IntlFormatters, type MessageDescriptor, type ResolvedIntlConfig } from "@formatjs/intl"
3
3
  import { typedKeysOf } from "effect-app/utils"
4
4
  import { type FormatXMLElementFn, type Options as IntlMessageFormatOptions, type PrimitiveType } from "intl-messageformat"
5
- import { type Ref, ref, watch } from "vue"
5
+ import { type Ref, watch } from "vue"
6
6
  import { translate } from "./form.js"
7
7
  import { makeContext } from "./makeContext.js"
8
8
 
@@ -15,7 +15,8 @@ export interface IntlShape<T = string> extends ResolvedIntlConfig<T>, IntlFormat
15
15
 
16
16
  export const makeIntl = <Locale extends string>(
17
17
  messages: Record<Locale, Record<string, string>>,
18
- setup: () => Ref<NoInfer<Locale>>
18
+ // TODO: changing locale should really be a page reload, as you don't want to listen to the locale changing at every place
19
+ localeRef: Ref<NoInfer<Locale>>
19
20
  ) => {
20
21
  const intlCache = createIntlCache()
21
22
 
@@ -23,7 +24,7 @@ export const makeIntl = <Locale extends string>(
23
24
  (acc, cur) => {
24
25
  acc[cur] = createIntl<Locale>(
25
26
  {
26
- defaultLocale,
27
+ defaultLocale: localeRef.value,
27
28
  locale: cur,
28
29
  messages: messages[cur]
29
30
  },
@@ -34,7 +35,7 @@ export const makeIntl = <Locale extends string>(
34
35
  {} as Record<Locale, IntlShape<Locale>>
35
36
  )
36
37
 
37
- const LocaleContext = makeContext(ref<Locale>(defaultLocale) as Ref<Locale>)
38
+ const LocaleContext = makeContext(localeRef)
38
39
 
39
40
  const useIntl = () => {
40
41
  const locale = LocaleContext.use()