@sudobility/components 5.0.67 → 5.0.68

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.
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Redirect component for language-prefixed routing.
3
+ *
4
+ * Detects the user's preferred language and redirects to the
5
+ * language-prefixed version of the current path. Used for the root `/`
6
+ * route and catch-all `*` route.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <Route path="/" element={<LanguageRedirect isLanguageSupported={isSupported} />} />
11
+ * <Route path="*" element={<LanguageRedirect isLanguageSupported={isSupported} />} />
12
+ * ```
13
+ */
14
+ export interface LanguageRedirectProps {
15
+ /** Function to check if a language code is supported */
16
+ isLanguageSupported: (lang: string) => boolean;
17
+ /** @default 'en' */
18
+ defaultLanguage?: string;
19
+ /** localStorage key for persisting language preference. @default 'language' */
20
+ storageKey?: string;
21
+ }
22
+ export declare function LanguageRedirect({ isLanguageSupported, defaultLanguage, storageKey, }: LanguageRedirectProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=LanguageRedirect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageRedirect.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/LanguageRedirect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,oBAAoB;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,mBAAmB,EACnB,eAAsB,EACtB,UAAuB,GACxB,EAAE,qBAAqB,2CASvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageValidator.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/LanguageValidator.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,eAAsB,EACtB,UAAuB,EACvB,QAAe,GAChB,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA8DpD;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"LanguageValidator.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/LanguageValidator.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,eAAsB,EACtB,UAAuB,EACvB,QAAe,GAChB,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAoDpD;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Detect the user's preferred language.
3
+ *
4
+ * Checks (in order): localStorage → browser language list → default.
5
+ */
6
+ export declare function detectLanguage(isLanguageSupported: (lang: string) => boolean, defaultLanguage: string, storageKey: string): string;
7
+ /**
8
+ * Strip a language prefix from a pathname.
9
+ *
10
+ * `/en/daily` → `/daily`, `/zh-hant` → `/`
11
+ */
12
+ export declare function stripLangPrefix(pathname: string): string;
13
+ //# sourceMappingURL=detectLanguage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectLanguage.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/detectLanguage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAC9C,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAuBR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -37,6 +37,9 @@ export { LocalizedLink } from './LocalizedLink';
37
37
  export type { LocalizedLinkProps } from './LocalizedLink';
38
38
  export { LanguageValidator } from './LanguageValidator';
39
39
  export type { LanguageValidatorProps } from './LanguageValidator';
40
+ export { LanguageRedirect } from './LanguageRedirect';
41
+ export type { LanguageRedirectProps } from './LanguageRedirect';
42
+ export { detectLanguage, stripLangPrefix } from './detectLanguage';
40
43
  export { useLocalizedNavigate, addLanguageToPath, removeLanguageFromPath, } from '../../hooks/useLocalizedNavigate';
41
44
  export type { UseLocalizedNavigateOptions, UseLocalizedNavigateReturn, } from '../../hooks/useLocalizedNavigate';
42
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC"}