@doctorus/common 0.0.16 → 0.0.18

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,43 @@
1
+ /**
2
+ * Account Location Status enumeration and metadata
3
+ * Defines availability policies for medical service locations
4
+ */
5
+ import type { StatusMetadata, Locale } from './types';
6
+ export declare enum AccountLocationStatus {
7
+ INHERIT = "inherit",
8
+ ALWAYS_OPEN = "always_open",
9
+ CLOSED = "closed",
10
+ PERIODS = "periods"
11
+ }
12
+ /**
13
+ * Account Location Status metadata configuration
14
+ */
15
+ export declare const ACCOUNT_LOCATION_STATUS_METADATA: Record<AccountLocationStatus, StatusMetadata>;
16
+ /**
17
+ * Get status metadata
18
+ */
19
+ export declare function getStatusMetadata(status: AccountLocationStatus): StatusMetadata;
20
+ /**
21
+ * Get status icon
22
+ */
23
+ export declare function getStatusIcon(status: AccountLocationStatus): string;
24
+ /**
25
+ * Get status color
26
+ */
27
+ export declare function getStatusColor(status: AccountLocationStatus): string;
28
+ /**
29
+ * Get status label (short or long)
30
+ */
31
+ export declare function getStatusLabel(status: AccountLocationStatus, locale?: Locale, format?: 'short' | 'long'): string;
32
+ /**
33
+ * Get status description
34
+ */
35
+ export declare function getStatusDescription(status: AccountLocationStatus, locale?: Locale): string;
36
+ /**
37
+ * Get all available statuses
38
+ */
39
+ export declare function getAllAccountLocationStatuses(): AccountLocationStatus[];
40
+ /**
41
+ * Check if a value is a valid AccountLocationStatus
42
+ */
43
+ export declare function isValidAccountLocationStatus(value: string): value is AccountLocationStatus;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ /**
3
+ * Account Location Status enumeration and metadata
4
+ * Defines availability policies for medical service locations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ACCOUNT_LOCATION_STATUS_METADATA = exports.AccountLocationStatus = void 0;
8
+ exports.getStatusMetadata = getStatusMetadata;
9
+ exports.getStatusIcon = getStatusIcon;
10
+ exports.getStatusColor = getStatusColor;
11
+ exports.getStatusLabel = getStatusLabel;
12
+ exports.getStatusDescription = getStatusDescription;
13
+ exports.getAllAccountLocationStatuses = getAllAccountLocationStatuses;
14
+ exports.isValidAccountLocationStatus = isValidAccountLocationStatus;
15
+ var AccountLocationStatus;
16
+ (function (AccountLocationStatus) {
17
+ AccountLocationStatus["INHERIT"] = "inherit";
18
+ AccountLocationStatus["ALWAYS_OPEN"] = "always_open";
19
+ AccountLocationStatus["CLOSED"] = "closed";
20
+ AccountLocationStatus["PERIODS"] = "periods";
21
+ })(AccountLocationStatus || (exports.AccountLocationStatus = AccountLocationStatus = {}));
22
+ /**
23
+ * Account Location Status metadata configuration
24
+ */
25
+ exports.ACCOUNT_LOCATION_STATUS_METADATA = {
26
+ [AccountLocationStatus.INHERIT]: {
27
+ icon: 'settings_backup_restore',
28
+ color: '#808080', // Gray
29
+ label: {
30
+ short: {
31
+ 'us-EN': 'Inherit',
32
+ 'fr-FR': 'Hériter',
33
+ },
34
+ long: {
35
+ 'us-EN': 'Inherit Settings',
36
+ 'fr-FR': 'Hériter des paramètres',
37
+ },
38
+ },
39
+ description: {
40
+ 'us-EN': 'Location inherits availability settings from parent',
41
+ 'fr-FR': 'Le lieu hérite les paramètres de disponibilité du parent',
42
+ },
43
+ },
44
+ [AccountLocationStatus.ALWAYS_OPEN]: {
45
+ icon: 'public',
46
+ color: '#4CAF50', // Green
47
+ label: {
48
+ short: {
49
+ 'us-EN': 'Always Open',
50
+ 'fr-FR': 'Toujours ouvert',
51
+ },
52
+ long: {
53
+ 'us-EN': 'Always Open',
54
+ 'fr-FR': 'Toujours ouvert',
55
+ },
56
+ },
57
+ description: {
58
+ 'us-EN': 'Location is available 24/7 without restrictions',
59
+ 'fr-FR': 'Le lieu est disponible 24h/24, 7j/7 sans restrictions',
60
+ },
61
+ },
62
+ [AccountLocationStatus.CLOSED]: {
63
+ icon: 'block',
64
+ color: '#F44336', // Red
65
+ label: {
66
+ short: {
67
+ 'us-EN': 'Closed',
68
+ 'fr-FR': 'Fermé',
69
+ },
70
+ long: {
71
+ 'us-EN': 'Closed',
72
+ 'fr-FR': 'Fermé',
73
+ },
74
+ },
75
+ description: {
76
+ 'us-EN': 'Location is closed and unavailable for services',
77
+ 'fr-FR': 'Le lieu est fermé et indisponible pour les services',
78
+ },
79
+ },
80
+ [AccountLocationStatus.PERIODS]: {
81
+ icon: 'schedule',
82
+ color: '#2196F3', // Blue
83
+ label: {
84
+ short: {
85
+ 'us-EN': 'Periods',
86
+ 'fr-FR': 'Périodes',
87
+ },
88
+ long: {
89
+ 'us-EN': 'Custom Periods',
90
+ 'fr-FR': 'Périodes personnalisées',
91
+ },
92
+ },
93
+ description: {
94
+ 'us-EN': 'Location has custom availability periods',
95
+ 'fr-FR': 'Le lieu a des périodes de disponibilité personnalisées',
96
+ },
97
+ },
98
+ };
99
+ /**
100
+ * Get status metadata
101
+ */
102
+ function getStatusMetadata(status) {
103
+ return exports.ACCOUNT_LOCATION_STATUS_METADATA[status];
104
+ }
105
+ /**
106
+ * Get status icon
107
+ */
108
+ function getStatusIcon(status) {
109
+ return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].icon;
110
+ }
111
+ /**
112
+ * Get status color
113
+ */
114
+ function getStatusColor(status) {
115
+ return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].color;
116
+ }
117
+ /**
118
+ * Get status label (short or long)
119
+ */
120
+ function getStatusLabel(status, locale = 'us-EN', format = 'short') {
121
+ return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].label[format][locale];
122
+ }
123
+ /**
124
+ * Get status description
125
+ */
126
+ function getStatusDescription(status, locale = 'us-EN') {
127
+ return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].description[locale];
128
+ }
129
+ /**
130
+ * Get all available statuses
131
+ */
132
+ function getAllAccountLocationStatuses() {
133
+ return Object.values(AccountLocationStatus);
134
+ }
135
+ /**
136
+ * Check if a value is a valid AccountLocationStatus
137
+ */
138
+ function isValidAccountLocationStatus(value) {
139
+ return Object.values(AccountLocationStatus).includes(value);
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sb2NhdGlvbi1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2FjY291bnQtbG9jYXRpb24tc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQTRGSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsc0VBRUM7QUFLRCxvRUFFQztBQXhJRCxJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsb0RBQTJCLENBQUE7SUFDM0IsMENBQWlCLENBQUE7SUFDakIsNENBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLHFCQUFxQixxQ0FBckIscUJBQXFCLFFBS2hDO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLGdDQUFnQyxHQUFrRDtJQUM3RixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFNBQVM7YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsT0FBTyxFQUFFLHdCQUF3QjthQUNsQztTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLHFEQUFxRDtZQUM5RCxPQUFPLEVBQUUsMERBQTBEO1NBQ3BFO0tBQ0Y7SUFDRCxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ25DLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRO1FBQzFCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsT0FBTyxFQUFFLGlCQUFpQjthQUMzQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsT0FBTyxFQUFFLGlCQUFpQjthQUMzQjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLGlEQUFpRDtZQUMxRCxPQUFPLEVBQUUsdURBQXVEO1NBQ2pFO0tBQ0Y7SUFDRCxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNO1FBQ3hCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLE9BQU87YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsaURBQWlEO1lBQzFELE9BQU8sRUFBRSxxREFBcUQ7U0FDL0Q7S0FDRjtJQUNELENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDL0IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFVBQVU7YUFDcEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsT0FBTyxFQUFFLHlCQUF5QjthQUNuQztTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLDBDQUEwQztZQUNuRCxPQUFPLEVBQUUsd0RBQXdEO1NBQ2xFO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUE2QjtJQUM3RCxPQUFPLHdDQUFnQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxNQUE2QjtJQUN6RCxPQUFPLHdDQUFnQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsTUFBNkI7SUFDMUQsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDeEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixNQUE2QixFQUM3QixTQUFpQixPQUFPLEVBQ3hCLFNBQTJCLE9BQU87SUFFbEMsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsTUFBNkIsRUFBRSxTQUFpQixPQUFPO0lBQzFGLE9BQU8sd0NBQWdDLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDZCQUE2QjtJQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFhO0lBQ3hELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUE4QixDQUFDLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWNjb3VudCBMb2NhdGlvbiBTdGF0dXMgZW51bWVyYXRpb24gYW5kIG1ldGFkYXRhXG4gKiBEZWZpbmVzIGF2YWlsYWJpbGl0eSBwb2xpY2llcyBmb3IgbWVkaWNhbCBzZXJ2aWNlIGxvY2F0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhdHVzTWV0YWRhdGEsIExvY2FsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBBY2NvdW50TG9jYXRpb25TdGF0dXMge1xuICBJTkhFUklUID0gJ2luaGVyaXQnLFxuICBBTFdBWVNfT1BFTiA9ICdhbHdheXNfb3BlbicsXG4gIENMT1NFRCA9ICdjbG9zZWQnLFxuICBQRVJJT0RTID0gJ3BlcmlvZHMnLFxufVxuXG4vKipcbiAqIEFjY291bnQgTG9jYXRpb24gU3RhdHVzIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBOiBSZWNvcmQ8QWNjb3VudExvY2F0aW9uU3RhdHVzLCBTdGF0dXNNZXRhZGF0YT4gPSB7XG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuSU5IRVJJVF06IHtcbiAgICBpY29uOiAnc2V0dGluZ3NfYmFja3VwX3Jlc3RvcmUnLFxuICAgIGNvbG9yOiAnIzgwODA4MCcsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0luaGVyaXQnLFxuICAgICAgICAnZnItRlInOiAnSMOpcml0ZXInLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0luaGVyaXQgU2V0dGluZ3MnLFxuICAgICAgICAnZnItRlInOiAnSMOpcml0ZXIgZGVzIHBhcmFtw6h0cmVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGluaGVyaXRzIGF2YWlsYWJpbGl0eSBzZXR0aW5ncyBmcm9tIHBhcmVudCcsXG4gICAgICAnZnItRlInOiAnTGUgbGlldSBow6lyaXRlIGxlcyBwYXJhbcOodHJlcyBkZSBkaXNwb25pYmlsaXTDqSBkdSBwYXJlbnQnLFxuICAgIH0sXG4gIH0sXG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuQUxXQVlTX09QRU5dOiB7XG4gICAgaWNvbjogJ3B1YmxpYycsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Fsd2F5cyBPcGVuJyxcbiAgICAgICAgJ2ZyLUZSJzogJ1RvdWpvdXJzIG91dmVydCcsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnQWx3YXlzIE9wZW4nLFxuICAgICAgICAnZnItRlInOiAnVG91am91cnMgb3V2ZXJ0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGlzIGF2YWlsYWJsZSAyNC83IHdpdGhvdXQgcmVzdHJpY3Rpb25zJyxcbiAgICAgICdmci1GUic6ICdMZSBsaWV1IGVzdCBkaXNwb25pYmxlIDI0aC8yNCwgN2ovNyBzYW5zIHJlc3RyaWN0aW9ucycsXG4gICAgfSxcbiAgfSxcbiAgW0FjY291bnRMb2NhdGlvblN0YXR1cy5DTE9TRURdOiB7XG4gICAgaWNvbjogJ2Jsb2NrJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Nsb3NlZCcsXG4gICAgICAgICdmci1GUic6ICdGZXJtw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Nsb3NlZCcsXG4gICAgICAgICdmci1GUic6ICdGZXJtw6knLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAndXMtRU4nOiAnTG9jYXRpb24gaXMgY2xvc2VkIGFuZCB1bmF2YWlsYWJsZSBmb3Igc2VydmljZXMnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIGxpZXUgZXN0IGZlcm3DqSBldCBpbmRpc3BvbmlibGUgcG91ciBsZXMgc2VydmljZXMnLFxuICAgIH0sXG4gIH0sXG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuUEVSSU9EU106IHtcbiAgICBpY29uOiAnc2NoZWR1bGUnLFxuICAgIGNvbG9yOiAnIzIxOTZGMycsIC8vIEJsdWVcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlcmlvZHMnLFxuICAgICAgICAnZnItRlInOiAnUMOpcmlvZGVzJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdDdXN0b20gUGVyaW9kcycsXG4gICAgICAgICdmci1GUic6ICdQw6lyaW9kZXMgcGVyc29ubmFsaXPDqWVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGhhcyBjdXN0b20gYXZhaWxhYmlsaXR5IHBlcmlvZHMnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIGxpZXUgYSBkZXMgcMOpcmlvZGVzIGRlIGRpc3BvbmliaWxpdMOpIHBlcnNvbm5hbGlzw6llcycsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMpOiBTdGF0dXNNZXRhZGF0YSB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzSWNvbihzdGF0dXM6IEFjY291bnRMb2NhdGlvblN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmljb247XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBjb2xvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzQ29sb3Ioc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMpOiBzdHJpbmcge1xuICByZXR1cm4gQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogQWNjb3VudExvY2F0aW9uU3RhdHVzLFxuICBsb2NhbGU6IExvY2FsZSA9ICd1cy1FTicsXG4gIGZvcm1hdDogJ3Nob3J0JyB8ICdsb25nJyA9ICdzaG9ydCcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzRGVzY3JpcHRpb24oc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBhdmFpbGFibGUgc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbEFjY291bnRMb2NhdGlvblN0YXR1c2VzKCk6IEFjY291bnRMb2NhdGlvblN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoQWNjb3VudExvY2F0aW9uU3RhdHVzKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgQWNjb3VudExvY2F0aW9uU3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWNjb3VudExvY2F0aW9uU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBBY2NvdW50TG9jYXRpb25TdGF0dXMge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhBY2NvdW50TG9jYXRpb25TdGF0dXMpLmluY2x1ZGVzKHZhbHVlIGFzIEFjY291bnRMb2NhdGlvblN0YXR1cyk7XG59XG4iXX0=
@@ -1,4 +1,8 @@
1
1
  /**
2
2
  * Status module exports
3
3
  */
4
+ export * from './types';
4
5
  export * from './medical-service-status';
6
+ export * as AccountLocationStatus from './account-location-status';
7
+ export * as MedicalHistoryStatus from './medical-history-status';
8
+ export * from './utils';
@@ -10,12 +10,39 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
13
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
20
  };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
