gt-react 10.0.9 → 10.1.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/client.cjs.min.cjs +3 -3
  3. package/dist/client.d.ts +153 -8
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.esm.min.mjs +3 -3
  6. package/dist/hooks/useLocaleSelector.d.ts +1 -1
  7. package/dist/hooks/useLocaleSelector.d.ts.map +1 -1
  8. package/dist/hooks/useRegion.d.ts +20 -0
  9. package/dist/hooks/useRegion.d.ts.map +1 -0
  10. package/dist/hooks/useRegionSelector.d.ts +82 -0
  11. package/dist/hooks/useRegionSelector.d.ts.map +1 -0
  12. package/dist/index.cjs.min.cjs +3 -3
  13. package/dist/index.d.ts +4 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.esm.min.mjs +3 -3
  16. package/dist/internal.cjs.min.cjs +3 -3
  17. package/dist/internal.d.ts +2 -2
  18. package/dist/internal.d.ts.map +1 -1
  19. package/dist/internal.esm.min.mjs +1 -1
  20. package/dist/provider/ClientProvider.d.ts +1 -1
  21. package/dist/provider/ClientProvider.d.ts.map +1 -1
  22. package/dist/provider/GTProvider.d.ts +1 -1
  23. package/dist/provider/GTProvider.d.ts.map +1 -1
  24. package/dist/provider/hooks/locales/useDetermineLocale.d.ts.map +1 -0
  25. package/dist/provider/hooks/{useLocaleData.d.ts → locales/useLocaleState.d.ts} +2 -2
  26. package/dist/provider/hooks/locales/useLocaleState.d.ts.map +1 -0
  27. package/dist/provider/hooks/useRegionState.d.ts +9 -0
  28. package/dist/provider/hooks/useRegionState.d.ts.map +1 -0
  29. package/dist/types/config.d.ts +3 -0
  30. package/dist/types/config.d.ts.map +1 -1
  31. package/dist/types/context.d.ts +2 -0
  32. package/dist/types/context.d.ts.map +1 -1
  33. package/dist/ui/LocaleSelector.d.ts +6 -3
  34. package/dist/ui/LocaleSelector.d.ts.map +1 -1
  35. package/dist/ui/RegionSelector.d.ts +38 -0
  36. package/dist/ui/RegionSelector.d.ts.map +1 -0
  37. package/dist/utils/cookies.d.ts +4 -0
  38. package/dist/utils/cookies.d.ts.map +1 -1
  39. package/package.json +2 -2
  40. package/dist/provider/hooks/useDetermineLocale.d.ts.map +0 -1
  41. package/dist/provider/hooks/useLocaleData.d.ts.map +0 -1
  42. /package/dist/provider/hooks/{useDetermineLocale.d.ts → locales/useDetermineLocale.d.ts} +0 -0
@@ -0,0 +1,82 @@
1
+ type RegionData = {
2
+ code: string;
3
+ name: string;
4
+ emoji: string;
5
+ locale: string;
6
+ };
7
+ /**
8
+ * React hook for managing region selection logic in applications supporting multiple regions.
9
+ *
10
+ * This hook provides the necessary data and handlers to implement a region selector UI component.
11
+ * It returns the current region, a list of available regions, region metadata, and functions to update the region or associated locale.
12
+ *
13
+ * ### Parameters
14
+ * @param {Object} [options] - Optional configuration object.
15
+ * @param {string[]} [options.regions] - An optional array of ISO 3166 region codes to display. If not provided, regions are inferred from supported locales.
16
+ * @param {Object.<string, string|{name?: string, emoji?: string, locale?: string}>} [options.customMapping] - Optional mapping to override region display names, emojis, or associated locales.
17
+ * @param {boolean} [options.prioritizeCurrentLocaleRegion=true] - If true, the region corresponding to the current locale is prioritized in the list.
18
+ * @param {boolean} [options.sortRegionsAlphabetically=true] - If true, regions are sorted alphabetically by display name.
19
+ *
20
+ * ### Returns
21
+ * @returns {{
22
+ * region: string | undefined,
23
+ * setRegion: (region: string) => void,
24
+ * regions: string[],
25
+ * regionData: Map<string, { code: string, name: string, emoji: string, locale: string }>,
26
+ * locale: string,
27
+ * setLocale: (locale: string) => void
28
+ * }} An object containing:
29
+ * - `region`: The currently selected region code.
30
+ * - `setRegion`: Function to update the selected region.
31
+ * - `regions`: Array of available region codes.
32
+ * - `regionData`: Map of region codes to their display data (name, emoji, locale).
33
+ * - `locale`: The current locale.
34
+ * - `setLocale`: Function to update the locale.
35
+ *
36
+ * ### Example
37
+ * ```tsx
38
+ * const {
39
+ * region,
40
+ * setRegion,
41
+ * regions,
42
+ * regionData,
43
+ * locale,
44
+ * setLocale
45
+ * } = useRegionSelector({
46
+ * customMapping: { US: { name: "United States", emoji: "🇺🇸" } }
47
+ * });
48
+ *
49
+ * return (
50
+ * <select value={region} onChange={e => setRegion(e.target.value)}>
51
+ * {regions.map(r => (
52
+ * <option key={r} value={r}>
53
+ * {regionData.get(r)?.name}
54
+ * </option>
55
+ * ))}
56
+ * </select>
57
+ * );
58
+ * ```
59
+ */
60
+ export declare function useRegionSelector({ regions: _regions, customMapping, prioritizeCurrentLocaleRegion, sortRegionsAlphabetically, }?: {
61
+ regions?: string[];
62
+ customMapping?: {
63
+ [region: string]: string | {
64
+ name?: string;
65
+ emoji?: string;
66
+ locale?: string;
67
+ };
68
+ };
69
+ prioritizeCurrentLocaleRegion?: boolean;
70
+ sortRegionsAlphabetically?: boolean;
71
+ }): {
72
+ region: string | undefined;
73
+ setRegion: (region: string | undefined) => void;
74
+ regions: string[];
75
+ regionData: Map<string, RegionData>;
76
+ locales: string[];
77
+ locale: string;
78
+ localeRegion: string;
79
+ setLocale: (locale: string) => void;
80
+ };
81
+ export {};
82
+ //# sourceMappingURL=useRegionSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegionSelector.d.ts","sourceRoot":"","sources":["../../src/hooks/useRegionSelector.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,iBAAiB,CAC/B,EACE,OAAO,EAAE,QAAQ,EACjB,aAAa,EACb,6BAAoC,EACpC,yBAAgC,GACjC,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,CAAC,MAAM,EAAE,MAAM,GACX,MAAM,GACN;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACxD,CAAC;IACF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CAIrC;;;;;;;;;EAmEF"}