@dataemergencia/emergency 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -9
- package/dist/iife/emergency.iife.global.js +25 -16
- package/dist/index.cjs +128 -107
- package/dist/index.d.cts +22 -15
- package/dist/index.d.ts +22 -15
- package/dist/index.js +128 -107
- package/dist/styles.css +143 -143
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -55,13 +55,8 @@ function isFiniteNumber(value) {
|
|
|
55
55
|
function isArrayOf(value, guard) {
|
|
56
56
|
return Array.isArray(value) && value.every(guard);
|
|
57
57
|
}
|
|
58
|
-
function isRealtimeConfig(value) {
|
|
59
|
-
if (!isRecord(value) || value["mode"] !== "public" || !isRecord(value["pusher"])) return false;
|
|
60
|
-
const pusher = value["pusher"];
|
|
61
|
-
return isString(pusher["key"]) && isString(pusher["cluster"]) && isString(pusher["channel_pattern"]);
|
|
62
|
-
}
|
|
63
58
|
function isConfigResponse(value) {
|
|
64
|
-
return isRecord(value) && isString(value["route_prefix"]) && isString(value["csrf_token"])
|
|
59
|
+
return isRecord(value) && isString(value["route_prefix"]) && isString(value["csrf_token"]);
|
|
65
60
|
}
|
|
66
61
|
function isSessionResponse(value) {
|
|
67
62
|
return isRecord(value) && isString(value["code"]) && isString(value["csrf_token"]) && isFiniteNumber(value["expires_in"]);
|
|
@@ -79,11 +74,11 @@ function isEmergencyResultPayload(value) {
|
|
|
79
74
|
return (value["emergency_id"] === null || isString(value["emergency_id"])) && isBoolean(value["simulated"]) && isArrayOf(value["responders"], isResponderPayload) && isArrayOf(value["failures"], isFailurePayload);
|
|
80
75
|
}
|
|
81
76
|
function isCurrentResponse(value) {
|
|
82
|
-
if (!isRecord(value) || !isBoolean(value["active"])
|
|
77
|
+
if (!isRecord(value) || !isBoolean(value["active"])) return false;
|
|
83
78
|
return value["emergency"] === null || isRecord(value["emergency"]) && !Array.isArray(value["emergency"]);
|
|
84
79
|
}
|
|
85
80
|
function isRefreshResponse(value) {
|
|
86
|
-
return isRecord(value) && isRecord(value["emergency"])
|
|
81
|
+
return isRecord(value) && isRecord(value["emergency"]);
|
|
87
82
|
}
|
|
88
83
|
function isAbortResponse(value) {
|
|
89
84
|
return isEmergencyResultPayload(value) && isRecord(value) && isBoolean(value["deleted"]);
|
|
@@ -605,8 +600,9 @@ function themeToCssVariables(theme) {
|
|
|
605
600
|
}
|
|
606
601
|
|
|
607
602
|
// src/core/realtime.ts
|
|
603
|
+
const DEFAULT_CHANNEL_PATTERN = "whatsapp.{phone}";
|
|
608
604
|
function channelForPhone(pattern, phone) {
|
|
609
|
-
return pattern.replace("{phone}", phone.replace(
|
|
605
|
+
return pattern.replace("{phone}", phone.replace(/\D/g, ""));
|
|
610
606
|
}
|
|
611
607
|
function toStatus(state) {
|
|
612
608
|
switch (state) {
|
|
@@ -621,11 +617,11 @@ function toStatus(state) {
|
|
|
621
617
|
}
|
|
622
618
|
function createPusherRealtimeProvider() {
|
|
623
619
|
return { subscribe(config, phones, handlers) {
|
|
624
|
-
if (typeof window === "undefined" || !config.
|
|
620
|
+
if (typeof window === "undefined" || !config.key || !config.cluster) return null;
|
|
625
621
|
let pusher;
|
|
626
622
|
try {
|
|
627
|
-
pusher = new Pusher(config.
|
|
628
|
-
cluster: config.
|
|
623
|
+
pusher = new Pusher(config.key, {
|
|
624
|
+
cluster: config.cluster,
|
|
629
625
|
forceTLS: true
|
|
630
626
|
});
|
|
631
627
|
} catch {
|
|
@@ -637,7 +633,7 @@ function createPusherRealtimeProvider() {
|
|
|
637
633
|
handlers.onStatus(toStatus(change.current));
|
|
638
634
|
});
|
|
639
635
|
const channels = [...new Set(phones.filter((phone) => phone !== ""))].map((phone) => {
|
|
640
|
-
const channelName = channelForPhone(config.
|
|
636
|
+
const channelName = channelForPhone(config.channelPattern ?? DEFAULT_CHANNEL_PATTERN, phone);
|
|
641
637
|
pusher.subscribe(channelName).bind_global((eventName, data) => {
|
|
642
638
|
handlers.onEvent(channelName, eventName, data);
|
|
643
639
|
});
|
|
@@ -766,7 +762,6 @@ function createEmergencyController(deps) {
|
|
|
766
762
|
let sessionPromise = null;
|
|
767
763
|
let refreshing = false;
|
|
768
764
|
let realtimeSubscription = null;
|
|
769
|
-
let realtimeConfig = null;
|
|
770
765
|
let subscribedPhones = [];
|
|
771
766
|
let messageSequence = 0;
|
|
772
767
|
let lastReconcileAt = 0;
|
|
@@ -824,9 +819,12 @@ function createEmergencyController(deps) {
|
|
|
824
819
|
realtimeSubscription = null;
|
|
825
820
|
subscribedPhones = [];
|
|
826
821
|
}
|
|
827
|
-
function startRealtime(
|
|
828
|
-
|
|
829
|
-
|
|
822
|
+
function startRealtime(responders) {
|
|
823
|
+
const realtime = config.realtime ?? null;
|
|
824
|
+
if (!realtime) {
|
|
825
|
+
if (responders.length > 0) patch({ realtimeStatus: "unavailable" });
|
|
826
|
+
return;
|
|
827
|
+
}
|
|
830
828
|
const phones = [...new Set(responders.map((responder) => responder.phone))];
|
|
831
829
|
if (realtimeSubscription && phones.length === subscribedPhones.length && phones.every((phone, index) => phone === subscribedPhones[index])) return;
|
|
832
830
|
realtimeSubscription?.disconnect();
|
|
@@ -860,7 +858,7 @@ function createEmergencyController(deps) {
|
|
|
860
858
|
const phase = get().phase.kind;
|
|
861
859
|
if (phase === "idle" || phase === "error") transition({ kind: "initializing" });
|
|
862
860
|
try {
|
|
863
|
-
|
|
861
|
+
await bff.config();
|
|
864
862
|
const session = await bff.session(config.code);
|
|
865
863
|
patch({
|
|
866
864
|
sessionReady: true,
|
|
@@ -890,7 +888,6 @@ function createEmergencyController(deps) {
|
|
|
890
888
|
async function hydrateCurrent() {
|
|
891
889
|
try {
|
|
892
890
|
const current = await bff.current();
|
|
893
|
-
realtimeConfig = current.realtime;
|
|
894
891
|
if (current.active && current.emergency) {
|
|
895
892
|
const snapshot = payloadToSnapshot(current.emergency, { code: config.code });
|
|
896
893
|
patch({
|
|
@@ -906,7 +903,7 @@ function createEmergencyController(deps) {
|
|
|
906
903
|
emergencyId: snapshot.emergencyId,
|
|
907
904
|
simulated: snapshot.simulated
|
|
908
905
|
});
|
|
909
|
-
startRealtime(
|
|
906
|
+
startRealtime(snapshot.responders);
|
|
910
907
|
events.emit("emergency:resumed", { snapshot });
|
|
911
908
|
return;
|
|
912
909
|
}
|
|
@@ -988,7 +985,7 @@ function createEmergencyController(deps) {
|
|
|
988
985
|
});
|
|
989
986
|
pushMessage(failures.length > 0 ? "warning" : "success", failures.length > 0 ? copy.partialFailure : copy.activeBanner);
|
|
990
987
|
events.emit("emergency:activated", { snapshot: hydrated });
|
|
991
|
-
startRealtime(
|
|
988
|
+
startRealtime(responders);
|
|
992
989
|
} catch (error) {
|
|
993
990
|
const normalized = toEmergencyError(error, "network");
|
|
994
991
|
if (normalized.code === "emergency_already_active") {
|
|
@@ -1065,7 +1062,7 @@ function createEmergencyController(deps) {
|
|
|
1065
1062
|
code: config.code,
|
|
1066
1063
|
simulated: snapshot.simulated
|
|
1067
1064
|
});
|
|
1068
|
-
const responders =
|
|
1065
|
+
const responders = next.responders.length > 0 ? next.responders : get().responders;
|
|
1069
1066
|
const updated = {
|
|
1070
1067
|
...next,
|
|
1071
1068
|
responders
|
|
@@ -1080,7 +1077,7 @@ function createEmergencyController(deps) {
|
|
|
1080
1077
|
emergencyId: updated.emergencyId,
|
|
1081
1078
|
simulated: updated.simulated
|
|
1082
1079
|
});
|
|
1083
|
-
startRealtime(
|
|
1080
|
+
startRealtime(responders);
|
|
1084
1081
|
events.emit("emergency:updated", { snapshot: updated });
|
|
1085
1082
|
} catch (error) {
|
|
1086
1083
|
const normalized = toEmergencyError(error, "network");
|
|
@@ -1213,7 +1210,6 @@ function createEmergencyController(deps) {
|
|
|
1213
1210
|
bff.destroy();
|
|
1214
1211
|
realtimeSubscription?.disconnect();
|
|
1215
1212
|
realtimeSubscription = null;
|
|
1216
|
-
realtimeConfig = null;
|
|
1217
1213
|
subscribedPhones = [];
|
|
1218
1214
|
patch({
|
|
1219
1215
|
destroyed: true,
|
|
@@ -1344,6 +1340,24 @@ function installEmergencyFonts(input) {
|
|
|
1344
1340
|
|
|
1345
1341
|
// src/core/config.ts
|
|
1346
1342
|
const EMERGENCY_CODE_PATTERN = /^[A-Za-z][A-Za-z0-9]{5}$/;
|
|
1343
|
+
const DEFAULT_REALTIME_CHANNEL_PATTERN = "whatsapp.{phone}";
|
|
1344
|
+
/**
|
|
1345
|
+
* Validates the host-supplied realtime block. Returns `null` when the value is
|
|
1346
|
+
* present but invalid; callers treat `undefined` as "realtime not requested".
|
|
1347
|
+
*/
|
|
1348
|
+
function normalizeRealtimeConfig(value) {
|
|
1349
|
+
if (!isRecord(value)) return null;
|
|
1350
|
+
const key = value["key"];
|
|
1351
|
+
const cluster = value["cluster"];
|
|
1352
|
+
const channelPattern = value["channelPattern"];
|
|
1353
|
+
if (typeof key !== "string" || key.trim() === "" || typeof cluster !== "string" || cluster.trim() === "") return null;
|
|
1354
|
+
if (channelPattern !== void 0 && (typeof channelPattern !== "string" || channelPattern.trim() === "" || !channelPattern.includes("{phone}"))) return null;
|
|
1355
|
+
return {
|
|
1356
|
+
key,
|
|
1357
|
+
cluster,
|
|
1358
|
+
channelPattern: channelPattern ?? "whatsapp.{phone}"
|
|
1359
|
+
};
|
|
1360
|
+
}
|
|
1347
1361
|
const LOOPBACK_HOSTS = /* @__PURE__ */ new Set([
|
|
1348
1362
|
"localhost",
|
|
1349
1363
|
"127.0.0.1",
|
|
@@ -1404,6 +1418,12 @@ function validateConfig(config) {
|
|
|
1404
1418
|
config: null,
|
|
1405
1419
|
error: createEmergencyError("configuration", "The fallback requires a non-empty phone and label.")
|
|
1406
1420
|
};
|
|
1421
|
+
const realtime = config.realtime === void 0 ? void 0 : normalizeRealtimeConfig(config.realtime);
|
|
1422
|
+
if (realtime === null) return {
|
|
1423
|
+
ok: false,
|
|
1424
|
+
config: null,
|
|
1425
|
+
error: createEmergencyError("configuration", "The realtime configuration requires a non-empty key and cluster, and a channel pattern containing {phone}.")
|
|
1426
|
+
};
|
|
1407
1427
|
return {
|
|
1408
1428
|
ok: true,
|
|
1409
1429
|
error: null,
|
|
@@ -1414,7 +1434,8 @@ function validateConfig(config) {
|
|
|
1414
1434
|
locale: config.locale ?? "es",
|
|
1415
1435
|
geolocationTimeoutMs: config.geolocationTimeoutMs ?? 8e3,
|
|
1416
1436
|
requestTimeoutMs: config.requestTimeoutMs ?? 15e3,
|
|
1417
|
-
fontLoading: normalizeFontLoading(config.fontLoading)
|
|
1437
|
+
fontLoading: normalizeFontLoading(config.fontLoading),
|
|
1438
|
+
realtime
|
|
1418
1439
|
}
|
|
1419
1440
|
};
|
|
1420
1441
|
}
|
|
@@ -1566,88 +1587,88 @@ function Icon({ name, className, title }) {
|
|
|
1566
1587
|
|
|
1567
1588
|
// src/styles/panel.module.css
|
|
1568
1589
|
var panel_module_default = {
|
|
1569
|
-
"de-emergency-fade-in": "de-emergency-de-emergency-fade-in-
|
|
1570
|
-
"de-emergency-pulse": "de-emergency-de-emergency-pulse-
|
|
1571
|
-
"de-emergency-pulse-error": "de-emergency-de-emergency-pulse-error-
|
|
1572
|
-
"de-emergency-slide-in": "de-emergency-de-emergency-slide-in-
|
|
1573
|
-
"de-emergency-slide-up": "de-emergency-de-emergency-slide-up-
|
|
1574
|
-
"de-emergency-spin": "de-emergency-de-emergency-spin-
|
|
1575
|
-
"emergency-confirmation": "de-emergency-emergency-confirmation-
|
|
1576
|
-
"emergency-confirmation__body": "de-emergency-emergency-confirmation__body-
|
|
1577
|
-
"emergency-confirmation__button": "de-emergency-emergency-confirmation__button-
|
|
1578
|
-
"emergency-confirmation__button--cancel": "de-emergency-emergency-confirmation__button--cancel-
|
|
1579
|
-
"emergency-confirmation__button--confirm": "de-emergency-emergency-confirmation__button--confirm-
|
|
1580
|
-
"emergency-confirmation__button--danger": "de-emergency-emergency-confirmation__button--danger-
|
|
1581
|
-
"emergency-confirmation__card": "de-emergency-emergency-confirmation__card-
|
|
1582
|
-
"emergency-confirmation__footer": "de-emergency-emergency-confirmation__footer-
|
|
1583
|
-
"emergency-confirmation__icon": "de-emergency-emergency-confirmation__icon-
|
|
1584
|
-
"emergency-confirmation__icon--danger": "de-emergency-emergency-confirmation__icon--danger-
|
|
1585
|
-
"emergency-confirmation__icon--information": "de-emergency-emergency-confirmation__icon--information-
|
|
1586
|
-
"emergency-confirmation__text": "de-emergency-emergency-confirmation__text-
|
|
1587
|
-
"emergency-confirmation__title": "de-emergency-emergency-confirmation__title-
|
|
1588
|
-
"emergency-error-message": "de-emergency-emergency-error-message-
|
|
1589
|
-
"emergency-error-message__container": "de-emergency-emergency-error-message__container-
|
|
1590
|
-
"emergency-error-message__content": "de-emergency-emergency-error-message__content-
|
|
1591
|
-
"emergency-error-message__detail": "de-emergency-emergency-error-message__detail-
|
|
1592
|
-
"emergency-error-message__details": "de-emergency-emergency-error-message__details-
|
|
1593
|
-
"emergency-error-message__icon": "de-emergency-emergency-error-message__icon-
|
|
1594
|
-
"emergency-error-message__text": "de-emergency-emergency-error-message__text-
|
|
1595
|
-
"emergency-error-message__title": "de-emergency-emergency-error-message__title-
|
|
1596
|
-
"emergency-feedback": "de-emergency-emergency-feedback-
|
|
1597
|
-
"emergency-feedback__dismiss": "de-emergency-emergency-feedback__dismiss-
|
|
1598
|
-
"emergency-panel": "de-emergency-emergency-panel-
|
|
1599
|
-
"emergency-panel__body": "de-emergency-emergency-panel__body-
|
|
1600
|
-
"emergency-panel__body-title": "de-emergency-emergency-panel__body-title-
|
|
1601
|
-
"emergency-panel__body-title-container": "de-emergency-emergency-panel__body-title-container-
|
|
1602
|
-
"emergency-panel__button": "de-emergency-emergency-panel__button-
|
|
1603
|
-
"emergency-panel__button--emergency": "de-emergency-emergency-panel__button--emergency-
|
|
1604
|
-
"emergency-panel__button--simulation": "de-emergency-emergency-panel__button--simulation-
|
|
1605
|
-
"emergency-panel__close-button": "de-emergency-emergency-panel__close-button-
|
|
1606
|
-
"emergency-panel__close-icon": "de-emergency-emergency-panel__close-icon-
|
|
1607
|
-
"emergency-panel__footer": "de-emergency-emergency-panel__footer-
|
|
1608
|
-
"emergency-panel__header": "de-emergency-emergency-panel__header-
|
|
1609
|
-
"emergency-panel__title": "de-emergency-emergency-panel__title-
|
|
1610
|
-
"emergency-panel--hidden": "de-emergency-emergency-panel--hidden-
|
|
1611
|
-
"emergency-resume-notification-button": "de-emergency-emergency-resume-notification-button-
|
|
1612
|
-
"emergency-resume-notification-card": "de-emergency-emergency-resume-notification-card-
|
|
1613
|
-
"emergency-resume-notification-icon": "de-emergency-emergency-resume-notification-icon-
|
|
1614
|
-
"emergency-resume-notification-message": "de-emergency-emergency-resume-notification-message-
|
|
1615
|
-
"emergency-resume-notification-overlay": "de-emergency-emergency-resume-notification-overlay-
|
|
1616
|
-
"emergency-resume-notification-title": "de-emergency-emergency-resume-notification-title-
|
|
1617
|
-
"emergency-status__abort-btn": "de-emergency-emergency-status__abort-btn-
|
|
1618
|
-
"emergency-status__body": "de-emergency-emergency-status__body-
|
|
1619
|
-
"emergency-status__cell": "de-emergency-emergency-status__cell-
|
|
1620
|
-
"emergency-status__cell-icon": "de-emergency-emergency-status__cell-icon-
|
|
1621
|
-
"emergency-status__cell-text": "de-emergency-emergency-status__cell-text-
|
|
1622
|
-
"emergency-status__cell-time": "de-emergency-emergency-status__cell-time-
|
|
1623
|
-
"emergency-status__grid": "de-emergency-emergency-status__grid-
|
|
1624
|
-
"emergency-status__header": "de-emergency-emergency-status__header-
|
|
1625
|
-
"emergency-status__loading": "de-emergency-emergency-status__loading-
|
|
1626
|
-
"emergency-status__loading-text": "de-emergency-emergency-status__loading-text-
|
|
1627
|
-
"emergency-status__panel": "de-emergency-emergency-status__panel-
|
|
1628
|
-
"emergency-status__row": "de-emergency-emergency-status__row-
|
|
1629
|
-
"emergency-status__row-container": "de-emergency-emergency-status__row-container-
|
|
1630
|
-
"emergency-status__spinner": "de-emergency-emergency-status__spinner-
|
|
1631
|
-
"emergency-status-panel__header": "de-emergency-emergency-status-panel__header-
|
|
1632
|
-
"emergency-status-panel__refresh-btn": "de-emergency-emergency-status-panel__refresh-btn-
|
|
1633
|
-
"emergency-status-panel__refresh-btn-container": "de-emergency-emergency-status-panel__refresh-btn-container-
|
|
1634
|
-
"emergency-status-panel__refresh-icon": "de-emergency-emergency-status-panel__refresh-icon-
|
|
1635
|
-
"emergency-status-panel__title": "de-emergency-emergency-status-panel__title-
|
|
1636
|
-
"responder-name": "de-emergency-responder-name-
|
|
1637
|
-
"simulacrum-success-message": "de-emergency-simulacrum-success-message-
|
|
1638
|
-
"simulacrum-success-message__container": "de-emergency-simulacrum-success-message__container-
|
|
1639
|
-
"simulacrum-success-message__content": "de-emergency-simulacrum-success-message__content-
|
|
1640
|
-
"simulacrum-success-message__detail": "de-emergency-simulacrum-success-message__detail-
|
|
1641
|
-
"simulacrum-success-message__details": "de-emergency-simulacrum-success-message__details-
|
|
1642
|
-
"simulacrum-success-message__icon": "de-emergency-simulacrum-success-message__icon-
|
|
1643
|
-
"simulacrum-success-message__text": "de-emergency-simulacrum-success-message__text-
|
|
1644
|
-
"simulacrum-success-message__title": "de-emergency-simulacrum-success-message__title-
|
|
1645
|
-
"sos-img": "de-emergency-sos-img-
|
|
1646
|
-
"sos-img__container": "de-emergency-sos-img__container-
|
|
1647
|
-
"status-icon": "de-emergency-status-icon-
|
|
1648
|
-
"status-icon--checked": "de-emergency-status-icon--checked-
|
|
1649
|
-
"status-icon--failed": "de-emergency-status-icon--failed-
|
|
1650
|
-
"status-icon--unchecked": "de-emergency-status-icon--unchecked-
|
|
1590
|
+
"de-emergency-fade-in": "de-emergency-de-emergency-fade-in-nA5Hwa",
|
|
1591
|
+
"de-emergency-pulse": "de-emergency-de-emergency-pulse-nA5Hwa",
|
|
1592
|
+
"de-emergency-pulse-error": "de-emergency-de-emergency-pulse-error-nA5Hwa",
|
|
1593
|
+
"de-emergency-slide-in": "de-emergency-de-emergency-slide-in-nA5Hwa",
|
|
1594
|
+
"de-emergency-slide-up": "de-emergency-de-emergency-slide-up-nA5Hwa",
|
|
1595
|
+
"de-emergency-spin": "de-emergency-de-emergency-spin-nA5Hwa",
|
|
1596
|
+
"emergency-confirmation": "de-emergency-emergency-confirmation-nA5Hwa",
|
|
1597
|
+
"emergency-confirmation__body": "de-emergency-emergency-confirmation__body-nA5Hwa",
|
|
1598
|
+
"emergency-confirmation__button": "de-emergency-emergency-confirmation__button-nA5Hwa",
|
|
1599
|
+
"emergency-confirmation__button--cancel": "de-emergency-emergency-confirmation__button--cancel-nA5Hwa",
|
|
1600
|
+
"emergency-confirmation__button--confirm": "de-emergency-emergency-confirmation__button--confirm-nA5Hwa",
|
|
1601
|
+
"emergency-confirmation__button--danger": "de-emergency-emergency-confirmation__button--danger-nA5Hwa",
|
|
1602
|
+
"emergency-confirmation__card": "de-emergency-emergency-confirmation__card-nA5Hwa",
|
|
1603
|
+
"emergency-confirmation__footer": "de-emergency-emergency-confirmation__footer-nA5Hwa",
|
|
1604
|
+
"emergency-confirmation__icon": "de-emergency-emergency-confirmation__icon-nA5Hwa",
|
|
1605
|
+
"emergency-confirmation__icon--danger": "de-emergency-emergency-confirmation__icon--danger-nA5Hwa",
|
|
1606
|
+
"emergency-confirmation__icon--information": "de-emergency-emergency-confirmation__icon--information-nA5Hwa",
|
|
1607
|
+
"emergency-confirmation__text": "de-emergency-emergency-confirmation__text-nA5Hwa",
|
|
1608
|
+
"emergency-confirmation__title": "de-emergency-emergency-confirmation__title-nA5Hwa",
|
|
1609
|
+
"emergency-error-message": "de-emergency-emergency-error-message-nA5Hwa",
|
|
1610
|
+
"emergency-error-message__container": "de-emergency-emergency-error-message__container-nA5Hwa",
|
|
1611
|
+
"emergency-error-message__content": "de-emergency-emergency-error-message__content-nA5Hwa",
|
|
1612
|
+
"emergency-error-message__detail": "de-emergency-emergency-error-message__detail-nA5Hwa",
|
|
1613
|
+
"emergency-error-message__details": "de-emergency-emergency-error-message__details-nA5Hwa",
|
|
1614
|
+
"emergency-error-message__icon": "de-emergency-emergency-error-message__icon-nA5Hwa",
|
|
1615
|
+
"emergency-error-message__text": "de-emergency-emergency-error-message__text-nA5Hwa",
|
|
1616
|
+
"emergency-error-message__title": "de-emergency-emergency-error-message__title-nA5Hwa",
|
|
1617
|
+
"emergency-feedback": "de-emergency-emergency-feedback-nA5Hwa",
|
|
1618
|
+
"emergency-feedback__dismiss": "de-emergency-emergency-feedback__dismiss-nA5Hwa",
|
|
1619
|
+
"emergency-panel": "de-emergency-emergency-panel-nA5Hwa",
|
|
1620
|
+
"emergency-panel__body": "de-emergency-emergency-panel__body-nA5Hwa",
|
|
1621
|
+
"emergency-panel__body-title": "de-emergency-emergency-panel__body-title-nA5Hwa",
|
|
1622
|
+
"emergency-panel__body-title-container": "de-emergency-emergency-panel__body-title-container-nA5Hwa",
|
|
1623
|
+
"emergency-panel__button": "de-emergency-emergency-panel__button-nA5Hwa",
|
|
1624
|
+
"emergency-panel__button--emergency": "de-emergency-emergency-panel__button--emergency-nA5Hwa",
|
|
1625
|
+
"emergency-panel__button--simulation": "de-emergency-emergency-panel__button--simulation-nA5Hwa",
|
|
1626
|
+
"emergency-panel__close-button": "de-emergency-emergency-panel__close-button-nA5Hwa",
|
|
1627
|
+
"emergency-panel__close-icon": "de-emergency-emergency-panel__close-icon-nA5Hwa",
|
|
1628
|
+
"emergency-panel__footer": "de-emergency-emergency-panel__footer-nA5Hwa",
|
|
1629
|
+
"emergency-panel__header": "de-emergency-emergency-panel__header-nA5Hwa",
|
|
1630
|
+
"emergency-panel__title": "de-emergency-emergency-panel__title-nA5Hwa",
|
|
1631
|
+
"emergency-panel--hidden": "de-emergency-emergency-panel--hidden-nA5Hwa",
|
|
1632
|
+
"emergency-resume-notification-button": "de-emergency-emergency-resume-notification-button-nA5Hwa",
|
|
1633
|
+
"emergency-resume-notification-card": "de-emergency-emergency-resume-notification-card-nA5Hwa",
|
|
1634
|
+
"emergency-resume-notification-icon": "de-emergency-emergency-resume-notification-icon-nA5Hwa",
|
|
1635
|
+
"emergency-resume-notification-message": "de-emergency-emergency-resume-notification-message-nA5Hwa",
|
|
1636
|
+
"emergency-resume-notification-overlay": "de-emergency-emergency-resume-notification-overlay-nA5Hwa",
|
|
1637
|
+
"emergency-resume-notification-title": "de-emergency-emergency-resume-notification-title-nA5Hwa",
|
|
1638
|
+
"emergency-status__abort-btn": "de-emergency-emergency-status__abort-btn-nA5Hwa",
|
|
1639
|
+
"emergency-status__body": "de-emergency-emergency-status__body-nA5Hwa",
|
|
1640
|
+
"emergency-status__cell": "de-emergency-emergency-status__cell-nA5Hwa",
|
|
1641
|
+
"emergency-status__cell-icon": "de-emergency-emergency-status__cell-icon-nA5Hwa",
|
|
1642
|
+
"emergency-status__cell-text": "de-emergency-emergency-status__cell-text-nA5Hwa",
|
|
1643
|
+
"emergency-status__cell-time": "de-emergency-emergency-status__cell-time-nA5Hwa",
|
|
1644
|
+
"emergency-status__grid": "de-emergency-emergency-status__grid-nA5Hwa",
|
|
1645
|
+
"emergency-status__header": "de-emergency-emergency-status__header-nA5Hwa",
|
|
1646
|
+
"emergency-status__loading": "de-emergency-emergency-status__loading-nA5Hwa",
|
|
1647
|
+
"emergency-status__loading-text": "de-emergency-emergency-status__loading-text-nA5Hwa",
|
|
1648
|
+
"emergency-status__panel": "de-emergency-emergency-status__panel-nA5Hwa",
|
|
1649
|
+
"emergency-status__row": "de-emergency-emergency-status__row-nA5Hwa",
|
|
1650
|
+
"emergency-status__row-container": "de-emergency-emergency-status__row-container-nA5Hwa",
|
|
1651
|
+
"emergency-status__spinner": "de-emergency-emergency-status__spinner-nA5Hwa",
|
|
1652
|
+
"emergency-status-panel__header": "de-emergency-emergency-status-panel__header-nA5Hwa",
|
|
1653
|
+
"emergency-status-panel__refresh-btn": "de-emergency-emergency-status-panel__refresh-btn-nA5Hwa",
|
|
1654
|
+
"emergency-status-panel__refresh-btn-container": "de-emergency-emergency-status-panel__refresh-btn-container-nA5Hwa",
|
|
1655
|
+
"emergency-status-panel__refresh-icon": "de-emergency-emergency-status-panel__refresh-icon-nA5Hwa",
|
|
1656
|
+
"emergency-status-panel__title": "de-emergency-emergency-status-panel__title-nA5Hwa",
|
|
1657
|
+
"responder-name": "de-emergency-responder-name-nA5Hwa",
|
|
1658
|
+
"simulacrum-success-message": "de-emergency-simulacrum-success-message-nA5Hwa",
|
|
1659
|
+
"simulacrum-success-message__container": "de-emergency-simulacrum-success-message__container-nA5Hwa",
|
|
1660
|
+
"simulacrum-success-message__content": "de-emergency-simulacrum-success-message__content-nA5Hwa",
|
|
1661
|
+
"simulacrum-success-message__detail": "de-emergency-simulacrum-success-message__detail-nA5Hwa",
|
|
1662
|
+
"simulacrum-success-message__details": "de-emergency-simulacrum-success-message__details-nA5Hwa",
|
|
1663
|
+
"simulacrum-success-message__icon": "de-emergency-simulacrum-success-message__icon-nA5Hwa",
|
|
1664
|
+
"simulacrum-success-message__text": "de-emergency-simulacrum-success-message__text-nA5Hwa",
|
|
1665
|
+
"simulacrum-success-message__title": "de-emergency-simulacrum-success-message__title-nA5Hwa",
|
|
1666
|
+
"sos-img": "de-emergency-sos-img-nA5Hwa",
|
|
1667
|
+
"sos-img__container": "de-emergency-sos-img__container-nA5Hwa",
|
|
1668
|
+
"status-icon": "de-emergency-status-icon-nA5Hwa",
|
|
1669
|
+
"status-icon--checked": "de-emergency-status-icon--checked-nA5Hwa",
|
|
1670
|
+
"status-icon--failed": "de-emergency-status-icon--failed-nA5Hwa",
|
|
1671
|
+
"status-icon--unchecked": "de-emergency-status-icon--unchecked-nA5Hwa"
|
|
1651
1672
|
};
|
|
1652
1673
|
|
|
1653
1674
|
// src/react/classnames.ts
|