16
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.MedicalHistoryStatus = exports.AccountLocationStatus = void 0;
17
40
  /**
18
41
  * Status module exports
19
42
  */
43
+ __exportStar(require("./types"), exports);
20
44
  __exportStar(require("./medical-service-status"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILDJEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RhdHVzIG1vZHVsZSBleHBvcnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG4iXX0=
45
+ exports.AccountLocationStatus = __importStar(require("./account-location-status"));
46
+ exports.MedicalHistoryStatus = __importStar(require("./medical-history-status"));
47
+ __exportStar(require("./utils"), exports);
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMENBQXdCO0FBQ3hCLDJEQUF5QztBQUN6QyxtRkFBbUU7QUFDbkUsaUZBQWlFO0FBQ2pFLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RhdHVzIG1vZHVsZSBleHBvcnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpY2FsLXNlcnZpY2Utc3RhdHVzJztcbmV4cG9ydCAqIGFzIEFjY291bnRMb2NhdGlvblN0YXR1cyBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmV4cG9ydCAqIGFzIE1lZGljYWxIaXN0b3J5U3RhdHVzIGZyb20gJy4vbWVkaWNhbC1oaXN0b3J5LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Medical History Status enumeration and metadata
3
+ * Defines the status of medical history records (active or expired)
4
+ */
5
+ import type { StatusMetadata, Locale } from './types';
6
+ export declare enum MedicalHistoryStatus {
7
+ CURRENT = "current",
8
+ EXPIRED = "expired"
9
+ }
10
+ /**
11
+ * Medical History Status metadata configuration
12
+ */
13
+ export declare const MEDICAL_HISTORY_STATUS_METADATA: Record<MedicalHistoryStatus, StatusMetadata>;
14
+ /**
15
+ * Get status metadata
16
+ */
17
+ export declare function getStatusMetadata(status: MedicalHistoryStatus): StatusMetadata;
18
+ /**
19
+ * Get status icon
20
+ */
21
+ export declare function getStatusIcon(status: MedicalHistoryStatus): string;
22
+ /**
23
+ * Get status color
24
+ */
25
+ export declare function getStatusColor(status: MedicalHistoryStatus): string;
26
+ /**
27
+ * Get status label (short or long)
28
+ */
29
+ export declare function getStatusLabel(status: MedicalHistoryStatus, locale?: Locale, format?: 'short' | 'long'): string;
30
+ /**
31
+ * Get status description
32
+ */
33
+ export declare function getStatusDescription(status: MedicalHistoryStatus, locale?: Locale): string;
34
+ /**
35
+ * Get all available statuses
36
+ */
37
+ export declare function getAllMedicalHistoryStatuses(): MedicalHistoryStatus[];
38
+ /**
39
+ * Check if a value is a valid MedicalHistoryStatus
40
+ */
41
+ export declare function isValidMedicalHistoryStatus(value: string): value is MedicalHistoryStatus;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /**
3
+ * Medical History Status enumeration and metadata
4
+ * Defines the status of medical history records (active or expired)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.MEDICAL_HISTORY_STATUS_METADATA = exports.MedicalHistoryStatus = void 0;
8
+ exports.getStatusMetadata = getStatusMetadata;
9
+ exports.getStatusIcon = getStatusIcon;
10
+ exports.getStatusColor = getStatusColor;
11
+ exports.getStatusLabel = getStatusLabel;
12
+ exports.getStatusDescription = getStatusDescription;
13
+ exports.getAllMedicalHistoryStatuses = getAllMedicalHistoryStatuses;
14
+ exports.isValidMedicalHistoryStatus = isValidMedicalHistoryStatus;
15
+ var MedicalHistoryStatus;
16
+ (function (MedicalHistoryStatus) {
17
+ MedicalHistoryStatus["CURRENT"] = "current";
18
+ MedicalHistoryStatus["EXPIRED"] = "expired";
19
+ })(MedicalHistoryStatus || (exports.MedicalHistoryStatus = MedicalHistoryStatus = {}));
20
+ /**
21
+ * Medical History Status metadata configuration
22
+ */
23
+ exports.MEDICAL_HISTORY_STATUS_METADATA = {
24
+ [MedicalHistoryStatus.CURRENT]: {
25
+ icon: 'check_circle',
26
+ color: '#4CAF50', // Green
27
+ label: {
28
+ short: {
29
+ 'us-EN': 'Active',
30
+ 'fr-FR': 'Actif',
31
+ },
32
+ long: {
33
+ 'us-EN': 'Currently Active',
34
+ 'fr-FR': 'Actuellement actif',
35
+ },
36
+ },
37
+ description: {
38
+ 'us-EN': 'Medical history record is currently active and relevant',
39
+ 'fr-FR': "L'historique médical est actuellement actif et pertinent",
40
+ },
41
+ },
42
+ [MedicalHistoryStatus.EXPIRED]: {
43
+ icon: 'do_not_disturb_on',
44
+ color: '#808080', // Gray
45
+ label: {
46
+ short: {
47
+ 'us-EN': 'Expired',
48
+ 'fr-FR': 'Expiré',
49
+ },
50
+ long: {
51
+ 'us-EN': 'Expired Record',
52
+ 'fr-FR': 'Enregistrement expiré',
53
+ },
54
+ },
55
+ description: {
56
+ 'us-EN': 'Medical history record has expired and is no longer current',
57
+ 'fr-FR': "L'historique médical a expiré et n'est plus actuel",
58
+ },
59
+ },
60
+ };
61
+ /**
62
+ * Get status metadata
63
+ */
64
+ function getStatusMetadata(status) {
65
+ return exports.MEDICAL_HISTORY_STATUS_METADATA[status];
66
+ }
67
+ /**
68
+ * Get status icon
69
+ */
70
+ function getStatusIcon(status) {
71
+ return exports.MEDICAL_HISTORY_STATUS_METADATA[status].icon;
72
+ }
73
+ /**
74
+ * Get status color
75
+ */
76
+ function getStatusColor(status) {
77
+ return exports.MEDICAL_HISTORY_STATUS_METADATA[status].color;
78
+ }
79
+ /**
80
+ * Get status label (short or long)
81
+ */
82
+ function getStatusLabel(status, locale = 'us-EN', format = 'short') {
83
+ return exports.MEDICAL_HISTORY_STATUS_METADATA[status].label[format][locale];
84
+ }
85
+ /**
86
+ * Get status description
87
+ */
88
+ function getStatusDescription(status, locale = 'us-EN') {
89
+ return exports.MEDICAL_HISTORY_STATUS_METADATA[status].description[locale];
90
+ }
91
+ /**
92
+ * Get all available statuses
93
+ */
94
+ function getAllMedicalHistoryStatuses() {
95
+ return Object.values(MedicalHistoryStatus);
96
+ }
97
+ /**
98
+ * Check if a value is a valid MedicalHistoryStatus
99
+ */
100
+ function isValidMedicalHistoryStatus(value) {
101
+ return Object.values(MedicalHistoryStatus).includes(value);
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1oaXN0b3J5LXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1oaXN0b3J5LXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFzREgsOENBRUM7QUFLRCxzQ0FFQztBQUtELHdDQUVDO0FBS0Qsd0NBTUM7QUFLRCxvREFFQztBQUtELG9FQUVDO0FBS0Qsa0VBRUM7QUFsR0QsSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLDJDQUFtQixDQUFBO0lBQ25CLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUcvQjtBQUVEOztHQUVHO0FBQ1UsUUFBQSwrQkFBK0IsR0FBaUQ7SUFDM0YsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM5QixJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVE7UUFDMUIsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsT0FBTzthQUNqQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixPQUFPLEVBQUUsb0JBQW9CO2FBQzlCO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUseURBQXlEO1lBQ2xFLE9BQU8sRUFBRSwwREFBMEQ7U0FDcEU7S0FDRjtJQUNELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU87UUFDekIsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixPQUFPLEVBQUUsUUFBUTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixPQUFPLEVBQUUsdUJBQXVCO2FBQ2pDO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsNkRBQTZEO1lBQ3RFLE9BQU8sRUFBRSxvREFBb0Q7U0FDOUQ7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE1BQTRCO0lBQzVELE9BQU8sdUNBQStCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE1BQTRCO0lBQ3hELE9BQU8sdUNBQStCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3RELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxNQUE0QjtJQUN6RCxPQUFPLHVDQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLE1BQTRCLEVBQzVCLFNBQWlCLE9BQU8sRUFDeEIsU0FBMkIsT0FBTztJQUVsQyxPQUFPLHVDQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxNQUE0QixFQUFFLFNBQWlCLE9BQU87SUFDekYsT0FBTyx1Q0FBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDJCQUEyQixDQUFDLEtBQWE7SUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQTZCLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZWRpY2FsIEhpc3RvcnkgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICogRGVmaW5lcyB0aGUgc3RhdHVzIG9mIG1lZGljYWwgaGlzdG9yeSByZWNvcmRzIChhY3RpdmUgb3IgZXhwaXJlZClcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGVudW0gTWVkaWNhbEhpc3RvcnlTdGF0dXMge1xuICBDVVJSRU5UID0gJ2N1cnJlbnQnLFxuICBFWFBJUkVEID0gJ2V4cGlyZWQnLFxufVxuXG4vKipcbiAqIE1lZGljYWwgSGlzdG9yeSBTdGF0dXMgbWV0YWRhdGEgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY29uc3QgTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQTogUmVjb3JkPE1lZGljYWxIaXN0b3J5U3RhdHVzLCBTdGF0dXNNZXRhZGF0YT4gPSB7XG4gIFtNZWRpY2FsSGlzdG9yeVN0YXR1cy5DVVJSRU5UXToge1xuICAgIGljb246ICdjaGVja19jaXJjbGUnLFxuICAgIGNvbG9yOiAnIzRDQUY1MCcsIC8vIEdyZWVuXG4gICAgbGFiZWw6IHtcbiAgICAgIHNob3J0OiB7XG4gICAgICAgICd1cy1FTic6ICdBY3RpdmUnLFxuICAgICAgICAnZnItRlInOiAnQWN0aWYnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0N1cnJlbnRseSBBY3RpdmUnLFxuICAgICAgICAnZnItRlInOiAnQWN0dWVsbGVtZW50IGFjdGlmJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ01lZGljYWwgaGlzdG9yeSByZWNvcmQgaXMgY3VycmVudGx5IGFjdGl2ZSBhbmQgcmVsZXZhbnQnLFxuICAgICAgJ2ZyLUZSJzogXCJMJ2hpc3RvcmlxdWUgbcOpZGljYWwgZXN0IGFjdHVlbGxlbWVudCBhY3RpZiBldCBwZXJ0aW5lbnRcIixcbiAgICB9LFxuICB9LFxuICBbTWVkaWNhbEhpc3RvcnlTdGF0dXMuRVhQSVJFRF06IHtcbiAgICBpY29uOiAnZG9fbm90X2Rpc3R1cmJfb24nLFxuICAgIGNvbG9yOiAnIzgwODA4MCcsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0V4cGlyZWQnLFxuICAgICAgICAnZnItRlInOiAnRXhwaXLDqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnRXhwaXJlZCBSZWNvcmQnLFxuICAgICAgICAnZnItRlInOiAnRW5yZWdpc3RyZW1lbnQgZXhwaXLDqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdNZWRpY2FsIGhpc3RvcnkgcmVjb3JkIGhhcyBleHBpcmVkIGFuZCBpcyBubyBsb25nZXIgY3VycmVudCcsXG4gICAgICAnZnItRlInOiBcIkwnaGlzdG9yaXF1ZSBtw6lkaWNhbCBhIGV4cGlyw6kgZXQgbidlc3QgcGx1cyBhY3R1ZWxcIixcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNNZXRhZGF0YShzdGF0dXM6IE1lZGljYWxIaXN0b3J5U3RhdHVzKTogU3RhdHVzTWV0YWRhdGEge1xuICByZXR1cm4gTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzSWNvbihzdGF0dXM6IE1lZGljYWxIaXN0b3J5U3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5pY29uO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgY29sb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0NvbG9yKHN0YXR1czogTWVkaWNhbEhpc3RvcnlTdGF0dXMpOiBzdHJpbmcge1xuICByZXR1cm4gTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmNvbG9yO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbGFiZWwgKHNob3J0IG9yIGxvbmcpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbChcbiAgc3RhdHVzOiBNZWRpY2FsSGlzdG9yeVN0YXR1cyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuICBmb3JtYXQ6ICdzaG9ydCcgfCAnbG9uZycgPSAnc2hvcnQnLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzRGVzY3JpcHRpb24oc3RhdHVzOiBNZWRpY2FsSGlzdG9yeVN0YXR1cywgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5kZXNjcmlwdGlvbltsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgYXZhaWxhYmxlIHN0YXR1c2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxNZWRpY2FsSGlzdG9yeVN0YXR1c2VzKCk6IE1lZGljYWxIaXN0b3J5U3RhdHVzW10ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhNZWRpY2FsSGlzdG9yeVN0YXR1cyk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHZhbGlkIE1lZGljYWxIaXN0b3J5U3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTWVkaWNhbEhpc3RvcnlTdGF0dXModmFsdWU6IHN0cmluZyk6IHZhbHVlIGlzIE1lZGljYWxIaXN0b3J5U3RhdHVzIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbEhpc3RvcnlTdGF0dXMpLmluY2x1ZGVzKHZhbHVlIGFzIE1lZGljYWxIaXN0b3J5U3RhdHVzKTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Medical Service Status enumeration and metadata
3
3
  */
4
- import type { Locale } from '../operations/labels';
4
+ import type { StatusMetadata, Locale } from './types';
5
5
  export declare enum MedicalServiceStatus {
6
6
  PENDING = "pending",
7
7
  IN_PROGRESS = "in_progress",
@@ -9,27 +9,6 @@ export declare enum MedicalServiceStatus {
9
9
  CANCELED = "canceled",
10
10
  COMPLETED = "completed"
11
11
  }
12
- /**
13
- * Status metadata including icons, colors, and translations
14
- */
15
- export interface StatusMetadata {
16
- icon: string;
17
- color: string;
18
- label: {
19
- short: {
20
- 'us-EN': string;
21
- 'fr-FR': string;
22
- };
23
- long: {
24
- 'us-EN': string;
25
- 'fr-FR': string;
26
- };
27
- };
28
- description: {
29
- 'us-EN': string;
30
- 'fr-FR': string;
31
- };
32
- }
33
12
  /**
34
13
  * Medical Service Status metadata configuration
35
14
  */
@@ -44,7 +44,7 @@ exports.MEDICAL_SERVICE_STATUS_METADATA = {
44
44
  },
45
45
  },
46
46
  [MedicalServiceStatus.ON_WAITING_ROOM]: {
47
- icon: 'person_pin_circle',
47
+ icon: 'event_busy',
48
48
  color: '#FF9800', // Orange
49
49
  label: {
50
50
  short: {
@@ -188,4 +188,4 @@ function isValidTransition(from, to) {
188
188
  function getAllowedTransitions(status) {
189
189
  return exports.MEDICAL_SERVICE_STATUS_TRANSITIONS[status] ?? [];
190
190
  }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQXFJSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsb0VBRUM7QUFLRCxrRUFFQztBQXdCRCw4Q0FFQztBQUtELHNEQUVDO0FBbE5ELElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQyw2Q0FBcUIsQ0FBQTtJQUNyQiwrQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFNL0I7QUF3QkQ7O0dBRUc7QUFDVSxRQUFBLCtCQUErQixHQUFpRDtJQUMzRixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTztRQUN6QixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxZQUFZO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLE9BQU8sRUFBRSxvQkFBb0I7YUFDOUI7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLE9BQU8sRUFBRSx1REFBdUQ7WUFDaEUsT0FBTyxFQUFFLDREQUE0RDtTQUN0RTtLQUNGO0lBQ0QsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUztRQUMzQixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JB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ZWRpY2FsIFNlcnZpY2UgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICovXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9sYWJlbHMnO1xuXG5leHBvcnQgZW51bSBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIElOX1BST0dSRVNTID0gJ2luX3Byb2dyZXNzJyxcbiAgT05fV0FJVElOR19ST09NID0gJ29uX3dhaXRpbmdfcm9vbScsXG4gIENBTkNFTEVEID0gJ2NhbmNlbGVkJyxcbiAgQ09NUExFVEVEID0gJ2NvbXBsZXRlZCcsXG59XG5cbi8qKlxuICogU3RhdHVzIG1ldGFkYXRhIGluY2x1ZGluZyBpY29ucywgY29sb3JzLCBhbmQgdHJhbnNsYXRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzTWV0YWRhdGEge1xuICBpY29uOiBzdHJpbmc7IC8vIE1hdGVyaWFsIGljb24gbmFtZVxuICBjb2xvcjogc3RyaW5nOyAvLyBIZXggY29sb3Igb3IgQ1NTIGNvbG9yIG5hbWVcbiAgbGFiZWw6IHtcbiAgICBzaG9ydDoge1xuICAgICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICAgJ2ZyLUZSJzogc3RyaW5nO1xuICAgIH07XG4gICAgbG9uZzoge1xuICAgICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICAgJ2ZyLUZSJzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICdmci1GUic6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBNZWRpY2FsIFNlcnZpY2UgU3RhdHVzIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEE6IFJlY29yZDxNZWRpY2FsU2VydmljZVN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IHtcbiAgICBpY29uOiAnc2NoZWR1bGUnLFxuICAgIGNvbG9yOiAnIzlFOUU5RScsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlbmRpbmcnLFxuICAgICAgICAnZnItRlInOiAnRW4gYXR0ZW50ZScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnUGVuZGluZyBTZXJ2aWNlJyxcbiAgICAgICAgJ2ZyLUZSJzogJ1NlcnZpY2UgZW4gYXR0ZW50ZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGlzIHNjaGVkdWxlZCBhbmQgd2FpdGluZyB0byBiZWdpbicsXG4gICAgICAnZnItRlInOiAnTGUgc2VydmljZSBtw6lkaWNhbCBlc3QgcGxhbmlmacOpIGV0IGVuIGF0dGVudGUgZGUgZMOpbWFycmFnZScsXG4gICAgfSxcbiAgfSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLk9OX1dBSVRJTkdfUk9PTV06IHtcbiAgICBpY29uOiAncGVyc29uX3Bpbl9jaXJjbGUnLFxuICAgIGNvbG9yOiAnI0ZGOTgwMCcsIC8vIE9yYW5nZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnV2FpdGluZycsXG4gICAgICAgICdmci1GUic6ICdFbiBhdHRlbnRlJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdJbiBXYWl0aW5nIFJvb20nLFxuICAgICAgICAnZnItRlInOiBcIkRhbnMgbGEgc2FsbGUgZCdhdHRlbnRlXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdQYXRpZW50IGhhcyBjaGVja2VkIGluIGFuZCBpcyB3YWl0aW5nIGluIHRoZSB3YWl0aW5nIHJvb20nLFxuICAgICAgJ2ZyLUZSJzogXCJMZSBwYXRpZW50IHMnZXN0IGVucmVnaXN0csOpIGV0IGF0dGVuZCBkYW5zIGxhIHNhbGxlIGQnYXR0ZW50ZVwiLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5JTl9QUk9HUkVTU106IHtcbiAgICBpY29uOiAnbWVkaWNhbF9zZXJ2aWNlcycsXG4gICAgY29sb3I6ICcjMjE5NkYzJywgLy8gQmx1ZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnRW4gY291cnMnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBlbiBjb3VycycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGNvbnN1bHRhdGlvbiBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MnLFxuICAgICAgJ2ZyLUZSJzogJ0xhIGNvbnN1bHRhdGlvbiBkdSBzZXJ2aWNlIG3DqWRpY2FsIGVzdCBhY3R1ZWxsZW1lbnQgZW4gY291cnMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DT01QTEVURURdOiB7XG4gICAgaWNvbjogJ2NoZWNrX2NpcmNsZScsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NvbXBsZXRlZCcsXG4gICAgICAgICdmci1GUic6ICdUZXJtaW7DqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnU2VydmljZSBDb21wbGV0ZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSB0ZXJtaW7DqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSB0ZXJtaW7DqSBhdmVjIHN1Y2PDqHMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IHtcbiAgICBpY29uOiAnY2FuY2VsJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NhbmNlbGVkJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0FubnVsw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgQ2FuY2VsZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBhbm51bMOpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ1RoZSBtZWRpY2FsIHNlcnZpY2UgaGFzIGJlZW4gY2FuY2VsZWQgYW5kIHdpbGwgbm90IHByb2NlZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSBhbm51bMOpIGV0IG5lIHNlcmEgcGFzIGVmZmVjdHXDqScsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IFN0YXR1c01ldGFkYXRhIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb24oc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvcihzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10ubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uKHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uZGVzY3JpcHRpb25bbG9jYWxlXTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIGF2YWlsYWJsZSBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTWVkaWNhbFNlcnZpY2VTdGF0dXNlcygpOiBNZWRpY2FsU2VydmljZVN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbFNlcnZpY2VTdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBNZWRpY2FsU2VydmljZVN0YXR1c1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1lZGljYWxTZXJ2aWNlU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE1lZGljYWxTZXJ2aWNlU3RhdHVzKS5pbmNsdWRlcyh2YWx1ZSBhcyBNZWRpY2FsU2VydmljZVN0YXR1cyk7XG59XG5cbi8qKlxuICogU3RhdHVzIHRyYW5zaXRpb24gcnVsZXMgKG9wdGlvbmFsOiBkZWZpbmUgd2hpY2ggdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQpXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIE1lZGljYWxTZXJ2aWNlU3RhdHVzW10+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IFtcbiAgICBNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT00sXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gIF0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiBbXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElORyxcbiAgXSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLkNPTVBMRVRFRCwgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRURdLFxuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ09NUExFVEVEXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXSwgLy8gQWxsb3cgcmVvcGVuaW5nXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IFtNZWRpY2FsU2VydmljZVN0YXR1cy5QRU5ESU5HXSwgLy8gQWxsb3cgdW5jYW5jZWxpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdGF0dXMgdHJhbnNpdGlvbiBpcyB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFRyYW5zaXRpb24oZnJvbTogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIHRvOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gTUVESUNBTF9TRVJWSUNFX1NUQVRVU19UUkFOU0lUSU9OU1tmcm9tXT8uaW5jbHVkZXModG8pID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCBhbGxvd2VkIHRyYW5zaXRpb25zIGZyb20gYSBzdGF0dXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbG93ZWRUcmFuc2l0aW9ucyhzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogTWVkaWNhbFNlcnZpY2VTdGF0dXNbXSB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TW3N0YXR1c10gPz8gW107XG59XG4iXX0=
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQStHSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsb0VBRUM7QUFLRCxrRUFFQztBQXdCRCw4Q0FFQztBQUtELHNEQUVDO0FBNUxELElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQyw2Q0FBcUIsQ0FBQTtJQUNyQiwrQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFNL0I7QUFFRDs7R0FFRztBQUNVLFFBQUEsK0JBQStCLEdBQWlEO0lBQzNGLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFlBQVk7YUFDdEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjthQUM5QjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLHVEQUF1RDtZQUNoRSxPQUFPLEVBQUUsNERBQTREO1NBQ3RFO0tBQ0Y7SUFDRCxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3RDLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUztRQUMzQixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JBQ0ws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Y2FsIFNlcnZpY2UgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhdHVzTWV0YWRhdGEsIExvY2FsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIElOX1BST0dSRVNTID0gJ2luX3Byb2dyZXNzJyxcbiAgT05fV0FJVElOR19ST09NID0gJ29uX3dhaXRpbmdfcm9vbScsXG4gIENBTkNFTEVEID0gJ2NhbmNlbGVkJyxcbiAgQ09NUExFVEVEID0gJ2NvbXBsZXRlZCcsXG59XG5cbi8qKlxuICogTWVkaWNhbCBTZXJ2aWNlIFN0YXR1cyBtZXRhZGF0YSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIFN0YXR1c01ldGFkYXRhPiA9IHtcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLlBFTkRJTkddOiB7XG4gICAgaWNvbjogJ3NjaGVkdWxlJyxcbiAgICBjb2xvcjogJyM5RTlFOUUnLCAvLyBHcmF5XG4gICAgbGFiZWw6IHtcbiAgICAgIHNob3J0OiB7XG4gICAgICAgICd1cy1FTic6ICdQZW5kaW5nJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0VuIGF0dGVudGUnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlbmRpbmcgU2VydmljZScsXG4gICAgICAgICdmci1GUic6ICdTZXJ2aWNlIGVuIGF0dGVudGUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAndXMtRU4nOiAnVGhlIG1lZGljYWwgc2VydmljZSBpcyBzY2hlZHVsZWQgYW5kIHdhaXRpbmcgdG8gYmVnaW4nLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgZXN0IHBsYW5pZmnDqSBldCBlbiBhdHRlbnRlIGRlIGTDqW1hcnJhZ2UnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiB7XG4gICAgaWNvbjogJ2V2ZW50X2J1c3knLFxuICAgIGNvbG9yOiAnI0ZGOTgwMCcsIC8vIE9yYW5nZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnV2FpdGluZycsXG4gICAgICAgICdmci1GUic6ICdFbiBhdHRlbnRlJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdJbiBXYWl0aW5nIFJvb20nLFxuICAgICAgICAnZnItRlInOiBcIkRhbnMgbGEgc2FsbGUgZCdhdHRlbnRlXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdQYXRpZW50IGhhcyBjaGVja2VkIGluIGFuZCBpcyB3YWl0aW5nIGluIHRoZSB3YWl0aW5nIHJvb20nLFxuICAgICAgJ2ZyLUZSJzogXCJMZSBwYXRpZW50IHMnZXN0IGVucmVnaXN0csOpIGV0IGF0dGVuZCBkYW5zIGxhIHNhbGxlIGQnYXR0ZW50ZVwiLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5JTl9QUk9HUkVTU106IHtcbiAgICBpY29uOiAnbWVkaWNhbF9zZXJ2aWNlcycsXG4gICAgY29sb3I6ICcjMjE5NkYzJywgLy8gQmx1ZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnRW4gY291cnMnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBlbiBjb3VycycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGNvbnN1bHRhdGlvbiBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MnLFxuICAgICAgJ2ZyLUZSJzogJ0xhIGNvbnN1bHRhdGlvbiBkdSBzZXJ2aWNlIG3DqWRpY2FsIGVzdCBhY3R1ZWxsZW1lbnQgZW4gY291cnMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DT01QTEVURURdOiB7XG4gICAgaWNvbjogJ2NoZWNrX2NpcmNsZScsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NvbXBsZXRlZCcsXG4gICAgICAgICdmci1GUic6ICdUZXJtaW7DqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnU2VydmljZSBDb21wbGV0ZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSB0ZXJtaW7DqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSB0ZXJtaW7DqSBhdmVjIHN1Y2PDqHMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IHtcbiAgICBpY29uOiAnY2FuY2VsJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NhbmNlbGVkJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0FubnVsw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgQ2FuY2VsZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBhbm51bMOpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ1RoZSBtZWRpY2FsIHNlcnZpY2UgaGFzIGJlZW4gY2FuY2VsZWQgYW5kIHdpbGwgbm90IHByb2NlZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSBhbm51bMOpIGV0IG5lIHNlcmEgcGFzIGVmZmVjdHXDqScsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IFN0YXR1c01ldGFkYXRhIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb24oc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvcihzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10ubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uKHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uZGVzY3JpcHRpb25bbG9jYWxlXTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIGF2YWlsYWJsZSBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTWVkaWNhbFNlcnZpY2VTdGF0dXNlcygpOiBNZWRpY2FsU2VydmljZVN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbFNlcnZpY2VTdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBNZWRpY2FsU2VydmljZVN0YXR1c1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1lZGljYWxTZXJ2aWNlU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE1lZGljYWxTZXJ2aWNlU3RhdHVzKS5pbmNsdWRlcyh2YWx1ZSBhcyBNZWRpY2FsU2VydmljZVN0YXR1cyk7XG59XG5cbi8qKlxuICogU3RhdHVzIHRyYW5zaXRpb24gcnVsZXMgKG9wdGlvbmFsOiBkZWZpbmUgd2hpY2ggdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQpXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIE1lZGljYWxTZXJ2aWNlU3RhdHVzW10+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IFtcbiAgICBNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT00sXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gIF0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiBbXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElORyxcbiAgXSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLkNPTVBMRVRFRCwgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRURdLFxuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ09NUExFVEVEXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXSwgLy8gQWxsb3cgcmVvcGVuaW5nXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IFtNZWRpY2FsU2VydmljZVN0YXR1cy5QRU5ESU5HXSwgLy8gQWxsb3cgdW5jYW5jZWxpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdGF0dXMgdHJhbnNpdGlvbiBpcyB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFRyYW5zaXRpb24oZnJvbTogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIHRvOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gTUVESUNBTF9TRVJWSUNFX1NUQVRVU19UUkFOU0lUSU9OU1tmcm9tXT8uaW5jbHVkZXModG8pID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCBhbGxvd2VkIHRyYW5zaXRpb25zIGZyb20gYSBzdGF0dXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbG93ZWRUcmFuc2l0aW9ucyhzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogTWVkaWNhbFNlcnZpY2VTdGF0dXNbXSB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TW3N0YXR1c10gPz8gW107XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Shared status types for all status modules
3
+ * Provides common interfaces and types used across status definitions
4
+ */
5
+ import type { Locale } from '../operations/labels';
6
+ /**
7
+ * Status metadata interface
8
+ * Defines the structure for all status metadata including icons, colors, and translations
9
+ */
10
+ export interface StatusMetadata {
11
+ icon: string;
12
+ color: string;
13
+ label: {
14
+ short: {
15
+ 'us-EN': string;
16
+ 'fr-FR': string;
17
+ };
18
+ long: {
19
+ 'us-EN': string;
20
+ 'fr-FR': string;
21
+ };
22
+ };
23
+ description: {
24
+ 'us-EN': string;
25
+ 'fr-FR': string;
26
+ };
27
+ }
28
+ /**
29
+ * Generic status configuration type
30
+ * Used to define metadata for any enum-based status
31
+ */
32
+ export type StatusConfiguration<T extends string | number> = Record<T, StatusMetadata>;
33
+ /**
34
+ * Utility type for locale parameter
35
+ */
36
+ export type { Locale };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Shared status types for all status modules
4
+ * Provides common interfaces and types used across status definitions
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCBzdGF0dXMgdHlwZXMgZm9yIGFsbCBzdGF0dXMgbW9kdWxlc1xuICogUHJvdmlkZXMgY29tbW9uIGludGVyZmFjZXMgYW5kIHR5cGVzIHVzZWQgYWNyb3NzIHN0YXR1cyBkZWZpbml0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9sYWJlbHMnO1xuXG4vKipcbiAqIFN0YXR1cyBtZXRhZGF0YSBpbnRlcmZhY2VcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZSBmb3IgYWxsIHN0YXR1cyBtZXRhZGF0YSBpbmNsdWRpbmcgaWNvbnMsIGNvbG9ycywgYW5kIHRyYW5zbGF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1c01ldGFkYXRhIHtcbiAgaWNvbjogc3RyaW5nOyAvLyBNYXRlcmlhbCBpY29uIG5hbWVcbiAgY29sb3I6IHN0cmluZzsgLy8gSGV4IGNvbG9yIG9yIENTUyBjb2xvciBuYW1lXG4gIGxhYmVsOiB7XG4gICAgc2hvcnQ6IHtcbiAgICAgICd1cy1FTic6IHN0cmluZztcbiAgICAgICdmci1GUic6IHN0cmluZztcbiAgICB9O1xuICAgIGxvbmc6IHtcbiAgICAgICd1cy1FTic6IHN0cmluZztcbiAgICAgICdmci1GUic6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBkZXNjcmlwdGlvbjoge1xuICAgICd1cy1FTic6IHN0cmluZztcbiAgICAnZnItRlInOiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogR2VuZXJpYyBzdGF0dXMgY29uZmlndXJhdGlvbiB0eXBlXG4gKiBVc2VkIHRvIGRlZmluZSBtZXRhZGF0YSBmb3IgYW55IGVudW0tYmFzZWQgc3RhdHVzXG4gKi9cbmV4cG9ydCB0eXBlIFN0YXR1c0NvbmZpZ3VyYXRpb248VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4gPSBSZWNvcmQ8VCwgU3RhdHVzTWV0YWRhdGE+O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSBmb3IgbG9jYWxlIHBhcmFtZXRlclxuICovXG5leHBvcnQgdHlwZSB7IExvY2FsZSB9O1xuIl19
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Status utilities for extracting and querying status metadata
3
+ * Provides common functions to work with status configurations
4
+ */
5
+ import type { AccountLocationStatus } from './account-location-status';
6
+ import type { MedicalHistoryStatus } from './medical-history-status';
7
+ import type { MedicalServiceStatus } from './medical-service-status';
8
+ import type { StatusMetadata, Locale } from './types';
9
+ /**
10
+ * Feature type for status selection
11
+ */
12
+ export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory';
13
+ /**
14
+ * Status type mapping for each feature
15
+ */
16
+ export type StatusTypeMap = {
17
+ medicalService: MedicalServiceStatus;
18
+ accountLocation: AccountLocationStatus;
19
+ medicalHistory: MedicalHistoryStatus;
20
+ };
21
+ /**
22
+ * Get status metadata for a specific feature and status
23
+ * @param feature - The feature name (e.g., 'medicalService', 'accountLocation')
24
+ * @param status - The status value
25
+ * @returns The complete StatusMetadata for the given feature and status
26
+ * @throws Error if feature or status is not found
27
+ */
28
+ export declare function getStatusMetadataForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): StatusMetadata;
29
+ /**
30
+ * Get status icon for a specific feature and status
31
+ * @param feature - The feature name
32
+ * @param status - The status value
33
+ * @returns The Material icon name
34
+ */
35
+ export declare function getStatusIconForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): string;
36
+ /**
37
+ * Get status color for a specific feature and status
38
+ * @param feature - The feature name
39
+ * @param status - The status value
40
+ * @returns The hex color code
41
+ */
42
+ export declare function getStatusColorForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): string;
43
+ /**
44
+ * Get status label for a specific feature and status
45
+ * @param feature - The feature name
46
+ * @param status - The status value
47
+ * @param locale - The language locale (default: 'us-EN')
48
+ * @param format - Label format: 'short' or 'long' (default: 'short')
49
+ * @returns The translated label
50
+ */
51
+ export declare function getStatusLabelForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale, format?: 'short' | 'long'): string;
52
+ /**
53
+ * Get status description for a specific feature and status
54
+ * @param feature - The feature name
55
+ * @param status - The status value
56
+ * @param locale - The language locale (default: 'us-EN')
57
+ * @returns The translated description
58
+ */
59
+ export declare function getStatusDescriptionForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale): string;
60
+ /**
61
+ * Get all metadata for a specific feature
62
+ * @param feature - The feature name
63
+ * @returns Record of all statuses and their metadata for the feature
64
+ */
65
+ export declare function getAllStatusMetadataForFeature<T extends StatusFeature>(feature: T): Record<StatusTypeMap[T], StatusMetadata>;
66
+ /**
67
+ * Get all statuses for a specific feature
68
+ * @param feature - The feature name
69
+ * @returns Array of all status values for the feature
70
+ */
71
+ export declare function getAllStatusesForFeature<T extends StatusFeature>(feature: T): StatusTypeMap[T][];
72
+ /**
73
+ * Filter statuses by criteria
74
+ * @param feature - The feature name
75
+ * @param predicate - Function to test each status metadata
76
+ * @returns Array of statuses that match the predicate
77
+ */
78
+ export declare function filterStatusesByFeature<T extends StatusFeature>(feature: T, predicate: (metadata: StatusMetadata, status: StatusTypeMap[T]) => boolean): StatusTypeMap[T][];
79
+ /**
80
+ * Map statuses to a specific value using a transform function
81
+ * @param feature - The feature name
82
+ * @param transform - Function to transform each status metadata
83
+ * @returns Record of statuses mapped to the transformed values
84
+ */
85
+ export declare function mapStatusesByFeature<T extends StatusFeature, U>(feature: T, transform: (metadata: StatusMetadata, status: StatusTypeMap[T]) => U): Record<StatusTypeMap[T], U>;
86
+ /**
87
+ * Get status metadata with computed properties
88
+ * @param feature - The feature name
89
+ * @param status - The status value
90
+ * @param locale - The language locale
91
+ * @returns Extended metadata with computed labels and description
92
+ */
93
+ export interface ExtendedStatusMetadata extends Omit<StatusMetadata, 'description'> {
94
+ shortLabel: string;
95
+ longLabel: string;
96
+ description: string;
97
+ }
98
+ export declare function getExtendedStatusMetadataForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale): ExtendedStatusMetadata;
99
+ /**
100
+ * Search statuses by label
101
+ * @param feature - The feature name
102
+ * @param searchTerm - The search term (case-insensitive)
103
+ * @param locale - The language locale
104
+ * @returns Array of statuses matching the search term
105
+ */
106
+ export declare function searchStatusesByFeature<T extends StatusFeature>(feature: T, searchTerm: string, locale?: Locale): StatusTypeMap[T][];
107
+ /**
108
+ * Get status metadata grouped by color
109
+ * @param feature - The feature name
110
+ * @returns Record of colors mapped to arrays of statuses
111
+ */
112
+ export declare function groupStatusesByColorForFeature<T extends StatusFeature>(feature: T): Record<string, StatusTypeMap[T][]>;
113
+ /**
114
+ * Get status metadata grouped by icon
115
+ * @param feature - The feature name
116
+ * @returns Record of icons mapped to arrays of statuses
117
+ */
118
+ export declare function groupStatusesByIconForFeature<T extends StatusFeature>(feature: T): Record<string, StatusTypeMap[T][]>;
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ /**
3
+ * Status utilities for extracting and querying status metadata
4
+ * Provides common functions to work with status configurations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getStatusMetadataForFeature = getStatusMetadataForFeature;
8
+ exports.getStatusIconForFeature = getStatusIconForFeature;
9
+ exports.getStatusColorForFeature = getStatusColorForFeature;
10
+ exports.getStatusLabelForFeature = getStatusLabelForFeature;
11
+ exports.getStatusDescriptionForFeature = getStatusDescriptionForFeature;
12
+ exports.getAllStatusMetadataForFeature = getAllStatusMetadataForFeature;
13
+ exports.getAllStatusesForFeature = getAllStatusesForFeature;
14
+ exports.filterStatusesByFeature = filterStatusesByFeature;
15
+ exports.mapStatusesByFeature = mapStatusesByFeature;
16
+ exports.getExtendedStatusMetadataForFeature = getExtendedStatusMetadataForFeature;
17
+ exports.searchStatusesByFeature = searchStatusesByFeature;
18
+ exports.groupStatusesByColorForFeature = groupStatusesByColorForFeature;
19
+ exports.groupStatusesByIconForFeature = groupStatusesByIconForFeature;
20
+ const account_location_status_1 = require("./account-location-status");
21
+ const medical_history_status_1 = require("./medical-history-status");
22
+ const medical_service_status_1 = require("./medical-service-status");
23
+ /**
24
+ * Metadata registry mapping features to their status configurations
25
+ */
26
+ const METADATA_REGISTRY = {
27
+ medicalService: medical_service_status_1.MEDICAL_SERVICE_STATUS_METADATA,
28
+ accountLocation: account_location_status_1.ACCOUNT_LOCATION_STATUS_METADATA,
29
+ medicalHistory: medical_history_status_1.MEDICAL_HISTORY_STATUS_METADATA,
30
+ };
31
+ /**
32
+ * Get status metadata for a specific feature and status
33
+ * @param feature - The feature name (e.g., 'medicalService', 'accountLocation')
34
+ * @param status - The status value
35
+ * @returns The complete StatusMetadata for the given feature and status
36
+ * @throws Error if feature or status is not found
37
+ */
38
+ function getStatusMetadataForFeature(feature, status) {
39
+ const registry = METADATA_REGISTRY[feature];
40
+ if (!registry) {
41
+ throw new Error(`Unknown status feature: ${feature}`);
42
+ }
43
+ const metadata = registry[status];
44
+ if (!metadata) {
45
+ throw new Error(`Unknown status for feature ${feature}: ${status}`);
46
+ }
47
+ return metadata;
48
+ }
49
+ /**
50
+ * Get status icon for a specific feature and status
51
+ * @param feature - The feature name
52
+ * @param status - The status value
53
+ * @returns The Material icon name
54
+ */
55
+ function getStatusIconForFeature(feature, status) {
56
+ return getStatusMetadataForFeature(feature, status).icon;
57
+ }
58
+ /**
59
+ * Get status color for a specific feature and status
60
+ * @param feature - The feature name
61
+ * @param status - The status value
62
+ * @returns The hex color code
63
+ */
64
+ function getStatusColorForFeature(feature, status) {
65
+ return getStatusMetadataForFeature(feature, status).color;
66
+ }
67
+ /**
68
+ * Get status label for a specific feature and status
69
+ * @param feature - The feature name
70
+ * @param status - The status value
71
+ * @param locale - The language locale (default: 'us-EN')
72
+ * @param format - Label format: 'short' or 'long' (default: 'short')
73
+ * @returns The translated label
74
+ */
75
+ function getStatusLabelForFeature(feature, status, locale = 'us-EN', format = 'short') {
76
+ const metadata = getStatusMetadataForFeature(feature, status);
77
+ return metadata.label[format][locale];
78
+ }
79
+ /**
80
+ * Get status description for a specific feature and status
81
+ * @param feature - The feature name
82
+ * @param status - The status value
83
+ * @param locale - The language locale (default: 'us-EN')
84
+ * @returns The translated description
85
+ */
86
+ function getStatusDescriptionForFeature(feature, status, locale = 'us-EN') {
87
+ return getStatusMetadataForFeature(feature, status).description[locale];
88
+ }
89
+ /**
90
+ * Get all metadata for a specific feature
91
+ * @param feature - The feature name
92
+ * @returns Record of all statuses and their metadata for the feature
93
+ */
94
+ function getAllStatusMetadataForFeature(feature) {
95
+ const registry = METADATA_REGISTRY[feature];
96
+ if (!registry) {
97
+ throw new Error(`Unknown status feature: ${feature}`);
98
+ }
99
+ return registry;
100
+ }
101
+ /**
102
+ * Get all statuses for a specific feature
103
+ * @param feature - The feature name
104
+ * @returns Array of all status values for the feature
105
+ */
106
+ function getAllStatusesForFeature(feature) {
107
+ const metadata = getAllStatusMetadataForFeature(feature);
108
+ return Object.keys(metadata);
109
+ }
110
+ /**
111
+ * Filter statuses by criteria
112
+ * @param feature - The feature name
113
+ * @param predicate - Function to test each status metadata
114
+ * @returns Array of statuses that match the predicate
115
+ */
116
+ function filterStatusesByFeature(feature, predicate) {
117
+ const metadata = getAllStatusMetadataForFeature(feature);
118
+ return Object.entries(metadata)
119
+ .filter(([status, meta]) => predicate(meta, status))
120
+ .map(([status]) => status);
121
+ }
122
+ /**
123
+ * Map statuses to a specific value using a transform function
124
+ * @param feature - The feature name
125
+ * @param transform - Function to transform each status metadata
126
+ * @returns Record of statuses mapped to the transformed values
127
+ */
128
+ function mapStatusesByFeature(feature, transform) {
129
+ const metadata = getAllStatusMetadataForFeature(feature);
130
+ const result = {};
131
+ Object.entries(metadata).forEach(([status, meta]) => {
132
+ result[status] = transform(meta, status);
133
+ });
134
+ return result;
135
+ }
136
+ function getExtendedStatusMetadataForFeature(feature, status, locale = 'us-EN') {
137
+ const metadata = getStatusMetadataForFeature(feature, status);
138
+ return {
139
+ icon: metadata.icon,
140
+ color: metadata.color,
141
+ label: metadata.label,
142
+ shortLabel: metadata.label.short[locale],
143
+ longLabel: metadata.label.long[locale],
144
+ description: metadata.description[locale],
145
+ };
146
+ }
147
+ /**
148
+ * Search statuses by label
149
+ * @param feature - The feature name
150
+ * @param searchTerm - The search term (case-insensitive)
151
+ * @param locale - The language locale
152
+ * @returns Array of statuses matching the search term
153
+ */
154
+ function searchStatusesByFeature(feature, searchTerm, locale = 'us-EN') {
155
+ const lowerSearch = searchTerm.toLowerCase();
156
+ return filterStatusesByFeature(feature, (metadata) => {
157
+ const shortLabel = metadata.label.short[locale].toLowerCase();
158
+ const longLabel = metadata.label.long[locale].toLowerCase();
159
+ const description = metadata.description[locale].toLowerCase();
160
+ return shortLabel.includes(lowerSearch) || longLabel.includes(lowerSearch) || description.includes(lowerSearch);
161
+ });
162
+ }
163
+ /**
164
+ * Get status metadata grouped by color
165
+ * @param feature - The feature name
166
+ * @returns Record of colors mapped to arrays of statuses
167
+ */
168
+ function groupStatusesByColorForFeature(feature) {
169
+ const metadata = getAllStatusMetadataForFeature(feature);
170
+ const grouped = {};
171
+ Object.entries(metadata).forEach(([status, meta]) => {
172
+ const metaTyped = meta;
173
+ if (!grouped[metaTyped.color]) {
174
+ grouped[metaTyped.color] = [];
175
+ }
176
+ grouped[metaTyped.color].push(status);
177
+ });
178
+ return grouped;
179
+ }
180
+ /**
181
+ * Get status metadata grouped by icon
182
+ * @param feature - The feature name
183
+ * @returns Record of icons mapped to arrays of statuses
184
+ */
185
+ function groupStatusesByIconForFeature(feature) {
186
+ const metadata = getAllStatusMetadataForFeature(feature);
187
+ const grouped = {};
188
+ Object.entries(metadata).forEach(([status, meta]) => {
189
+ const metaTyped = meta;
190
+ if (!grouped[metaTyped.icon]) {
191
+ grouped[metaTyped.icon] = [];
192
+ }
193
+ grouped[metaTyped.icon].push(status);
194
+ });
195
+ return grouped;
196
+ }
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBd0NILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBbFFELHVFQUE2RTtBQUM3RSxxRUFBMkU7QUFDM0UscUVBQTJFO0FBZ0IzRTs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQW1FO0lBQ3hGLGNBQWMsRUFBRSx3REFBK0I7SUFDL0MsZUFBZSxFQUFFLDBEQUFnQztJQUNqRCxjQUFjLEVBQUUsd0RBQStCO0NBQ2hELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxTQUFnQiwyQkFBMkIsQ0FDekMsT0FBVSxFQUNWLE1BQXdCO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQTBCLE9BQVUsRUFBRSxNQUF3QjtJQUNuRyxPQUFPLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FB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RUFBRSxFQUFFO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQXNCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBMEIsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBMEIsT0FBVTtJQUMvRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBdUMsRUFBRSxDQUFDO0lBRXZELE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFzQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQTBCLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0YXR1cyB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgYW5kIHF1ZXJ5aW5nIHN0YXR1cyBtZXRhZGF0YVxuICogUHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggc3RhdHVzIGNvbmZpZ3VyYXRpb25zXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9tZWRpY2FsLWhpc3Rvcnktc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtc2VydmljZS1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID0gJ21lZGljYWxTZXJ2aWNlJyB8ICdhY2NvdW50TG9jYXRpb24nIHwgJ21lZGljYWxIaXN0b3J5JztcblxuLyoqXG4gKiBTdGF0dXMgdHlwZSBtYXBwaW5nIGZvciBlYWNoIGZlYXR1cmVcbiAqL1xuZXhwb3J0IHR5cGUgU3RhdHVzVHlwZU1hcCA9IHtcbiAgbWVkaWNhbFNlcnZpY2U6IE1lZGljYWxTZXJ2aWNlU3RhdHVzO1xuICBhY2NvdW50TG9jYXRpb246IEFjY291bnRMb2NhdGlvblN0YXR1cztcbiAgbWVkaWNhbEhpc3Rvcnk6IE1lZGljYWxIaXN0b3J5U3RhdHVzO1xufTtcblxuLyoqXG4gKiBNZXRhZGF0YSByZWdpc3RyeSBtYXBwaW5nIGZlYXR1cmVzIHRvIHRoZWlyIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5jb25zdCBNRVRBREFUQV9SRUdJU1RSWTogUmVjb3JkPFN0YXR1c0ZlYXR1cmUsIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXR1c01ldGFkYXRhPj4gPSB7XG4gIG1lZGljYWxTZXJ2aWNlOiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBLFxuICBhY2NvdW50TG9jYXRpb246IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBLFxuICBtZWRpY2FsSGlzdG9yeTogTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZSAoZS5nLiwgJ21lZGljYWxTZXJ2aWNlJywgJ2FjY291bnRMb2NhdGlvbicpXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGNvbXBsZXRlIFN0YXR1c01ldGFkYXRhIGZvciB0aGUgZ2l2ZW4gZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAdGhyb3dzIEVycm9yIGlmIGZlYXR1cmUgb3Igc3RhdHVzIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuKTogU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cblxuICBjb25zdCBtZXRhZGF0YSA9IHJlZ2lzdHJ5W3N0YXR1c107XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc3RhdHVzIGZvciBmZWF0dXJlICR7ZmVhdHVyZX06ICR7c3RhdHVzfWApO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBNYXRlcmlhbCBpY29uIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGhleCBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGUgKGRlZmF1bHQ6ICd1cy1FTicpXG4gKiBAcGFyYW0gZm9ybWF0IC0gTGFiZWwgZm9ybWF0OiAnc2hvcnQnIG9yICdsb25nJyAoZGVmYXVsdDogJ3Nob3J0JylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGxhYmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbEZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG4gIHJldHVybiBtZXRhZGF0YS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBhbGwgc3RhdHVzZXMgYW5kIHRoZWlyIG1ldGFkYXRhIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT4ge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cbiAgcmV0dXJuIHJlZ2lzdHJ5IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT47XG59XG5cbi8qKlxuICogR2V0IGFsbCBzdGF0dXNlcyBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCBzdGF0dXMgdmFsdWVzIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzZXNGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhtZXRhZGF0YSkgYXMgU3RhdHVzVHlwZU1hcFtUXVtdO1xufVxuXG4vKipcbiAqIEZpbHRlciBzdGF0dXNlcyBieSBjcml0ZXJpYVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gRnVuY3Rpb24gdG8gdGVzdCBlYWNoIHN0YXR1cyBtZXRhZGF0YVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgdGhhdCBtYXRjaCB0aGUgcHJlZGljYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHByZWRpY2F0ZTogKG1ldGFkYXRhOiBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKSA9PiBib29sZWFuLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhtZXRhZGF0YSlcbiAgICAuZmlsdGVyKChbc3RhdHVzLCBtZXRhXSkgPT4gcHJlZGljYXRlKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKSlcbiAgICAubWFwKChbc3RhdHVzXSkgPT4gc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xufVxuXG4vKipcbiAqIE1hcCBzdGF0dXNlcyB0byBhIHNwZWNpZmljIHZhbHVlIHVzaW5nIGEgdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSB0cmFuc2Zvcm0gLSBGdW5jdGlvbiB0byB0cmFuc2Zvcm0gZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBzdGF0dXNlcyBtYXBwZWQgdG8gdGhlIHRyYW5zZm9ybWVkIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmUsIFU+KFxuICBmZWF0dXJlOiBULFxuICB0cmFuc2Zvcm06IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gVSxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgcmVzdWx0W3N0YXR1c10gPSB0cmFuc2Zvcm0obWV0YSBhcyBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgcHJvcGVydGllc1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEV4dGVuZGVkIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgbGFiZWxzIGFuZCBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEgZXh0ZW5kcyBPbWl0PFN0YXR1c01ldGFkYXRhLCAnZGVzY3JpcHRpb24nPiB7XG4gIHNob3J0TGFiZWw6IHN0cmluZztcbiAgbG9uZ0xhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbmRlZFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogRXh0ZW5kZWRTdGF0dXNNZXRhZGF0YSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpY29uOiBtZXRhZGF0YS5pY29uLFxuICAgIGNvbG9yOiBtZXRhZGF0YS5jb2xvcixcbiAgICBsYWJlbDogbWV0YWRhdGEubGFiZWwsXG4gICAgc2hvcnRMYWJlbDogbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXSxcbiAgICBsb25nTGFiZWw6IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXSxcbiAgICBkZXNjcmlwdGlvbjogbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZWFyY2ggc3RhdHVzZXMgYnkgbGFiZWxcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHNlYXJjaFRlcm0gLSBUaGUgc2VhcmNoIHRlcm0gKGNhc2UtaW5zZW5zaXRpdmUpXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXJtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbG93ZXJTZWFyY2ggPSBzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIGZpbHRlclN0YXR1c2VzQnlGZWF0dXJlKGZlYXR1cmUsIChtZXRhZGF0YSkgPT4ge1xuICAgIGNvbnN0IHNob3J0TGFiZWwgPSBtZXRhZGF0YS5sYWJlbC5zaG9ydFtsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG9uZ0xhYmVsID0gbWV0YWRhdGEubGFiZWwubG9uZ1tsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBtZXRhZGF0YS5kZXNjcmlwdGlvbltsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gc2hvcnRMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgbG9uZ0xhYmVsLmluY2x1ZGVzKGxvd2VyU2VhcmNoKSB8fCBkZXNjcmlwdGlvbi5pbmNsdWRlcyhsb3dlclNlYXJjaCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZ3JvdXBlZCBieSBjb2xvclxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgY29sb3JzIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUNvbG9yRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5jb2xvcl0gPSBbXTtcbiAgICB9XG4gICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgaWNvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgaWNvbnMgbWFwcGVkIHRvIGFycmF5cyBvZiBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBTdGF0dXNlc0J5SWNvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQpOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuaWNvbl0pIHtcbiAgICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -32,7 +32,7 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "version": "0.0.16",
35
+ "version": "0.0.18",
36
36
  "jest": {
37
37
  "coverageProvider": "v8",
38
38
  "testMatch": [