@korioinc/next-core 2.0.55 → 2.0.57

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/README.md CHANGED
@@ -17,7 +17,7 @@ pnpm add @korioinc/next-core @korioinc/next-conf
17
17
  - Next.js `>=16.2.6`
18
18
  - React and React DOM `>=19.2.4`
19
19
  - Tailwind CSS `>=4.0.0`
20
- - `@lingui/core` and `@lingui/react` `>=6.0.1`
20
+ - `@lingui/core` and `@lingui/react` `>=6.5.0`
21
21
  - `@headlessui/react` `>=2.2.0`
22
22
 
23
23
  ## Required app setup
@@ -204,6 +204,35 @@ export default function Layout({ children }: { children: ReactNode }) {
204
204
  }
205
205
  ```
206
206
 
207
+ The switchers keep theme state, system-theme resolution, locale cookies, and routing inside the kit. Consumer apps can supply catalog-owned accessibility copy through the typed component API. Omitting `ThemeSwitcher.messages` preserves its existing English labels, and `LocaleSwitcher` falls back to the English accessible name `Change language`.
208
+
209
+ ```tsx
210
+ 'use client';
211
+
212
+ import { LocaleSwitcher, ThemeSwitcher, type ThemeSwitcherMessages } from '@korioinc/next-core/components';
213
+ import { useLingui } from '@lingui/react/macro';
214
+
215
+ export function PreferenceControls() {
216
+ const { t } = useLingui();
217
+ const themeMessages: ThemeSwitcherMessages = {
218
+ light: t`Light`,
219
+ dark: t`Dark`,
220
+ system: t`System`,
221
+ formatSystem: (systemLabel, resolvedThemeLabel) => t`${systemLabel} (${resolvedThemeLabel})`,
222
+ formatTriggerAriaLabel: (currentThemeLabel) => t`Switch theme (current: ${currentThemeLabel})`,
223
+ formatTriggerTitle: (currentThemeLabel) => t`Theme: ${currentThemeLabel} (click to change)`,
224
+ };
225
+ const localeTriggerLabel = t`Change language`;
226
+
227
+ return (
228
+ <>
229
+ <ThemeSwitcher messages={themeMessages} />
230
+ <LocaleSwitcher triggerAriaLabel={localeTriggerLabel} triggerTitle={localeTriggerLabel} />
231
+ </>
232
+ );
233
+ }
234
+ ```
235
+
207
236
  Import the shared styles from app CSS:
208
237
 
209
238
  ```css
@@ -1,5 +1,7 @@
1
1
  export { default as LocaleSwitcher } from './locale-switcher';
2
+ export type { LocaleSwitcherProps } from './locale-switcher';
2
3
  export { default as ThemeSwitcher } from './theme-switcher';
4
+ export type { ThemeSwitcherMessages, ThemeSwitcherProps } from './theme-switcher';
3
5
  export { default as Tooltip } from './tooltip';
4
6
  export { HeadManifest } from './head-manifest';
5
7
  export { JsonLd } from './json-ld';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
