@mrfylke/contact-form 0.1.22 → 0.1.24
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/lib/ContactFormRoot.d.ts +3 -32
- package/lib/ContactFormRoot.d.ts.map +1 -1
- package/lib/ContactFormRoot.js +2 -19
- package/lib/components/external-link-page.d.ts +1 -1
- package/lib/components/external-link-page.js +1 -1
- package/lib/components/icon/color-icon.js +1 -1
- package/lib/components/icon/illustration.js +1 -1
- package/lib/components/icon/image.js +1 -1
- package/lib/components/icon/mono-icon-new.js +1 -1
- package/lib/components/icon/mono-icon.js +1 -1
- package/lib/index.d.ts +6 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -5
- package/lib/layouts/contact-page-layout.d.ts +6 -21
- package/lib/layouts/contact-page-layout.d.ts.map +1 -1
- package/lib/layouts/contact-page-layout.js +91 -57
- package/lib/layouts/index.d.ts +1 -1
- package/lib/layouts/index.d.ts.map +1 -1
- package/lib/layouts/index.js +2 -2
- package/lib/lost-property-external/index.d.ts +2 -0
- package/lib/lost-property-external/index.d.ts.map +1 -0
- package/lib/lost-property-external/index.js +17 -0
- package/lib/means-of-transport/means-of-transport-form-machine.d.ts +22 -22
- package/lib/means-of-transport/means-of-transport-form-machine.d.ts.map +1 -1
- package/lib/modules/config/types.d.ts +72 -13
- package/lib/modules/config/types.d.ts.map +1 -1
- package/lib/modules/config/types.js +9 -0
- package/lib/modules/theme/index.d.ts +1 -1
- package/lib/modules/theme/index.d.ts.map +1 -1
- package/lib/modules/theme/index.js +1 -2
- package/lib/modules/theme/theme-context.d.ts +4 -17
- package/lib/modules/theme/theme-context.d.ts.map +1 -1
- package/lib/modules/theme/theme-context.js +5 -39
- package/lib/refund/refundFormMachine.d.ts +14 -14
- package/lib/ticket-control/ticket-control-form-machine.d.ts +22 -22
- package/lib/ticketing/ticketingStateMachine.d.ts +8 -8
- package/lib/translations/index.d.ts +1 -1
- package/lib/translations/index.d.ts.map +1 -1
- package/lib/translations/index.js +3 -1
- package/lib/translations/language-context.d.ts +5 -8
- package/lib/translations/language-context.d.ts.map +1 -1
- package/lib/translations/language-context.js +8 -36
- package/lib/translations/pages/contact.d.ts +0 -16
- package/lib/translations/pages/contact.d.ts.map +1 -1
- package/lib/translations/pages/contact.js +0 -16
- package/lib/utils/typing.d.ts +32 -0
- package/lib/utils/typing.d.ts.map +1 -0
- package/lib/utils/typing.js +6 -0
- package/lib/utils.d.ts +0 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +1 -5
- package/package.json +6 -1
|
@@ -52,16 +52,6 @@ export type MachinePaths = {
|
|
|
52
52
|
errorPath: string;
|
|
53
53
|
};
|
|
54
54
|
export declare function createMeansOfTransportFormMachine(onSubmit: (schemaName: FormSchemaName, state: Record<string, unknown>) => Promise<Response>, paths?: MachinePaths): import("xstate").StateMachine<MeansOfTransportContextProps, {
|
|
55
|
-
type: "ON_INPUT_CHANGE";
|
|
56
|
-
inputName: "formType" | "isResponseWanted" | "stop";
|
|
57
|
-
value: string | boolean | Line["quays"][0] | undefined;
|
|
58
|
-
} | {
|
|
59
|
-
type: "SELECT_FORM_TYPE";
|
|
60
|
-
formType: FormType;
|
|
61
|
-
} | {
|
|
62
|
-
type: "SUBMIT";
|
|
63
|
-
orderedFormFieldNames: string[];
|
|
64
|
-
} | {
|
|
65
55
|
type: "VALIDATE";
|
|
66
56
|
} | {
|
|
67
57
|
type: "ON_INPUT_CHANGE";
|
|
@@ -73,6 +63,16 @@ export declare function createMeansOfTransportFormMachine(onSubmit: (schemaName:
|
|
|
73
63
|
} | {
|
|
74
64
|
type: "ON_LINE_CHANGE";
|
|
75
65
|
value: Line | undefined;
|
|
66
|
+
} | {
|
|
67
|
+
type: "ON_INPUT_CHANGE";
|
|
68
|
+
inputName: "formType" | "isResponseWanted" | "stop";
|
|
69
|
+
value: string | boolean | Line["quays"][0] | undefined;
|
|
70
|
+
} | {
|
|
71
|
+
type: "SELECT_FORM_TYPE";
|
|
72
|
+
formType: FormType;
|
|
73
|
+
} | {
|
|
74
|
+
type: "SUBMIT";
|
|
75
|
+
orderedFormFieldNames: string[];
|
|
76
76
|
}, {
|
|
77
77
|
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<true, SubmitInput, import("xstate").EventObject>> | undefined;
|
|
78
78
|
}, {
|
|
@@ -130,7 +130,7 @@ export declare function createMeansOfTransportFormMachine(onSubmit: (schemaName:
|
|
|
130
130
|
} | {
|
|
131
131
|
type: "isInjuryForm";
|
|
132
132
|
params: unknown;
|
|
133
|
-
}, never, "success" | "
|
|
133
|
+
}, never, "success" | "formTypeHandler" | "validating" | "submitting" | {
|
|
134
134
|
editing: "driver" | "transportation" | "delay" | "stop" | "serviceOffering" | "injury" | "selectFormType";
|
|
135
135
|
}, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
136
136
|
states: {
|
|
@@ -171,16 +171,6 @@ export declare function createMeansOfTransportFormMachine(onSubmit: (schemaName:
|
|
|
171
171
|
};
|
|
172
172
|
}>;
|
|
173
173
|
export declare const meansOfTransportFormMachine: import("xstate").StateMachine<MeansOfTransportContextProps, {
|
|
174
|
-
type: "ON_INPUT_CHANGE";
|
|
175
|
-
inputName: "formType" | "isResponseWanted" | "stop";
|
|
176
|
-
value: string | boolean | Line["quays"][0] | undefined;
|
|
177
|
-
} | {
|
|
178
|
-
type: "SELECT_FORM_TYPE";
|
|
179
|
-
formType: FormType;
|
|
180
|
-
} | {
|
|
181
|
-
type: "SUBMIT";
|
|
182
|
-
orderedFormFieldNames: string[];
|
|
183
|
-
} | {
|
|
184
174
|
type: "VALIDATE";
|
|
185
175
|
} | {
|
|
186
176
|
type: "ON_INPUT_CHANGE";
|
|
@@ -192,6 +182,16 @@ export declare const meansOfTransportFormMachine: import("xstate").StateMachine<
|
|
|
192
182
|
} | {
|
|
193
183
|
type: "ON_LINE_CHANGE";
|
|
194
184
|
value: Line | undefined;
|
|
185
|
+
} | {
|
|
186
|
+
type: "ON_INPUT_CHANGE";
|
|
187
|
+
inputName: "formType" | "isResponseWanted" | "stop";
|
|
188
|
+
value: string | boolean | Line["quays"][0] | undefined;
|
|
189
|
+
} | {
|
|
190
|
+
type: "SELECT_FORM_TYPE";
|
|
191
|
+
formType: FormType;
|
|
192
|
+
} | {
|
|
193
|
+
type: "SUBMIT";
|
|
194
|
+
orderedFormFieldNames: string[];
|
|
195
195
|
}, {
|
|
196
196
|
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<true, SubmitInput, import("xstate").EventObject>> | undefined;
|
|
197
197
|
}, {
|
|
@@ -249,7 +249,7 @@ export declare const meansOfTransportFormMachine: import("xstate").StateMachine<
|
|
|
249
249
|
} | {
|
|
250
250
|
type: "isInjuryForm";
|
|
251
251
|
params: unknown;
|
|
252
|
-
}, never, "success" | "
|
|
252
|
+
}, never, "success" | "formTypeHandler" | "validating" | "submitting" | {
|
|
253
253
|
editing: "driver" | "transportation" | "delay" | "stop" | "serviceOffering" | "injury" | "selectFormType";
|
|
254
254
|
}, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
255
255
|
states: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"means-of-transport-form-machine.d.ts","sourceRoot":"","sources":["../../src/means-of-transport/means-of-transport-form-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EAAwB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,MAAM,WAAW;CAClB;AAED,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA6FF,MAAM,MAAM,YAAY,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,CACR,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,QAAQ,CAAC,EACtB,KAAK,CAAC,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"means-of-transport-form-machine.d.ts","sourceRoot":"","sources":["../../src/means-of-transport/means-of-transport-form-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,38 @@
|
|
|
2
2
|
* Configuration types for the contact-form package.
|
|
3
3
|
* These types define the contract between the package and consuming applications.
|
|
4
4
|
*/
|
|
5
|
-
import React from 'react';
|
|
5
|
+
import React, { ComponentType } from 'react';
|
|
6
6
|
import type { Line } from '../../server/journey-planner/validators';
|
|
7
|
-
import type { ContactFormTranslationsOverride } from '../../translations
|
|
7
|
+
import type { ContactFormTranslationsOverride, TranslatedString } from '../../translations';
|
|
8
8
|
import type { TransportModeType } from '../../types';
|
|
9
|
+
import type { MonoIcons } from '../../components/icon';
|
|
10
|
+
import type { AssertExtends, CheckNoConflicts } from '../../utils/typing';
|
|
11
|
+
export type ContactPage = {
|
|
12
|
+
/** Stable page identifier used for `pages.enabledPageIds` / `externalUrlByPageId`. */
|
|
13
|
+
id: PageId;
|
|
14
|
+
title: TranslatedString;
|
|
15
|
+
/** URL segment under the host's basePath, e.g. 'refund' -> `${basePath}/refund`. */
|
|
16
|
+
slug: string;
|
|
17
|
+
icon: MonoIcons;
|
|
18
|
+
/** Body component rendered for this page. */
|
|
19
|
+
Component: ComponentType;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Page id. Hardcoded to match the registry in `getContactPages()` — update
|
|
23
|
+
* both together when adding or removing a page. Host-provided `extraPages`
|
|
24
|
+
* ids must start with `extra-` (e.g. 'extra-skoleskyss').
|
|
25
|
+
*
|
|
26
|
+
* Two ids exist for lost property ('lost-property' and 'lost-property-external'),
|
|
27
|
+
* sharing the same slug/slot. `PagesConfig['enabledPageIds']` only allows one
|
|
28
|
+
* of the two at a time.
|
|
29
|
+
*/
|
|
30
|
+
export type PageId = 'ticket-control' | 'refund' | 'means-of-transport' | 'ticketing' | 'lost-property' | 'lost-property-external' | 'group-travel' | 'journey-info' | ExtraPageId;
|
|
31
|
+
/** Id shape required for host-provided `extraPages` entries. */
|
|
32
|
+
export type ExtraPageId = `extra-${string}`;
|
|
33
|
+
/** A host-provided page for `pages.extraPages` — id must start with `extra-`. */
|
|
34
|
+
export type ExtraContactPage = Omit<ContactPage, 'id'> & {
|
|
35
|
+
id: ExtraPageId;
|
|
36
|
+
};
|
|
9
37
|
/**
|
|
10
38
|
* Icon component type - consumers provide components that render icons
|
|
11
39
|
*/
|
|
@@ -230,21 +258,52 @@ export type LayoutConfig = {
|
|
|
230
258
|
*/
|
|
231
259
|
errorContent?: React.ReactNode;
|
|
232
260
|
};
|
|
261
|
+
declare const enabledPageIdsBrand: unique symbol;
|
|
262
|
+
/**
|
|
263
|
+
* The value `pages.enabledPageIds` must hold. Only `enabledPageIds(...)`
|
|
264
|
+
* (below) can produce this type — a plain array literal can't, so the
|
|
265
|
+
* mutually-exclusive-id check that function runs can't be bypassed.
|
|
266
|
+
*/
|
|
267
|
+
export type EnabledPageIdsList = readonly PageId[] & {
|
|
268
|
+
readonly [enabledPageIdsBrand]: true;
|
|
269
|
+
};
|
|
233
270
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
271
|
+
* Ids that share a slug/slot — at most one per group may be enabled. A
|
|
272
|
+
* group may list any number of ids (2 or more). Constrained to `PageId`
|
|
273
|
+
* right here, so a typo is caught at this declaration regardless of how
|
|
274
|
+
* (or whether) it's later used.
|
|
236
275
|
*/
|
|
237
|
-
|
|
276
|
+
type ExclusivePageIdGroups = AssertExtends<[
|
|
277
|
+
['lost-property', 'lost-property-external']
|
|
278
|
+
], PageId[][]>;
|
|
279
|
+
/**
|
|
280
|
+
* Build `pages.enabledPageIds`. Required — `PagesConfig` only accepts the
|
|
281
|
+
* value this returns, so TypeScript always runs the mutually-exclusive-id
|
|
282
|
+
* check against `ExclusivePageIdGroups` above.
|
|
283
|
+
*/
|
|
284
|
+
export declare function buildEnabledPageIds<const T extends PageId[]>(ids: CheckNoConflicts<T, ExclusivePageIdGroups>): EnabledPageIdsList;
|
|
285
|
+
/**
|
|
286
|
+
* Configuration for contact pages (tabs).
|
|
287
|
+
* Pages are defined in the package; hosts opt in to the ones they want shown.
|
|
288
|
+
*/
|
|
289
|
+
export type PagesConfig = {
|
|
238
290
|
/**
|
|
239
|
-
* Page IDs to
|
|
240
|
-
*
|
|
291
|
+
* Page IDs to show in the tab navigation. Page IDs match the href slugs
|
|
292
|
+
* (e.g. 'lost-property', 'refund'). Required — an empty array shows no forms.
|
|
293
|
+
* Build with `enabledPageIds(...)`.
|
|
241
294
|
*/
|
|
242
|
-
|
|
295
|
+
enabledPageIds: EnabledPageIdsList;
|
|
243
296
|
/**
|
|
244
297
|
* Map of page IDs to external URLs.
|
|
245
298
|
* When a page ID has an external URL, it should render an external link experience instead of the form.
|
|
246
299
|
*/
|
|
247
|
-
externalUrlByPageId?: Record<
|
|
300
|
+
externalUrlByPageId?: Partial<Record<PageId, string>>;
|
|
301
|
+
/**
|
|
302
|
+
* Host-provided pages the package doesn't know about (e.g. an org-specific
|
|
303
|
+
* form). Its `id` must start with `extra-` (e.g. 'extra-skoleskyss') and be
|
|
304
|
+
* listed in `enabledPageIds` to show.
|
|
305
|
+
*/
|
|
306
|
+
extraPages?: ExtraContactPage[];
|
|
248
307
|
};
|
|
249
308
|
/**
|
|
250
309
|
* Host-provided line filters applied by useLines after standard package filters.
|
|
@@ -299,7 +358,6 @@ export type ContactFormConfig = {
|
|
|
299
358
|
org: OrgConfig;
|
|
300
359
|
/** Feature flags */
|
|
301
360
|
features?: {
|
|
302
|
-
enableDarkMode?: boolean;
|
|
303
361
|
enableFileUploads?: boolean;
|
|
304
362
|
/**
|
|
305
363
|
* Include ferry as a transport mode option.
|
|
@@ -352,10 +410,10 @@ export type ContactFormConfig = {
|
|
|
352
410
|
*/
|
|
353
411
|
translations: ContactFormTranslationsOverride;
|
|
354
412
|
/**
|
|
355
|
-
*
|
|
356
|
-
*
|
|
413
|
+
* Which contact pages (tabs) are shown and whether they link externally.
|
|
414
|
+
* Host app must provide `enabledPageIds` - no page is shown by default.
|
|
357
415
|
*/
|
|
358
|
-
|
|
416
|
+
pages: PagesConfig;
|
|
359
417
|
/**
|
|
360
418
|
* Override which form options are available in each XState-driven form flow.
|
|
361
419
|
* Can be loaded from a JSON/YAML/TAML file by the host and passed here.
|
|
@@ -370,4 +428,5 @@ export type ContactFormConfig = {
|
|
|
370
428
|
export type DeepPartial<T> = {
|
|
371
429
|
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
372
430
|
};
|
|
431
|
+
export {};
|
|
373
432
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,3 +4,12 @@
|
|
|
4
4
|
* These types define the contract between the package and consuming applications.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.buildEnabledPageIds = buildEnabledPageIds;
|
|
8
|
+
/**
|
|
9
|
+
* Build `pages.enabledPageIds`. Required — `PagesConfig` only accepts the
|
|
10
|
+
* value this returns, so TypeScript always runs the mutually-exclusive-id
|
|
11
|
+
* check against `ExclusivePageIdGroups` above.
|
|
12
|
+
*/
|
|
13
|
+
function buildEnabledPageIds(ids) {
|
|
14
|
+
return ids;
|
|
15
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ThemeProvider, useTheme,
|
|
1
|
+
export { ThemeProvider, useTheme, useHtmlDarkMode } from './theme-context';
|
|
2
2
|
export type { ThemeColors, InteractiveColor, InteractiveState, StatusColors, TransportColors, ContrastColor, TextColorType, } from './theme-context';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/theme/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/theme/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG3E,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useHtmlDarkMode = exports.
|
|
3
|
+
exports.useHtmlDarkMode = exports.useTheme = exports.ThemeProvider = void 0;
|
|
4
4
|
// Export the new theme system
|
|
5
5
|
var theme_context_1 = require("./theme-context");
|
|
6
6
|
Object.defineProperty(exports, "ThemeProvider", { enumerable: true, get: function () { return theme_context_1.ThemeProvider; } });
|
|
7
7
|
Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return theme_context_1.useTheme; } });
|
|
8
|
-
Object.defineProperty(exports, "useDarkMode", { enumerable: true, get: function () { return theme_context_1.useDarkMode; } });
|
|
9
8
|
Object.defineProperty(exports, "useHtmlDarkMode", { enumerable: true, get: function () { return theme_context_1.useHtmlDarkMode; } });
|
|
@@ -5,34 +5,21 @@ import type { InteractiveColor, InteractiveState, TextColorType, ThemeColors } f
|
|
|
5
5
|
*/
|
|
6
6
|
type ThemeContextValue = {
|
|
7
7
|
isDarkMode: boolean;
|
|
8
|
-
toggleDarkmode: (value: boolean) => void;
|
|
9
8
|
theme: ThemeColors;
|
|
10
|
-
isThemeForced: boolean;
|
|
11
9
|
};
|
|
12
10
|
export type ThemeProviderProps = PropsWithChildren<{
|
|
13
|
-
|
|
14
|
-
forceTheme?: 'light' | 'dark';
|
|
15
|
-
/** Initial dark mode when not forced. Theme is supplied by host/design-system via ContactFormConfig. */
|
|
16
|
-
defaultDarkMode?: boolean;
|
|
17
|
-
/** Called when user toggles dark mode. Host can persist (e.g. cookie) if needed. */
|
|
18
|
-
onDarkModeChange?: (value: boolean) => void;
|
|
11
|
+
theme: 'light' | 'dark';
|
|
19
12
|
}>;
|
|
20
13
|
/**
|
|
21
|
-
* Theme provider that
|
|
22
|
-
* Uses the theme from ContactFormConfig (from design-system)
|
|
23
|
-
* Dark mode state is local or supplied by the host via defaultDarkMode/onDarkModeChange.
|
|
14
|
+
* Theme provider that applies the host-controlled theme variant.
|
|
15
|
+
* Uses the theme from ContactFormConfig (from design-system) to resolve colors.
|
|
24
16
|
*/
|
|
25
|
-
export declare function ThemeProvider({ children,
|
|
17
|
+
export declare function ThemeProvider({ children, theme }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
26
18
|
/**
|
|
27
19
|
* Hook to access the current theme and dark mode state.
|
|
28
20
|
* @throws Error if used outside of ThemeProvider
|
|
29
21
|
*/
|
|
30
22
|
export declare function useTheme(): ThemeContextValue;
|
|
31
|
-
/**
|
|
32
|
-
* Hook to access dark mode state.
|
|
33
|
-
* Returns [isDarkMode, setDarkMode]
|
|
34
|
-
*/
|
|
35
|
-
export declare function useDarkMode(): [boolean, (value: boolean) => void];
|
|
36
23
|
/**
|
|
37
24
|
* Hook that sets the data-theme attribute on the document element.
|
|
38
25
|
* Call this in your root layout/component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-context.d.ts","sourceRoot":"","sources":["../../../src/modules/theme/theme-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"theme-context.d.ts","sourceRoot":"","sources":["../../../src/modules/theme/theme-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACZ,MAAM,WAAW,CAAC;AAGnB;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAIF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IACjD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAUpE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,sBASvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,SAO9B;AAGD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAC/E,YAAY,EACV,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAC"}
|
|
@@ -2,46 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThemeProvider = ThemeProvider;
|
|
4
4
|
exports.useTheme = useTheme;
|
|
5
|
-
exports.useDarkMode = useDarkMode;
|
|
6
5
|
exports.useHtmlDarkMode = useHtmlDarkMode;
|
|
7
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
7
|
const react_1 = require("react");
|
|
9
8
|
const config_1 = require("../config");
|
|
10
9
|
const ThemeContext = (0, react_1.createContext)(null);
|
|
11
10
|
/**
|
|
12
|
-
* Theme provider that
|
|
13
|
-
* Uses the theme from ContactFormConfig (from design-system)
|
|
14
|
-
* Dark mode state is local or supplied by the host via defaultDarkMode/onDarkModeChange.
|
|
11
|
+
* Theme provider that applies the host-controlled theme variant.
|
|
12
|
+
* Uses the theme from ContactFormConfig (from design-system) to resolve colors.
|
|
15
13
|
*/
|
|
16
|
-
function ThemeProvider({ children,
|
|
17
|
-
const [enabledState, setEnabledState] = (0, react_1.useState)(defaultDarkMode);
|
|
14
|
+
function ThemeProvider({ children, theme }) {
|
|
18
15
|
const themeConfig = (0, config_1.useThemeConfig)();
|
|
19
|
-
const
|
|
20
|
-
// Determine if dark mode is enabled
|
|
21
|
-
let isDarkMode;
|
|
22
|
-
let toggleDarkmode;
|
|
23
|
-
if (forceTheme) {
|
|
24
|
-
isDarkMode = forceTheme === 'dark';
|
|
25
|
-
toggleDarkmode = () => { }; // No-op if theme is forced
|
|
26
|
-
}
|
|
27
|
-
else if (features?.enableDarkMode === false) {
|
|
28
|
-
isDarkMode = false;
|
|
29
|
-
toggleDarkmode = () => { }; // No-op if dark mode is disabled
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
isDarkMode = enabledState ?? false;
|
|
33
|
-
toggleDarkmode = (value) => {
|
|
34
|
-
setEnabledState(value);
|
|
35
|
-
onDarkModeChange?.(value);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
16
|
+
const isDarkMode = theme === 'dark';
|
|
38
17
|
const activeTheme = isDarkMode ? themeConfig.dark : themeConfig.light;
|
|
39
|
-
return ((0, jsx_runtime_1.jsx)(ThemeContext.Provider, { value: {
|
|
40
|
-
isDarkMode,
|
|
41
|
-
toggleDarkmode,
|
|
42
|
-
theme: activeTheme,
|
|
43
|
-
isThemeForced: !!forceTheme,
|
|
44
|
-
}, children: children }));
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(ThemeContext.Provider, { value: { isDarkMode, theme: activeTheme }, children: children }));
|
|
45
19
|
}
|
|
46
20
|
/**
|
|
47
21
|
* Hook to access the current theme and dark mode state.
|
|
@@ -55,14 +29,6 @@ function useTheme() {
|
|
|
55
29
|
}
|
|
56
30
|
return context;
|
|
57
31
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Hook to access dark mode state.
|
|
60
|
-
* Returns [isDarkMode, setDarkMode]
|
|
61
|
-
*/
|
|
62
|
-
function useDarkMode() {
|
|
63
|
-
const { isDarkMode, toggleDarkmode } = useTheme();
|
|
64
|
-
return [isDarkMode, toggleDarkmode];
|
|
65
|
-
}
|
|
66
32
|
/**
|
|
67
33
|
* Hook that sets the data-theme attribute on the document element.
|
|
68
34
|
* Call this in your root layout/component.
|
|
@@ -146,12 +146,6 @@ export declare function createRefundStateMachine(onSubmit: (schemaName: FormSche
|
|
|
146
146
|
} | {
|
|
147
147
|
type: "navigateToSuccessPage";
|
|
148
148
|
params: unknown;
|
|
149
|
-
} | {
|
|
150
|
-
type: "setFormTypeToUndefined";
|
|
151
|
-
params: unknown;
|
|
152
|
-
} | {
|
|
153
|
-
type: "setInitialAgreementAndFormType";
|
|
154
|
-
params: unknown;
|
|
155
149
|
} | {
|
|
156
150
|
type: "clearValidationErrors";
|
|
157
151
|
params: unknown;
|
|
@@ -173,6 +167,12 @@ export declare function createRefundStateMachine(onSubmit: (schemaName: FormSche
|
|
|
173
167
|
} | {
|
|
174
168
|
type: "onLineChange";
|
|
175
169
|
params: unknown;
|
|
170
|
+
} | {
|
|
171
|
+
type: "setFormTypeToUndefined";
|
|
172
|
+
params: unknown;
|
|
173
|
+
} | {
|
|
174
|
+
type: "setInitialAgreementAndFormType";
|
|
175
|
+
params: unknown;
|
|
176
176
|
} | {
|
|
177
177
|
type: "onPurchasePlatformChange";
|
|
178
178
|
params: unknown;
|
|
@@ -203,7 +203,7 @@ export declare function createRefundStateMachine(onSubmit: (schemaName: FormSche
|
|
|
203
203
|
} | {
|
|
204
204
|
type: "isRefundTaxi";
|
|
205
205
|
params: unknown;
|
|
206
|
-
}, never, "success" | "
|
|
206
|
+
}, never, "success" | "validating" | "submitting" | "formCategoryHandler" | "refundTicketFormHandler" | "refundAndTravelGuaranteeFormHandler" | {
|
|
207
207
|
editing: "ticketBoughtOnBus" | "residualValueOnTravelCard" | "selectFormCategory" | {
|
|
208
208
|
refundOfTicket: "appTicketRefund" | "otherTicketRefund" | "selectRefundOfTicketForm";
|
|
209
209
|
} | {
|
|
@@ -306,12 +306,6 @@ export declare const refundStateMachine: import("xstate").StateMachine<RefundCon
|
|
|
306
306
|
} | {
|
|
307
307
|
type: "navigateToSuccessPage";
|
|
308
308
|
params: unknown;
|
|
309
|
-
} | {
|
|
310
|
-
type: "setFormTypeToUndefined";
|
|
311
|
-
params: unknown;
|
|
312
|
-
} | {
|
|
313
|
-
type: "setInitialAgreementAndFormType";
|
|
314
|
-
params: unknown;
|
|
315
309
|
} | {
|
|
316
310
|
type: "clearValidationErrors";
|
|
317
311
|
params: unknown;
|
|
@@ -333,6 +327,12 @@ export declare const refundStateMachine: import("xstate").StateMachine<RefundCon
|
|
|
333
327
|
} | {
|
|
334
328
|
type: "onLineChange";
|
|
335
329
|
params: unknown;
|
|
330
|
+
} | {
|
|
331
|
+
type: "setFormTypeToUndefined";
|
|
332
|
+
params: unknown;
|
|
333
|
+
} | {
|
|
334
|
+
type: "setInitialAgreementAndFormType";
|
|
335
|
+
params: unknown;
|
|
336
336
|
} | {
|
|
337
337
|
type: "onPurchasePlatformChange";
|
|
338
338
|
params: unknown;
|
|
@@ -363,7 +363,7 @@ export declare const refundStateMachine: import("xstate").StateMachine<RefundCon
|
|
|
363
363
|
} | {
|
|
364
364
|
type: "isRefundTaxi";
|
|
365
365
|
params: unknown;
|
|
366
|
-
}, never, "success" | "
|
|
366
|
+
}, never, "success" | "validating" | "submitting" | "formCategoryHandler" | "refundTicketFormHandler" | "refundAndTravelGuaranteeFormHandler" | {
|
|
367
367
|
editing: "ticketBoughtOnBus" | "residualValueOnTravelCard" | "selectFormCategory" | {
|
|
368
368
|
refundOfTicket: "appTicketRefund" | "otherTicketRefund" | "selectRefundOfTicketForm";
|
|
369
369
|
} | {
|
|
@@ -78,6 +78,16 @@ export type MachineOptions = MachinePaths & {
|
|
|
78
78
|
includeCustomerNumber?: boolean;
|
|
79
79
|
};
|
|
80
80
|
export declare function createTicketControlFormMachine(onSubmit: (schemaName: FormSchemaName, state: Record<string, unknown>) => Promise<Response>, paths?: Partial<MachineOptions>): import("xstate").StateMachine<TicketControlContextProps, {
|
|
81
|
+
type: "ON_INPUT_CHANGE";
|
|
82
|
+
inputName: "formType" | "feeNumber" | "invoiceNumber" | "appPhoneNumber" | "customerNumber" | "travelCardNumber" | "isAppTicketStorageMode" | "agreesFirstAgreement" | "agreesSecondAgreement" | "hasInternationalBankAccount" | "dateOfTicketControl" | "timeOfTicketControl";
|
|
83
|
+
value: string | boolean | undefined;
|
|
84
|
+
} | {
|
|
85
|
+
type: "SELECT_FORM_TYPE";
|
|
86
|
+
formType: FormType;
|
|
87
|
+
} | {
|
|
88
|
+
type: "SUBMIT";
|
|
89
|
+
orderedFormFieldNames: string[];
|
|
90
|
+
} | {
|
|
81
91
|
type: "VALIDATE";
|
|
82
92
|
} | {
|
|
83
93
|
type: "ON_INPUT_CHANGE";
|
|
@@ -89,16 +99,6 @@ export declare function createTicketControlFormMachine(onSubmit: (schemaName: Fo
|
|
|
89
99
|
} | {
|
|
90
100
|
type: "ON_LINE_CHANGE";
|
|
91
101
|
value: Line | undefined;
|
|
92
|
-
} | {
|
|
93
|
-
type: "ON_INPUT_CHANGE";
|
|
94
|
-
inputName: "formType" | "feeNumber" | "invoiceNumber" | "appPhoneNumber" | "customerNumber" | "travelCardNumber" | "isAppTicketStorageMode" | "agreesFirstAgreement" | "agreesSecondAgreement" | "hasInternationalBankAccount" | "dateOfTicketControl" | "timeOfTicketControl";
|
|
95
|
-
value: string | boolean | undefined;
|
|
96
|
-
} | {
|
|
97
|
-
type: "SELECT_FORM_TYPE";
|
|
98
|
-
formType: FormType;
|
|
99
|
-
} | {
|
|
100
|
-
type: "SUBMIT";
|
|
101
|
-
orderedFormFieldNames: string[];
|
|
102
102
|
}, {
|
|
103
103
|
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<true, SubmitInput, import("xstate").EventObject>> | undefined;
|
|
104
104
|
}, {
|
|
@@ -147,7 +147,7 @@ export declare function createTicketControlFormMachine(onSubmit: (schemaName: Fo
|
|
|
147
147
|
} | {
|
|
148
148
|
type: "isPostponePaymentForm";
|
|
149
149
|
params: unknown;
|
|
150
|
-
}, never, "success" | "
|
|
150
|
+
}, never, "success" | "formHandler" | "validating" | "submitting" | {
|
|
151
151
|
editing: "feeComplaint" | "postponePayment" | "feedback" | "selectFormType";
|
|
152
152
|
}, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
153
153
|
id: "ticketControlForm";
|
|
@@ -180,6 +180,16 @@ export declare function createTicketControlFormMachine(onSubmit: (schemaName: Fo
|
|
|
180
180
|
};
|
|
181
181
|
}>;
|
|
182
182
|
export declare const ticketControlFormMachine: import("xstate").StateMachine<TicketControlContextProps, {
|
|
183
|
+
type: "ON_INPUT_CHANGE";
|
|
184
|
+
inputName: "formType" | "feeNumber" | "invoiceNumber" | "appPhoneNumber" | "customerNumber" | "travelCardNumber" | "isAppTicketStorageMode" | "agreesFirstAgreement" | "agreesSecondAgreement" | "hasInternationalBankAccount" | "dateOfTicketControl" | "timeOfTicketControl";
|
|
185
|
+
value: string | boolean | undefined;
|
|
186
|
+
} | {
|
|
187
|
+
type: "SELECT_FORM_TYPE";
|
|
188
|
+
formType: FormType;
|
|
189
|
+
} | {
|
|
190
|
+
type: "SUBMIT";
|
|
191
|
+
orderedFormFieldNames: string[];
|
|
192
|
+
} | {
|
|
183
193
|
type: "VALIDATE";
|
|
184
194
|
} | {
|
|
185
195
|
type: "ON_INPUT_CHANGE";
|
|
@@ -191,16 +201,6 @@ export declare const ticketControlFormMachine: import("xstate").StateMachine<Tic
|
|
|
191
201
|
} | {
|
|
192
202
|
type: "ON_LINE_CHANGE";
|
|
193
203
|
value: Line | undefined;
|
|
194
|
-
} | {
|
|
195
|
-
type: "ON_INPUT_CHANGE";
|
|
196
|
-
inputName: "formType" | "feeNumber" | "invoiceNumber" | "appPhoneNumber" | "customerNumber" | "travelCardNumber" | "isAppTicketStorageMode" | "agreesFirstAgreement" | "agreesSecondAgreement" | "hasInternationalBankAccount" | "dateOfTicketControl" | "timeOfTicketControl";
|
|
197
|
-
value: string | boolean | undefined;
|
|
198
|
-
} | {
|
|
199
|
-
type: "SELECT_FORM_TYPE";
|
|
200
|
-
formType: FormType;
|
|
201
|
-
} | {
|
|
202
|
-
type: "SUBMIT";
|
|
203
|
-
orderedFormFieldNames: string[];
|
|
204
204
|
}, {
|
|
205
205
|
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<true, SubmitInput, import("xstate").EventObject>> | undefined;
|
|
206
206
|
}, {
|
|
@@ -249,7 +249,7 @@ export declare const ticketControlFormMachine: import("xstate").StateMachine<Tic
|
|
|
249
249
|
} | {
|
|
250
250
|
type: "isPostponePaymentForm";
|
|
251
251
|
params: unknown;
|
|
252
|
-
}, never, "success" | "
|
|
252
|
+
}, never, "success" | "formHandler" | "validating" | "submitting" | {
|
|
253
253
|
editing: "feeComplaint" | "postponePayment" | "feedback" | "selectFormType";
|
|
254
254
|
}, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
255
255
|
id: "ticketControlForm";
|
|
@@ -117,9 +117,6 @@ export declare function createTicketingStateMachine(onSubmit: (schemaName: FormS
|
|
|
117
117
|
} | {
|
|
118
118
|
type: "navigateToSuccessPage";
|
|
119
119
|
params: unknown;
|
|
120
|
-
} | {
|
|
121
|
-
type: "setFormTypeToUndefined";
|
|
122
|
-
params: unknown;
|
|
123
120
|
} | {
|
|
124
121
|
type: "clearValidationErrors";
|
|
125
122
|
params: unknown;
|
|
@@ -135,6 +132,9 @@ export declare function createTicketingStateMachine(onSubmit: (schemaName: FormS
|
|
|
135
132
|
} | {
|
|
136
133
|
type: "clearSubmissionError";
|
|
137
134
|
params: unknown;
|
|
135
|
+
} | {
|
|
136
|
+
type: "setFormTypeToUndefined";
|
|
137
|
+
params: unknown;
|
|
138
138
|
}, {
|
|
139
139
|
type: "isFormValid";
|
|
140
140
|
params: unknown;
|
|
@@ -171,7 +171,7 @@ export declare function createTicketingStateMachine(onSubmit: (schemaName: FormS
|
|
|
171
171
|
} | {
|
|
172
172
|
type: "isOrderTravelCard";
|
|
173
173
|
params: unknown;
|
|
174
|
-
}, never, "success" | "
|
|
174
|
+
}, never, "success" | "validating" | "submitting" | "formCategoryHandler" | "appFormHandler" | "webshopFormHandler" | "travelCardFormHandler" | {
|
|
175
175
|
editing: "priceAndTicketTypes" | "selectFormCategory" | {
|
|
176
176
|
webshop: "webshopTicketing" | "webshopAccount" | "selectWebshopForm";
|
|
177
177
|
} | {
|
|
@@ -300,9 +300,6 @@ export declare const ticketingStateMachine: import("xstate").StateMachine<Ticket
|
|
|
300
300
|
} | {
|
|
301
301
|
type: "navigateToSuccessPage";
|
|
302
302
|
params: unknown;
|
|
303
|
-
} | {
|
|
304
|
-
type: "setFormTypeToUndefined";
|
|
305
|
-
params: unknown;
|
|
306
303
|
} | {
|
|
307
304
|
type: "clearValidationErrors";
|
|
308
305
|
params: unknown;
|
|
@@ -318,6 +315,9 @@ export declare const ticketingStateMachine: import("xstate").StateMachine<Ticket
|
|
|
318
315
|
} | {
|
|
319
316
|
type: "clearSubmissionError";
|
|
320
317
|
params: unknown;
|
|
318
|
+
} | {
|
|
319
|
+
type: "setFormTypeToUndefined";
|
|
320
|
+
params: unknown;
|
|
321
321
|
}, {
|
|
322
322
|
type: "isFormValid";
|
|
323
323
|
params: unknown;
|
|
@@ -354,7 +354,7 @@ export declare const ticketingStateMachine: import("xstate").StateMachine<Ticket
|
|
|
354
354
|
} | {
|
|
355
355
|
type: "isOrderTravelCard";
|
|
356
356
|
params: unknown;
|
|
357
|
-
}, never, "success" | "
|
|
357
|
+
}, never, "success" | "validating" | "submitting" | "formCategoryHandler" | "appFormHandler" | "webshopFormHandler" | "travelCardFormHandler" | {
|
|
358
358
|
editing: "priceAndTicketTypes" | "selectFormCategory" | {
|
|
359
359
|
webshop: "webshopTicketing" | "webshopAccount" | "selectWebshopForm";
|
|
360
360
|
} | {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { TranslateFunction, TranslatedString } from './commons';
|
|
2
2
|
export { Language, DEFAULT_LANGUAGE, DEFAULT_LANGUAGE_STRING, appLanguages, translation, } from './commons';
|
|
3
3
|
export type { ContactFormTranslationsOverride } from './types';
|
|
4
|
-
export { default as AppLanguageProvider, useTranslation, useLanguageSettings, } from './language-context';
|
|
4
|
+
export { default as AppLanguageProvider, useTranslation, useLanguageSettings, getLocalesFromAcceptLanguage, usePreferredBrowserLanguage, } from './language-context';
|
|
5
5
|
export { getTextForLanguage } from './utils';
|
|
6
6
|
export { jsonToTranslatedString, mergeTranslationOverrides, } from './merge-overrides';
|
|
7
7
|
export { useMergedTranslations, usePageText } from './translations-context';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC"}
|