@valtimo/shared 13.4.1 → 13.5.1
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/assets/core/de.json +68 -1
- package/assets/core/en.json +70 -2
- package/assets/core/nl.json +70 -2
- package/fesm2022/valtimo-shared.mjs +1 -1
- package/fesm2022/valtimo-shared.mjs.map +1 -1
- package/package.json +1 -1
package/assets/core/de.json
CHANGED
|
@@ -854,7 +854,7 @@
|
|
|
854
854
|
"success": "Widget-Konfiguration erfolgreich aktualisiert",
|
|
855
855
|
"error": "Die Widget-Konfiguration konnte nicht aktualisiert werden"
|
|
856
856
|
},
|
|
857
|
-
"
|
|
857
|
+
"type": {
|
|
858
858
|
"description": "Wählen Sie den Widget-Typ aus, den Sie konfigurieren möchten.",
|
|
859
859
|
"fields": {"title": "Felder", "description": "Textdaten mit Inhalt und einer Beschriftung"},
|
|
860
860
|
"custom": {"title": "Benutzerdefinierte Komponente", "description": "Für komplexe Inhalte"},
|
|
@@ -1030,6 +1030,39 @@
|
|
|
1030
1030
|
"title": "Keine konfigurierten Spalten"
|
|
1031
1031
|
}
|
|
1032
1032
|
},
|
|
1033
|
+
"notifications": {
|
|
1034
|
+
"failed": {
|
|
1035
|
+
"pageTitle": "Fehlgeschlagene Benachrichtigungen",
|
|
1036
|
+
"retrySuccess": "Benachrichtigung zur erneuten Verarbeitung eingeplant",
|
|
1037
|
+
"retryError": "Erneuter Versuch fehlgeschlagen. Bitte später erneut versuchen.",
|
|
1038
|
+
"noResults": {
|
|
1039
|
+
"title": "Keine fehlgeschlagenen Benachrichtigungen",
|
|
1040
|
+
"description": "Es liegen derzeit keine fehlgeschlagenen Benachrichtigungen vor."
|
|
1041
|
+
},
|
|
1042
|
+
"columns": {
|
|
1043
|
+
"receivedAt": "Empfangen am",
|
|
1044
|
+
"idempotenceKey": "Idempotenzschlüssel",
|
|
1045
|
+
"pendingRetries": "Verbleibende Versuche",
|
|
1046
|
+
"lastProcessedAt": "Zuletzt verarbeitet am",
|
|
1047
|
+
"lastErrorMessage": "Letzte Fehlermeldung"
|
|
1048
|
+
},
|
|
1049
|
+
"detail": {
|
|
1050
|
+
"title": "Details zur fehlgeschlagenen Benachrichtigung",
|
|
1051
|
+
"metadataTitle": "Metadaten",
|
|
1052
|
+
"id": "ID",
|
|
1053
|
+
"idempotenceKey": "Idempotenzschlüssel",
|
|
1054
|
+
"status": "Status",
|
|
1055
|
+
"pendingRetries": "Verbleibende Versuche",
|
|
1056
|
+
"receivedAt": "Empfangen am",
|
|
1057
|
+
"lastProcessedAt": "Zuletzt verarbeitet am",
|
|
1058
|
+
"payloadTitle": "Payload",
|
|
1059
|
+
"noPayload": "Keine Payload verfügbar.",
|
|
1060
|
+
"errorTitle": "Fehlerdetails",
|
|
1061
|
+
"noError": "Keine Fehlerdetails verfügbar.",
|
|
1062
|
+
"retry": "Benachrichtigung erneut versuchen"
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
},
|
|
1033
1066
|
"tags": {
|
|
1034
1067
|
"tag": "Schlüsselwört",
|
|
1035
1068
|
"add": "Schlüsselwört hinzufügen",
|
|
@@ -1907,19 +1940,52 @@
|
|
|
1907
1940
|
"searchFieldsNoResults": "Keine Suchfelder für diese Entität gefunden"
|
|
1908
1941
|
},
|
|
1909
1942
|
"ikoManagement": {
|
|
1943
|
+
"preparingDownload": "Download wird vorbereitet",
|
|
1910
1944
|
"ikoServer": "IKO Server",
|
|
1945
|
+
"configureIkoServer": "IKO-Server konfigurieren",
|
|
1911
1946
|
"dataUrl": "Daten-URL",
|
|
1912
1947
|
"title": "Konfiguration",
|
|
1913
1948
|
"list": "Liste",
|
|
1914
1949
|
"tabs": {"title": "Tabs"},
|
|
1915
1950
|
"widgets": {"title": "Widgets"},
|
|
1951
|
+
"importDefinition": {
|
|
1952
|
+
"title": "IKO-Definition importieren",
|
|
1953
|
+
"overwriteWarning": "Wenn Ihre IKO-Definition Konfigurationen, Modelle und/oder Definitionen mit demselben Namen oder derselben Kennung enthält wie bereits auf Ihrem System, werden diese überschrieben.",
|
|
1954
|
+
"startUpload": "Upload starten",
|
|
1955
|
+
"progressBar": {
|
|
1956
|
+
"active": "Dies kann eine Weile dauern",
|
|
1957
|
+
"error": "IKO-Definition konnte nicht importiert werden. Aufgrund eines Fehlers auf unserer Seite wurde nichts importiert. Bitte versuchen Sie es später erneut. Wenn das Problem weiterhin besteht, wenden Sie sich an den Support.",
|
|
1958
|
+
"finished": "IKO-Definition erfolgreich importiert",
|
|
1959
|
+
"label": "IKO-Definition wird importiert"
|
|
1960
|
+
},
|
|
1961
|
+
"checkbox": {
|
|
1962
|
+
"message": "Ich verstehe, dass Konfigurationen überschrieben werden können",
|
|
1963
|
+
"error": "Dieses Feld ist erforderlich"
|
|
1964
|
+
},
|
|
1965
|
+
"upload": {
|
|
1966
|
+
"title": "Datei hochladen",
|
|
1967
|
+
"description": "Maximale Dateigröße beträgt 500 KB. De unterstützte Dateityp is ZIP.",
|
|
1968
|
+
"buttonText": "Datei auswählen"
|
|
1969
|
+
},
|
|
1970
|
+
"steps": {
|
|
1971
|
+
"accessControl": {
|
|
1972
|
+
"message": "Vergessen Sie nicht, die Rechte in der Access Control festzulegen. Ohne die entsprechenden Rechte ist Ihre neue IKO-definition nicht zugänglich.",
|
|
1973
|
+
"title": "Zugriffskontrolle"
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1976
|
+
},
|
|
1916
1977
|
"views": {
|
|
1917
1978
|
"title": "Bilder",
|
|
1979
|
+
"upload": "Upload",
|
|
1918
1980
|
"add": "Bild hinzufügen",
|
|
1919
1981
|
"deleteContent": "Sind Sie sicher, dass Sie dieses Bild löschen möchten? Diese Änderung kann nicht rückgängig gemacht werden.",
|
|
1920
1982
|
"noResultsTitle": "Es sind keine konfigurierten Bilder vorhanden",
|
|
1921
1983
|
"noResultsDescription": "Klicken Sie hier, um ein Bild zu konfigurieren."
|
|
1922
1984
|
},
|
|
1985
|
+
"search": {
|
|
1986
|
+
"noResultsTitle": "Keine Ergebnisse",
|
|
1987
|
+
"noResultsDescription": "Versuche, deine Such- oder Filteroptionen anzupassen, um zu finden, wonach du suchst."
|
|
1988
|
+
},
|
|
1923
1989
|
"searchActions": {
|
|
1924
1990
|
"addActionTitle": "Suchaktion hinzufügen",
|
|
1925
1991
|
"editActionTitle": "Suchaktion bearbeiten",
|
|
@@ -1965,6 +2031,7 @@
|
|
|
1965
2031
|
"editTab": "Tab bearbeiten",
|
|
1966
2032
|
"rowAction": "Zeilenaktion",
|
|
1967
2033
|
"canStartCase": "Kann Case starten",
|
|
2034
|
+
"collectionPathTooltip": "Ein Pfad, der zu der Sammlung von Werten führt, die du anzeigen möchtest. Um Eigenschaften in IKO's anzuzeigen, folge diesem Beispiel: 'iko:/pfad/zu/eigenschaft'.",
|
|
1968
2035
|
"tabTypes": {
|
|
1969
2036
|
"widgets": "Widgets"
|
|
1970
2037
|
}
|
package/assets/core/en.json
CHANGED
|
@@ -840,7 +840,7 @@
|
|
|
840
840
|
"success": "Widget configuration updated successfully",
|
|
841
841
|
"error": "Widget configuration failed to update"
|
|
842
842
|
},
|
|
843
|
-
"
|
|
843
|
+
"type": {
|
|
844
844
|
"description": "Choose the widget type you want to configure.",
|
|
845
845
|
"fields": {"title": "Fields", "description": "Text data with content and a label"},
|
|
846
846
|
"custom": {"title": "Custom component", "description": "For complex content"},
|
|
@@ -850,7 +850,8 @@
|
|
|
850
850
|
"title": "Interactive table",
|
|
851
851
|
"description": "Create an interactive table"
|
|
852
852
|
},
|
|
853
|
-
"collection": {"title": "Collection", "description": "Create a collection"}
|
|
853
|
+
"collection": {"title": "Collection", "description": "Create a collection"},
|
|
854
|
+
"divider": {"title": "Divider"}
|
|
854
855
|
},
|
|
855
856
|
"width": {
|
|
856
857
|
"description": "Select the desired width for the widget.",
|
|
@@ -1008,6 +1009,39 @@
|
|
|
1008
1009
|
"title": "No configured columns"
|
|
1009
1010
|
}
|
|
1010
1011
|
},
|
|
1012
|
+
"notifications": {
|
|
1013
|
+
"failed": {
|
|
1014
|
+
"pageTitle": "Failed notifications",
|
|
1015
|
+
"retrySuccess": "Notification retry scheduled",
|
|
1016
|
+
"retryError": "Retry failed. Please try again later.",
|
|
1017
|
+
"noResults": {
|
|
1018
|
+
"title": "No failed notifications",
|
|
1019
|
+
"description": "There are currently no failed notifications."
|
|
1020
|
+
},
|
|
1021
|
+
"columns": {
|
|
1022
|
+
"receivedAt": "Received at",
|
|
1023
|
+
"idempotenceKey": "Idempotence key",
|
|
1024
|
+
"pendingRetries": "Remaining retries",
|
|
1025
|
+
"lastProcessedAt": "Last processed at",
|
|
1026
|
+
"lastErrorMessage": "Last error message"
|
|
1027
|
+
},
|
|
1028
|
+
"detail": {
|
|
1029
|
+
"title": "Failed notification details",
|
|
1030
|
+
"metadataTitle": "Metadata",
|
|
1031
|
+
"id": "Identifier",
|
|
1032
|
+
"idempotenceKey": "Idempotence key",
|
|
1033
|
+
"status": "Status",
|
|
1034
|
+
"pendingRetries": "Remaining retries",
|
|
1035
|
+
"receivedAt": "Received at",
|
|
1036
|
+
"lastProcessedAt": "Last processed at",
|
|
1037
|
+
"payloadTitle": "Payload",
|
|
1038
|
+
"noPayload": "Payload not available.",
|
|
1039
|
+
"errorTitle": "Error details",
|
|
1040
|
+
"noError": "No error details available.",
|
|
1041
|
+
"retry": "Retry notification"
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
},
|
|
1011
1045
|
"tags": {
|
|
1012
1046
|
"tag": "Tag",
|
|
1013
1047
|
"add": "Add tag",
|
|
@@ -1880,19 +1914,52 @@
|
|
|
1880
1914
|
"searchFieldsNoResults": "No search fields found for this entity"
|
|
1881
1915
|
},
|
|
1882
1916
|
"ikoManagement": {
|
|
1917
|
+
"preparingDownload": "Preparing download",
|
|
1883
1918
|
"ikoServer": "IKO Server",
|
|
1919
|
+
"configureIkoServer": "Configure IKO Server",
|
|
1884
1920
|
"dataUrl": "Data URL",
|
|
1885
1921
|
"title": "Configuration",
|
|
1886
1922
|
"list": "List",
|
|
1887
1923
|
"tabs": {"title": "Tabs"},
|
|
1888
1924
|
"widgets": {"title": "Widgets"},
|
|
1925
|
+
"importDefinition": {
|
|
1926
|
+
"title": "Import IKO definition",
|
|
1927
|
+
"overwriteWarning": "If your IKO definition contains configurations, models and/or definitions with the same name or identifier as already on your system, they will be overwritten.",
|
|
1928
|
+
"startUpload": "Start upload",
|
|
1929
|
+
"progressBar": {
|
|
1930
|
+
"active": "This may take a while",
|
|
1931
|
+
"error": "Unable to import IKO definition. Nothing was imported due to an error at our end. Please try again later. If the issue keeps happening, contact support.",
|
|
1932
|
+
"finished": "IKO definition successfully imported",
|
|
1933
|
+
"label": "Importing IKO definition"
|
|
1934
|
+
},
|
|
1935
|
+
"checkbox": {
|
|
1936
|
+
"message": "I understand that configurations may be overwritten",
|
|
1937
|
+
"error": "This field is mandatory"
|
|
1938
|
+
},
|
|
1939
|
+
"upload": {
|
|
1940
|
+
"title": "Upload file",
|
|
1941
|
+
"description": "Max file size is 500kb. The supported file type is ZIP.",
|
|
1942
|
+
"buttonText": "Select file"
|
|
1943
|
+
},
|
|
1944
|
+
"steps": {
|
|
1945
|
+
"accessControl": {
|
|
1946
|
+
"message": "Don't forget to set the rights in Access Control. Without the proper rights your new IKO-definition won't be accessible.",
|
|
1947
|
+
"title": "Access control"
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
},
|
|
1889
1951
|
"views": {
|
|
1890
1952
|
"title": "Views",
|
|
1953
|
+
"upload": "Upload",
|
|
1891
1954
|
"add": "Add view",
|
|
1892
1955
|
"deleteContent": "Are you sure you want to delete this view? This change cannot be reverted",
|
|
1893
1956
|
"noResultsTitle": "There are no configured views",
|
|
1894
1957
|
"noResultsDescription": "Click here to configure a view."
|
|
1895
1958
|
},
|
|
1959
|
+
"search": {
|
|
1960
|
+
"noResultsTitle": "No results",
|
|
1961
|
+
"noResultsDescription": "Try adjusting your search or filter options to find what you're looking for."
|
|
1962
|
+
},
|
|
1896
1963
|
"searchActions": {
|
|
1897
1964
|
"addActionTitle": "Add search action",
|
|
1898
1965
|
"editActionTitle": "Edit search action",
|
|
@@ -1938,6 +2005,7 @@
|
|
|
1938
2005
|
"editTab": "Edit tab",
|
|
1939
2006
|
"rowAction": "Row action",
|
|
1940
2007
|
"canStartCase": "Can start case",
|
|
2008
|
+
"collectionPathTooltip": "A path which leads to the collection of values which you want to display. For showing properties in IKO's, follow this example: 'iko:/path/to/property'.",
|
|
1941
2009
|
"tabTypes": {
|
|
1942
2010
|
"widgets": "Widgets"
|
|
1943
2011
|
}
|
package/assets/core/nl.json
CHANGED
|
@@ -859,7 +859,7 @@
|
|
|
859
859
|
"success": "Widget-configuratie succesvol bijgewerkt",
|
|
860
860
|
"error": "Widget-configuratie kan niet worden bijgewerkt"
|
|
861
861
|
},
|
|
862
|
-
"
|
|
862
|
+
"type": {
|
|
863
863
|
"description": "Kies het widget-type dat je wilt configureren.",
|
|
864
864
|
"fields": {"title": "Velden", "description": "Tekstgegevens met inhoud en een label"},
|
|
865
865
|
"custom": {"title": "Eigen component", "description": "Voor complexe inhoud"},
|
|
@@ -869,7 +869,8 @@
|
|
|
869
869
|
"title": "Interactieve tabel",
|
|
870
870
|
"description": "Maak een interactieve tabel"
|
|
871
871
|
},
|
|
872
|
-
"collection": {"title": "Collectie", "description": "Maak een collectie aan"}
|
|
872
|
+
"collection": {"title": "Collectie", "description": "Maak een collectie aan"},
|
|
873
|
+
"divider": {"title": "Scheidingslijn"}
|
|
873
874
|
},
|
|
874
875
|
"width": {
|
|
875
876
|
"description": "Selecteer de gewenste breedte voor de widget.",
|
|
@@ -1033,6 +1034,39 @@
|
|
|
1033
1034
|
"title": "Er zijn geen kolommen geconfigureerd voor dit document."
|
|
1034
1035
|
}
|
|
1035
1036
|
},
|
|
1037
|
+
"notifications": {
|
|
1038
|
+
"failed": {
|
|
1039
|
+
"pageTitle": "Mislukte notificaties",
|
|
1040
|
+
"retrySuccess": "Notificatie opnieuw ingepland",
|
|
1041
|
+
"retryError": "Opnieuw proberen mislukt. Probeer het later nog eens.",
|
|
1042
|
+
"noResults": {
|
|
1043
|
+
"title": "Geen mislukte notificaties",
|
|
1044
|
+
"description": "Er zijn momenteel geen mislukte notificaties."
|
|
1045
|
+
},
|
|
1046
|
+
"columns": {
|
|
1047
|
+
"receivedAt": "Ontvangen op",
|
|
1048
|
+
"idempotenceKey": "Idempotentiesleutel",
|
|
1049
|
+
"pendingRetries": "Resterende pogingen",
|
|
1050
|
+
"lastProcessedAt": "Laatst verwerkt op",
|
|
1051
|
+
"lastErrorMessage": "Laatste foutmelding"
|
|
1052
|
+
},
|
|
1053
|
+
"detail": {
|
|
1054
|
+
"title": "Details mislukte notificatie",
|
|
1055
|
+
"metadataTitle": "Metadata",
|
|
1056
|
+
"id": "ID",
|
|
1057
|
+
"idempotenceKey": "Idempotentiesleutel",
|
|
1058
|
+
"status": "Status",
|
|
1059
|
+
"pendingRetries": "Resterende pogingen",
|
|
1060
|
+
"receivedAt": "Ontvangen op",
|
|
1061
|
+
"lastProcessedAt": "Laatst verwerkt op",
|
|
1062
|
+
"payloadTitle": "Payload",
|
|
1063
|
+
"noPayload": "Geen payload beschikbaar.",
|
|
1064
|
+
"errorTitle": "Foutdetails",
|
|
1065
|
+
"noError": "Geen foutdetails beschikbaar.",
|
|
1066
|
+
"retry": "Opnieuw proberen"
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
},
|
|
1036
1070
|
"tags": {
|
|
1037
1071
|
"tag": "Trefwoord",
|
|
1038
1072
|
"add": "Trefwoord toevoegen",
|
|
@@ -1913,19 +1947,52 @@
|
|
|
1913
1947
|
"searchFieldsNoResults": "Geen zoekvelden gevonden voor deze entiteit"
|
|
1914
1948
|
},
|
|
1915
1949
|
"ikoManagement": {
|
|
1950
|
+
"preparingDownload": "Download aan het voorbereiden",
|
|
1916
1951
|
"title": "Configuratie",
|
|
1917
1952
|
"ikoServer": "IKO Server",
|
|
1953
|
+
"configureIkoServer": "IKO-server configureren",
|
|
1918
1954
|
"dataUrl": "Gegevens-URL",
|
|
1919
1955
|
"list": "Lijst",
|
|
1920
1956
|
"tabs": {"title": "Tabbladen"},
|
|
1921
1957
|
"widgets": {"title": "Widgets"},
|
|
1958
|
+
"importDefinition": {
|
|
1959
|
+
"title": "Importeer IKO-definitie",
|
|
1960
|
+
"overwriteWarning": "Als je IKO-definitie configuraties, modellen en/of definities bevat met een naam of identifier die al op je systeem aanwezig zijn, worden deze overschreven.",
|
|
1961
|
+
"startUpload": "Upload starten",
|
|
1962
|
+
"progressBar": {
|
|
1963
|
+
"active": "Dit kan even duren",
|
|
1964
|
+
"error": "Kan de IKO-definitie niet importeren. Er is niets geïmporteerd vanwege een fout aan onze kant. Probeer het later opnieuw. Neem contact op met de ondersteuning als het probleem zich blijft voordoen.",
|
|
1965
|
+
"finished": "IKO-definitie succesvol geïmporteerd",
|
|
1966
|
+
"label": "IKO-definitie importeren"
|
|
1967
|
+
},
|
|
1968
|
+
"checkbox": {
|
|
1969
|
+
"message": "Ik begrijp dat configuraties kunnen worden overschreven",
|
|
1970
|
+
"error": "Dit veld is verplicht"
|
|
1971
|
+
},
|
|
1972
|
+
"upload": {
|
|
1973
|
+
"title": "Bestand uploaden",
|
|
1974
|
+
"description": "Maximale bestandsgrootte is 500kb. Het ondersteunde bestandstype is ZIP.",
|
|
1975
|
+
"buttonText": "Bestand selecteren"
|
|
1976
|
+
},
|
|
1977
|
+
"steps": {
|
|
1978
|
+
"accessControl": {
|
|
1979
|
+
"message": "Vergeet niet om de rechten in Access Control in te stellen. Zonder de juiste rechten is je nieuwe IKO-definitie niet toegankelijk.",
|
|
1980
|
+
"title": "Toegangsbeheer"
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
},
|
|
1922
1984
|
"views": {
|
|
1923
1985
|
"title": "Beelden",
|
|
1986
|
+
"upload": "Uploaden",
|
|
1924
1987
|
"add": "Beeld toevoegen",
|
|
1925
1988
|
"deleteContent": "Weet u zeker dat u dit beeld wilt verwijderen? Deze wijziging kan niet ongedaan worden gemaakt.",
|
|
1926
1989
|
"noResultsTitle": "Er zijn geen geconfigureerde beelden",
|
|
1927
1990
|
"noResultsDescription": "Klik hier om een beeld te configureren."
|
|
1928
1991
|
},
|
|
1992
|
+
"search": {
|
|
1993
|
+
"noResultsTitle": "Geen resultaten",
|
|
1994
|
+
"noResultsDescription": "Probeer je zoek- of filteropties aan te passen om te vinden wat je zoekt."
|
|
1995
|
+
},
|
|
1929
1996
|
"searchActions": {
|
|
1930
1997
|
"addActionTitle": "Zoekactie toevoegen",
|
|
1931
1998
|
"editActionTitle": "Zoekactie bewerken",
|
|
@@ -1971,6 +2038,7 @@
|
|
|
1971
2038
|
"editTab": "Tab bewerken",
|
|
1972
2039
|
"rowAction": "Rijactie",
|
|
1973
2040
|
"canStartCase": "Kan zaak starten",
|
|
2041
|
+
"collectionPathTooltip": "Een pad dat leidt naar de verzameling van waarden die je wilt weergeven. Voor het tonen van eigenschappen in IKO's, volg dit voorbeeld: 'iko:/pad/naar/eigenschap'.",
|
|
1974
2042
|
"tabTypes": {
|
|
1975
2043
|
"widgets": "Widgets"
|
|
1976
2044
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/condition.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {getCaseManagementRouteParams, getContextObservable, getCaseManagementRouteParamsAndContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\nimport {FormioOptions} from '@formio/angular';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n enableHackathonCasesPage?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n experimentalDmnEditing?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n DE = 'de',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Subject} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Subject<number>;\n includeFunction?: IncludeFunction;\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\ntype SearchFieldMatchType = 'exact' | 'like';\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n}\n\nexport {UserSettings};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype ManagementContext = 'case' | 'independent';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n Orange = 'ORANGE',\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\n","enum Operator {\n NOT_EQUAL_TO = '!=',\n EQUAL_TO = '==',\n GREATER_THAN = '>',\n GREATER_THAN_OR_EQUAL_TO = '>=',\n LESS_THAN = '<',\n LESS_THAN_OR_EQUAL_TO = '<=',\n}\n\ninterface Condition {\n path: string;\n operator: string;\n value: string;\n}\n\nexport {Operator, Condition};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './display-type.model';\nexport * from './modal.model';\nexport * from './condition.model';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfig['featureToggles'] {\n return this.config.featureToggles;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return of(this.config);\n }\n\n public get featureToggles$(): Observable<ValtimoConfig['featureToggles']> {\n return of(this.config.featureToggles);\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles => !!(featureToggles && featureToggles[featureToggle]))\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction, ValtimoConfig} from '../models';\nimport {ConfigService} from './config.service';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n private valtimoConfig!: ValtimoConfig;\n\n constructor(private readonly configService: ConfigService) {\n this.valtimoConfig = this.configService.config;\n }\n\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return of(!!this.valtimoConfig?.featureToggles?.enableObjectManagement || true);\n default:\n return of(true);\n }\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.4.1',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n return this.hasEditPermissions(caseDefinitionKey, caseDefinitionVersionTag);\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n }\n return of(false);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './services';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './constants';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","switchMap","map"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAIH,MAAM,WAAW,CAAA;AACR,IAAA,OAAO,qBAAqB,GAAA;AACjC,QAAA,OAAO,EAAC,4BAA4B,EAAE,UAAU,EAAC;;AAEpD;;ACtBD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,QAAQ,CAAA;AACZ,IAAA,OAAO,sBAAsB,CAAC,GAAW,EAAE,uBAAgC,EAAA;AACzE,QAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClC,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,YAAA,MAAM,uBAAuB,GAAG,gBAAgB,KAAK,GAAG;AAExD,YAAA,IAAI,CAAC,uBAAuB,IAAI,uBAAuB,EAAE;gBACvD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;AAClB,iBAAA,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,EAAE;gBAC9D,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG;;;AAIpB,QAAA,OAAO,GAAG;;IAGZ,OAAO,uBAAuB,CAAC,GAAW,EAAA;QACxC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtE,OAAO,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE;;QAGlB,OAAO,CAAA,EAAG,GAAG,CAAA,CAAE;;IAGjB,OAAO,UAAU,CAAC,SAAiB,EAAA;AACjC,QAAA,IAAI,GAAS;AAEb,QAAA,IAAI;AACF,YAAA,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC;;AACxB,QAAA,OAAO,CAAC,EAAE;QAEZ,OAAO,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE;;AAE7B;;ACjDD;;;;;;;;;;;;;;AAcG;AAIU,MAAA,2BAA2B,GAAG;AACzC,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,IAAI;;MAGJ,qBAAqB,GAAG,CAAC,OAA4B,MAA2B;AAC3F,IAAA,GAAG,2BAA2B;AAC9B,IAAA,GAAG,OAAO;AACX,CAAA;;ACNK,MAAA,4BAA4B,GAAG,CACnC,KAAqB,EACrB,QAAQ,GAAG,KAAK,KACgC;AAChD,IAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;IACzE,OAAO,aAAa,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CACrD,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,KAAI;QACjC,MAAM,iBAAiB,GACrB,UAAU,CAAC,mBAAmB,CAAC,IAAI,YAAY,CAAC,mBAAmB,CAAC;QACtE,MAAM,wBAAwB,GAC5B,UAAU,CAAC,0BAA0B,CAAC,IAAI,YAAY,CAAC,0BAA0B,CAAC;AACpF,QAAA,IAAI,iBAAiB,IAAI,wBAAwB,EAAE;AACjD,YAAA,OAAO,EAAC,iBAAiB,EAAE,wBAAwB,EAAC;;AAEtD,QAAA,OAAO,IAAI;AACb,KAAC,CAAC,EACF,MAAM,CAAC,CAAC,MAAM,MAAsC,QAAQ,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,EACvF,oBAAoB,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CACxE;AACH;AAEA,SAAS,oBAAoB,CAAC,KAAqB,EAAA;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CACpB,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,SAAS,CAAuB,KAAK,IAAI,CAAC,EACrE,oBAAoB,EAAE,CACvB;AACH;AAEA,SAAS,sCAAsC,CAC7C,KAAqB,EAAA;IAErB,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC;AACzD,IAAA,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC;IAE5C,OAAO,QAAQ,CAAC,IAAI,CAClB,SAAS,CAAC,OAAO,IAAG;AAClB,QAAA,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAE1C;;AAGH,QAAA,MAAM,cAAc,GAAyB;AAC3C,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,wBAAwB,EAAE,EAAE;SAC7B;QACD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,CAA8C,CAAC;KAClF,CAAC,CACH;AACH;;ACtEA;;;;;;;;;;;;;;AAcG;AAIH,MAAM,4BAA4B,GAAG,CAAC,qBAA4C,KAAY;AAC5F,IAAA,IAAI,qBAAqB,EAAE,UAAU,EAAE;QACrC,OAAO,qBAAqB,CAAC,UAAU;;AAClC,SAAA,IAAI,qBAAqB,EAAE,SAAS,EAAE;AAC3C,QAAA,OAAO,qBAAqB,CAAC,SAAS,CAAC,QAAQ,EAAE;;AAC5C,SAAA,IAAI,qBAAqB,EAAE,IAAI,EAAE;AACtC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;AAClE,YAAA,MAAM,kBAAkB,GAAG,CAAG,EAAA,IAAI,CAAK,EAAA,EAAA,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;YAC3E,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,CAAA,EAAG,kBAAkB,CAAA,CAAE;;AAGhC,YAAA,OAAO,CAAG,EAAA,GAAG,CAAK,EAAA,EAAA,kBAAkB,EAAE;SACvC,EAAE,EAAE,CAAC;;AAGR,IAAA,OAAO,GAAG;AACZ;;ACnCA;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAMmB,cAAc,CAAA;IAGlC,WACqB,CAAA,UAAsB,EACtB,aAA4B,EAAA;QAD5B,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAa,CAAA,aAAA,GAAb,aAAa;QAEhC,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;AAGjE,IAAA,SAAS,CAAC,OAAe,EAAA;QAC9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC;AACnE,QAAA,MAAM,6BAA6B,GAAG,CAAA,EAAG,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAG,EAAA,iBAAiB,EAAE;AAC/H,QAAA,OAAO,6BAA6B;;AAEvC;;ACnCD;;;;;;;;;;;;;;AAcG;AAQH,MAAM,cAAc,GAAG,IAAI,cAAc,CAAgB,eAAe;AAExE;AACA,MAAM,YAAY,GAAG,IAAI,cAAc,CAAqB,cAAc;AA8H1E,IAAK;AAAL,CAAA,UAAK,cAAc,EAAA;AACjB,IAAA,cAAA,CAAA,cAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE;;AAEF,IAAA,cAAA,CAAA,cAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACT,IAAA,cAAA,CAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAc;AAChB,CAAC,EALI,cAAc,KAAd,cAAc,GAKlB,EAAA,CAAA,CAAA;AAED,IAAK;AAAL,CAAA,UAAK,WAAW,EAAA;AACd,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACb,CAAC,EAJI,WAAW,KAAX,WAAW,GAIf,EAAA,CAAA,CAAA;AAED,IAAK;AAAL,CAAA,UAAK,WAAW,EAAA;AACd,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACb,CAAC,EAJI,WAAW,KAAX,WAAW,GAIf,EAAA,CAAA,CAAA;AAED,IAAK;AAAL,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACX,CAAC,EAJI,QAAQ,KAAR,QAAQ,GAIZ,EAAA,CAAA,CAAA;;AC9KD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAIH,IAAK;AAAL,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAAuB;AACzB,CAAC,EAFI,eAAe,KAAf,eAAe,GAEnB,EAAA,CAAA,CAAA;;ACpBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAeU,mBAAmB,CAAA;IAQ9B,WACE,CAAA,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,KAAoB,EACpB,QAAiB,EACjB,EAAW,EAAA;AAEX,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;;AAGf,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;AAGpB,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;;AAGxB,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;AAGvB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;AAGpB,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;AAGvB,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;;AAElB;;AC5ED;;;;;;;;;;;;;;AAcG;MAWU,eAAe,CAAA;AAI1B,IAAA,WAAA,CAAY,wBAAkD,EAAA;QAH7C,IAAwB,CAAA,wBAAA,GAA6B,IAAI;QAClE,IAAY,CAAA,YAAA,GAAsB,IAAI;AAG5C,QAAA,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;;IAG1D,kBAAkB,CAAC,gBAAkC,EAAE,cAA8B,EAAA;AACnF,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAC5E,cAAc,CAAC,SAAS,CACzB;QACD,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC;;IAGxE,0BAA0B,CAAC,gBAAkC,EAAE,cAA8B,EAAA;AAC3F,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAC5E,cAAc,CAAC,SAAS,CACzB;QACD,gBAAgB,CAAC,KAAK,EAAE;AACxB,QAAA,QAAQ,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC;;AAEjF;MAEY,SAAS,CAAA;IAIpB,WAAY,CAAA,IAAY,EAAE,cAAmC,EAAA;AAC3D,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;;AAGvC,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;;AAE9B;MAEY,mBAAmB,CAAA;AAM9B,IAAA,WAAA,CAAY,MAAc,EAAE,IAAY,EAAE,OAAe,EAAE,SAAc,EAAA;AACvE,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;AAG7B,IAAA,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;;AAGpF,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;;AAGrB,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;;AAGnB,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;AAGtB,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;;AAEzB;;AC/FD;;;;;;;;;;;;;;AAcG;AAKG,SAAU,iBAAiB,CAAC,UAAsB,EAAA;AACtD,IAAA,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC;AAC5C;;ACrBA;;;;;;;;;;;;;;AAcG;AAEI,MAAM,UAAU,GAAG;AACnB,MAAM,SAAS,GAAG;AAClB,MAAM,cAAc,GAAG;;AClB9B;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;IAES;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAdW,QAAQ,KAAR,QAAQ,GAcnB,EAAA,CAAA,CAAA;;AC9BD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH,IAAK;AAAL,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,IAAmB;AACnB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,IAAe;AACf,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAkB;AAClB,IAAA,QAAA,CAAA,0BAAA,CAAA,GAAA,IAA+B;AAC/B,IAAA,QAAA,CAAA,WAAA,CAAA,GAAA,GAAe;AACf,IAAA,QAAA,CAAA,uBAAA,CAAA,GAAA,IAA4B;AAC9B,CAAC,EAPI,QAAQ,KAAR,QAAQ,GAOZ,EAAA,CAAA,CAAA;;ACPD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAiBU,aAAa,CAAA;IAKxB,WACkC,CAAA,aAA4B,EACpD,wBAAkD,EAAA;QAD1B,IAAa,CAAA,aAAA,GAAb,aAAa;QACrC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;QALjB,IAAU,CAAA,UAAA,GAAqB,EAAE;QACjC,IAAyB,CAAA,yBAAA,GAAG,SAAS;QAMpD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,wBAAwB,CAAC;;AAGtE,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;AACjC,QAAA,MAAM,0BAA0B,GAAG,MAAM,CAAC,oBAAoB;QAE9D,OAAO;AACL,YAAA,GAAG,MAAM;AACT,YAAA,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;AACvC,YAAA,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,IACtD,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAC/C;AACD,YAAA,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;AACjB,gBAAA,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;AAC/E,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;AACjB,gBAAA,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAU;AACpB,gBAAA,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;AAClF,aAAA;YACD,IAAI,0BAA0B,IAAI;AAChC,gBAAA,oBAAoB,EAAE,0BAA0B,CAAC,GAAG,CAAC,QAAQ,IAC3D,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAChD;aACF,CAAC;AACF,YAAA,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,yBAAyB;SAC5E;;AAGH,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc;;AAGnC,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGxB,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;;AAGvC,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE;;AAGxC,IAAA,YAAY,CAAC,SAAoB,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;;AAGjC,IAAA,0BAA0B,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe,EAAA;QAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,IACnC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CACzD;;AAGI,IAAA,2BAA2B,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe,EAAA;QAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,IACrC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CACzD;;IAGI,kBAAkB,CAAC,gBAAkC,EAAE,cAA8B,EAAA;QAC1F,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC;;IAGpE,2BAA2B,CAChC,gBAAkC,EAClC,cAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,cAAc,CAAC;;AAGnF,IAAA,0BAA0B,CAC/B,aAAgD,EAAA;QAEhD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAC9B,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,cAAc,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3E;;AAGI,IAAA,gBAAgB,CAAC,aAAgD,EAAA;AACtE,QAAA,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;;AA/F3D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAMd,cAAc,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAOI,MAAM;2BAAC,cAAc;;;ACrC1B;;;;;;;;;;;;;;AAcG;MAiBU,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAIU,IAAoB,CAAA,oBAAA,GAA+B,IAAI;QAC9C,IAAkB,CAAA,kBAAA,GAAoC,EAAE;AAyG1E;AAvGQ,IAAA,sBAAsB,CAAC,OAA4B,EAAA;AACxD,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO;;IAG9B,sBAAsB,GAAA;QAC3B,OAAO,IAAI,CAAC,oBAAoB;;AAG3B,IAAA,gBAAgB,CACrB,eAAuE,EACvE,gBAAA,GAAwC,YAAY,EAAA;QAEpD,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;AAE3C,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAC/B,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CACzC,qBAAqB,CAAC,eAAe,CAAC,EACtC,gBAAgB,CACjB,CACF;;AAGI,IAAA,SAAS,CACd,eAAmD,EACnD,gBAAA,GAAiC,KAAK,EAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;AAE3C,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAC/B,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,CAC/F;;AAGI,IAAA,cAAc,CACnB,eAAkC,EAClC,gBAAA,GAAkD,sBAAsB,EAAA;QAExE,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;AAE3C,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAC/B,IAAI,CAAC,oBAAoB,EAAE,cAAc,CACvC,qBAAqB,CAAC,eAAe,CAAC,EACtC,gBAAgB,CACjB,CACF;;AAGI,IAAA,KAAK,CAAC,eAAoB,EAAA;AAC/B,QAAA,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE;;AAGvB,IAAA,eAAe,CAAC,eAAoB,EAAA;QACzC,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;QAC3C,OAAO,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,eAAe,CAAC;;IAG7D,mBAAmB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;AAC3C,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,gBAAgB;;IAG7C,iBAAiB,GAAA;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB;AAAE,YAAA,OAAO,IAAI;AAC3C,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,OAAO;;IAGpC,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE;AACxC,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;;AAG3D,IAAA,qBAAqB,CAAC,eAAoB,EAAA;AAChD,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,GAAG,eAAe;YAClB,EAAE,EACA,eAAe,CAAC,OAAO;AACvB,gBAAA,eAAe,CAAC,cAAc;AAC9B,gBAAA,eAAe,CAAC,wBAAwB;SAC3C;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;;AAG7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;AAEvE,QAAA,eAAe,CAAC;AACb,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAEnE,QAAA,OAAO,eAAe;;AAGhB,IAAA,yBAAyB,CAAC,EAAU,EAAA;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAC7C,CAAC,YAAyC,KAAK,YAAY,CAAC,EAAE,KAAK,EAAE,CACtE;QACD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE;QAElB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;+GAzG/B,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA;;4FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AC9BD;;;;;;;;;;;;;;AAcG;MAYU,mBAAmB,CAAA;IAG9B,WACmB,CAAA,IAAgB,EAChB,aAA4B,EAAA;QAD5B,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAa,CAAA,aAAA,GAAb,aAAa;QAE9B,IAAI,CAAC,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW;;AAG9D,IAAA,eAAe,CAAC,WAAmB,EAAA;QACxC,OAAO,IAAI,CAAC;aACT,GAAG,CAAsB,GAAG,IAAI,CAAC,aAAa,CAAmB,gBAAA,EAAA,WAAW,EAAE,EAAE;YAC/E,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC;SAC5D;AACA,aAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;IAG5B,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,CAAG,EAAA,IAAI,CAAC,aAAa,CAAiB,eAAA,CAAA,CAAC;;IAGvE,sBAAsB,GAAA;QAC3B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CACjC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACxF;;IAGI,kBAAkB,CACvB,WAAmB,EACnB,0BAA+C,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,aAAa,8BAA8B,WAAW,CAAA,CAAE,EAChE,0BAA0B,CAC3B;;AAGI,IAAA,mBAAmB,CAAC,oBAAoC,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,0BAAA,CAA4B,EACjD,oBAAoB,CACrB;;+GA1CQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;MAUU,kBAAkB,CAAA;AAG7B,IAAA,WAAA,CAA6B,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM;;AAGhD,IAAA,kBAAkB,CAAC,eAAgC,EAAA;QACjD,QAAQ,eAAe;YACrB,KAAK,eAAe,CAAC,uBAAuB;AAC1C,gBAAA,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,sBAAsB,IAAI,IAAI,CAAC;AACjF,YAAA;AACE,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC;;;+GAZV,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACvBD;;;;;;;;;;;;;;AAcG;MAWU,mBAAmB,CAAA;IAG9B,WACmB,CAAA,IAAgB,EAChB,aAA4B,EAAA;QAD5B,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAa,CAAA,aAAA,GAAb,aAAa;QAE9B,IAAI,CAAC,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW;;IAGrE,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,CAAG,EAAA,IAAI,CAAC,aAAa,CAAkB,gBAAA,CAAA,CAAC;;AAG7E,IAAA,gBAAgB,CAAC,QAAsB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,gBAAA,CAAkB,EAAE,QAAQ,CAAC;;+GAf9D,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;AAIH,MAAM,QAAQ,GAAa;AACzB,IAAA,iBAAiB,EAAE,QAAQ;;;ACnB7B;;;;;;;;;;;;;;AAcG;AAKH,MAAM,yBAAyB,GAAG,IAAI,cAAc,CAClD,oEAAoE;;ACpBtE;;;;;;;;;;;;;;AAcG;AAKH,MAAM,qBAAqB,GAAG,IAAI,cAAc,CAC9C,wCAAwC;;ACpB1C;;;;;;;;;;;;;;AAcG;AAIG,MAAA,eAAe,GAAG;AACxB,MAAM,qBAAqB,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK;;ACnB1E;;;;;;;;;;;;;;AAcG;AAIH,MAAM,mCAAmC,GAAG,IAAI,cAAc,CAC5D,uEAAuE;;ACnBzE;;;;;;;;;;;;;;AAcG;AAIH,MAAM,SAAS,GAAG,IAAI,cAAc,CAAU,4CAA4C;;AClB1F;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAcG,MAAO,kBAAmB,SAAQ,cAAc,CAAA;IACpD,WACqB,CAAA,UAAsB,EACtB,aAA4B,EAAA;AAE/C,QAAA,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC;QAHb,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAa,CAAA,aAAA,GAAb,aAAa;;IAK3B,4BAA4B,GAAA;QACjC,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CAAsB,IAAI,CAAC,SAAS,CAAC,qCAAqC,CAAC,EAAE;YAC/E,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;SACvD;aACA,IAAI,CACH,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,4BAA4B,CAAC,EACtD,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAC3B;;+GAhBM,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AC3BD;;;;;;;;;;;;;;AAcG;AAYG,MAAO,mBAAoB,SAAQ,cAAc,CAAA;IACrD,WACqB,CAAA,UAAsB,EACtB,aAA4B,EAAA;AAE/C,QAAA,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC;QAHb,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAa,CAAA,aAAA,GAAb,aAAa;;IAK3B,cAAc,CACnB,iBAAyB,EACzB,wBAAgC,EAAA;AAEhC,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,wBAAwB,EAAE;AACnD,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC;;QAGlB,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,SAAS,CACZ,CAAiC,8BAAA,EAAA,iBAAiB,CAAY,SAAA,EAAA,wBAAwB,CAAE,CAAA,CACzF,EACD;YACE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;SACvD;AAEF,aAAA,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;+GAzB5C,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;AAaG,MAAO,sBAAuB,SAAQ,cAAc,CAAA;AACxD,IAAA,WAAA,CACqB,UAAsB,EACtB,aAA4B,EAC/B,kBAAsC,EACtC,mBAAwC,EAAA;AAExD,QAAA,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC;QALb,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAa,CAAA,aAAA,GAAb,aAAa;QAChB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;;IAK9B,kBAAkB,CACvB,iBAAyB,EACzB,wBAAgC,EAAA;AAEhC,QAAA,OAAO,aAAa,CAAC;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,EAAE;YACtD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;AACrF,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,SAAS,IAAI,cAAc,CAAC,CAAC;;AAGrE,IAAA,kCAAkC,CACvC,iBAAyB,EACzB,wBAAgC,EAChC,OAAe,EAAA;AAEf,QAAA,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;;AACtE,aAAA,IAAI,OAAO,KAAK,aAAa,EAAE;AACpC,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,EAAE;;AAE/D,QAAA,OAAO,EAAE,CAAC,KAAK,CAAC;;+GA9BP,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAkBU,2BAA2B,CAAA;IACtC,WACmB,CAAA,yBAAoD,EACpD,mBAAwC,EAAA;QADxC,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB;QACzB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;;IAG/B,QAAQ,GAAA;QACb,IAAI,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC;;+GAPtE,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,0EAJ3B,CAAC,mBAAmB,CAAC,EANtB,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAE,yHAQF,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEX,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAC7B,CAAE,CAAA,EAAA,SAAA,EAMD,CAAC,mBAAmB,CAAC,EAAA,UAAA,EACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA;;;AC9BzB;;;;;;;;;;;;;;AAcG;MAYU,kBAAkB,CAAA;AAU7B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa;QAT1B,IAAe,CAAA,eAAA,GAAoB,IAAI;;IAW9C,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC;AACF,aAAA,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO;aAChE,OAAO,CAAC,SAAS,IAAG;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC;AACxF,SAAC,CAAC;;+GAjBK,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAOQ,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCvD,gsBAiBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDSa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cAGjB,KAAK,EAAA,QAAA,EAAA,gsBAAA,EAAA;+EAMD,MAAM,EAAA,CAAA;sBAArB;gBACe,IAAI,EAAA,CAAA;sBAAnB;gBACe,OAAO,EAAA,CAAA;sBAAtB;gBAED,gBAAgB,EAAA,CAAA;sBADf,SAAS;uBAAC,iBAAiB,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAC;;;AEjCtE;;;;;;;;;;;;;;AAcG;MAYU,YAAY,CAAA;IACvB,OAAO,OAAO,CAAC,MAAqB,EAAA;QAClC,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,SAAS,EAAE;gBACT,aAAa;AACb,gBAAA;AACE,oBAAA,OAAO,EAAE,cAAc;AACvB,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACF,aAAA;SACF;;+GAXQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAZ,YAAY,EAAA,YAAA,EAAA,CAJR,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAEvB,kBAAkB,CAAA,EAAA,CAAA,CAAA;gHAEjB,YAAY,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;MAQU,oBAAoB,CAAA;AACxB,IAAA,MAAM,CAAC,GAAW,EAAA;AACvB,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC;;AAGV,IAAA,OAAO,CAAC,GAAW,EAAA;AACxB,QAAA,OAAO,EAAE;;+GANA,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACrBD;;;;;;;;;;;;;;AAcG;MASU,mBAAmB,CAAA;AAHhC,IAAA,WAAA,GAAA;AAYmB,QAAA,IAAA,CAAA,iBAAiB,GAAoB;AACpD,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,gBAAgB,EAAE,CAAC;SACpB;AAKF;AAvBC,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;;IAGhB,UAAU,GAAA;AACf,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC;;AAeV,IAAA,MAAM,eAAe,GAAA;QAC1B,OAAO,IAAI,CAAC,iBAAiB;;+GAtBpB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACtBD;;;;;;;;;;;;;;AAcG;MAOU,eAAe,CAAA;AACnB,IAAA,WAAW,CAAC,KAAiB,EAAA;QAClC;;+GAFS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACpBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAUU,8BAA8B,CAAA;AAKzC,IAAA,WAAA,CACE,QAAqB,EACrB,WAAuB,EACvB,oBAAyC,EACzC,gBAAwD,EAAA;AAExD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AACxC,QAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;;AAElD,IAAA,cAAc,CAAC,IAAY,EAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,IAAG;AACpD,YAAA,IAAI,IAAI;YACR,IAAI,QAAQ,CAAC,MAAM;AAAE,gBAAA,IAAI,GAAG,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAG,EAAA,IAAI,CAAG,EAAA,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE;;AAC/E,gBAAA,IAAI,GAAG,CAAG,EAAA,QAAQ,CAAG,EAAA,IAAI,OAAO;AACrC,YAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CACjD,UAAU,CAAC,GAAG,IAAG;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACtB,OAAO,CAAC,KAAK,EAAE;AACf,oBAAA,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,IAAI,CAAC;AAC/E,oBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBAClB,OAAO,CAAC,QAAQ,EAAE;;AAEpB,gBAAA,OAAO,EAAE,CAAC,EAAE,CAAC;aACd,CAAC,CACH;AACH,SAAC,CAAC;QAEF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC5BI,WAAS,CAAC,sBAAsB,IAC9B,aAAa,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7F,EACDC,KAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,KACjD,SAAS,CAAC,GAAG,CAAC,GAAG,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAChE,CACF;;AAEJ;;ACnED;;;;;;;;;;;;;;AAcG;AAOG,SAAU,qCAAqC,CACnD,IAAiB,EACjB,UAAsB,EACtB,aAA4B,EAC5B,mBAAwC,EAAA;AAExC,IAAA,MAAM,oBAAoB,GAAG,aAAa,EAAE,MAAM,EAAE,oBAAoB;IAExE,OAAO,IAAI,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAC/E,6BAA6B;AAC7B,QAAA,IAAI,oBAAoB;AACxB,YAAA,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACnC,oBAAoB,CAAC,MAAM,GAAG;AAC5B,cAAE;cACA,EAAE,CAAC;AACR,KAAA,CAAC;AACJ;;ACrCA;;;;;;;;;;;;;;AAcG;AAMa,SAAA,+BAA+B,CAAC,IAAiB,EAAE,aAA4B,EAAA;AAC7F,IAAA,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,oBAAoB;AAEtE,IAAA,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE;QACxC,6BAA6B;AAC7B,QAAA,IAAI,oBAAoB;AACxB,YAAA,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACnC,oBAAoB,CAAC,MAAM,GAAG;AAC5B,cAAE;cACA,EAAE,CAAC;AACR,KAAA,CAAC;AACJ;;AC/BA;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAIH,MAAM,+BAA+B,GAAG,IAAI,cAAc,CACxD,kDAAkD;;ACnBpD;;;;;;;;;;;;;;AAcG;AAIH,MAAM,4CAA4C,GAAG,IAAI,cAAc,CACrE,4HAA4H;;ACnB9H;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAEH;;AAEG;;AClBH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/condition.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {getCaseManagementRouteParams, getContextObservable, getCaseManagementRouteParamsAndContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\nimport {FormioOptions} from '@formio/angular';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n enableHackathonCasesPage?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n experimentalDmnEditing?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n DE = 'de',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Subject} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Subject<number>;\n includeFunction?: IncludeFunction;\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\ntype SearchFieldMatchType = 'exact' | 'like';\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n}\n\nexport {UserSettings};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype ManagementContext = 'case' | 'independent';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n Orange = 'ORANGE',\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\n","enum Operator {\n NOT_EQUAL_TO = '!=',\n EQUAL_TO = '==',\n GREATER_THAN = '>',\n GREATER_THAN_OR_EQUAL_TO = '>=',\n LESS_THAN = '<',\n LESS_THAN_OR_EQUAL_TO = '<=',\n}\n\ninterface Condition {\n path: string;\n operator: string;\n value: string;\n}\n\nexport {Operator, Condition};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './display-type.model';\nexport * from './modal.model';\nexport * from './condition.model';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfig['featureToggles'] {\n return this.config.featureToggles;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return of(this.config);\n }\n\n public get featureToggles$(): Observable<ValtimoConfig['featureToggles']> {\n return of(this.config.featureToggles);\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles => !!(featureToggles && featureToggles[featureToggle]))\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction, ValtimoConfig} from '../models';\nimport {ConfigService} from './config.service';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n private valtimoConfig!: ValtimoConfig;\n\n constructor(private readonly configService: ConfigService) {\n this.valtimoConfig = this.configService.config;\n }\n\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return of(!!this.valtimoConfig?.featureToggles?.enableObjectManagement || true);\n default:\n return of(true);\n }\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.5.1',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n return this.hasEditPermissions(caseDefinitionKey, caseDefinitionVersionTag);\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n }\n return of(false);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './services';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './constants';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","switchMap","map"],"mappings":"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"}
|