@bigbinary/neeto-access-control-frontend 1.3.15 → 1.3.17
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/app/javascript/src/translations/de.json +68 -0
- package/app/javascript/src/translations/en.json +5 -4
- package/app/javascript/src/translations/es.json +68 -0
- package/app/javascript/src/translations/fr.json +68 -0
- package/dist/index.cjs.js +29 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +30 -8
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoAccessControl": {
|
|
3
|
+
"titles": {
|
|
4
|
+
"dashboard": "Zugriffskontrolle",
|
|
5
|
+
"invitations": "Einladungen",
|
|
6
|
+
"emailsWithCount_one": "{{count}} E-Mail",
|
|
7
|
+
"emailsWithCount_other": "{{count}} E-Mails",
|
|
8
|
+
"selectedEmailsWithCount_one": "{{selectedCount}} ausgewählte von {{count}} E-Mail",
|
|
9
|
+
"selectedEmailsWithCount_other": "{{selectedCount}} ausgewählte von {{count}} E-Mails",
|
|
10
|
+
"emails": "E-Mails",
|
|
11
|
+
"status": "Status"
|
|
12
|
+
},
|
|
13
|
+
"labels": {
|
|
14
|
+
"noInvitations": "Es gibt keine Einladungen.",
|
|
15
|
+
"delete": "Löschen"
|
|
16
|
+
},
|
|
17
|
+
"alerts": {
|
|
18
|
+
"deleteInviation": {
|
|
19
|
+
"title_one": "Einladung löschen?",
|
|
20
|
+
"title_other": "Einladungen löschen?",
|
|
21
|
+
"message_one": "Die ausgewählte <strong>{{email}}</strong> Einladung wird von der Liste entfernt, und der Benutzer mit der E-Mail <strong>{{email}}</strong> hat keinen Zugriff mehr.",
|
|
22
|
+
"message_other": "Die ausgewählten <strong>{{count}} Einladungen</strong> werden von der Liste entfernt, und die Benutzer mit diesen E-Mail-Adressen haben keinen Zugriff mehr."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"buttons": {
|
|
26
|
+
"saveChangesAndInvite": "Änderungen speichern und per E-Mail einladen",
|
|
27
|
+
"invite": "Einladen",
|
|
28
|
+
"viewInvites": "Einladungen anzeigen"
|
|
29
|
+
},
|
|
30
|
+
"addEmails": {
|
|
31
|
+
"description": "Trenne mehrere E-Mails mit Komma.",
|
|
32
|
+
"placeholder": "Bitte geben Sie die E-Mail-Adressen ein",
|
|
33
|
+
"helpText": "Drücken Sie die Leertaste, Komma, Tabulator oder die Eingabetaste, um mehrere E-Mail-Adressen hinzuzufügen."
|
|
34
|
+
},
|
|
35
|
+
"auth": {
|
|
36
|
+
"no": "Öffentlich, jeder kann zugreifen",
|
|
37
|
+
"basic": "Mit Passwort sichern",
|
|
38
|
+
"email": "Sichern durch Zulassen von E-Mails mit bestimmten Schlüsselwörtern",
|
|
39
|
+
"session": "Privat, nur angemeldete Mitglieder",
|
|
40
|
+
"invitedWithViewButton": "Nur die eingeladenen Personen können <button>Einladungen anzeigen</button>",
|
|
41
|
+
"invited": "Nur die eingeladenen Personen können darauf zugreifen"
|
|
42
|
+
},
|
|
43
|
+
"actions": {
|
|
44
|
+
"addKeyword": "Erlaubtes Schlüsselwort hinzufügen"
|
|
45
|
+
},
|
|
46
|
+
"inputs": {
|
|
47
|
+
"labels": {
|
|
48
|
+
"keywords": "Fügen Sie Schlüsselwörter hinzu, die in der E-Mail-Adresse enthalten sein müssen, um den Zugriff zu erlauben. Wenn Sie beispielsweise nur den Personen Zugriff gewähren möchten, deren E-Mail mit @bigbinary.com endet, können Sie @bigbinary als erforderliches Schlüsselwort hinzufügen. Sie können so viele Schlüsselwörter hinzufügen, wie Sie möchten.",
|
|
49
|
+
"password": "Passwort",
|
|
50
|
+
"visibility": "Sichtbarkeit"
|
|
51
|
+
},
|
|
52
|
+
"placeholders": {
|
|
53
|
+
"enterKeyword": "Schlüsselwort eingeben",
|
|
54
|
+
"enterPassword": "Passwort eingeben"
|
|
55
|
+
},
|
|
56
|
+
"validation": {
|
|
57
|
+
"passwordRequired": "Passwort ist erforderlich",
|
|
58
|
+
"authRequired": "Authentifizierungstyp ist erforderlich",
|
|
59
|
+
"passwordMinLength": "Das Passwort muss mindestens ${min} Zeichen lang sein",
|
|
60
|
+
"keywordRequired": "Schlüsselwort ist erforderlich",
|
|
61
|
+
"emailAddress": "E-Mail-Adresse ist ungültig",
|
|
62
|
+
"invalidCharacters": "Schlüsselwort darf keine ungültigen Zeichen enthalten.",
|
|
63
|
+
"maxLength": "Schlüsselwort darf nicht länger als {{length}} Zeichen sein.",
|
|
64
|
+
"duplicateKeywords": "Doppelte Schlüsselwörter sind nicht erlaubt."
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
"invitations": "Invitations",
|
|
6
6
|
"emailsWithCount_one": "{{count}} email",
|
|
7
7
|
"emailsWithCount_other": "{{count}} emails",
|
|
8
|
-
"selectedEmailsWithCount_one": "{{
|
|
9
|
-
"selectedEmailsWithCount_other": "{{
|
|
8
|
+
"selectedEmailsWithCount_one": "{{selectedCount}} selected of {{count}} email",
|
|
9
|
+
"selectedEmailsWithCount_other": "{{selectedCount}} selected of {{count}} emails",
|
|
10
10
|
"emails": "Emails",
|
|
11
11
|
"status": "Status"
|
|
12
12
|
},
|
|
13
13
|
"labels": {
|
|
14
|
-
"noInvitations": "There are no invitations",
|
|
14
|
+
"noInvitations": "There are no invitations.",
|
|
15
15
|
"delete": "Delete"
|
|
16
16
|
},
|
|
17
17
|
"alerts": {
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
"keywordRequired": "Keyword is required",
|
|
61
61
|
"emailAddress": "Email address is invalid",
|
|
62
62
|
"invalidCharacters": "Keyword cannot contain invalid characters.",
|
|
63
|
-
"maxLength": "Keyword cannot be more than {{length}} characters."
|
|
63
|
+
"maxLength": "Keyword cannot be more than {{length}} characters.",
|
|
64
|
+
"duplicateKeywords": "Duplicate keywords are not allowed."
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoAccessControl": {
|
|
3
|
+
"titles": {
|
|
4
|
+
"dashboard": "Control de Acceso",
|
|
5
|
+
"invitations": "Invitaciones",
|
|
6
|
+
"emailsWithCount_one": "{{count}} correo electrónico",
|
|
7
|
+
"emailsWithCount_other": "{{count}} correos electrónicos",
|
|
8
|
+
"selectedEmailsWithCount_one": "{{selectedCount}} seleccionado de {{count}} correo electrónico",
|
|
9
|
+
"selectedEmailsWithCount_other": "{{selectedCount}} seleccionado de {{count}} correos electrónicos",
|
|
10
|
+
"emails": "Correos electrónicos",
|
|
11
|
+
"status": "Estado"
|
|
12
|
+
},
|
|
13
|
+
"labels": {
|
|
14
|
+
"noInvitations": "No hay invitaciones.",
|
|
15
|
+
"delete": "Eliminar"
|
|
16
|
+
},
|
|
17
|
+
"alerts": {
|
|
18
|
+
"deleteInviation": {
|
|
19
|
+
"title_one": "¿Eliminar invitación?",
|
|
20
|
+
"title_other": "¿Eliminar invitaciones?",
|
|
21
|
+
"message_one": "La invitación seleccionada <strong>{{email}}</strong> será eliminada de la lista, y el usuario con el correo <strong>{{email}}</strong> ya no tendrá acceso.",
|
|
22
|
+
"message_other": "Las <strong>{{count}} invitaciones seleccionadas</strong> serán eliminadas de la lista, y los usuarios con esas direcciones de correo ya no tendrán acceso."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"buttons": {
|
|
26
|
+
"saveChangesAndInvite": "Guardar cambios e invitar por correo electrónico",
|
|
27
|
+
"invite": "Invitar",
|
|
28
|
+
"viewInvites": "Ver invitaciones"
|
|
29
|
+
},
|
|
30
|
+
"addEmails": {
|
|
31
|
+
"description": "Separe múltiples correos electrónicos con comas.",
|
|
32
|
+
"placeholder": "Por favor, ingrese las direcciones de correo electrónico",
|
|
33
|
+
"helpText": "Presione espacio, coma, tabulador o la tecla enter para agregar múltiples direcciones de correo electrónico."
|
|
34
|
+
},
|
|
35
|
+
"auth": {
|
|
36
|
+
"no": "Público, cualquiera puede acceder",
|
|
37
|
+
"basic": "Asegurado con contraseña",
|
|
38
|
+
"email": "Asegurado permitiendo correos electrónicos con ciertas palabras clave",
|
|
39
|
+
"session": "Privado, solo miembros registrados",
|
|
40
|
+
"invitedWithViewButton": "Solo las personas invitadas pueden acceder <button>Ver invitaciones</button>",
|
|
41
|
+
"invited": "Solo las personas invitadas pueden acceder"
|
|
42
|
+
},
|
|
43
|
+
"actions": {
|
|
44
|
+
"addKeyword": "Agregar palabra clave permitida"
|
|
45
|
+
},
|
|
46
|
+
"inputs": {
|
|
47
|
+
"labels": {
|
|
48
|
+
"keywords": "Agregue palabras clave que deben estar presentes en la dirección de correo electrónico para que se permita el acceso. Por ejemplo, si desea dar acceso solo a las personas cuyos correos terminan en @bigbinary.com, puede agregar @bigbinary como la palabra clave requerida. Puede agregar tantas palabras clave como desee.",
|
|
49
|
+
"password": "Contraseña",
|
|
50
|
+
"visibility": "Visibilidad"
|
|
51
|
+
},
|
|
52
|
+
"placeholders": {
|
|
53
|
+
"enterKeyword": "Ingrese palabra clave",
|
|
54
|
+
"enterPassword": "Ingrese contraseña"
|
|
55
|
+
},
|
|
56
|
+
"validation": {
|
|
57
|
+
"passwordRequired": "Se requiere contraseña",
|
|
58
|
+
"authRequired": "Se requiere tipo de autenticación",
|
|
59
|
+
"passwordMinLength": "La contraseña debe tener al menos ${min} caracteres",
|
|
60
|
+
"keywordRequired": "Se requiere palabra clave",
|
|
61
|
+
"emailAddress": "La dirección de correo electrónico es inválida",
|
|
62
|
+
"invalidCharacters": "La palabra clave no puede contener caracteres inválidos.",
|
|
63
|
+
"maxLength": "La palabra clave no puede tener más de {{length}} caracteres.",
|
|
64
|
+
"duplicateKeywords": "No se permiten palabras clave duplicadas."
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoAccessControl": {
|
|
3
|
+
"titles": {
|
|
4
|
+
"dashboard": "Contrôle d'accès",
|
|
5
|
+
"invitations": "Invitations",
|
|
6
|
+
"emailsWithCount_one": "{{count}} email",
|
|
7
|
+
"emailsWithCount_other": "{{count}} emails",
|
|
8
|
+
"selectedEmailsWithCount_one": "{{selectedCount}} sélectionné sur {{count}} email",
|
|
9
|
+
"selectedEmailsWithCount_other": "{{selectedCount}} sélectionné sur {{count}} emails",
|
|
10
|
+
"emails": "Emails",
|
|
11
|
+
"status": "Statut"
|
|
12
|
+
},
|
|
13
|
+
"labels": {
|
|
14
|
+
"noInvitations": "Il n'y a pas d'invitations.",
|
|
15
|
+
"delete": "Supprimer"
|
|
16
|
+
},
|
|
17
|
+
"alerts": {
|
|
18
|
+
"deleteInviation": {
|
|
19
|
+
"title_one": "Supprimer l'invitation ?",
|
|
20
|
+
"title_other": "Supprimer les invitations ?",
|
|
21
|
+
"message_one": "L'invitation sélectionnée <strong>{{email}}</strong> sera supprimée de la liste, et l'utilisateur avec l'email <strong>{{email}}</strong> n'aura plus accès.",
|
|
22
|
+
"message_other": "Les <strong>{{count}} invitations sélectionnées</strong> seront supprimées de la liste, et les utilisateurs avec ces adresses email n'auront plus accès."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"buttons": {
|
|
26
|
+
"saveChangesAndInvite": "Enregistrer les changements et inviter par email",
|
|
27
|
+
"invite": "Inviter",
|
|
28
|
+
"viewInvites": "Voir les invitations"
|
|
29
|
+
},
|
|
30
|
+
"addEmails": {
|
|
31
|
+
"description": "Séparez plusieurs emails par une virgule.",
|
|
32
|
+
"placeholder": "Veuillez entrer les adresses email",
|
|
33
|
+
"helpText": "Appuyez sur espace, virgule, tabulation ou entrer pour ajouter plusieurs adresses email."
|
|
34
|
+
},
|
|
35
|
+
"auth": {
|
|
36
|
+
"no": "Public, tout le monde peut accéder",
|
|
37
|
+
"basic": "Sécurisé par mot de passe",
|
|
38
|
+
"email": "Sécurisé en autorisant les emails avec certains mots-clés",
|
|
39
|
+
"session": "Privé, réservé aux membres connectés",
|
|
40
|
+
"invitedWithViewButton": "Seules les personnes invitées peuvent accéder <button>Voir les invitations</button>",
|
|
41
|
+
"invited": "Seules les personnes invitées peuvent accéder"
|
|
42
|
+
},
|
|
43
|
+
"actions": {
|
|
44
|
+
"addKeyword": "Ajouter un mot-clé autorisé"
|
|
45
|
+
},
|
|
46
|
+
"inputs": {
|
|
47
|
+
"labels": {
|
|
48
|
+
"keywords": "Ajoutez des mots-clés qui doivent être présents dans l'adresse email pour qu'elle soit autorisée. Par exemple, si vous souhaitez donner accès uniquement aux personnes dont l'email se termine par @bigbinary.com, vous pouvez ajouter @bigbinary comme mot-clé requis. Vous pouvez ajouter autant de mots-clés que vous le souhaitez.",
|
|
49
|
+
"password": "Mot de passe",
|
|
50
|
+
"visibility": "Visibilité"
|
|
51
|
+
},
|
|
52
|
+
"placeholders": {
|
|
53
|
+
"enterKeyword": "Entrer le mot-clé",
|
|
54
|
+
"enterPassword": "Entrer le mot de passe"
|
|
55
|
+
},
|
|
56
|
+
"validation": {
|
|
57
|
+
"passwordRequired": "Le mot de passe est requis",
|
|
58
|
+
"authRequired": "Le type d'authentification est requis",
|
|
59
|
+
"passwordMinLength": "Le mot de passe doit contenir au moins ${min} caractères",
|
|
60
|
+
"keywordRequired": "Le mot-clé est requis",
|
|
61
|
+
"emailAddress": "L'adresse email n'est pas valide",
|
|
62
|
+
"invalidCharacters": "Le mot-clé ne peut pas contenir de caractères invalides.",
|
|
63
|
+
"maxLength": "Le mot-clé ne peut pas dépasser {{length}} caractères.",
|
|
64
|
+
"duplicateKeywords": "Les mots-clés en double ne sont pas autorisés."
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
package/dist/index.cjs.js
CHANGED
|
@@ -222,7 +222,10 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
222
222
|
})
|
|
223
223
|
}), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
|
|
224
224
|
dropdownProps: {
|
|
225
|
-
strategy: "fixed"
|
|
225
|
+
strategy: "fixed",
|
|
226
|
+
appendTo: function appendTo() {
|
|
227
|
+
return document.body;
|
|
228
|
+
}
|
|
226
229
|
},
|
|
227
230
|
menuItems: [{
|
|
228
231
|
key: "delete",
|
|
@@ -368,8 +371,8 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
368
371
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
369
372
|
style: "h4",
|
|
370
373
|
children: t("neetoAccessControl.titles.selectedEmailsWithCount", {
|
|
371
|
-
|
|
372
|
-
|
|
374
|
+
selectedCount: selectedEmails.length,
|
|
375
|
+
count: totalCount
|
|
373
376
|
})
|
|
374
377
|
}), /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
375
378
|
icon: Delete,
|
|
@@ -511,7 +514,22 @@ var CONFIGURATION_VALIDATION_SCHEMA = yup__namespace.object({
|
|
|
511
514
|
is: ramda.equals(AUTH.EMAIL),
|
|
512
515
|
then: yup__namespace.array().of(yup__namespace.string().required(i18next.t("neetoAccessControl.inputs.validation.keywordRequired")).max(254, i18next.t("neetoAccessControl.inputs.validation.maxLength", {
|
|
513
516
|
length: 254
|
|
514
|
-
})).matches(/^[A-Z0-9._%+-@]+$/i, i18next.t("neetoAccessControl.inputs.validation.invalidCharacters")))
|
|
517
|
+
})).matches(/^[A-Z0-9._%+-@]+$/i, i18next.t("neetoAccessControl.inputs.validation.invalidCharacters")).trim().test("unique-keyword", i18next.t("neetoAccessControl.inputs.validation.duplicateKeywords"), function (value, testContext) {
|
|
518
|
+
if (!value || !testContext.parent) return true;
|
|
519
|
+
var trimmedValue = value === null || value === void 0 ? void 0 : value.trim();
|
|
520
|
+
if (!trimmedValue) return true;
|
|
521
|
+
var duplicateIndices = neetoCist.nullSafe(ramda.pluck)("index", neetoCist.filterBy({
|
|
522
|
+
item: trimmedValue
|
|
523
|
+
}, testContext.parent.map(function (item, index) {
|
|
524
|
+
return {
|
|
525
|
+
item: item === null || item === void 0 ? void 0 : item.trim(),
|
|
526
|
+
index: index
|
|
527
|
+
};
|
|
528
|
+
})));
|
|
529
|
+
var currentIndex = testContext.path.split("[").pop().split("]")[0];
|
|
530
|
+
var isLastOccurrence = duplicateIndices[duplicateIndices.length - 1] === parseInt(currentIndex);
|
|
531
|
+
return !isLastOccurrence || duplicateIndices.length === 1;
|
|
532
|
+
}))
|
|
515
533
|
})
|
|
516
534
|
});
|
|
517
535
|
var DEFAULT_CONFIGURATION_VALUES = {
|
|
@@ -620,6 +638,12 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
620
638
|
children: function children(arrayHelpers) {
|
|
621
639
|
var allowedKeywords = arrayHelpers.form.values[name];
|
|
622
640
|
var showDeleteButton = allowedKeywords.length > 1 || neetoCist.isNotEmpty(allowedKeywords[0]);
|
|
641
|
+
var handleAddKeyword = function handleAddKeyword() {
|
|
642
|
+
allowedKeywords.forEach(function (_, index) {
|
|
643
|
+
arrayHelpers.form.setFieldTouched("".concat(name, ".").concat(index), true);
|
|
644
|
+
});
|
|
645
|
+
arrayHelpers.push("");
|
|
646
|
+
};
|
|
623
647
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
624
648
|
className: "space-y-4 pt-4",
|
|
625
649
|
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
@@ -651,9 +675,7 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
651
675
|
"data-cy": "add-allowed-keyword-button",
|
|
652
676
|
label: t("neetoAccessControl.actions.addKeyword"),
|
|
653
677
|
style: "link",
|
|
654
|
-
onClick:
|
|
655
|
-
return arrayHelpers.push("");
|
|
656
|
-
}
|
|
678
|
+
onClick: handleAddKeyword
|
|
657
679
|
})]
|
|
658
680
|
})]
|
|
659
681
|
});
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","value","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
3
|
import { useRef, useState, createElement, Fragment as Fragment$1 } from 'react';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
|
-
import { truncate, humanize, isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
5
|
+
import { truncate, humanize, isNotEmpty, noop, nullSafe, filterBy } from '@bigbinary/neeto-cist';
|
|
6
6
|
import CardLayout from '@bigbinary/neeto-molecules/CardLayout';
|
|
7
7
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
8
8
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -201,7 +201,10 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
201
201
|
})
|
|
202
202
|
}), /*#__PURE__*/jsx(MoreDropdown, {
|
|
203
203
|
dropdownProps: {
|
|
204
|
-
strategy: "fixed"
|
|
204
|
+
strategy: "fixed",
|
|
205
|
+
appendTo: function appendTo() {
|
|
206
|
+
return document.body;
|
|
207
|
+
}
|
|
205
208
|
},
|
|
206
209
|
menuItems: [{
|
|
207
210
|
key: "delete",
|
|
@@ -347,8 +350,8 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
347
350
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
348
351
|
style: "h4",
|
|
349
352
|
children: t("neetoAccessControl.titles.selectedEmailsWithCount", {
|
|
350
|
-
|
|
351
|
-
|
|
353
|
+
selectedCount: selectedEmails.length,
|
|
354
|
+
count: totalCount
|
|
352
355
|
})
|
|
353
356
|
}), /*#__PURE__*/jsx(Button$1, {
|
|
354
357
|
icon: Delete,
|
|
@@ -490,7 +493,22 @@ var CONFIGURATION_VALIDATION_SCHEMA = yup.object({
|
|
|
490
493
|
is: equals(AUTH.EMAIL),
|
|
491
494
|
then: yup.array().of(yup.string().required(t("neetoAccessControl.inputs.validation.keywordRequired")).max(254, t("neetoAccessControl.inputs.validation.maxLength", {
|
|
492
495
|
length: 254
|
|
493
|
-
})).matches(/^[A-Z0-9._%+-@]+$/i, t("neetoAccessControl.inputs.validation.invalidCharacters")))
|
|
496
|
+
})).matches(/^[A-Z0-9._%+-@]+$/i, t("neetoAccessControl.inputs.validation.invalidCharacters")).trim().test("unique-keyword", t("neetoAccessControl.inputs.validation.duplicateKeywords"), function (value, testContext) {
|
|
497
|
+
if (!value || !testContext.parent) return true;
|
|
498
|
+
var trimmedValue = value === null || value === void 0 ? void 0 : value.trim();
|
|
499
|
+
if (!trimmedValue) return true;
|
|
500
|
+
var duplicateIndices = nullSafe(pluck)("index", filterBy({
|
|
501
|
+
item: trimmedValue
|
|
502
|
+
}, testContext.parent.map(function (item, index) {
|
|
503
|
+
return {
|
|
504
|
+
item: item === null || item === void 0 ? void 0 : item.trim(),
|
|
505
|
+
index: index
|
|
506
|
+
};
|
|
507
|
+
})));
|
|
508
|
+
var currentIndex = testContext.path.split("[").pop().split("]")[0];
|
|
509
|
+
var isLastOccurrence = duplicateIndices[duplicateIndices.length - 1] === parseInt(currentIndex);
|
|
510
|
+
return !isLastOccurrence || duplicateIndices.length === 1;
|
|
511
|
+
}))
|
|
494
512
|
})
|
|
495
513
|
});
|
|
496
514
|
var DEFAULT_CONFIGURATION_VALUES = {
|
|
@@ -599,6 +617,12 @@ var AllowedKeywords = withT(function (_ref) {
|
|
|
599
617
|
children: function children(arrayHelpers) {
|
|
600
618
|
var allowedKeywords = arrayHelpers.form.values[name];
|
|
601
619
|
var showDeleteButton = allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);
|
|
620
|
+
var handleAddKeyword = function handleAddKeyword() {
|
|
621
|
+
allowedKeywords.forEach(function (_, index) {
|
|
622
|
+
arrayHelpers.form.setFieldTouched("".concat(name, ".").concat(index), true);
|
|
623
|
+
});
|
|
624
|
+
arrayHelpers.push("");
|
|
625
|
+
};
|
|
602
626
|
return /*#__PURE__*/jsxs("div", {
|
|
603
627
|
className: "space-y-4 pt-4",
|
|
604
628
|
children: [/*#__PURE__*/jsx(Label, {
|
|
@@ -630,9 +654,7 @@ var AllowedKeywords = withT(function (_ref) {
|
|
|
630
654
|
"data-cy": "add-allowed-keyword-button",
|
|
631
655
|
label: t("neetoAccessControl.actions.addKeyword"),
|
|
632
656
|
style: "link",
|
|
633
|
-
onClick:
|
|
634
|
-
return arrayHelpers.push("");
|
|
635
|
-
}
|
|
657
|
+
onClick: handleAddKeyword
|
|
636
658
|
})]
|
|
637
659
|
})]
|
|
638
660
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","value","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,wBAAwB,GAAG,gBAAgB;;ACIxD,IAAMC,eAAe,GAAA,EAAA,CAAAC,MAAA,CAAMF,wBAAwB,EAA4B,4BAAA,CAAA;AAE/E,IAAMG,IAAI,GAAG,SAAPA,IAAIA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACL,eAAe,EAAE;AAAEG,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE7D,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAAA,OAC5CL,KAAK,CAACM,IAAI,CAAA,EAAA,CAAAT,MAAA,CAAID,eAAe,EAAgBS,cAAAA,CAAAA,EAAAA,OAAO,EAAE;AACpDN,IAAAA,MAAM,EAAE;AAAEQ,MAAAA,iCAAiC,EAAEH;AAAgB;AAC/D,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAML,eAAe,GAAAK,KAAA,CAAfL,eAAe;IAAEC,OAAO,GAAAI,KAAA,CAAPJ,OAAO;EAAA,OAC7CL,KAAK,CAACM,IAAI,CAAA,EAAA,CAAAT,MAAA,CAAID,eAAe,EAAiBS,eAAAA,CAAAA,EAAAA,OAAO,EAAE;AACrDN,IAAAA,MAAM,EAAE;AAAEQ,MAAAA,iCAAiC,EAAEH;AAAgB;AAC/D,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMM,cAAc,GAAG;AAAEZ,EAAAA,IAAI,EAAJA,IAAI;AAAEU,EAAAA,WAAW,EAAXA,WAAW;AAAEN,EAAAA,UAAU,EAAVA;AAAW,CAAC;;AClBjD,IAAMS,UAAU,GAAG;AACxBC,EAAAA,4BAA4B,EAAE,8BAA8B;AAC5DC,EAAAA,wCAAwC,EACtC;AACJ,CAAC;;;;;ACGD,IAAQA,0CAAwC,GAAKF,UAAU,CAAvDE,wCAAwC;AAEzC,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAX,IAAA,EAE7BY,OAAO,EAAA;AAAA,EAAA,IADLC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;AAAKC,IAAAA,WAAW,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA,CAAA;EAAA,OAGpCC,QAAQ,CAAAC,eAAA,CAAA;IACNC,QAAQ,EAAE,CACRV,0CAAwC,EACxCI,SAAS,EACTD,OAAO,EACPE,WAAW,CACZ;IACDM,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQd,cAAc,CAACZ,IAAI,CAACoB,WAAW,CAAC;AAAA,KAAA;AAC/CO,IAAAA,SAAS,EAAEC;GACRX,EAAAA,OAAO,CACX,CAAC;AAAA,CAAA;AAEG,IAAMY,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAlB,KAAA,EAEnCM,OAAO,EAAA;AAAA,EAAA,IADLX,eAAe,GAAAK,KAAA,CAAfL,eAAe;IAAEY,OAAO,GAAAP,KAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,KAAA,CAATQ,SAAS;EAAA,OAGrCW,2BAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIK,cAAc,CAACR,UAAU,CAAC;AAAEE,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;IAEhEO,gBAAgB,EAAE,CAChB,CAAChB,0CAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;AAEI,IAAMe,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAEpChB,OAAO,EAAA;AAAA,EAAA,IADLX,eAAe,GAAA2B,KAAA,CAAf3B,eAAe;IAAEY,OAAO,GAAAe,KAAA,CAAPf,OAAO;IAAEC,SAAS,GAAAc,KAAA,CAATd,SAAS;EAAA,OAGrCW,2BAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIK,cAAc,CAACF,WAAW,CAAC;AAAEJ,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;IAEjEO,gBAAgB,EAAE,CAChB,CAAChB,0CAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;;AC/CI,IAAMiB,eAAe,GAAG,EAAE;AAE1B,IAAMC,2BAA2B,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAG,CAAC;AAElD,IAAMC,gCAAgC,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjEJ,EAAAA,MAAM,EAAEE,GAAG,CACRG,KAAK,EAAE,CACPC,IAAI,CACH,sBAAsB,EACtBC,CAAC,CAAC,mDAAmD,CAAC,EACtD,UAAAP,MAAM,EAAA;IAAA,OAAIA,MAAM,CAACQ,KAAK,CAACC,IAAI,CAAC,OAAO,CAAC,CAAC;GACvC;AACJ,CAAC,CAAC;;ACHF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAzC,IAAA,EAAgD;AAAA,EAAA,IAA1CC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEa,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAED,OAAO,GAAAb,IAAA,CAAPa,OAAO;AACtD,EAAA,IAAA6B,eAAA,GAAcC,cAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;AAET,EAAA,IAAMM,cAAc,GAAGC,MAAM,EAAE;EAE/B,IAAAC,qBAAA,GAA8BtB,wBAAwB,CAAC;AACrDvB,MAAAA,eAAe,EAAfA,eAAe;AACfa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAJckC,SAAS,GAAAD,qBAAA,CAAjBE,MAAM;EAMd,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA3C,KAAA,EAAAsB,KAAA,EAAiD;AAAA,IAAA,IAA3CG,MAAM,GAAAzB,KAAA,CAANyB,MAAM;AAAA,IAAA,IAAMmB,aAAa,GAAAtB,KAAA,CAAbsB,aAAa;MAAEC,SAAS,GAAAvB,KAAA,CAATuB,SAAS;AAC7D,IAAA,IAAMjD,OAAO,GAAG;AAAE6B,MAAAA,MAAM,EAAEqB,KAAK,CAAC,OAAO,EAAErB,MAAM;KAAG;IAElDgB,SAAS,CAAC7C,OAAO,EAAE;AACjBmD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfH,aAAa,CAAC,KAAK,CAAC;AACpBC,QAAAA,SAAS,EAAE;OACZ;MACDG,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQJ,aAAa,CAAC,KAAK,CAAC;AAAA;AACrC,KAAC,CAAC;GACH;EAED,oBACEK,IAAA,CAACC,IAAI,EAAA;AACHC,IAAAA,SAAS,EAAC,4BAA4B;AACtCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAE7B,2BAA2B;AAC1C8B,MAAAA,QAAQ,EAAEX,eAAe;AACzBY,MAAAA,gBAAgB,EAAE7B;KAClB;AAAA8B,IAAAA,QAAA,gBAEFC,GAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,WAAW;MAAAK,QAAA,eACxBC,GAAA,CAACC,eAAe,EAAA;AACdC,QAAAA,QAAQ,EAAE3B,CAAC,CAAC,uCAAuC,CAAE;AACrD4B,QAAAA,KAAK,EAAE5B,CAAC,CAAC,kCAAkC,CAAE;AAC7C6B,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,WAAW,EAAE9B,CAAC,CAAC,0CAA0C,CAAE;AAC3D+B,QAAAA,GAAG,EAAEzB;OACN;AAAC,KACC,CAAC,eAGNmB,GAAA,CAACO,MAAM,EAAA;AACLb,MAAAA,SAAS,EAAC,6CAA6C;AACvDS,MAAAA,KAAK,EAAE5B,CAAC,CAAC,mCAAmC,CAAE;AAC9CiC,MAAAA,IAAI,EAAC;AAAQ,KACd,CAAC;AAAA,GACE,CAAC;AAEX,CAAC;;ACvDD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAxE,IAAA,EAAA;AAAA,EAAA,IAAMyE,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ;AAAA,EAAA,OAAO,CAC1C;AACEC,IAAAA,KAAK,EAAEpC,CAAC,CAAC,kCAAkC,CAAC;AAC5CqC,IAAAA,SAAS,EAAE,OAAO;AAClBC,IAAAA,GAAG,EAAE,OAAO;AACZC,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGC,KAAK,EAAEC,UAAU,EAAA;AAAA,MAAA,oBACxBzB,IAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,2CAA2C;QAAAK,QAAA,EAAA,cACxDC,GAAA,CAACkB,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEH,KAAM;AAACI,UAAAA,QAAQ,EAAEJ,KAAK,CAACK,MAAM,GAAGvD,eAAgB;UAAAiC,QAAA,eAChEC,GAAA,CAACsB,UAAU,EAAA;AAACC,YAAAA,KAAK,EAAC,OAAO;AAAAxB,YAAAA,QAAA,EACtByB,QAAQ,CAACR,KAAK,EAAElD,eAAe;WACtB;AAAC,SACN,CAAC,eACVkC,GAAA,CAACyB,YAAY,EAAA;AACXC,UAAAA,aAAa,EAAE;AAAEC,YAAAA,QAAQ,EAAE,OAAO;YAAEC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;cAAA,OAAQC,QAAQ,CAACC,IAAI;AAAA;WAAG;AACpEC,UAAAA,SAAS,EAAE,CACT;AACElB,YAAAA,GAAG,EAAE,QAAQ;AACbV,YAAAA,KAAK,EAAE5B,CAAC,CAAC,kCAAkC,CAAC;YAC5CyD,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQtB,QAAQ,CAACO,UAAU,CAAC;AAAA;WACpC;AACD,SACH,CAAC;AAAA,OACC,CAAC;AAAA;AAEV,GAAC,EACD;AACEN,IAAAA,KAAK,EAAEpC,CAAC,CAAC,kCAAkC,CAAC;AAC5CqC,IAAAA,SAAS,EAAE,QAAQ;AACnBC,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEkB,MAAM,EAAA;MAAA,OAAIC,QAAQ,CAACD,MAAM,CAAC;AAAA;AACpC,GAAC,CACF;AAAA,CAAA;AAED,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAItB,GAAG,EAAEuB,CAAC,EAAEC,CAAC,EAAK;EAChC,IAAMC,KAAK,GAAGC,cAAc,CAACC,OAAO,CAAC/D,IAAI,CAACoC,GAAG,CAAC,EAAEuB,CAAC,CAAC,EAAEI,OAAO,CAAC/D,IAAI,CAACoC,GAAG,CAAC,EAAEwB,CAAC,CAAC,CAAC;EAE1E,OAAOI,MAAM,CAACH,KAAK,CAAC;AACtB,CAAC;AAEM,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAnG,KAAA,EAAA;AAAA,EAAA,IAAMmE,QAAQ,GAAAnE,KAAA,CAARmE,QAAQ;IAAAiC,qBAAA,GAAApG,KAAA,CAAEqG,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAAA,EAAA,OAChER,UAAU,CAAC,KAAK,EAAE1B,iBAAiB,CAAC;AAAEC,IAAAA,QAAQ,EAARA;GAAU,CAAC,EAAEkC,gBAAgB,CAAC;AAAA,CAAA;;;;ACvBtE,IAAMC,aAAW,GAAG,SAAdA,WAAWA,CAAA5G,IAAA,EAUX;AAAA,EAAA,IAAA6G,gBAAA;AAAA,EAAA,IAAAC,qBAAA,GAAA9G,IAAA,CATJ2G,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAG,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrB7G,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAA8G,cAAA,GAAA/G,IAAA,CACfc,SAAS;AAATA,IAAAA,SAAS,GAAAiG,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;IAAAC,YAAA,GAAAhH,IAAA,CAChBa,OAAO;AAAPA,IAAAA,OAAO,GAAAmG,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;IACdC,MAAM,GAAAjH,IAAA,CAANiH,MAAM;IACNC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,qBAAA,GAAAnH,IAAA,CACPoH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAArH,IAAA,CACzBsH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAvH,IAAA,CACtBwH,2BAA2B;AAA3BA,IAAAA,2BAA2B,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,qBAAA;AAElC,EAAA,IAAAG,SAAA,GAA4CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAA8CL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAG,UAAA,GAAwBT,QAAQ,CAACU,kBAAkB,CAAC;IAAAC,UAAA,GAAAT,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAA7CG,IAAAA,IAAI,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,IAAA5F,eAAA,GAAcC,cAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;EAET,IAAAmG,mBAAA,GAII9H,kBAAkB,CACpB;AACEP,MAAAA,iCAAiC,EAAEH,eAAe;AAClDa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA,OAAO;AACP0H,MAAAA,IAAI,EAAJA,IAAI;AACJG,MAAAA,QAAQ,EAAEC;AACZ,KAAC,EACD;AAAEC,MAAAA,OAAO,EAAE3B;AAAO,KACpB,CAAC;IAAA4B,qBAAA,GAAAJ,mBAAA,CAZCK,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAyC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAvCE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA;IACxCE,UAAU,GAAAX,mBAAA,CAAVW,UAAU;IACVC,SAAS,GAAAZ,mBAAA,CAATY,SAAS;EAYX,IAAAC,qBAAA,GAAkD3H,yBAAyB,CAAC;AAC1E1B,MAAAA,eAAe,EAAfA,eAAe;AACfa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAJc0I,kBAAkB,GAAAD,qBAAA,CAA1BtG,MAAM;IAAsBwG,SAAS,GAAAF,qBAAA,CAATE,SAAS;AAM7C,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1BvC,IAAAA,OAAO,EAAE;IACTa,iBAAiB,CAAC,EAAE,CAAC;GACtB;AAED,EAAA,IAAM2B,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrC,IAAA,IAAMxJ,OAAO,GAAG;AAAE6B,MAAAA,MAAM,EAAEqB,KAAK,CAAC,OAAO,EAAE0E,cAAc;KAAG;IAE1DyB,kBAAkB,CAACrJ,OAAO,EAAE;AAC1BmD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACf0E,iBAAiB,CAAC,EAAE,CAAC;QACrBI,kBAAkB,CAAC,KAAK,CAAC;AACzBX,QAAAA,2BAA2B,EAAE;AAC/B;AACF,KAAC,CAAC;GACH;AAED,EAAA,IAAMmC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG3E,UAAU,EAAI;AACvC+C,IAAAA,iBAAiB,CAAC,CAAC/C,UAAU,CAAC,CAAC;IAC/BmD,kBAAkB,CAAC,IAAI,CAAC;GACzB;EAED,oBACE5E,IAAA,CAAAqG,QAAA,EAAA;IAAA9F,QAAA,EAAA,cACEP,IAAA,CAACsG,IAAI,EAAA;AAAO5C,MAAAA,MAAM,EAANA,MAAM;AAAI6C,MAAAA,IAAI,EAAC,OAAO;AAAC5C,MAAAA,OAAO,EAAEuC,aAAc;AAAA3F,MAAAA,QAAA,EACxDC,cAAAA,GAAA,CAAC8F,IAAI,CAACE,MAAM,EAAA;QAAAjG,QAAA,eACVC,GAAA,CAACsB,UAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,IAAI;AAAC0E,UAAAA,MAAM,EAAC,UAAU;UAAAlG,QAAA,EACrCxB,CAAC,CAAC,uCAAuC;SAChC;AAAC,OACF,CAAC,eACdiB,IAAA,CAACsG,IAAI,CAACI,IAAI,EAAA;AAACxG,QAAAA,SAAS,EAAC,gBAAgB;AAAAK,QAAAA,QAAA,GAClCoG,UAAU,CAAC5C,iBAAiB,CAAC,iBAC5BvD,GAAA,CAAA,KAAA,EAAA;AAAKN,UAAAA,SAAS,EAAC,yBAAyB;UAAAK,QAAA,eACtCC,GAAA,CAACO,QAAM,EAAAnD,eAAA,CAAA,EAAA,EAAKmG,iBAAiB,CAAG;AAAC,SAC9B,CACN,EACA,CAACF,iBAAiB,iBACjBrD,GAAA,CAACtB,SAAS,EAAA;AAAOxC,UAAAA,eAAe,EAAfA,eAAe;AAAEY,UAAAA,OAAO,EAAPA,OAAO;AAAEC,UAAAA,SAAS,EAATA;SAAc,CAC1D,EACAoJ,UAAU,CAACjB,WAAW,CAAC,gBACtB1F,IAAA,CAAAqG,QAAA,EAAA;UAAA9F,QAAA,EAAA,cACEC,GAAA,CAACoG,SAAS,EAAA;YACRC,eAAe,EACbC,OAAO,CAACvC,cAAc,CAAC,gBACrB/D,GAAA,CAACsB,UAAU,EAAA;AAAC5B,cAAAA,SAAS,EAAC,SAAS;AAAC6G,cAAAA,SAAS,EAAC,IAAI;AAAChF,cAAAA,KAAK,EAAC,IAAI;AAAAxB,cAAAA,QAAA,EACtDxB,CAAC,CAAC,2CAA2C,EAAE;AAC9CiI,gBAAAA,KAAK,EAAEpB;eACR;aACS,CAAC,gBAEb5F,IAAA,CAAA,KAAA,EAAA;AAAKE,cAAAA,SAAS,EAAC,2BAA2B;cAAAK,QAAA,EAAA,cACxCC,GAAA,CAACsB,UAAU,EAAA;AAACC,gBAAAA,KAAK,EAAC,IAAI;AAAAxB,gBAAAA,QAAA,EACnBxB,CAAC,CACA,mDAAmD,EACnD;kBACEkI,aAAa,EAAE1C,cAAc,CAAC1C,MAAM;AACpCmF,kBAAAA,KAAK,EAAEpB;iBAEX;AAAC,eACS,CAAC,eACbpF,GAAA,CAACO,QAAM,EAAA;AACLmG,gBAAAA,IAAI,EAAEC,MAAO;AACbpF,gBAAAA,KAAK,EAAC,WAAW;AACjBqF,gBAAAA,YAAY,EAAE;kBACZzF,OAAO,EAAE5C,CAAC,CAAC,kCAAkC;iBAC7C;gBACFyD,OAAO,EAAE,SAATA,OAAOA,GAAA;kBAAA,OAAQoC,kBAAkB,CAAC,IAAI,CAAC;AAAA;AAAC,eACzC,CAAC;aACC;AAER,WACF,CAAC,eACFpE,GAAA,CAAC6G,YAAY,EAAA;YAACC,aAAa,EAAE1B,UAAU,GAAGR,iBAAkB;YAAA7E,QAAA,eAC1DC,GAAA,CAAC+G,KAAK,EAAA;AACE3B,cAAAA,UAAU,EAAVA,UAAU;cAChB4B,WAAW,EAAA,IAAA;cACXC,YAAY,EAAA,IAAA;AACZC,cAAAA,iBAAiB,EAAE1C,IAAK;AACxB2C,cAAAA,gBAAgB,EAAE1C,OAAQ;AAC1B2C,cAAAA,OAAO,EAAE/B,UAAW;AACpBgC,cAAAA,OAAO,EAAEnC,WAAY;AACrBoC,cAAAA,eAAe,EAAEjI,KAAK,CAAC,IAAI,EAAE0E,cAAc,CAAE;cAC7CwD,UAAU,EAAE7E,gBAAgB,CAAC;AAC3BhC,gBAAAA,QAAQ,EAAEkF,kBAAkB;AAC5BhD,gBAAAA,gBAAgB,EAAhBA;AACF,eAAC,CAAE;AACH4E,cAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAGC,CAAC,EAAEC,YAAY,EAAA;gBAAA,OAC3B1D,iBAAiB,CAAC0D,YAAY,CAAC;AAAA;aAElC;AAAC,WACU,CAAC;SACf,CAAC,gBAEHlI,IAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,mCAAmC;AAAAK,UAAAA,QAAA,GAC/C,CAACuF,SAAS,iBACTtF,GAAA,CAAC2H,MAAM,EAAA;YAAChH,KAAK,EAAEpC,CAAC,CAAC,yCAAyC;AAAE,WAAE,CAC/D,EACA+G,SAAS,iBACRtF,GAAA,CAAA,KAAA,EAAA;AAAKN,YAAAA,SAAS,EAAC,gDAAgD;AAAAK,YAAAA,QAAA,eAC7DC,GAAA,CAAC4H,OAAO,EAAE,EAAA;AAAC,WACR,CACN;AAAA,SACE,CACN;AAAA,OACQ,CAAC;AAAA,KACR,CAAC,eACP5H,GAAA,CAAC6H,KAAK,EAAA;AACJ3E,MAAAA,MAAM,EAAEiB,eAAgB;AACxB2D,MAAAA,YAAY,EAAErC,SAAU;AACxBsC,MAAAA,iBAAiB,EAAExJ,CAAC,CAAC,kCAAkC,CAAE;MACzDyJ,OAAO,eACLhI,GAAA,CAACiI,KAAK,EAAA;AACJC,QAAAA,UAAU,EAAE,CAAC;UAAEC,MAAM,eAAEnI,GAAA,CAAS,QAAA,EAAA,EAAA;AAAE,SAAC,CAAE;AACrCoI,QAAAA,OAAO,EAAC,mDAAmD;AAC3D3F,QAAAA,MAAM,EAAE;UACN+D,KAAK,EAAEzC,cAAc,CAAC1C,MAAM;UAC5BL,KAAK,EAAA,CAAA8B,gBAAA,GAAEiB,cAAc,CAAC,CAAC,CAAC,MAAAjB,IAAAA,IAAAA,gBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAmB9B;AAC5B;AAAE,OACH,CACF;AACDL,MAAAA,KAAK,EAAEpC,CAAC,CAAC,iDAAiD,EAAE;QAC1DiI,KAAK,EAAEzC,cAAc,CAAC1C;AACxB,OAAC,CAAE;MACH8B,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQiB,kBAAkB,CAAC,KAAK,CAAC;OAAC;AACzCvE,MAAAA,QAAQ,EAAE8F;AAAyB,KACpC,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AC7LD,IAAM0C,iBAAiB,GAAA,EAAA,CAAA1M,MAAA,CAAMF,wBAAwB,EAAgB,gBAAA,CAAA;AAErE,IAAM6M,IAAI,GAAG,SAAPA,IAAIA,CAAGzM,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACsM,iBAAiB,EAAE;AAAExM,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE/D,IAAM0M,MAAM,GAAG,SAATA,MAAMA,CAAAtM,IAAA,EAAA;AAAA,EAAA,IAAMa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAEZ,OAAO,GAAAF,IAAA,CAAPE,OAAO;AAAA,EAAA,OAC3CL,KAAK,CAAC0M,GAAG,CACPH,iBAAiB,EACjB;AAAEI,IAAAA,aAAa,EAAEtM;AAAQ,GAAC,EAC1B;AAAEN,IAAAA,MAAM,EAAE;AAAEiB,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU;AAAE,GACnC,CAAC;AAAA,CAAA;AAEH,IAAM2L,iBAAiB,GAAG;AAAEJ,EAAAA,IAAI,EAAJA,IAAI;AAAEC,EAAAA,MAAM,EAANA;AAAO,CAAC;;;;ACP1C,IACE7L,4BAA4B,GAE1BD,UAAU,CAFZC,4BAA4B;EAC5BC,wCAAwC,GACtCF,UAAU,CADZE,wCAAwC;IAG7BgM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA1M,IAAA,EAAA;AAAA,EAAA,IAAMa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;AAAA,EAAA,OACvDI,QAAQ,CAAC;AACPE,IAAAA,QAAQ,EAAE,CAACX,4BAA4B,EAAEK,SAAS,EAAED,OAAO,CAAC;IAC5DQ,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQoL,iBAAiB,CAACJ,IAAI,CAAC;AAAEvL,QAAAA,SAAS,EAATA,SAAS;AAAED,QAAAA,OAAO,EAAPA;AAAQ,OAAC,CAAC;AAAA,KAAA;AAC7D8L,IAAAA,MAAM,EAAEnK,IAAI,CAAC,eAAe,CAAC;AAC7BlB,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA;AAEG,IAAMqL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAtM,KAAA,EAA4BM,OAAO,EAAA;AAAA,EAAA,IAA7BC,OAAO,GAAAP,KAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,KAAA,CAATQ,SAAS;EAAA,OACzDW,2BAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIuM,iBAAiB,CAACH,MAAM,CAAC;AAAEzL,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA,SAAS;AAAEZ,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;AAElEO,IAAAA,gBAAgB,EAAE,CAChB,CAACjB,4BAA4B,EAAEK,SAAS,EAAED,OAAO,CAAC,EAClD,CAACH,wCAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;;AC1BI,IAAMiM,IAAI,GAAG;AAClBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE;AACX,CAAC;AAEM,IAAMC,+BAA+B,GAAGlL,GAAG,CAACC,MAAM,CAAC;AACxDkL,EAAAA,IAAI,EAAEnL,GAAG,CACNoL,MAAM,EAAE,CACRC,QAAQ,CAAChL,CAAC,CAAC,mDAAmD,CAAC,CAAC;AACnEiL,EAAAA,QAAQ,EAAEtL,GAAG,CACVoL,MAAM,EAAE,CACRG,QAAQ,EAAE,CACVC,IAAI,CAAC,MAAM,EAAE;AACZC,IAAAA,EAAE,EAAEC,MAAM,CAACd,IAAI,CAACG,KAAK,CAAC;AACtBY,IAAAA,IAAI,EAAE3L,GAAG,CACNoL,MAAM,EAAE,CACRG,QAAQ,EAAE,CACVK,IAAI,EAAE,CACNC,GAAG,CAAC,CAAC,EAAExL,CAAC,CAAC,wDAAwD,CAAC,CAAC,CACnEgL,QAAQ,CAAChL,CAAC,CAAC,uDAAuD,CAAC;AACxE,GAAC,CAAC;EACJyL,eAAe,EAAE9L,GAAG,CAACG,KAAK,EAAE,CAACqL,IAAI,CAAC,MAAM,EAAE;AACxCC,IAAAA,EAAE,EAAEC,MAAM,CAACd,IAAI,CAACE,KAAK,CAAC;AACtBa,IAAAA,IAAI,EAAE3L,GAAG,CAACG,KAAK,EAAE,CAAC4L,EAAE,CAClB/L,GAAG,CACAoL,MAAM,EAAE,CACRC,QAAQ,CAAChL,CAAC,CAAC,sDAAsD,CAAC,CAAC,CACnE2L,GAAG,CACF,GAAG,EACH3L,CAAC,CAAC,gDAAgD,EAAE;AAAE8C,MAAAA,MAAM,EAAE;AAAI,KAAC,CACrE,CAAC,CACA8I,OAAO,CACN,oBAAoB,EACpB5L,CAAC,CAAC,wDAAwD,CAC5D,CAAC,CACAuL,IAAI,EAAE,CACNxL,IAAI,CACH,gBAAgB,EAChBC,CAAC,CAAC,wDAAwD,CAAC,EAC3D,UAAC6L,KAAK,EAAEC,WAAW,EAAK;MACtB,IAAI,CAACD,KAAK,IAAI,CAACC,WAAW,CAACC,MAAM,EAAE,OAAO,IAAI;MAE9C,IAAMC,YAAY,GAAGH,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEN,IAAI,EAAE;AAClC,MAAA,IAAI,CAACS,YAAY,EAAE,OAAO,IAAI;MAE9B,IAAMC,gBAAgB,GAAGC,QAAQ,CAACpL,KAAK,CAAC,CACtC,OAAO,EACPqL,QAAQ,CACN;AAAEC,QAAAA,IAAI,EAAEJ;OAAc,EACtBF,WAAW,CAACC,MAAM,CAACM,GAAG,CAAC,UAACD,IAAI,EAAEE,KAAK,EAAA;QAAA,OAAM;UACvCF,IAAI,EAAEA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEb,IAAI,EAAE;AAClBe,UAAAA,KAAK,EAALA;SACD;OAAC,CACJ,CACF,CAAC;MAED,IAAMC,YAAY,GAAGT,WAAW,CAACU,IAAI,CAClCC,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,EAAE,CACLD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAA,IAAME,gBAAgB,GACpBV,gBAAgB,CAACA,gBAAgB,CAACnJ,MAAM,GAAG,CAAC,CAAC,KAC7C8J,QAAQ,CAACL,YAAY,CAAC;AAExB,MAAA,OAAO,CAACI,gBAAgB,IAAIV,gBAAgB,CAACnJ,MAAM,KAAK,CAAC;AAC3D,KACF,CACJ;GACD;AACH,CAAC,CAAC;AAEK,IAAM+J,4BAA4B,GAAG;EAC1C/B,IAAI,EAAEP,IAAI,CAACC,EAAE;AACbS,EAAAA,QAAQ,EAAE,EAAE;EACZQ,eAAe,EAAE,CAAC,EAAE;AACtB,CAAC;;;;AC9EM,IAAMqB,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAG5C,aAAa,EAAI;AAC9D,EAAA,IAAIA,aAAa,CAACY,IAAI,KAAKP,IAAI,CAACC,EAAE,EAAE;AAClC,IAAA,OAAOqC,4BAA4B;AACrC;AAEA,EAAA,IAAI9E,OAAO,CAACmC,aAAa,CAACuB,eAAe,CAAC,EAAE;AAC1CvB,IAAAA,aAAa,CAACuB,eAAe,CAACsB,IAAI,CAAC,EAAE,CAAC;AACxC;AAEA,EAAA,OAAO7C,aAAa;AACtB,CAAC;AAEM,IAAM8C,aAAa,GAAG,SAAhBA,aAAaA,CAAAtP,IAAA,EAAiD;AAAA,EAAA,IAA3CuP,YAAY,GAAAvP,IAAA,CAAZuP,YAAY;IAAEX,KAAK,GAAA5O,IAAA,CAAL4O,KAAK;IAAEb,eAAe,GAAA/N,IAAA,CAAf+N,eAAe;AAClE,EAAA,IAAIA,eAAe,CAAC3I,MAAM,KAAK,CAAC,EAAE;AAChCmK,IAAAA,YAAY,CAACC,MAAM,CAACZ,KAAK,CAAC;AAC1BW,IAAAA,YAAY,CAACF,IAAI,CAAC,EAAE,CAAC;AAErB,IAAA;AACF;AACAE,EAAAA,YAAY,CAACC,MAAM,CAACZ,KAAK,CAAC;AAC5B,CAAC;AAEM,IAAMa,YAAY,GAAG,SAAfA,YAAYA,CAAGjJ,MAAM,EAAI;EACpC,IAAMtG,OAAO,GAAGwP,IAAI,CAAC,CAAC,MAAM,CAAC,EAAElJ,MAAM,CAAC;AAEtC,EAAA,IAAIA,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACG,KAAK,EAAE;AAC9B9M,IAAAA,OAAO,CAAC,UAAU,CAAC,GAAGsG,MAAM,CAAC+G,QAAQ;AAErC,IAAA,OAAOrN,OAAO;AAChB;AAEA,EAAA,IAAIsG,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACE,KAAK,EAAE;IAC9B,IAAM4C,mBAAmB,GAAGC,MAAM,CAACC,IAAI,CAAChC,IAAI,EAAExD,OAAO,CAAC,CAAC;IACvDnK,OAAO,CAAC,iBAAiB,CAAC,GAAGyP,mBAAmB,CAACnJ,MAAM,CAACuH,eAAe,CAAC;AAExE,IAAA,OAAO7N,OAAO;AAChB;AAEA,EAAA,OAAOA,OAAO;AAChB,CAAC;AAEM,IAAM4P,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAxP,KAAA,EAAA;AAAA,EAAA,IAAMyP,aAAa,GAAAzP,KAAA,CAAbyP,aAAa;EAAA,oBAC3DhM,GAAA,CAACiI,KAAK,EAAA;AACJG,IAAAA,OAAO,EAAC,+CAA+C;AACvDF,IAAAA,UAAU,EAAE;MACV+D,MAAM,eACJjM,GAAA,CAACO,QAAM,EAAA;AACLb,QAAAA,SAAS,EAAC,MAAM;AAChBqG,QAAAA,IAAI,EAAC,OAAO;AACZxE,QAAAA,KAAK,EAAC,MAAM;AACZS,QAAAA,OAAO,EAAEgK;OACV;AAEL;AAAE,GACH,CAAC;AAAA,CACH;AAEM,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAArO,KAAA,EAAA;AAAA,EAAA,IAAMsO,kBAAkB,GAAAtO,KAAA,CAAlBsO,kBAAkB;IAAEC,UAAU,GAAAvO,KAAA,CAAVuO,UAAU;AAAA,EAAA,OAAO,CACpE;AACEjM,IAAAA,KAAK,eACHH,GAAA,CAACiI,KAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA4B,KAAA,EAChCgE,UAAU,CAACtD,IAAI,CAACC,EAAE,CAAC,CACxB,CACF;IACDqB,KAAK,EAAEtB,IAAI,CAACC,EAAE;AACd,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE5I,IAAAA,KAAK,eACHH,GAAA,CAACiI,KAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA+B,KAAA,EACnCgE,UAAU,CAACtD,IAAI,CAACG,KAAK,CAAC,CAC3B,CACF;IACDmB,KAAK,EAAEtB,IAAI,CAACG,KAAK;AACjB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE9I,IAAAA,KAAK,eACHH,GAAA,CAACiI,KAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAAiC,KAAA,EACrCgE,UAAU,CAACtD,IAAI,CAACK,OAAO,CAAC,CAC7B,CACF;IACDiB,KAAK,EAAEtB,IAAI,CAACK,OAAO;AACnB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACEhJ,IAAAA,KAAK,eACHH,GAAA,CAACiI,KAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA+B,KAAA,EACnCgE,UAAU,CAACtD,IAAI,CAACE,KAAK,CAAC,CAC3B,CACF;IACDoB,KAAK,EAAEtB,IAAI,CAACE,KAAK;AACjB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE7I,IAAAA,KAAK,eACHH,GAAA,CAACiI,KAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAAiC,KAAA,EACrCgE,UAAU,CAACtD,IAAI,CAACI,OAAO,CAAC,CAC7B,CACF;IACDkB,KAAK,EAAEtB,IAAI,CAACI,OAAO;AACnB,IAAA,SAAS,EAAE;AACb,GAAC,CACF;AAAA,CAAA;;AC9GD,IAAMoD,eAAe,GAAGC,KAAK,CAAC,UAAAtQ,IAAA,EAAA;AAAA,EAAA,IAAGsC,CAAC,GAAAtC,IAAA,CAADsC,CAAC;IAAE6B,IAAI,GAAAnE,IAAA,CAAJmE,IAAI;IAAAoM,UAAA,GAAAvQ,IAAA,CAAEkE,KAAK;AAALA,IAAAA,KAAK,GAAAqM,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;EAAA,oBAClDxM,GAAA,CAACyM,UAAU,EAAA;AAAOrM,IAAAA,IAAI,EAAJA,IAAI;AAAAL,IAAAA,QAAA,EACnB,SAAAA,QAAAyL,CAAAA,YAAY,EAAI;MACf,IAAMxB,eAAe,GAAGwB,YAAY,CAACkB,IAAI,CAACjK,MAAM,CAACrC,IAAI,CAAC;AACtD,MAAA,IAAMuM,gBAAgB,GACpB3C,eAAe,CAAC3I,MAAM,GAAG,CAAC,IAAI8E,UAAU,CAAC6D,eAAe,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAA,IAAM4C,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B5C,QAAAA,eAAe,CAAC6C,OAAO,CAAC,UAACpF,CAAC,EAAEoD,KAAK,EAAK;AACpCW,UAAAA,YAAY,CAACkB,IAAI,CAACI,eAAe,IAAAnR,MAAA,CAAIyE,IAAI,EAAA,GAAA,CAAA,CAAAzE,MAAA,CAAIkP,KAAK,CAAA,EAAI,IAAI,CAAC;AAC7D,SAAC,CAAC;AACFW,QAAAA,YAAY,CAACF,IAAI,CAAC,EAAE,CAAC;OACtB;AAED,MAAA,oBACE9L,IAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,gBAAgB;QAAAK,QAAA,EAAA,cAC7BC,GAAA,CAAC+M,KAAK,EAAA;AAACrN,UAAAA,SAAS,EAAC,cAAc;AAAAK,UAAAA,QAAA,EAAEI;SAAa,CAAC,eAC/CX,IAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,wDAAwD;UAAAK,QAAA,EAAA,CACpEiK,eAAe,CAACY,GAAG,CAAC,UAACnD,CAAC,EAAEoD,KAAK,EAAA;YAAA,oBAC5B7K,GAAA,CAACgN,KAAK,EAAA;AACJtN,cAAAA,SAAS,EAAC,QAAQ;cAElBU,IAAI,EAAA,EAAA,CAAAzE,MAAA,CAAKyE,IAAI,OAAAzE,MAAA,CAAIkP,KAAK,CAAG;AACzBxK,cAAAA,WAAW,EAAE9B,CAAC,CACZ,qDACF,CAAE;AACF0O,cAAAA,MAAM,EACJN,gBAAgB,iBACd3M,GAAA,CAACO,QAAM,EAAA;AACL,gBAAA,SAAA,EAAQ,+BAA+B;AACvCmG,gBAAAA,IAAI,EAAEC,MAAO;AACbZ,gBAAAA,IAAI,EAAC,OAAO;AACZxE,gBAAAA,KAAK,EAAC,MAAM;gBACZS,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,kBAAA,OACLuJ,aAAa,CAAC;AACZV,oBAAAA,KAAK,EAALA,KAAK;AACLb,oBAAAA,eAAe,EAAfA,eAAe;AACfwB,oBAAAA,YAAY,EAAZA;AACF,mBAAC,CAAC;AAAA;eAEL;AAEJ,aAAA,EArBIX,KAsBN,CAAC;AAAA,WACH,CAAC,eACF7K,GAAA,CAACO,QAAM,EAAA;AACLb,YAAAA,SAAS,EAAC,MAAM;AAChB,YAAA,SAAA,EAAQ,4BAA4B;AACpCS,YAAAA,KAAK,EAAE5B,CAAC,CAAC,uCAAuC,CAAE;AAClDgD,YAAAA,KAAK,EAAC,MAAM;AACZS,YAAAA,OAAO,EAAE4K;AAAiB,WAC3B,CAAC;AAAA,SACC,CAAC;AAAA,OACH,CAAC;AAEV;AAAC,GACS,CAAC;AAAA,CACd,CAAC;;;;AChEF,IAAM5G,MAAM,GAAG,SAATA,MAAMA,CAAA/J,IAAA,EAAwB;AAAA,EAAA,IAAlBiR,WAAW,GAAAjR,IAAA,CAAXiR,WAAW;AAC3B,EAAA,IAAQvM,KAAK,GAA4BuM,WAAW,CAA5CvM,KAAK;IAAEwM,QAAQ,GAAkBD,WAAW,CAArCC,QAAQ;IAAEC,WAAW,GAAKF,WAAW,CAA3BE,WAAW;AAEpC,EAAA,oBACEpN,GAAA,CAACqN,WAAW,EAAAjQ,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACD8P,WAAW,CAAA,EAAA,EAAA,EAAA;AAAEvM,IAAAA,KAAK,EAALA;AAAK,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3B2M,IAAAA,qBAAqB,EAAE;AACrBF,MAAAA,WAAW,EAAXA,WAAW;AACXzM,MAAAA,KAAK,EAALA,KAAK;AACL4M,MAAAA,aAAa,EAAE;AAAEC,QAAAA,IAAI,EAAEL;AAAS;AAClC;AAAE,GAAA,CACH,CAAC;AAEN,CAAC;;;;ACkBD,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAAxR,IAAA,EAmBb;AAAA,EAAA,IAlBJa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,SAAS,GAAAd,IAAA,CAATc,SAAS;IACT2Q,OAAO,GAAAzR,IAAA,CAAPyR,OAAO;IACPpO,UAAS,GAAArD,IAAA,CAATqD,SAAS;IACT4N,WAAW,GAAAjR,IAAA,CAAXiR,WAAW;IACXxN,SAAS,GAAAzD,IAAA,CAATyD,SAAS;IAAAiO,iBAAA,GAAA1R,IAAA,CACT2R,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGjK,KAAAA,CAAAA,GAAAA,IAAI,GAAAiK,iBAAA;IAAAE,qBAAA,GAAA5R,IAAA,CACnB6R,kCAAkC;AAAlCA,IAAAA,kCAAkC,GAAAD,qBAAA,KAAGnK,KAAAA,CAAAA,GAAAA,IAAI,GAAAmK,qBAAA;IAAAE,qBAAA,GAAA9R,IAAA,CACzC+R,gCAAgC;AAAhCA,IAAAA,gCAAgC,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhS,IAAA,CACrCiS,+BAA+B;AAA/BA,IAAAA,+BAA+B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAlS,IAAA,CACvCmS,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAA3K,qBAAA,GAAAvH,IAAA,CAChCwH,2BAA2B;AAA3BA,IAAAA,2BAA2B,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,qBAAA;IAAAF,qBAAA,GAAArH,IAAA,CAClCsH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAA+K,qBAAA,GAAApS,IAAA,CACtBqS,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAClCtO,QAAQ,GAAA9D,IAAA,CAAR8D,QAAQ;IACRwO,aAAa,GAAAtS,IAAA,CAAbsS,aAAa;IACbpC,kBAAkB,GAAAlQ,IAAA,CAAlBkQ,kBAAkB;IAAAqC,eAAA,GAAAvS,IAAA,CAClBmQ,UAAU;AAAVA,IAAAA,UAAU,GAAAoC,eAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,eAAA;AAEf,EAAA,IAAA7K,SAAA,GAAsDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9D8K,IAAAA,mBAAmB,GAAA5K,UAAA,CAAA,CAAA,CAAA;AAAE6K,IAAAA,sBAAsB,GAAA7K,UAAA,CAAA,CAAA,CAAA;AAElD,EAAA,IAAM8K,aAAa,GAAGJ,aAAa,IAAIK,UAAQ;AAE/C,EAAA,IAAAjQ,eAAA,GAAcC,cAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;EAET,IAAAsQ,qBAAA,GAIIlG,oBAAoB,CAAC;AAAE7L,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;IAAA+R,sBAAA,GAAAD,qBAAA,CAH9C9J,IAAI;AAAE0D,IAAAA,aAAa,GAAAqG,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IACxBxJ,SAAS,GAAAuJ,qBAAA,CAATvJ,SAAS;IACTD,UAAU,GAAAwJ,qBAAA,CAAVxJ,UAAU;EAGZ,IAAM0J,0BAA0B,GAAGC,SAAS,CAC1C3D,+BAA+B,CAAC5C,aAAa,CAAC,EAC9C6F,6BACF,CAAC;EAED,IAAAW,qBAAA,GAAwCpG,sBAAsB,CAC5D;AAAE/L,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU,KAAC,EACtB;AACEuC,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEmD,MAAM,EAAI;AACnB,QAAA,IAAAyM,qBAAA,GAAyCzM,MAAM,CAAvCgG,aAAa;AAAA0G,UAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAa,EAAE,GAAAA,qBAAA;UAAX7F,IAAI,GAAA8F,sBAAA,CAAJ9F,IAAI;AAC7B,QAAA,IAAIA,IAAI,KAAKP,IAAI,CAACK,OAAO,EAAE;AACzBiG,UAAAA,qBAAqB,EAAE;AACzB;QACA9P,UAAS,CAACmD,MAAM,CAAC;AACnB;AACF,KACF,CAAC;IAXe4M,mBAAmB,GAAAJ,qBAAA,CAA3BhQ,MAAM;EAad,IAAMqQ,YAAY,GAAG,SAAfA,YAAYA,CAAI7M,MAAM,EAAAlG,KAAA,EAAwB;AAAA,IAAA,IAApB4C,aAAa,GAAA5C,KAAA,CAAb4C,aAAa;AAC3C,IAAA,IAAMhD,OAAO,GAAG6S,SAAS,CACvBtD,YAAY,CAACjJ,MAAM,CAAC,EACpBkJ,IAAI,CAAC4D,IAAI,CAACjB,6BAA6B,CAAC,EAAE7L,MAAM,CAClD,CAAC;IAED4M,mBAAmB,CAAClT,OAAO,EAAE;MAAEqT,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQrQ,aAAa,CAAC,KAAK,CAAC;AAAA;AAAC,KAAC,CAAC;GACxE;AAED,EAAA,IAAMiQ,qBAAqB,GACzBtB,kCAAkC,KAAKpK,IAAI,GACvC,YAAA;IAAA,OAAMgL,sBAAsB,CAAC,IAAI,CAAC;AAAA,GAAA,GAClCZ,kCAAkC;EAExC,oBACEtO,IAAA,CAACiQ,SAAS,EAAA;IAAA1P,QAAA,EAAA,cACRC,GAAA,CAACgG,MAAM,EAAA;AAAOkH,MAAAA,WAAW,EAAXA;AAAW,KAAK,CAAC,EAC9B5H,SAAS,gBACRtF,GAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,gDAAgD;AAAAK,MAAAA,QAAA,eAC7DC,GAAA,CAAC4H,OAAO,EAAE,EAAA;KACP,CAAC,gBAENpI,IAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,0BAA0B;MAAAK,QAAA,EAAA,cACvCC,GAAA,CAACP,IAAI,EAAA;AACHC,QAAAA,SAAS,EAAEgQ,UAAU,CAAChQ,SAAS,CAAE;AACjCC,QAAAA,WAAW,EAAE;AACXC,UAAAA,aAAa,EAAEmP,0BAA0B;AACzCjP,UAAAA,gBAAgB,EAAEsJ,+BAA+B;AACjDvJ,UAAAA,QAAQ,EAAEyP,YAAY;AACtB5B,UAAAA,OAAO,EAAPA,OAAO;AACPiC,UAAAA,kBAAkB,EAAE;SACpB;QAAA5P,QAAA,EAED,SAAAA,QAAAA,CAAAlC,KAAA,EAAA;AAAA,UAAA,IAAG4E,MAAM,GAAA5E,KAAA,CAAN4E,MAAM;UAAA,oBACRjD,IAAA,CAACoQ,UAAU,EAAA;YACTC,WAAW,eACT7P,GAAA,CAAC8P,WAAW,EAAA;AACVC,cAAAA,iBAAiB,EAAE;AAAE/N,gBAAAA,OAAO,EAAE4L;eAAe;cAC7CoC,iBAAiB,EACfvN,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACK,OAAO,GACxB;gBACEhJ,KAAK,EAAE5B,CAAC,CACN,iDACF;AACF,eAAC,GACD;AACL,aACF,CACF;YAAAwB,QAAA,EAAA,cAEDP,IAAA,CAACmP,aAAa,EAAA;cAAA5O,QAAA,EAAA,cACZC,GAAA,CAACiQ,KAAK,EAAA;gBAACC,OAAO,EAAA,IAAA;AAAC9P,gBAAAA,IAAI,EAAC,MAAM;gBAAAL,QAAA,EACvBmM,cAAc,CAAC;AAAEC,kBAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEC,kBAAAA,UAAU,EAAVA;AAAW,iBAAC,CAAC,CAACxB,GAAG,CACrD,UAAAuF,KAAK,EAAA;kBAAA,oBACHC,aAAA,CAACH,KAAK,CAACI,IAAI,EAAAjT,aAAA,CAAAA,aAAA,CAAA,EAAA,EACL+S,KAAK,CAAA,EAAA,EAAA,EAAA;oBACTtP,GAAG,EAAEsP,KAAK,CAAC/F,KAAM;oBACjB1K,SAAS,EAAEgQ,UAAU,CAAC;sBACpB,aAAa,EACX,CAAAjH,aAAa,KAAbA,IAAAA,IAAAA,aAAa,uBAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK;AACjC,qBAAC,CAAE;AACHhJ,oBAAAA,KAAK,EACH,CAAAsI,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK,OAAO,GAChC4C,6BAA6B,CAAC;sBAC5BC,aAAa,EAAE,SAAfA,aAAaA,GAAA;wBAAA,OACX0C,sBAAsB,CAAC,IAAI,CAAC;AAAA;AAChC,qBAAC,CAAC,GACFyB,KAAK,CAAChQ,KACX;AACDmQ,oBAAAA,UAAU,EAAE;sBACV5Q,SAAS,EAAEgQ,UAAU,CAAC;wBACpB,yCAAyC,EACvC,CAAAjH,aAAa,KAAbA,IAAAA,IAAAA,aAAa,uBAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK;uBAChC;AACH;AAAE,mBAAA,CACH,CAAC;iBAEN;eACK,CAAC,EACP1G,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACG,KAAK,iBACzBjJ,GAAA,CAAA,KAAA,EAAA;AAAKN,gBAAAA,SAAS,EAAC,qBAAqB;gBAAAK,QAAA,eAClCC,GAAA,CAACgN,KAAK,EAAA;kBACJuD,SAAS,EAAA,IAAA;kBACThH,QAAQ,EAAA,IAAA;kBACRiH,cAAc,EAAA,IAAA;AACd9Q,kBAAAA,SAAS,EAAC,QAAQ;AAClBS,kBAAAA,KAAK,EAAE5B,CAAC,CAAC,2CAA2C,CAAE;AACtD6B,kBAAAA,IAAI,EAAC,UAAU;kBACfC,WAAW,EAAE9B,CAAC,CACZ,sDACF;iBACD;AAAC,eACC,CACN,EACAkE,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACE,KAAK,iBACzBhJ,GAAA,CAACsM,eAAe,EAAA;AACdnM,gBAAAA,KAAK,EAAE5B,CAAC,CAAC,2CAA2C,CAAE;AACtD6B,gBAAAA,IAAI,EAAC;AAAiB,eACvB,CACF;aACY,CAAC,EACfgO,wBAAwB,iBAAIpO,GAAA,CAACyQ,eAAe,IAAE,CAAC;AAAA,WACtC,CAAC;AAAA;AACd,OACG,CAAC,eACPzQ,GAAA,CAAC6C,aAAW,EAAA;AAERU,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBE,QAAAA,2BAA2B,EAA3BA,2BAA2B;AAC3B3G,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,SAAS,EAATA,SAAS;QAEXb,eAAe,EAAEuM,aAAa,CAACiI,EAAG;AAClC9N,QAAAA,gBAAgB,EAAEoL,gCAAiC;AACnD3K,QAAAA,iBAAiB,EAAE6K,+BAAgC;AACnDhL,QAAAA,MAAM,EAAEuL,mBAAmB,IAAI,CAACpJ,UAAW;QAC3ClC,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQuL,sBAAsB,CAAC,KAAK,CAAC;AAAA;OAC7C,CAAC,EACD3O,QAAQ;AAAA,KACN,CACN;AAAA,GACQ,CAAC;AAEhB;;AC3MA,IAAkD4Q,qBAAqB,GACrElU,UAAU,CADJE,wCAAwC;AAGhD,IAAMkG,WAAW,GAAG;AAClB+N,EAAAA,eAAe,EAAfA,aAAe;AACfnT,EAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBkT,EAAAA,qBAAqB,EAArBA;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-access-control-frontend",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.17",
|
|
4
4
|
"description": "Neeto access control",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-access-control-nano",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
52
52
|
"@bigbinary/eslint-plugin-neeto": "1.6.4",
|
|
53
53
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
54
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
54
|
+
"@bigbinary/neeto-commons-frontend": "4.13.45",
|
|
55
55
|
"@bigbinary/neeto-filters-frontend": "4.3.22",
|
|
56
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
57
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
58
|
-
"@bigbinary/neetoui": "8.3.
|
|
56
|
+
"@bigbinary/neeto-icons": "1.20.53",
|
|
57
|
+
"@bigbinary/neeto-molecules": "3.16.81",
|
|
58
|
+
"@bigbinary/neetoui": "8.3.13",
|
|
59
59
|
"@emotion/is-prop-valid": "1.2.0",
|
|
60
60
|
"@faker-js/faker": "8.2.0",
|
|
61
61
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -160,11 +160,11 @@
|
|
|
160
160
|
"peerDependencies": {
|
|
161
161
|
"@babel/runtime": "7.26.10",
|
|
162
162
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
163
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
163
|
+
"@bigbinary/neeto-commons-frontend": "4.13.45",
|
|
164
164
|
"@bigbinary/neeto-filters-frontend": "4.3.22",
|
|
165
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
166
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
167
|
-
"@bigbinary/neetoui": "8.3.
|
|
165
|
+
"@bigbinary/neeto-icons": "1.20.53",
|
|
166
|
+
"@bigbinary/neeto-molecules": "3.16.81",
|
|
167
|
+
"@bigbinary/neetoui": "8.3.13",
|
|
168
168
|
"@honeybadger-io/js": "6.10.1",
|
|
169
169
|
"@honeybadger-io/react": "6.1.25",
|
|
170
170
|
"@tailwindcss/container-queries": "^0.1.1",
|