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.
- package/CHANGELOG.md +17 -0
- package/dist/client.cjs.min.cjs +3 -3
- package/dist/client.d.ts +153 -8
- package/dist/client.d.ts.map +1 -1
- package/dist/client.esm.min.mjs +3 -3
- package/dist/hooks/useLocaleSelector.d.ts +1 -1
- package/dist/hooks/useLocaleSelector.d.ts.map +1 -1
- package/dist/hooks/useRegion.d.ts +20 -0
- package/dist/hooks/useRegion.d.ts.map +1 -0
- package/dist/hooks/useRegionSelector.d.ts +82 -0
- package/dist/hooks/useRegionSelector.d.ts.map +1 -0
- package/dist/index.cjs.min.cjs +3 -3
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.min.mjs +3 -3
- package/dist/internal.cjs.min.cjs +3 -3
- package/dist/internal.d.ts +2 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.esm.min.mjs +1 -1
- package/dist/provider/ClientProvider.d.ts +1 -1
- package/dist/provider/ClientProvider.d.ts.map +1 -1
- package/dist/provider/GTProvider.d.ts +1 -1
- package/dist/provider/GTProvider.d.ts.map +1 -1
- package/dist/provider/hooks/locales/useDetermineLocale.d.ts.map +1 -0
- package/dist/provider/hooks/{useLocaleData.d.ts → locales/useLocaleState.d.ts} +2 -2
- package/dist/provider/hooks/locales/useLocaleState.d.ts.map +1 -0
- package/dist/provider/hooks/useRegionState.d.ts +9 -0
- package/dist/provider/hooks/useRegionState.d.ts.map +1 -0
- package/dist/types/config.d.ts +3 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/context.d.ts +2 -0
- package/dist/types/context.d.ts.map +1 -1
- package/dist/ui/LocaleSelector.d.ts +6 -3
- package/dist/ui/LocaleSelector.d.ts.map +1 -1
- package/dist/ui/RegionSelector.d.ts +38 -0
- package/dist/ui/RegionSelector.d.ts.map +1 -0
- package/dist/utils/cookies.d.ts +4 -0
- package/dist/utils/cookies.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/provider/hooks/useDetermineLocale.d.ts.map +0 -1
- package/dist/provider/hooks/useLocaleData.d.ts.map +0 -1
- /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"}
|