@datatechsolutions/ui 3.12.1 → 3.13.0
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/dist/astrlabe/index.js +108 -108
- package/dist/astrlabe/index.mjs +4 -4
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-HTODLUKG.js → chunk-2ECLDHAT.js} +12 -12
- package/dist/{chunk-HTODLUKG.js.map → chunk-2ECLDHAT.js.map} +1 -1
- package/dist/{chunk-NQGLSM46.mjs → chunk-4VHFGW7I.mjs} +4 -4
- package/dist/{chunk-NQGLSM46.mjs.map → chunk-4VHFGW7I.mjs.map} +1 -1
- package/dist/{chunk-ULKZGM2T.js → chunk-5ETT54QS.js} +37 -37
- package/dist/{chunk-ULKZGM2T.js.map → chunk-5ETT54QS.js.map} +1 -1
- package/dist/{chunk-N5GQIT7A.mjs → chunk-6KDTVSZT.mjs} +7 -7
- package/dist/{chunk-N5GQIT7A.mjs.map → chunk-6KDTVSZT.mjs.map} +1 -1
- package/dist/{chunk-VYU2FYDE.js → chunk-6YTYD4P5.js} +66 -66
- package/dist/{chunk-VYU2FYDE.js.map → chunk-6YTYD4P5.js.map} +1 -1
- package/dist/{chunk-YYNGXKUE.mjs → chunk-7TYNV6SY.mjs} +4 -4
- package/dist/{chunk-YYNGXKUE.mjs.map → chunk-7TYNV6SY.mjs.map} +1 -1
- package/dist/{chunk-RT264BD4.mjs → chunk-AHNH2PMI.mjs} +4 -4
- package/dist/{chunk-RT264BD4.mjs.map → chunk-AHNH2PMI.mjs.map} +1 -1
- package/dist/{chunk-RBH723MG.mjs → chunk-AKWCT53S.mjs} +4 -4
- package/dist/{chunk-RBH723MG.mjs.map → chunk-AKWCT53S.mjs.map} +1 -1
- package/dist/{chunk-MYHBXIO2.js → chunk-AMCFAGK3.js} +34 -34
- package/dist/{chunk-MYHBXIO2.js.map → chunk-AMCFAGK3.js.map} +1 -1
- package/dist/{chunk-UVFWKDRO.mjs → chunk-ANFSQJNI.mjs} +4 -4
- package/dist/{chunk-UVFWKDRO.mjs.map → chunk-ANFSQJNI.mjs.map} +1 -1
- package/dist/{chunk-BPMYNE7S.mjs → chunk-CSOMZ5UM.mjs} +4 -4
- package/dist/{chunk-BPMYNE7S.mjs.map → chunk-CSOMZ5UM.mjs.map} +1 -1
- package/dist/{chunk-FKRIQYRG.js → chunk-D5OTZGA2.js} +126 -127
- package/dist/chunk-D5OTZGA2.js.map +1 -0
- package/dist/{chunk-V3UZCOZI.js → chunk-IIRS5XZY.js} +32 -32
- package/dist/{chunk-V3UZCOZI.js.map → chunk-IIRS5XZY.js.map} +1 -1
- package/dist/{chunk-Z75CEP4V.js → chunk-K5567JM5.js} +13 -13
- package/dist/{chunk-Z75CEP4V.js.map → chunk-K5567JM5.js.map} +1 -1
- package/dist/{chunk-OM5NNUD2.mjs → chunk-KWH7JIRP.mjs} +3 -3
- package/dist/{chunk-OM5NNUD2.mjs.map → chunk-KWH7JIRP.mjs.map} +1 -1
- package/dist/{chunk-MFF37C24.js → chunk-MQDCUBVW.js} +150 -150
- package/dist/{chunk-MFF37C24.js.map → chunk-MQDCUBVW.js.map} +1 -1
- package/dist/{chunk-OW5LSEHU.mjs → chunk-MSKKNPRE.mjs} +3 -3
- package/dist/{chunk-OW5LSEHU.mjs.map → chunk-MSKKNPRE.mjs.map} +1 -1
- package/dist/{chunk-PLEWG2L7.js → chunk-N4YT3QA5.js} +15 -15
- package/dist/{chunk-PLEWG2L7.js.map → chunk-N4YT3QA5.js.map} +1 -1
- package/dist/{chunk-XGAPZT4J.js → chunk-NF5DDM5V.js} +40 -40
- package/dist/{chunk-XGAPZT4J.js.map → chunk-NF5DDM5V.js.map} +1 -1
- package/dist/{chunk-NK4H3JWN.mjs → chunk-OC4AOYU5.mjs} +4 -4
- package/dist/{chunk-NK4H3JWN.mjs.map → chunk-OC4AOYU5.mjs.map} +1 -1
- package/dist/{chunk-ID55ABBB.js → chunk-OY5HUZSD.js} +44 -44
- package/dist/{chunk-ID55ABBB.js.map → chunk-OY5HUZSD.js.map} +1 -1
- package/dist/{chunk-5OZTI7TR.js → chunk-PPIUMCUZ.js} +6 -6
- package/dist/{chunk-5OZTI7TR.js.map → chunk-PPIUMCUZ.js.map} +1 -1
- package/dist/{chunk-WLNY3GVM.mjs → chunk-QGRTV35L.mjs} +7 -7
- package/dist/{chunk-WLNY3GVM.mjs.map → chunk-QGRTV35L.mjs.map} +1 -1
- package/dist/{chunk-TDNBO3V7.js → chunk-SDYKXLCU.js} +56 -56
- package/dist/{chunk-TDNBO3V7.js.map → chunk-SDYKXLCU.js.map} +1 -1
- package/dist/{chunk-5TLKFOEL.mjs → chunk-UPYACFZJ.mjs} +5 -5
- package/dist/{chunk-5TLKFOEL.mjs.map → chunk-UPYACFZJ.mjs.map} +1 -1
- package/dist/{chunk-EDI46QA7.mjs → chunk-UXHJS2SH.mjs} +4 -5
- package/dist/chunk-UXHJS2SH.mjs.map +1 -0
- package/dist/{chunk-LRNVB7MO.js → chunk-VI4IUTMX.js} +4 -4
- package/dist/{chunk-LRNVB7MO.js.map → chunk-VI4IUTMX.js.map} +1 -1
- package/dist/{chunk-4D23CQZM.mjs → chunk-VIB42VMZ.mjs} +5 -5
- package/dist/{chunk-4D23CQZM.mjs.map → chunk-VIB42VMZ.mjs.map} +1 -1
- package/dist/{chunk-QSCWV47U.js → chunk-WOTKBKS6.js} +31 -31
- package/dist/{chunk-QSCWV47U.js.map → chunk-WOTKBKS6.js.map} +1 -1
- package/dist/{chunk-YXN2K77G.js → chunk-Y5VN4SPH.js} +26 -3
- package/dist/chunk-Y5VN4SPH.js.map +1 -0
- package/dist/{chunk-7VJ7CMMT.mjs → chunk-ZEFNBGYI.mjs} +26 -3
- package/dist/chunk-ZEFNBGYI.mjs.map +1 -0
- package/dist/{chunk-PIIY2Z2O.mjs → chunk-ZRCXDKBE.mjs} +3 -3
- package/dist/{chunk-PIIY2Z2O.mjs.map → chunk-ZRCXDKBE.mjs.map} +1 -1
- package/dist/index.js +668 -668
- package/dist/index.mjs +2 -2
- package/dist/lib/i18n-context.d.mts +12 -4
- package/dist/lib/i18n-context.d.ts +12 -4
- package/dist/lib/i18n-context.js +6 -6
- package/dist/lib/i18n-context.mjs +1 -1
- package/dist/platform/admin/index.js +10 -10
- package/dist/platform/admin/index.mjs +4 -4
- package/dist/platform/agents-workspace.js +7 -7
- package/dist/platform/agents-workspace.mjs +6 -6
- package/dist/platform/app-shell.js +4 -4
- package/dist/platform/app-shell.mjs +3 -3
- package/dist/platform/auth/index.js +22 -22
- package/dist/platform/auth/index.mjs +4 -4
- package/dist/platform/billing/index.js +4 -4
- package/dist/platform/billing/index.mjs +3 -3
- package/dist/platform/impersonation/index.js +4 -4
- package/dist/platform/impersonation/index.mjs +3 -3
- package/dist/platform/index.d.mts +1 -1
- package/dist/platform/index.d.ts +1 -1
- package/dist/platform/index.js +96 -96
- package/dist/platform/index.mjs +18 -18
- package/dist/platform/pages/index.js +346 -346
- package/dist/platform/pages/index.mjs +8 -8
- package/dist/platform/settings/index.js +7 -7
- package/dist/platform/settings/index.mjs +6 -6
- package/dist/platform/workflow-canvas-shell.js +5 -5
- package/dist/platform/workflow-canvas-shell.mjs +4 -4
- package/package.json +2 -1
- package/dist/chunk-7VJ7CMMT.mjs.map +0 -1
- package/dist/chunk-EDI46QA7.mjs.map +0 -1
- package/dist/chunk-FKRIQYRG.js.map +0 -1
- package/dist/chunk-YXN2K77G.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { adaptWorkflowGraphToUi, formatDurationMs } from '../../chunk-UQXVCVAN.mjs';
|
|
3
|
-
import { WorkflowWorkspace } from '../../chunk-
|
|
4
|
-
export { RolesPageView, UsersPageView } from '../../chunk-
|
|
5
|
-
import { DIALECT_CATEGORIES, DatasourceModal, findDialect, findCategory } from '../../chunk-
|
|
6
|
-
export { DIALECT_CATEGORIES, DatasourceFormModal, DatasourceModal, findCategory, findDialect } from '../../chunk-
|
|
7
|
-
import { defaultRuleForm, RuleForm, ExecutionTimelinePanel, defaultRuleCondition, defaultRuleAction, RuleConditionBuilder, RuleActionBuilder } from '../../chunk-
|
|
3
|
+
import { WorkflowWorkspace } from '../../chunk-VIB42VMZ.mjs';
|
|
4
|
+
export { RolesPageView, UsersPageView } from '../../chunk-VIB42VMZ.mjs';
|
|
5
|
+
import { DIALECT_CATEGORIES, DatasourceModal, findDialect, findCategory } from '../../chunk-KWH7JIRP.mjs';
|
|
6
|
+
export { DIALECT_CATEGORIES, DatasourceFormModal, DatasourceModal, findCategory, findDialect } from '../../chunk-KWH7JIRP.mjs';
|
|
7
|
+
import { defaultRuleForm, RuleForm, ExecutionTimelinePanel, defaultRuleCondition, defaultRuleAction, RuleConditionBuilder, RuleActionBuilder } from '../../chunk-UPYACFZJ.mjs';
|
|
8
8
|
import '../../chunk-JB6RNAD2.mjs';
|
|
9
9
|
import '../../chunk-LEXBTVGM.mjs';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import { HeroSection, SearchBar, FormSection, ChipPicker, PageLoadingState, PageEmptyState, EntityCard, CreateActionButton, GlassModal, FormGrid, FormSelect, FormInput, FormTextarea, SectionHeader, Text, Form, FormActionsRow, Table, TableHead, TableRow, TableHeader, TableBody, TableCell, InlineForm, CopyableId, ListCard, ListCardItem, Avatar, SectionCard, Tabs, TabsList, TabsTrigger, TabsContent, StepIndicator, FilterTileButton, FormToggle, Spinner, StatusBadge, FormCheckbox, SegmentedControl, DatePicker, TimePicker } from '../../chunk-
|
|
10
|
+
import '../../chunk-UXHJS2SH.mjs';
|
|
11
|
+
import { HeroSection, SearchBar, FormSection, ChipPicker, PageLoadingState, PageEmptyState, EntityCard, CreateActionButton, GlassModal, FormGrid, FormSelect, FormInput, FormTextarea, SectionHeader, Text, Form, FormActionsRow, Table, TableHead, TableRow, TableHeader, TableBody, TableCell, InlineForm, CopyableId, ListCard, ListCardItem, Avatar, SectionCard, Tabs, TabsList, TabsTrigger, TabsContent, StepIndicator, FilterTileButton, FormToggle, Spinner, StatusBadge, FormCheckbox, SegmentedControl, DatePicker, TimePicker } from '../../chunk-MSKKNPRE.mjs';
|
|
12
|
+
import '../../chunk-ZEFNBGYI.mjs';
|
|
12
13
|
import '../../chunk-NBW6WJQT.mjs';
|
|
13
14
|
import '../../chunk-3AY5HIQ6.mjs';
|
|
14
|
-
import '../../chunk-7VJ7CMMT.mjs';
|
|
15
15
|
import '../../chunk-PLTLRL2V.mjs';
|
|
16
16
|
import { Button, Badge } from '../../chunk-WR55H7DH.mjs';
|
|
17
17
|
import '../../chunk-D2JF6C3E.mjs';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../chunk-
|
|
6
|
-
require('../../chunk-
|
|
7
|
-
require('../../chunk-TDNBO3V7.js');
|
|
4
|
+
var chunkN4YT3QA5_js = require('../../chunk-N4YT3QA5.js');
|
|
5
|
+
require('../../chunk-WOTKBKS6.js');
|
|
6
|
+
require('../../chunk-SDYKXLCU.js');
|
|
8
7
|
require('../../chunk-QGLGQXJE.js');
|
|
9
|
-
require('../../chunk-
|
|
8
|
+
require('../../chunk-K5567JM5.js');
|
|
9
|
+
require('../../chunk-5ETT54QS.js');
|
|
10
|
+
require('../../chunk-Y5VN4SPH.js');
|
|
10
11
|
require('../../chunk-22XPYFHJ.js');
|
|
11
12
|
require('../../chunk-2OZZH2IO.js');
|
|
12
|
-
require('../../chunk-YXN2K77G.js');
|
|
13
13
|
require('../../chunk-BHOT22QL.js');
|
|
14
14
|
require('../../chunk-UZ3CMNUJ.js');
|
|
15
15
|
require('../../chunk-S7KHTUHA.js');
|
|
@@ -18,7 +18,7 @@ require('../../chunk-S7KHTUHA.js');
|
|
|
18
18
|
|
|
19
19
|
Object.defineProperty(exports, "PlatformSettings", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkN4YT3QA5_js.PlatformSettings; }
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { PlatformSettings } from '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-BPMYNE7S.mjs';
|
|
2
|
+
export { PlatformSettings } from '../../chunk-QGRTV35L.mjs';
|
|
3
|
+
import '../../chunk-ANFSQJNI.mjs';
|
|
4
|
+
import '../../chunk-CSOMZ5UM.mjs';
|
|
6
5
|
import '../../chunk-3VYD7QL2.mjs';
|
|
7
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-7TYNV6SY.mjs';
|
|
7
|
+
import '../../chunk-MSKKNPRE.mjs';
|
|
8
|
+
import '../../chunk-ZEFNBGYI.mjs';
|
|
8
9
|
import '../../chunk-NBW6WJQT.mjs';
|
|
9
10
|
import '../../chunk-3AY5HIQ6.mjs';
|
|
10
|
-
import '../../chunk-7VJ7CMMT.mjs';
|
|
11
11
|
import '../../chunk-WR55H7DH.mjs';
|
|
12
12
|
import '../../chunk-D2JF6C3E.mjs';
|
|
13
13
|
import '../../chunk-QWG2FMUN.mjs';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var chunkPPIUMCUZ_js = require('../chunk-PPIUMCUZ.js');
|
|
5
|
+
require('../chunk-D5OTZGA2.js');
|
|
6
|
+
require('../chunk-5ETT54QS.js');
|
|
7
|
+
require('../chunk-Y5VN4SPH.js');
|
|
7
8
|
require('../chunk-22XPYFHJ.js');
|
|
8
9
|
require('../chunk-2OZZH2IO.js');
|
|
9
|
-
require('../chunk-YXN2K77G.js');
|
|
10
10
|
require('../chunk-EZQ2D47U.js');
|
|
11
11
|
require('../chunk-BHOT22QL.js');
|
|
12
12
|
require('../chunk-UZ3CMNUJ.js');
|
|
@@ -17,7 +17,7 @@ require('../chunk-72SWXOD5.js');
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "WorkflowCanvasShell", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkPPIUMCUZ_js.WorkflowCanvasShell; }
|
|
21
21
|
});
|
|
22
22
|
//# sourceMappingURL=workflow-canvas-shell.js.map
|
|
23
23
|
//# sourceMappingURL=workflow-canvas-shell.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { WorkflowCanvasShell } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
export { WorkflowCanvasShell } from '../chunk-4VHFGW7I.mjs';
|
|
3
|
+
import '../chunk-UXHJS2SH.mjs';
|
|
4
|
+
import '../chunk-MSKKNPRE.mjs';
|
|
5
|
+
import '../chunk-ZEFNBGYI.mjs';
|
|
5
6
|
import '../chunk-NBW6WJQT.mjs';
|
|
6
7
|
import '../chunk-3AY5HIQ6.mjs';
|
|
7
|
-
import '../chunk-7VJ7CMMT.mjs';
|
|
8
8
|
import '../chunk-PLTLRL2V.mjs';
|
|
9
9
|
import '../chunk-WR55H7DH.mjs';
|
|
10
10
|
import '../chunk-D2JF6C3E.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datatechsolutions/ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.13.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"@dagrejs/dagre": "^1.1.8",
|
|
158
158
|
"@radix-ui/react-progress": "^1.1.8",
|
|
159
159
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
160
|
+
"intl-messageformat": "10",
|
|
160
161
|
"next-intl": "4.8.3",
|
|
161
162
|
"posthog-js": "^1.207.0",
|
|
162
163
|
"typescript": "^5.3.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/i18n-context.tsx"],"names":[],"mappings":"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","file":"chunk-7VJ7CMMT.mjs","sourcesContent":["import { createContext, useContext, type ReactNode } from 'react'\n\ntype TranslateFn = ((key: string, params?: Record<string, unknown>) => string) & {\n /** Return the raw (unparsed) value at a given key — useful for arrays/objects in messages */\n raw: (key: string) => unknown\n}\n\nexport interface I18nContextValue {\n translate: (namespace?: string) => TranslateFn\n locale: string\n messages?: Record<string, unknown>\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null)\n\nexport type I18nProviderProps = {\n children: ReactNode\n value: I18nContextValue\n}\n\nexport function I18nProvider({ children, value }: I18nProviderProps) {\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>\n}\n\nexport function useTranslations(namespace?: string): TranslateFn {\n const context = useContext(I18nContext)\n if (!context) {\n const fallback = ((key: string, params?: Record<string, unknown>) => {\n let result = namespace ? `${namespace}.${key}` : key\n if (params) {\n for (const [paramKey, paramValue] of Object.entries(params)) {\n result = result.replace(`{${paramKey}}`, String(paramValue))\n }\n }\n return result\n }) as TranslateFn\n fallback.raw = (key: string) => key\n return fallback\n }\n const translateFn = context.translate(namespace) as TranslateFn\n if (!translateFn.raw) {\n translateFn.raw = (key: string) => {\n const messages = context.messages\n if (!messages) return undefined\n const fullKey = namespace ? `${namespace}.${key}` : key\n return getNestedValue(messages, fullKey)\n }\n }\n return translateFn\n}\n\nfunction getNestedValue(object: Record<string, unknown>, path: string): unknown {\n const parts = path.split('.')\n let current: unknown = object\n for (const part of parts) {\n if (current === null || current === undefined || typeof current !== 'object') return undefined\n current = (current as Record<string, unknown>)[part]\n }\n return current\n}\n\nexport function useLocale(): string {\n const context = useContext(I18nContext)\n return context?.locale ?? 'en'\n}\n\nexport type I18nFormatter = {\n dateTime: (date: Date, options?: Intl.DateTimeFormatOptions) => string\n relativeTime: (date: Date, options?: Intl.RelativeTimeFormatOptions) => string\n number: (value: number, options?: Intl.NumberFormatOptions) => string\n}\n\nexport function useFormatter(): I18nFormatter {\n const locale = useLocale()\n return {\n dateTime: (date: Date, options?: Intl.DateTimeFormatOptions) =>\n new Intl.DateTimeFormat(locale, options).format(date),\n relativeTime: (date: Date) => {\n const now = Date.now()\n const diffMs = date.getTime() - now\n const diffSeconds = Math.round(diffMs / 1000)\n const diffMinutes = Math.round(diffMs / 60000)\n const diffHours = Math.round(diffMs / 3600000)\n const diffDays = Math.round(diffMs / 86400000)\n const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' })\n if (Math.abs(diffSeconds) < 60) return rtf.format(diffSeconds, 'second')\n if (Math.abs(diffMinutes) < 60) return rtf.format(diffMinutes, 'minute')\n if (Math.abs(diffHours) < 24) return rtf.format(diffHours, 'hour')\n return rtf.format(diffDays, 'day')\n },\n number: (value: number, options?: Intl.NumberFormatOptions) =>\n new Intl.NumberFormat(locale, options).format(value),\n }\n}\n\n/**\n * Create an I18nContextValue from a flat messages object and locale.\n * Messages should be a nested object where keys are namespaces\n * and values are objects of translation key → ICU message string.\n *\n * This performs simple string interpolation with {param} placeholders.\n * For full ICU MessageFormat (plurals, select, etc.), use intl-messageformat.\n */\nexport function createI18nFromMessages(\n locale: string,\n messages: Record<string, unknown>,\n): I18nContextValue {\n return {\n locale,\n messages,\n translate: (namespace?: string) => {\n const fn = ((key: string, params?: Record<string, unknown>) => {\n const fullKey = namespace ? `${namespace}.${key}` : key\n const raw = getNestedValue(messages, fullKey)\n let result = typeof raw === 'string' ? raw : key\n if (params) {\n for (const [paramKey, paramValue] of Object.entries(params)) {\n result = result.replace(new RegExp(`\\\\{${paramKey}\\\\}`, 'g'), String(paramValue))\n }\n }\n return result\n }) as TranslateFn\n fn.raw = (key: string) => {\n const fullKey = namespace ? `${namespace}.${key}` : key\n return getNestedValue(messages, fullKey)\n }\n return fn\n },\n }\n}\n"]}
|