@@ -1,11 +1,14 @@
1
- interface LocaleSwitcherProps {
1
+ export interface LocaleSwitcherProps {
2
2
  /**
3
3
  * Array of language codes to display in the switcher.
4
4
  * Example: ['en', 'ko', 'ja']
5
5
  * If omitted, defaults to locales enabled in lingui.config.ts.
6
6
  */
7
7
  languages?: string[];
8
+ /** Accessible name for the language menu trigger. */
9
+ triggerAriaLabel?: string;
10
+ /** Optional tooltip text for the language menu trigger. */
11
+ triggerTitle?: string;
8
12
  }
9
- export default function LocaleSwitcher({ languages }?: LocaleSwitcherProps): import("react").JSX.Element | null;
10
- export {};
13
+ export default function LocaleSwitcher({ languages, triggerAriaLabel, triggerTitle, }?: LocaleSwitcherProps): import("react").JSX.Element | null;
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/locale-switcher/index.tsx"],"names":[],"mappings":"AAeA,UAAU,mBAAmB;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,GAAE,mBAAwB,sCAiG7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/locale-switcher/index.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,gBAAoC,EACpC,YAAY,GACb,GAAE,mBAAwB,sCAoG1B"}
@@ -9,7 +9,7 @@ import { allLanguages } from './language-options';
9
9
  import { resolveVisibleLanguages } from './resolve-visible-languages';
10
10
  import { setCookie } from 'cookies-next/client';
11
11
  import linguiConfig from 'lingui.config';
12
- export default function LocaleSwitcher({ languages } = {}) {
12
+ export default function LocaleSwitcher({ languages, triggerAriaLabel = 'Change language', triggerTitle, } = {}) {
13
13
  const router = useRouter();
14
14
  const pathname = usePathname();
15
15
  const { i18n } = useLingui();
@@ -30,7 +30,7 @@ export default function LocaleSwitcher({ languages } = {}) {
30
30
  allLanguages,
31
31
  defaultLanguageCodes: linguiConfig.locales,
32
32
  manualLanguageCodes: languages,
33
- pseudoLocale: linguiConfig.pseudoLocale,
33
+ pseudoLocale: 'pseudo',
34
34
  });
35
35
  // Get current locale from Lingui
36
36
  const currentLocale = i18n.locale;
@@ -53,5 +53,5 @@ export default function LocaleSwitcher({ languages } = {}) {
53
53
  if (!currentLanguage) {
54
54
  return null;
55
55
  }
56
- return (_jsxs(Menu, { as: 'div', className: 'relative', children: [_jsx(MenuButton, { className: 'glass glass-border-subtle hover:bg-glass-interactive relative inline-flex h-9 w-9 items-center justify-center rounded-md border transition-colors', children: currentLanguage.flag }), _jsx(Transition, { as: Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95', children: _jsx(MenuItems, { anchor: 'bottom end', className: 'glass-surface glass-backdrop-md glass-shadow-sm glass-border-faint z-100 w-48 rounded-md border ring-1 ring-black/5 [--anchor-gap:8px] focus:outline-none', children: _jsx("div", { className: 'py-1', children: availableLanguages.map((language) => (_jsx(MenuItem, { children: _jsxs("button", { onClick: () => changeLanguage(language.code), className: 'data-[focus]:bg-glass-interactive text-foreground group flex w-full items-center gap-2 px-3 py-2 text-sm transition-colors', children: [language.flag, _jsx("span", { className: 'whitespace-nowrap', children: language.name }), currentLocale === language.code && (_jsx("svg", { className: 'ml-auto h-4 w-4', fill: 'none', stroke: 'currentColor', viewBox: '0 0 24 24', children: _jsx("path", { strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'M5 13l4 4L19 7' }) }))] }) }, language.code))) }) }) })] }));
56
+ return (_jsxs(Menu, { as: 'div', className: 'relative', children: [_jsx(MenuButton, { "aria-label": triggerAriaLabel, title: triggerTitle, className: 'glass glass-border-subtle hover:bg-glass-interactive relative inline-flex h-9 w-9 items-center justify-center rounded-md border transition-colors', children: currentLanguage.flag }), _jsx(Transition, { as: Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95', children: _jsx(MenuItems, { anchor: 'bottom end', className: 'glass-surface glass-backdrop-md glass-shadow-sm glass-border-faint z-100 w-48 rounded-md border ring-1 ring-black/5 [--anchor-gap:8px] focus:outline-none', children: _jsx("div", { className: 'py-1', children: availableLanguages.map((language) => (_jsx(MenuItem, { children: _jsxs("button", { onClick: () => changeLanguage(language.code), className: 'data-[focus]:bg-glass-interactive text-foreground group flex w-full items-center gap-2 px-3 py-2 text-sm transition-colors', children: [language.flag, _jsx("span", { className: 'whitespace-nowrap', children: language.name }), currentLocale === language.code && (_jsx("svg", { className: 'ml-auto h-4 w-4', fill: 'none', stroke: 'currentColor', viewBox: '0 0 24 24', children: _jsx("path", { strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'M5 13l4 4L19 7' }) }))] }) }, language.code))) }) }) })] }));
57
57
  }
@@ -1,4 +1,18 @@
1
1
  import * as React from 'react';
2
- declare const ThemeSwitcher: () => React.JSX.Element;
2
+ export interface ThemeSwitcherMessages {
3
+ light: string;
4
+ dark: string;
5
+ system: string;
6
+ formatSystem: (systemLabel: string, resolvedThemeLabel: string) => string;
7
+ formatTriggerAriaLabel: (currentThemeLabel: string) => string;
8
+ formatTriggerTitle: (currentThemeLabel: string) => string;
9
+ }
10
+ export interface ThemeSwitcherProps {
11
+ /**
12
+ * Consumer-owned localized copy. Omit to preserve the English labels used by existing callers.
13
+ */
14
+ messages?: ThemeSwitcherMessages;
15
+ }
16
+ declare const ThemeSwitcher: ({ messages }?: ThemeSwitcherProps) => React.JSX.Element;
3
17
  export default ThemeSwitcher;
4
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/theme-switcher/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqC/B,QAAA,MAAM,aAAa,yBAsGlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/theme-switcher/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1E,sBAAsB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,kBAAkB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3D;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AA0CD,QAAA,MAAM,aAAa,GAAI,eAAgD,kBAAuB,sBA0G7F,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -2,6 +2,14 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import { useTheme } from '../../theme';
5
+ const DEFAULT_THEME_SWITCHER_MESSAGES = {
6
+ light: 'Light',
7
+ dark: 'Dark',
8
+ system: 'System',
9
+ formatSystem: (systemLabel, resolvedThemeLabel) => `${systemLabel} (${resolvedThemeLabel})`,
10
+ formatTriggerAriaLabel: (currentThemeLabel) => `Switch theme (current: ${currentThemeLabel})`,
11
+ formatTriggerTitle: (currentThemeLabel) => `Theme: ${currentThemeLabel} (click to change)`,
12
+ };
5
13
  const FALLBACK_THEME_ORDER = ['light', 'dark'];
6
14
  const isThemeMode = (value) => value === 'light' || value === 'dark' || value === 'system';
7
15
  const getThemeOrder = (themes) => {
@@ -17,7 +25,7 @@ const normalizeTheme = ({ theme, resolvedTheme, themeOrder, }) => {
17
25
  }
18
26
  return themeOrder[0] ?? 'light';
19
27
  };
20
- const ThemeSwitcher = () => {
28
+ const ThemeSwitcher = ({ messages = DEFAULT_THEME_SWITCHER_MESSAGES } = {}) => {
21
29
  const { theme, resolvedTheme, setTheme, themes } = useTheme();
22
30
  const [mounted, setMounted] = React.useState(false);
23
31
  const [canAnimateColors, setCanAnimateColors] = React.useState(false);
@@ -30,8 +38,12 @@ const ThemeSwitcher = () => {
30
38
  }, []);
31
39
  const themeOrder = getThemeOrder(themes);
32
40
  const currentTheme = normalizeTheme({ theme, resolvedTheme, themeOrder });
33
- const resolvedThemeLabel = resolvedTheme === 'dark' ? 'Dark' : 'Light';
34
- const currentThemeLabel = currentTheme === 'system' ? `System (${resolvedThemeLabel})` : currentTheme === 'dark' ? 'Dark' : 'Light';
41
+ const resolvedThemeLabel = resolvedTheme === 'dark' ? messages.dark : messages.light;
42
+ const currentThemeLabel = currentTheme === 'system'
43
+ ? messages.formatSystem(messages.system, resolvedThemeLabel)
44
+ : currentTheme === 'dark'
45
+ ? messages.dark
46
+ : messages.light;
35
47
  const toggleTheme = () => {
36
48
  const currentIndex = themeOrder.indexOf(currentTheme);
37
49
  const nextTheme = themeOrder[(currentIndex + 1) % themeOrder.length];
@@ -40,6 +52,6 @@ const ThemeSwitcher = () => {
40
52
  if (!mounted) {
41
53
  return (_jsx("button", { className: 'glass glass-border-subtle relative inline-flex h-9 w-9 items-center justify-center rounded-md border opacity-0', "aria-hidden": 'true', children: _jsx("div", { className: 'h-5 w-5' }) }));
42
54
  }
43
- return (_jsxs("button", { onClick: toggleTheme, className: `glass glass-border-subtle hover:bg-glass-interactive relative inline-flex h-9 w-9 items-center justify-center rounded-md border ${canAnimateColors ? 'transition-colors' : ''}`, "aria-label": `Switch theme (current: ${currentThemeLabel})`, title: `Theme: ${currentThemeLabel} (click to change)`, children: [_jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'light' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 rotate-90 opacity-0'}`, children: [_jsx("circle", { cx: '12', cy: '12', r: '5' }), _jsx("line", { x1: '12', y1: '1', x2: '12', y2: '3' }), _jsx("line", { x1: '12', y1: '21', x2: '12', y2: '23' }), _jsx("line", { x1: '4.22', y1: '4.22', x2: '5.64', y2: '5.64' }), _jsx("line", { x1: '18.36', y1: '18.36', x2: '19.78', y2: '19.78' }), _jsx("line", { x1: '1', y1: '12', x2: '3', y2: '12' }), _jsx("line", { x1: '21', y1: '12', x2: '23', y2: '12' }), _jsx("line", { x1: '4.22', y1: '19.78', x2: '5.64', y2: '18.36' }), _jsx("line", { x1: '18.36', y1: '5.64', x2: '19.78', y2: '4.22' })] }), _jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'dark' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 -rotate-90 opacity-0'}`, children: _jsx("path", { d: 'M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z' }) }), _jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'system' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 rotate-90 opacity-0'}`, children: [_jsx("rect", { x: '3', y: '4', width: '18', height: '12', rx: '2' }), _jsx("line", { x1: '8', y1: '20', x2: '16', y2: '20' }), _jsx("line", { x1: '12', y1: '16', x2: '12', y2: '20' })] })] }));
55
+ return (_jsxs("button", { onClick: toggleTheme, className: `glass glass-border-subtle hover:bg-glass-interactive relative inline-flex h-9 w-9 items-center justify-center rounded-md border ${canAnimateColors ? 'transition-colors' : ''}`, "aria-label": messages.formatTriggerAriaLabel(currentThemeLabel), title: messages.formatTriggerTitle(currentThemeLabel), children: [_jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'light' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 rotate-90 opacity-0'}`, children: [_jsx("circle", { cx: '12', cy: '12', r: '5' }), _jsx("line", { x1: '12', y1: '1', x2: '12', y2: '3' }), _jsx("line", { x1: '12', y1: '21', x2: '12', y2: '23' }), _jsx("line", { x1: '4.22', y1: '4.22', x2: '5.64', y2: '5.64' }), _jsx("line", { x1: '18.36', y1: '18.36', x2: '19.78', y2: '19.78' }), _jsx("line", { x1: '1', y1: '12', x2: '3', y2: '12' }), _jsx("line", { x1: '21', y1: '12', x2: '23', y2: '12' }), _jsx("line", { x1: '4.22', y1: '19.78', x2: '5.64', y2: '18.36' }), _jsx("line", { x1: '18.36', y1: '5.64', x2: '19.78', y2: '4.22' })] }), _jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'dark' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 -rotate-90 opacity-0'}`, children: _jsx("path", { d: 'M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z' }) }), _jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', className: `absolute h-5 w-5 transition-all ${currentTheme === 'system' ? 'scale-100 rotate-0 opacity-100' : 'scale-0 rotate-90 opacity-0'}`, children: [_jsx("rect", { x: '3', y: '4', width: '18', height: '12', rx: '2' }), _jsx("line", { x1: '8', y1: '20', x2: '16', y2: '20' }), _jsx("line", { x1: '12', y1: '16', x2: '12', y2: '20' })] })] }));
44
56
  };
45
57
  export default ThemeSwitcher;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/i18n/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoC7D;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIlD;AA4BD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAiFD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,yBA2EvD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAShE;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9F;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAevG;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,UAY7E;AAsBD,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,MAAY,0BA0B3D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK1D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKxE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAuBpF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3E;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAU1D;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIpF;AAED,KAAK,aAAa,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAC7C,eAAe,GACf,uBAAuB,GACvB,SAAS,CAAC;AAiDd,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAErF;AAED,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,CAKnE"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/i18n/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoC7D;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIlD;AA4BD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAiFD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,yBA2EvD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAShE;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9F;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAevG;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,UAY7E;AAsBD,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,MAAY,0BA0B3D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK1D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKxE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAuBpF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3E;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAU1D;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIpF;AAED,KAAK,aAAa,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,uBAAuB,GAAG,SAAS,CAAC;AAiDxG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAErF;AAED,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,CAKnE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@korioinc/next-core",
3
- "version": "2.0.55",
3
+ "version": "2.0.57",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./ads": {
@@ -73,28 +73,28 @@
73
73
  ],
74
74
  "devDependencies": {
75
75
  "@headlessui/react": "^2.2.10",
76
- "@lingui/conf": "^6.4.0",
77
- "@lingui/core": "^6.4.0",
78
- "@lingui/react": "^6.4.0",
76
+ "@lingui/conf": "^6.5.0",
77
+ "@lingui/core": "^6.5.0",
78
+ "@lingui/react": "^6.5.0",
79
79
  "@tailwindcss/typography": "^0.5.20",
80
80
  "@types/negotiator": "^0.6.4",
81
- "@types/node": "^26.0.0",
81
+ "@types/node": "^26.1.1",
82
82
  "@types/react": "^19.2.17",
83
83
  "@types/react-dom": "^19.2.3",
84
- "eslint": "^10.5.0",
84
+ "eslint": "^10.7.0",
85
85
  "jsdom": "^29.1.1",
86
86
  "react": "^19.2.7",
87
87
  "react-dom": "^19.2.7",
88
- "tailwindcss": "^4.3.1",
89
- "tsc-alias": "^1.8.17",
88
+ "tailwindcss": "^4.3.2",
89
+ "tsc-alias": "^1.9.0",
90
90
  "tw-animate-css": "^1.4.0",
91
91
  "typescript": "^6.0.3",
92
- "vitest": "^4.1.9",
93
- "@korioinc/next-configs": "2.0.55"
92
+ "vitest": "^4.1.10",
93
+ "@korioinc/next-configs": "2.0.57"
94
94
  },
95
95
  "dependencies": {
96
- "@floating-ui/react": "^0.27.19",
97
- "@formatjs/intl-localematcher": "^0.8.10",
96
+ "@floating-ui/react": "^0.27.20",
97
+ "@formatjs/intl-localematcher": "^0.8.12",
98
98
  "clsx": "^2.1.1",
99
99
  "cookies-next": "^6.1.1",
100
100
  "cosmiconfig": "^9.0.2",
@@ -105,7 +105,7 @@
105
105
  "schema-dts": "^2.0.0",
106
106
  "tailwind-merge": "^3.6.0",
107
107
  "valtio": "^2.3.2",
108
- "@korioinc/next-conf": "2.0.55"
108
+ "@korioinc/next-conf": "2.0.57"
109
109
  },
110
110
  "publishConfig": {
111
111
  "access": "public",
@@ -119,8 +119,8 @@
119
119
  "author": "Korio Inc.",
120
120
  "peerDependencies": {
121
121
  "@headlessui/react": ">=2.2.0",
122
- "@lingui/core": ">=6.4.0",
123
- "@lingui/react": ">=6.4.0",
122
+ "@lingui/core": ">=6.5.0",
123
+ "@lingui/react": ">=6.5.0",
124
124
  "next": ">=16.2.6",
125
125
  "react": ">=19.2.4",
126
126
  "react-dom": ">=19.2.4",