ar-poncho
Version:
Base de html y css para la creación de sitios pertenecientes a la Administración Pública Nacional de la República Argentina.
828 lines (717 loc) • 447 kB
JavaScript
/**
* Listado de colores colores www.argentina.gob.ar
*
* MIT License
*
* Copyright (c) 2024 Argentina.gob.ar
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rightsto use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
const ponchoColorDefinitionsList = [{"name": "www.argentina.gob.ar", "space": "arg", "hidden_space": false, "description": "", "data": [{"scope": "arg", "name": "Azul principal", "group": "primary", "color": {"900": "#232D4F", "800": "#2C3C5F", "700": "#354B6E", "600": "#3E5A7E", "500": "#5A7290", "400": "#7589A3", "300": "#91A1B5", "200": "#ACB8C8", "100": "#C8D0DA", "50": "#E3E7ED"}, "instance": [{"name": "Azul", "code": "arg-azul", "description": "Color principal", "scope": "arg", "related_color": "900", "parent_group": "primary", "color": "#232D4F", "variant": [{"variant": "half", "color": "#9296A7", "name": "Azul medio tono", "code": "arg-azul-half"}, {"variant": "lighter", "color": "#C8D0DA", "name": "Azul muy claro", "code": "arg-azul-lighter"}], "alias": [{"code": "arg-azul", "exclude": false}, {"code": "primary", "exclude": true}, {"code": "azul", "exclude": true}, {"code": "azul-marino", "exclude": true}, {"code": "primary-alt", "exclude": true}, {"code": "arg-primary", "exclude": true}]}, {"name": "Azul cobalto", "code": "arg-secundario", "description": "", "scope": "arg", "related_color": "600", "parent_group": "primary", "color": "#3E5A7E", "variant": [], "alias": [{"code": "arg-secundario", "exclude": false}, {"code": "secondary", "exclude": true}, {"code": "secundario", "exclude": true}]}, {"name": "Primary light", "code": "arg-primary-light", "description": "", "scope": "arg", "related_color": "50", "parent_group": "primary", "color": "#E3E7ED", "variant": [], "alias": [{"code": "arg-primary-light", "exclude": false}, {"code": "primary-light", "exclude": true}]}, {"name": "Azul acero", "code": "arg-info", "description": "", "scope": "arg", "related_color": "500", "parent_group": "primary", "color": "#5A7290", "variant": [{"variant": "lighter", "color": "#E3E7ED", "name": "Azul acero muy claro", "code": "arg-info-lighter"}], "alias": [{"code": "arg-info", "exclude": false}, {"code": "info", "exclude": true}]}]}, {"scope": "arg", "name": "Verde", "group": "verde", "color": {"50": "#F1F5D7", "100": "#DEE8A3", "200": "#CCDB6E", "300": "#B9CE39", "400": "#93B727", "500": "#6EA015", "600": "#4E8F24", "700": "#2E7D33", "800": "#27692A", "900": "#1F5421"}, "instance": [{"name": "Verde", "code": "arg-verde", "description": "", "scope": "arg", "related_color": "700", "parent_group": "verde", "color": "#2E7D33", "variant": [{"variant": "light", "color": "#6EA015", "name": "Verde claro", "code": "arg-verde-light"}, {"variant": "half", "color": "#96BE99", "name": "Verde medio tono", "code": "arg-verde-half"}, {"variant": "dark", "color": "#1F5421", "name": "Verde oscuro", "code": "arg-verde-dark"}], "alias": [{"code": "arg-verde", "exclude": false}, {"code": "success", "exclude": true}, {"code": "verde", "exclude": true}]}, {"name": "Verd\u00edn", "code": "arg-verdin", "description": "", "scope": "arg", "related_color": "500", "parent_group": "verde", "color": "#6EA015", "variant": [{"variant": "light", "color": "#B9CE39", "name": "Verd\u00edn claro", "code": "arg-verdin-light"}, {"variant": "dark", "color": "#2E7D33", "name": "Verd\u00edn oscuro", "code": "arg-verdin-dark"}], "alias": [{"code": "arg-verdin", "exclude": false}, {"code": "verdin", "exclude": true}]}, {"name": "Lima", "code": "arg-lima", "description": "", "scope": "arg", "related_color": "300", "parent_group": "verde", "color": "#B9CE39", "variant": [{"variant": "light", "color": "#DEE8A3", "name": "Lima claro", "code": "arg-lima-light"}, {"variant": "dark", "color": "#6EA015", "name": "Lima oscuro", "code": "arg-lima-dark"}], "alias": [{"code": "arg-lima", "exclude": false}, {"code": "limon", "exclude": true}, {"code": "lima", "exclude": true}]}]}, {"scope": "arg", "name": "Amarillo", "group": "amarillo", "color": {"50": "#FFFAE8", "100": "#FFF1C0", "200": "#FFE997", "300": "#FFE06E", "400": "#FFD745", "500": "#FFCE1C", "600": "#D8AE18", "700": "#B18F15", "800": "#8A6F12", "900": "#634F0E"}, "instance": [{"name": "Ma\u00edz", "code": "arg-maiz", "description": "", "scope": "arg", "related_color": "500", "parent_group": "amarillo", "color": "#FFCE1C", "variant": [{"variant": "light", "color": "#FFE997", "name": "Ma\u00edz claro", "code": "arg-maiz-light"}, {"variant": "dark", "color": "#B18F15", "name": "Ma\u00edz oscuro", "code": "arg-maiz-dark"}], "alias": [{"code": "arg-maiz", "exclude": false}, {"code": "maiz", "exclude": true}]}]}, {"scope": "arg", "name": "Fucsia", "group": "fucsia", "color": {"50": "#FCDDE6", "100": "#F8B6C9", "200": "#F48EAB", "300": "#F16798", "400": "#ED3F85", "500": "#EC407A", "600": "#D72C6B", "700": "#C2185B", "800": "#9A144A", "900": "#721038"}, "instance": [{"name": "Ar\u00e1ndano", "code": "arg-arandano", "description": "", "scope": "arg", "related_color": "700", "parent_group": "fucsia", "color": "#C2185B", "variant": [{"variant": "light", "color": "#EC407A", "name": "Ar\u00e1ndano claro", "code": "arg-arandano-light"}, {"variant": "dark", "color": "#721038", "name": "Ar\u00e1ndano oscuro", "code": "arg-arandano-dark"}, {"variant": "half", "color": "#E18CAD", "name": "Ar\u00e1ndano medio tono", "code": "arg-arandano-half"}, {"variant": "lighter", "color": "#FCDDE6", "name": "Ar\u00e1ndano muy claro", "code": "arg-arandano-lighter"}], "alias": [{"code": "arg-arandano", "exclude": false}, {"code": "arandano", "exclude": true}]}, {"name": "Fucsia", "code": "arg-fucsia", "description": "", "scope": "arg", "related_color": "500", "parent_group": "fucsia", "color": "#EC407A", "variant": [{"variant": "light", "color": "#F16798", "name": "Fucsia claro", "code": "arg-fucsia-light"}, {"variant": "dark", "color": "#9A144A", "name": "Fucsia oscuro", "code": "arg-fucsia-dark"}], "alias": [{"code": "arg-fucsia", "exclude": false}, {"code": "cereza", "exclude": true}, {"code": "fucsia", "exclude": true}]}, {"name": "Rosado", "code": "arg-rosado", "description": "", "scope": "arg", "related_color": "200", "parent_group": "fucsia", "color": "#F48EAB", "variant": [{"variant": "light", "color": "#FCDDE6", "name": "Rosado claro", "code": "arg-rosado-light"}, {"variant": "dark", "color": "#ED3F85", "name": "Rosado oscuro", "code": "arg-rosado-dark"}, {"variant": "half", "color": "#FAC7D5", "name": "Rosado medio tono", "code": "arg-rosado-half"}], "alias": [{"code": "arg-rosado", "exclude": false}]}]}, {"scope": "arg", "name": "Violeta", "group": "violeta", "color": {"50": "#E9E6F2", "100": "#D3CEE5", "200": "#BEB5D8", "300": "#A89DCB", "400": "#9284BE", "500": "#8561B2", "700": "#6A1B99", "800": "#4B0F7A", "900": "#2C035C", "600": "#773EA5"}, "instance": [{"name": "Lavanda", "code": "arg-lavanda", "description": "", "scope": "arg", "related_color": "400", "parent_group": "violeta", "color": "#9284BE", "variant": [], "alias": [{"code": "arg-lavanda", "exclude": false}, {"code": "lavanda", "exclude": true}]}, {"name": "Uva", "code": "arg-uva", "description": "", "scope": "arg", "related_color": "700", "parent_group": "violeta", "color": "#6A1B99", "variant": [], "alias": [{"code": "arg-uva", "exclude": false}, {"code": "uva", "exclude": true}]}]}, {"scope": "arg", "name": "Negro", "group": "negro", "color": {"50": "#F0F0F0", "100": "#E9E9E9", "200": "#DDDDDD", "300": "#838383", "150": "#DEE2E6", "75": "#F2F2F2", "500": "#555555", "600": "#444444", "900": "#141414", "25": "#FFFFFF"}, "instance": [{"name": "Negro", "code": "arg-negro", "description": "Elementos b\u00e1sicos", "scope": "arg", "related_color": "900", "parent_group": "negro", "color": "#141414", "variant": [{"variant": "lighter", "color": "#F0F0F0", "name": "Negro muy claro", "code": "arg-negro-lighter"}, {"variant": "light", "color": "#DDDDDD", "name": "Gris", "code": "arg-negro-light"}], "alias": [{"code": "arg-negro", "exclude": false}, {"code": "negro", "exclude": true}, {"code": "black", "exclude": true}, {"code": "gray-base", "exclude": true}]}, {"name": "Default", "code": "arg-default", "description": "", "scope": "arg", "related_color": "300", "parent_group": "negro", "color": "#838383", "variant": [], "alias": [{"code": "arg-default", "exclude": false}, {"code": "default", "exclude": true}]}, {"name": "Gray light", "code": "arg-gray-light", "description": "", "scope": "arg", "related_color": "200", "parent_group": "negro", "color": "#DDDDDD", "variant": [], "alias": [{"code": "arg-gray-light", "exclude": false}, {"code": "gray-light", "exclude": true}]}, {"name": "Gray hover", "code": "arg-gray-hover", "description": "", "scope": "arg", "related_color": "100", "parent_group": "negro", "color": "#E9E9E9", "variant": [], "alias": [{"code": "arg-gray-hover", "exclude": false}, {"code": "gray-hover", "exclude": true}]}, {"name": "Gray hover light", "code": "arg-gray-hover-light", "description": "", "scope": "arg", "related_color": "50", "parent_group": "negro", "color": "#F0F0F0", "variant": [], "alias": [{"code": "arg-gray-hover-light", "exclude": false}, {"code": "gray-hover-light", "exclude": true}]}, {"name": "Gris intermedio", "code": "arg-gris-intermedio", "description": "", "scope": "arg", "related_color": "500", "parent_group": "negro", "color": "#555555", "variant": [], "alias": [{"code": "arg-gris-intermedio", "exclude": false}, {"code": "gray", "exclude": true}, {"code": "grisintermedio", "exclude": true}, {"code": "gris-area", "exclude": true}, {"code": "gris", "exclude": false}]}, {"name": "Gray dark", "code": "arg-gray-dark", "description": "", "scope": "arg", "related_color": "600", "parent_group": "negro", "color": "#444444", "variant": [], "alias": [{"code": "arg-gray-dark", "exclude": false}, {"code": "gray-dark", "exclude": true}]}, {"name": "Gray border", "code": "arg-gray-border", "description": "", "scope": "arg", "related_color": "150", "parent_group": "negro", "color": "#DEE2E6", "variant": [], "alias": [{"code": "arg-gray-border", "exclude": false}, {"code": "gray-border", "exclude": true}]}, {"name": "Gris niebla", "code": "arg-gris-niebla", "description": "", "scope": "arg", "related_color": "75", "parent_group": "negro", "color": "#F2F2F2", "variant": [], "alias": [{"code": "arg-gris-niebla", "exclude": false}, {"code": "gray-lighter", "exclude": true}]}, {"name": "Gray background", "code": "arg-gray-background", "description": "", "scope": "arg", "related_color": "25", "parent_group": "negro", "color": "#FFFFFF", "variant": [], "alias": [{"code": "arg-gray-background", "exclude": false}, {"code": "gray-background", "exclude": true}]}]}, {"scope": "arg", "name": "Turquesa", "group": "turquesa", "color": {"50": "#DCF1F0", "100": "#C0E5E3", "200": "#A4D9D7", "300": "#88CECB", "400": "#6CC3BE", "500": "#50B7B2", "600": "#459E99", "700": "#3B8681", "800": "#306D69", "900": "#255450"}, "instance": [{"name": "Palta", "code": "arg-palta", "description": "", "scope": "arg", "related_color": "500", "parent_group": "turquesa", "color": "#50B7B2", "variant": [{"variant": "half", "color": "#A8DBD9", "name": "Palta medio tono", "code": "arg-palta-half"}, {"variant": "lighter", "color": "#C0E5E3", "name": "Palta muy claro", "code": "arg-palta-lighter"}], "alias": [{"code": "arg-palta", "exclude": false}, {"code": "palta", "exclude": true}]}, {"name": "Verde azulado", "code": "arg-verde-azulado", "description": "", "scope": "arg", "related_color": "700", "parent_group": "turquesa", "color": "#3B8681", "variant": [], "alias": [{"code": "arg-verde-azulado", "exclude": false}, {"code": "verde-azulado", "exclude": true}, {"code": "verdeazulado", "exclude": true}]}, {"name": "Eucalipto", "code": "arg-eucalipto", "description": "", "scope": "arg", "related_color": "800", "parent_group": "turquesa", "color": "#306D69", "variant": [{"variant": "lighter", "color": "#A4D9D7", "name": "Eucalipto muy claro", "code": "arg-eucalipto-lighter"}, {"variant": "dark", "color": "#255450", "name": "Eucalipto oscuro", "code": "arg-eucalipto-dark"}], "alias": [{"code": "arg-eucalipto", "exclude": false}]}]}, {"scope": "arg", "name": "Azul", "group": "azul", "color": {"50": "#CDEBFA", "100": "#9AD7F5", "200": "#68C3EF", "300": "#35AFEA", "400": "#039BE5", "500": "#0581C6", "600": "#0767A7", "700": "#084E87", "800": "#0A3468", "900": "#0C1A49"}, "instance": [{"name": "Cielo", "code": "arg-cielo", "description": "", "scope": "arg", "related_color": "400", "parent_group": "azul", "color": "#039BE5", "variant": [], "alias": [{"code": "arg-cielo", "exclude": false}, {"code": "cielo", "exclude": true}, {"code": "celeste", "exclude": true}]}, {"name": "Escarapela", "code": "arg-escarapela", "description": "", "scope": "arg", "related_color": "200", "parent_group": "azul", "color": "#68C3EF", "variant": [], "alias": [{"code": "arg-escarapela", "exclude": false}, {"code": "escarapela", "exclude": true}, {"code": "celesteargentina", "exclude": true}, {"code": "celeste-argentina", "exclude": false}]}, {"name": "Enlace", "code": "arg-enlace", "description": "Enlace", "scope": "arg", "related_color": "600", "parent_group": "azul", "color": "#0767A7", "variant": [{"variant": "dark", "color": "#084E87", "name": "Enlace oscuro", "code": "arg-enlace-dark"}, {"variant": "light", "color": "#0581C6", "name": "Enlace claro", "code": "arg-enlace-light"}], "alias": [{"code": "arg-enlace", "exclude": false}]}]}, {"scope": "arg", "name": "Rojo", "group": "rojo", "color": {"50": "#FCDDDC", "100": "#F9BBB9", "200": "#F69896", "300": "#F27673", "400": "#EF5350", "500": "#E14543", "600": "#D43635", "700": "#C62828", "800": "#A12222", "900": "#7C1C1C"}, "instance": [{"name": "Rojo", "code": "arg-rojo", "description": "Atenci\u00f3n o peligro", "scope": "arg", "related_color": "700", "parent_group": "rojo", "color": "#C62828", "variant": [{"variant": "light", "color": "#E14543", "name": "Rojo claro", "code": "arg-rojo-light"}, {"variant": "dark", "color": "#7C1C1C", "name": "Rojo oscuro", "code": "arg-rojo-dark"}, {"variant": "lighter", "color": "#FCDDDC", "name": "Rojo muy claro", "code": "arg-rojo-lighter"}], "alias": [{"code": "arg-rojo", "exclude": false}, {"code": "danger", "exclude": true}, {"code": "rojo", "exclude": true}]}, {"name": "Tomate", "code": "arg-tomate", "description": "", "scope": "arg", "related_color": "400", "parent_group": "rojo", "color": "#EF5350", "variant": [{"variant": "light", "color": "#F69896", "name": "Tomate claro", "code": "arg-tomate-light"}, {"variant": "dark", "color": "#C62828", "name": "Tomate oscuro", "code": "arg-tomate-dark"}], "alias": [{"code": "arg-tomate", "exclude": false}, {"code": "complementary", "exclude": true}, {"code": "tomate", "exclude": true}]}]}, {"scope": "arg", "name": "Naranja", "group": "naranja", "color": {"50": "#FDE7BF", "100": "#FBCE80", "200": "#F9B640", "300": "#F79D00", "400": "#F38500", "500": "#EF6C00", "600": "#CE5701", "700": "#AE4203", "800": "#8D2D04", "900": "#6C1805"}, "instance": [{"name": "Marr\u00f3n claro", "code": "arg-marron-claro", "description": "", "scope": "arg", "related_color": "800", "parent_group": "naranja", "color": "#8D2D04", "variant": [{"variant": "light", "color": "#CE5701", "name": "Marr\u00f3n claro claro", "code": "arg-marron-claro-light"}, {"variant": "dark", "color": "#6C1805", "name": "Marr\u00f3n claro oscuro", "code": "arg-marron-claro-dark"}], "alias": [{"code": "arg-marron-claro", "exclude": false}, {"code": "marron-claro", "exclude": true}]}, {"name": "Naranja", "code": "arg-naranja", "description": "", "scope": "arg", "related_color": "500", "parent_group": "naranja", "color": "#EF6C00", "variant": [{"variant": "light", "color": "#EF6C00", "name": "Naranja claro", "code": "arg-naranja-light"}, {"variant": "dark", "color": "#6C1805", "name": "Naranja oscuro", "code": "arg-naranja-dark"}], "alias": [{"code": "arg-naranja", "exclude": false}, {"code": "naranjaoscuro", "exclude": true}, {"code": "naranja", "exclude": true}]}, {"name": "Mandarina", "code": "arg-mandarina", "description": "", "scope": "arg", "related_color": "300", "parent_group": "naranja", "color": "#F79D00", "variant": [{"variant": "light", "color": "#FBCE80", "name": "Mandarina claro", "code": "arg-mandarina-light"}, {"variant": "dark", "color": "#CE5701", "name": "Mandarina oscuro", "code": "arg-mandarina-dark"}], "alias": [{"code": "arg-mandarina", "exclude": false}, {"code": "mandarina", "exclude": true}]}]}, {"scope": "arg", "name": "Blanco", "group": "blanco", "color": {"150": "#FFFFFF"}, "instance": [{"name": "Blanco", "code": "arg-blanco", "description": "", "scope": "arg", "related_color": "150", "parent_group": "blanco", "color": "#FFFFFF", "variant": [], "alias": [{"code": "arg-blanco", "exclude": false}, {"code": "white", "exclude": true}, {"code": "arg-white", "exclude": false}]}]}, {"scope": "arg", "name": "Ocre", "group": "ocre", "color": {"50": "#FAF8ED", "100": "#F4F0DB", "200": "#EAE1B7", "300": "#E9CE8C", "400": "#E7BA61", "500": "#C98941", "600": "#AA5821", "700": "#8C2701", "800": "#6F2001", "900": "#511901"}, "instance": [{"name": "Arena", "code": "arg-arena", "description": "", "scope": "arg", "related_color": "200", "parent_group": "ocre", "color": "#EAE1B7", "variant": [{"variant": "light", "color": "#FAF8ED", "name": "Arena claro", "code": "arg-arena-light"}, {"variant": "dark", "color": "#E7BA61", "name": "Arena oscuro", "code": "arg-arena-dark"}, {"variant": "half", "color": "#F5F0DB", "name": "Arena medio tono", "code": "arg-arena-half"}], "alias": [{"code": "arg-arena", "exclude": false}]}, {"name": "Amarillo", "code": "arg-amarillo", "description": "Foco o alerta", "scope": "arg", "related_color": "400", "parent_group": "ocre", "color": "#E7BA61", "variant": [{"variant": "light", "color": "#EAE1B7", "name": "Amarillo claro", "code": "arg-amarillo-light"}, {"variant": "dark", "color": "#AA5821", "name": "Amarillo oscuro", "code": "arg-amarillo-dark"}, {"variant": "half", "color": "#F3DDB0", "name": "Amarillo medio tono", "code": "arg-amarillo-half"}], "alias": [{"code": "arg-amarillo", "exclude": false}, {"code": "warning", "exclude": true}, {"code": "amarillo", "exclude": true}, {"code": "amarillo-intenso", "exclude": true}]}, {"name": "Marr\u00f3n oscuro", "code": "arg-marron-oscuro", "description": "", "scope": "arg", "related_color": "900", "parent_group": "ocre", "color": "#511901", "variant": [], "alias": [{"code": "arg-marron-oscuro", "exclude": false}]}]}, {"scope": "arg", "name": "Morado", "group": "morado", "color": {"150": "#3A3796"}, "instance": [{"name": "Azul morado", "code": "arg-azul-morado", "description": "", "scope": "arg", "related_color": "150", "parent_group": "morado", "color": "#3A3796", "variant": [], "alias": [{"code": "arg-azul-morado", "exclude": false}]}]}]}, {"name": "MiArgentina", "space": "miarg", "hidden_space": false, "description": "", "data": [{"scope": "miarg", "name": "Azul MiArgentina", "group": "azul", "color": {"150": "#3526C3"}, "instance": [{"name": "Azul MiArgentina", "code": "miarg-azul", "description": "Azul principal para aplicaciones MiArgentina", "scope": "miarg", "related_color": "150", "parent_group": "azul", "color": "#3526C3", "variant": [{"variant": "half", "color": "#6B66CC", "name": "Azul MiArgentina medio tono", "code": "miarg-azul-half"}], "alias": [{"code": "miarg-azul", "exclude": false}]}]}, {"scope": "miarg", "name": "Celeste MiArgentina", "group": "celeste", "color": {"150": "#2CB9EE"}, "instance": [{"name": "Celeste MiArgentina", "code": "miarg-celeste", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "celeste", "color": "#2CB9EE", "variant": [], "alias": [{"code": "miarg-celeste", "exclude": false}]}]}, {"scope": "miarg", "name": "Amarillo claro MiArgentina", "group": "amarillo-claro", "color": {"150": "#ffe9b8"}, "instance": [{"name": "Amarillo claro MiArgentina", "code": "miarg-amarillo-claro", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "amarillo-claro", "color": "#ffe9b8", "variant": [], "alias": [{"code": "miarg-amarillo-claro", "exclude": false}]}]}, {"scope": "miarg", "name": "Rosa claro MiArgentina", "group": "rosa-claro", "color": {"150": "#EECCCF"}, "instance": [{"name": "Rosa claro MiArgentina", "code": "miarg-rosa-claro", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "rosa-claro", "color": "#EECCCF", "variant": [], "alias": [{"code": "miarg-rosa-claro", "exclude": false}]}]}, {"scope": "miarg", "name": "Verde claro MiArgentina", "group": "verde-claro", "color": {"150": "#CFEEDC"}, "instance": [{"name": "Verde claro MiArgentina", "code": "miarg-verde-claro", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "verde-claro", "color": "#CFEEDC", "variant": [], "alias": [{"code": "miarg-verde-claro", "exclude": false}]}]}, {"scope": "miarg", "name": "Azul oscuro MiArgentina", "group": "azul-oscuro", "color": {"150": "#222C50"}, "instance": [{"name": "Azul oscuro MiArgentina", "code": "miarg-oscuro", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "azul-oscuro", "color": "#222C50", "variant": [], "alias": [{"code": "miarg-oscuro", "exclude": false}]}]}, {"scope": "miarg", "name": "Gris MiArgentina", "group": "gris", "color": {"150": "#7E848E"}, "instance": [{"name": "Gris MiArgentina", "code": "miarg-gris", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "gris", "color": "#7E848E", "variant": [], "alias": [{"code": "miarg-gris", "exclude": false}]}]}, {"scope": "miarg", "name": "Celeste claro MiArgentina", "group": "celeste-claro", "color": {"150": "#BEE6F6"}, "instance": [{"name": "Celeste claro MiArgentina", "code": "miarg-celeste-claro", "description": "", "scope": "miarg", "related_color": "150", "parent_group": "celeste-claro", "color": "#BEE6F6", "variant": [], "alias": [{"code": "miarg-celeste-claro", "exclude": false}]}]}]}, {"name": "Colores de la bandera de la Rep\u00fablica Argentina", "space": "bandera", "hidden_space": false, "description": "De acuerdo al <a href=\"https://www.argentina.gob.ar/normativa/nacional/decreto-1650-2010-175328\">Decreto 1650/2010</a>, que establece las medidas, caracter\u00edsticas de la tela, colores y accesorios de la Bandera Argentina.", "data": [{"scope": "bandera", "name": "Amarillo", "group": "amarillo", "color": {"150": "#FCBF49"}, "instance": [{"name": "Amarillo Bandera", "code": "bandera-amarillo", "description": "Color amarillo oficial para la bandera Argentina", "scope": "bandera", "related_color": "150", "parent_group": "amarillo", "color": "#FCBF49", "variant": [], "alias": [{"code": "bandera-amarillo", "exclude": false}]}]}, {"scope": "bandera", "name": "Celeste", "group": "celeste", "color": {"150": "#75AADB"}, "instance": [{"name": "Celeste Bandera", "code": "bandera-celeste", "description": "Color celeste oficial para la bandera Argentina", "scope": "bandera", "related_color": "150", "parent_group": "celeste", "color": "#75AADB", "variant": [], "alias": [{"code": "bandera-celeste", "exclude": false}]}]}, {"scope": "bandera", "name": "Marr\u00f3n", "group": "marron", "color": {"150": "#843511"}, "instance": [{"name": "Marr\u00f3n Bandera", "code": "bandera-marron", "description": "Color marr\u00f3n oficial para la bandera Argentina", "scope": "bandera", "related_color": "150", "parent_group": "marron", "color": "#843511", "variant": [], "alias": [{"code": "bandera-marron", "exclude": false}]}]}]}, {"name": "Gendarmer\u00eda Nacional", "space": "gna", "hidden_space": false, "description": "", "data": [{"scope": "gna", "name": "Verde jade", "group": "verde-jade", "color": {"150": "#006666"}, "instance": [{"name": "Verde oscuro Gendarmer\u00eda", "code": "gna-verde-jade", "description": "", "scope": "gna", "related_color": "150", "parent_group": "verde-jade", "color": "#006666", "variant": [], "alias": [{"code": "gna-verde-jade", "exclude": false}, {"code": "verde-jade", "exclude": true}, {"code": "verdejade", "exclude": true}]}]}, {"scope": "gna", "name": "Verde aloe", "group": "verde-aloe", "color": {"150": "#4FBB73"}, "instance": [{"name": "Verde claro Gendarmer\u00eda", "code": "gna-verde-aloe", "description": "", "scope": "gna", "related_color": "150", "parent_group": "verde-aloe", "color": "#4FBB73", "variant": [], "alias": [{"code": "gna-verde-aloe", "exclude": false}, {"code": "verde-aloe", "exclude": true}]}]}, {"scope": "gna", "name": "Verde cemento", "group": "verde-cemento", "color": {"150": "#B4BEBA"}, "instance": [{"name": "Gris Gendarmer\u00eda", "code": "gna-verde-cemento", "description": "", "scope": "gna", "related_color": "150", "parent_group": "verde-cemento", "color": "#B4BEBA", "variant": [], "alias": [{"code": "gna-verde-cemento", "exclude": false}, {"code": "verde-cemento", "exclude": true}, {"code": "verdecemento", "exclude": true}]}]}]}];
if (typeof exports !== "undefined") {
module.exports = {
ponchoColorDefinitionsList,
};
}
/**
* Configuración de colores www.argentina.gob.ar
*
* MIT License
*
* Copyright (c) 2024 Argentina.gob.ar
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rightsto use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
class Color { //jslint-ignore-line
constructor(colorDefinitions){
if(!this.isValidColorDefinitionList(colorDefinitions)){
console.error("No se pasado por argumento el listado de color");
return;
}
this.definitions = colorDefinitions;
}
/**
* Remueve acentos y caracteres especiales.
*
* @param {string} data Cadena de texto a limpiar.
* @example
* // returns Accion Murcielago arbol nino
* removeAccents("Acción Murciélago árbol niño")
* @returns {string} Cadena de texto sin acentos.
*/
replaceSpecialChars = (data) => {
if(typeof data !== "string" || data.trim().length === 0){
console.warn("replaceSpecialChars: Debe pasar una cadena de texto.");
return "";
}
const search = "àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕ"
+ "ŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż";
const replace = "aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnooooooooop"
+ "rrsssssttuuuuuuuuuwxyyzzz";
const a = search + search.toUpperCase();
const b = replace + replace.toUpperCase();
const p = new RegExp(a.split("").join("|"), "g");
return data.toString().replace(p, c => b.charAt(a.indexOf(c)));
};
/**
*
* @param {array} definitions
* @returns {boolean}
*/
isValidColorDefinitionList(definitions){
return (
Array.isArray(definitions) &&
definitions.length > 0 &&
definitions[0].hasOwnProperty('space')
);
}
/**
* Listado de colores
* @returns {object}
*/
get list(){
let result = this.definitions
.flatMap( m => m.data.flatMap(i => i.instance.map(x => x)) );
return result || [];
}
/**
* Buscador de colores.
*
* @param {string} value Color a buscar.
* @returns {object}
*/
findColor = value => {
if(typeof value !== "string" || value.trim().length === 0){
console.error(
"findColor:",
"El valor a buscar debe ser una cadena de texto.");
return [];
}
let searchTerm = value.toLowerCase();
let searchList = [
...this.variables.map(([code, color]) => [code, color]),
...this.colors];
let searchResults = searchList.filter( function(item){
if( item[0].includes( searchTerm ) ){
return item;
}
}).map(([code, color]) => [code, color]);
return searchResults;
}
/**
*
* @param {*} colorDefinitions
* @returns
*/
get variables(){
let collect = [];
this.list.flatMap(m => {
const {alias, color, description, code, variant=[], name} = m;
alias.forEach(function(a){
collect.push( [a.code, color, description, code, name] );
variant.forEach(function(value){
if(!a.exclude){
collect.push( [`${a.code}-${value.variant}`, value.color, "", code, value.name] );
}
});
})
});
return collect.sort();
};
get spaces(){
return this.definitions.map(m => m.space).sort();
}
groupsBySpace = space => {
if (typeof space !== 'string') {
throw new TypeError('groupsBySpace: El argumetno debe ser un string');
}
const spaceToLower = space.toLocaleLowerCase();
const data = this.definitions
.find(f => f.space == spaceToLower)?.data?.map(m => m.group);
const result = data ? data.sort() : [];
return result;
}
/**
* Colores poncho a hexa
*
* @see https://argob.github.io/poncho/identidad/colores/
* @param {string} color Nombre de color Poncho.
* @example
* // returns "#2897d4"
* getColor("celeste")
* @returns {string} Color en formato hexadecimal.
*/
ponchoColor = (color, mode = "hex") => {
const defaultColor = "#999999";
if (typeof color !== "string" || color.trim() === "") {
console.warn(`El valor pasado es inválido.`);
return defaultColor;
}
const normalizedColor = this.replaceSpecialChars(color).toLowerCase();
const colorDefinition = this.variables?.find(v => v[0] === normalizedColor) ||
this.colors?.find(c => c[0] === normalizedColor);
const hexColor = !colorDefinition ? defaultColor : colorDefinition[1];
const lowerCaseMode = mode.trim().toLowerCase();
switch (lowerCaseMode) {
case "rgb":
return this.hexToRgb(hexColor);
case "hsl":
return this.rgbToHsl(...this.hexToRgb(hexColor));
default:
return hexColor;
}
};
/**
* Listado de colores
* @returns
*/
get colors(){
const colorList = this.definitions
.map(space => space.data)
.flatMap(function(spaceGroups){
return spaceGroups.flatMap(function(groupColor){
const {color, group, scope} = groupColor;
return Object.entries(color).map(function(colorValues){
const [label, value] = colorValues;
return [`${scope}-${group}-${label}`, value]
});
});
});
return colorList || [];
}
/**
* Definición por color
*
* @see colorDefinitionsList
* @param {string} color Nombre del cólor a buscar.
* @returns {string|boolean}
*/
colorDefinitions = (ponchoColor) => {
if(typeof ponchoColor == undefined || !ponchoColor.trim()){
return;
}
const lowerCasePonchoColor = this.replaceSpecialChars(ponchoColor).toLowerCase();
let result;
let gSpace = "";
// Iteración por espacios (space)
for(let i = 0; i <= this.definitions.length - 1; i += 1){
const {data, space} = this.definitions[i];
gSpace = space;
// Itero por cada grupo de color dentro de data
for(let y = 0; y <= data.length - 1; y += 1) {
const {instance} = data[y];
// Itero sobre las instancias de color
for(let x = 0; x <= instance.length - 1; x += 1) {
const {alias, variant} = instance[x];
if ( alias.some(s => s.code == lowerCasePonchoColor) ) {
result = instance[x];
break;
}
else if( variant.some(s => s.code == lowerCasePonchoColor) ){
result = instance[x];
break;
}
}
if (result) {
break;
}
}
}
return result;
};
/**
* Grupo de color
* @param {string} name Nombre del grupo
* @returns
*/
colorGroup = (themeSpace, spaceGroup) => {
if(typeof spaceGroup == undefined || !spaceGroup?.trim()){
return;
}
let result;
for(let i = 0; i <= this.definitions.length -1; i += 1){
const {data, space} = this.definitions[i];
result = data.find(obj => (obj.group==spaceGroup && space==themeSpace));
if (result) break;
}
return result;
};
/**
* Espacio de color
* @param {string} name Nombre del espacio
* @returns
*/
colorSpace = (space) => {
if(typeof space == undefined || !space?.trim()){
return;
}
return this.definitions.find(obj => obj.space==space);
};
/**
* Retorna el código de color poncho por hexadecimal.
* @param {string} value Valor hexadecimal a buscar
* @see colorDefinitionsList
* @example
* // {
* // "description": "",
* // "name": "Mandarina",
* // "color": "#f79525",
* // "code": "mandarina",
* // "alias": [
* // "mandarina"
* // ]
* // }
* findByHex("#f79525");
* @returns {object} Objecto con la defición del color
*/
colorByHex = (hexColor) => {
if(!this.isValidHex(hexColor)){
return;
}
var result = [];
const targetColor = this.cleanHex(hexColor);
for(let i = 0; i <= this.definitions.length -1; i += 1){
let {data} = this.definitions[i];
for(let entry of data){
const {instance} = entry;
for(let item of instance){
const {color} = item;
if( this.cleanHex(color) == targetColor ){
result.push(item);
}
}
}
}
return result;
};
/**
* Hace un refactor del número hexa
*
* @param {string} value Valor hexadecimal
* @returns {string}
*/
cleanHex = value => {
let hex = value
.toString()
.replace("#", "")
.trim()
.toUpperCase();
if (hex.length < 3 || hex.length > 6){
return false;
} else if(hex.length == 3){
hex = Array.from(hex).map(a => a.repeat(2)).join("");
}
return `#${hex}`;
};
/**
* Valida un color hexadecimal
* @param {string} hexColor Color hexadecimal
* @returns {boolean}
*/
isValidHex = (hexColor) => {
if (hexColor === null || hexColor === undefined) {
return false;
}
if (typeof hexColor !== 'string') {
return false;
}
const regx = new RegExp(/^#?([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$/);
if (!regx.test(hexColor)) {
console.warn("Invalid hex color format:", hexColor);
return false;
}
return true;
};
/**
* Convierte un color RGB a HSL.
*
* @param {number} r Color rojo (Red).
* @param {number} g Color verde (Green).
* @param {number} b Color blue (Blue).
* @returns {object} Array con el siguiente formato: [11, '1.1%', '1.1%']
*/
rgbToHsl = (r, g, b) => {
// 1. Normalizar los valores RGB a un rango de 0 a 1
const rNorm = r / 255;
const gNorm = g / 255;
const bNorm = b / 255;
// 2. Encontrar el valor máximo (Cmax) y el valor mínimo (Cmin)
const cmax = Math.max(rNorm, gNorm, bNorm);
const cmin = Math.min(rNorm, gNorm, bNorm);
const delta = cmax - cmin;
// 3. Calcular la luminancia (L)
const l = ((cmax + cmin) / 2) * 100;
// 4. Calcular la saturación (S)
let s = 0;
if (delta !== 0) {
s = (delta / (1 - Math.abs(2 * l / 100 - 1))) * 100;
}
// 5. Calcular el tono (H)
let h = 0;
if (delta !== 0) {
switch (cmax) {
case rNorm:
h = 60 * (((gNorm - bNorm) / delta) % 6);
break;
case gNorm:
h = 60 * ((bNorm - rNorm) / delta + 2);
break;
case bNorm:
h = 60 * ((rNorm - gNorm) / delta + 4);
break;
}
}
// Asegurarse de que el tono esté en el rango de 0 a 360
if (h < 0) {
h += 360;
}
return [Math.round(h),`${s.toFixed(1)}%`, `${l.toFixed(1)}%`];
};
/**
* Converson de HEX a RGB.
* @param {string} hexColor Color hexadecimal
* @returns {object}
*/
hexToRgb = hexColor => {
if (!this.isValidHex(hexColor)) {
return;
}
const hex = this.cleanHex(hexColor);
const cleanedHex = (hex.startsWith("#") ? hex.slice(1) : hex);
const red = parseInt(cleanedHex.slice(0, 2), 16);
const green = parseInt(cleanedHex.slice(2, 4), 16);
const blue = parseInt(cleanedHex.slice(4, 6), 16);
return [red, green, blue];
}
/**
* Imprime el nombre de un color
*
* @param {array} args Array list [arg, arg, arg]
* @param {array} options object Objeto con opciones para los switch.
* @example
* // maíz - azul a verde
* colorName(
* ["arg-maiz", "arg-azul", "arg-verde"],
* {
* switchLastConnector: {'i': "a", "o": "a"},
* defaultLastConnector: "a",
* listConnector: " - "
* }
* )
* @returns {string}
*/
colorName = (args, options={}) => {
if(typeof args == "undefined"){
return
}
if(args.length < 1){
console.error("Error.", "Debe pasar al menos un argumento.");
return;
}
if(typeof args == "string"){
args = [args];
}
if(!args.every(e => typeof e === "string")){
console.error("Error.", "Solo se admiten cadenas de texto");
return;
}
// Options
const defaultConnectorSwitch = {"i": "e", "o": "u"};
const defaultConnector = "y";
const defaultListConnector = ", ";
const optionConnectorSwitch = (typeof options == "object" &&
options.hasOwnProperty('switchLastConnector') ?
options.switchLastConnector : defaultConnectorSwitch);
const optionDefaultConnector = (typeof options == "object" &&
options.hasOwnProperty('defaultLastConnector') ?
options.defaultLastConnector : defaultConnector);
const optionDefaultListConnector = (typeof options == "object" &&
options.hasOwnProperty('listConnector') ?
options.listConnector : defaultListConnector);
const getColorName = (arg) => {
const result = this.variables.find(f => (f[0] == arg));
return typeof result != "undefined" ? result[4] : arg;
};
if (args.length === 1) {
return getColorName(args.join(""));
}
const totalArgs = args.length;
const lastArg = args.pop(totalArgs - 1);
const firstCharName = Array.from( getColorName(lastArg) )[0].toLowerCase();
const connector = (optionConnectorSwitch[firstCharName] ||
optionDefaultConnector);
const result = `${args.map(m => getColorName(m)).join(optionDefaultListConnector)} ${connector}`
+ ` ${getColorName(lastArg)}`;
return result.toLowerCase();
};
}
if (typeof exports !== "undefined") {
module.exports = {Color};
}
/**
* Configuración de colores www.argentina.gob.ar
*
* MIT License
*
* Copyright (c) 2024 Argentina.gob.ar
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rightsto use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/**
* Códigos de color válidos para utilizar en ilustraciones.
*/
const illustrationColors = [
"arg-azul",
"arg-arena",
"arg-amarillo",
"arg-palta",
"arg-verde",
"arg-arandano",
"arg-rosado",
"miarg-azul",
];
const headersBackground = {
solid: [
"bg-arg-azul",
"bg-arg-rojo",
"bg-arg-info",
"bg-arg-eucalipto",
"bg-arg-palta",
"bg-arg-arandano",
"bg-arg-negro-light"
],
mixed: [
"bg-mix-azul-info",
"bg-mix-info-azul",
"bg-mix-palta-azul",
"bg-mix-azul-palta"
]
};
/**
* Variaciones de color
*/
const colorVariations = {
high: [
'arg-azul', 'arg-eucalipto', 'arg-verde', 'arg-naranja', 'arg-rojo',
'arg-arandano', 'arg-uva', 'arg-cielo', 'arg-palta', 'arg-verdin',
'arg-amarillo', 'arg-tomate', 'arg-fucsia', 'arg-lavanda', 'arg-negro'
],
medium: [
"arg-info","arg-verde-azulado","arg-verdin","arg-amarillo","arg-tomate",
"arg-fucsia","arg-lavanda","arg-palta","arg-lima","arg-maiz",
"arg-gris-intermedio"
]
};
// @legacy Creo ponchoColor y color como una variable global.
var ponchoColor;
var color;
if (typeof Color !== 'undefined') {
color = new Color(ponchoColorDefinitionsList);
ponchoColor = color.ponchoColor;
}
if (typeof exports !== "undefined") {
module.exports = {
colorVariations, illustrationColors, headersBackground, color
};
}
/**
* Fetch data con manejo de CORS
*
* @param {string} uri - URL del recurso
* @param {Object} options - Opciones de configuración
* @param {boolean} options.useCorsProxy - Usar proxy CORS en caso de error
* (default: true)
* @param {string} options.corsProxyUrl - URL del proxy CORS personalizado
* @param {boolean} options.credentials - Incluir credenciales ('include',
* 'same-origin', 'omit')
*
* @example
* ```js
* (async() => {
* // Uso básico con fallback a proxy CORS
* const data = await fetch_json("https://arg.gob.ar");
*
* // Sin proxy CORS
* const data2 = await fetch_json(
* "https://arg.gob.ar", { useCorsProxy: false }
* );
*
* // Con credenciales
* const data3 = await fetch_json(
* "https://arg.gob.ar", { credentials: "include" };
* );
* ```
*/
async function fetch_json(uri, options={}) {
const {
useCorsProxy = true,
corsProxyUrl = "",
credentials = "same-origin",
...fetchOptions
} = options;
let defaultOptions = {
method: "GET",
headers: {
"Accept": "application/json",
"Content-Type": "application/json"
},
credentials: credentials,
redirect: "follow"
};
let opts = Object.assign({}, defaultOptions, fetchOptions);
try {
const response = await fetch(uri, opts);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
} catch (error) {
// Si falla y está habilitado el proxy CORS, intentar con proxy
if (useCorsProxy && (
error.message.includes('CORS') ||
error.message.includes('Network') ||
error.name === 'TypeError'
)) {
try {
const proxyUri = `${corsProxyUrl}${encodeURIComponent(uri)}`;
console.warn(
`CORS error detectado. Intentando con proxy: ${proxyUri}`
);
// Remover credenciales para el proxy
const proxyOpts = { ...opts, credentials: "omit" };
const proxyResponse = await fetch(proxyUri, proxyOpts);
if (!proxyResponse.ok) {
throw new Error(
`HTTP error! status: ${proxyResponse.status}`
);
}
return await proxyResponse.json();
} catch (proxyError) {
console.error("Error con proxy CORS:", proxyError);
throw new Error(
`Fetch fallido directo y con proxy. `
+ `Error original: ${error.message}`
);
}
}
// Re-lanzar el error original si no se usa proxy
throw error;
}
};
/**
* Remueve acentos y caracteres especiales.
*
* @param {string} data Cadena de texto a limpiar.
* @example
* // returns Accion Murcielago arbol nino
* removeAccents("Acción Murciélago árbol niño")
* @returns {string} Cadena de texto sin acentos.
*/
const charMap = new Map([
['à', 'a'], ['á', 'a'], ['â', 'a'], ['ä', 'a'], ['æ', 'a'], ['ã', 'a'],
['å', 'a'], ['ā', 'a'], ['ă', 'a'], ['ą', 'a'],
['ç', 'c'], ['ć', 'c'], ['č', 'c'],
['đ', 'd'], ['ď', 'd'],
['è', 'e'], ['é', 'e'], ['ê', 'e'], ['ë', 'e'], ['ē', 'e'], ['ė', 'e'],
['ę', 'e'], ['ě', 'e'],
['ğ', 'g'], ['ǵ', 'g'],
['ḧ', 'h'],
['î', 'i'], ['ï', 'i'], ['í', 'i'], ['ī', 'i'], ['į', 'i'], ['ì', 'i'],
['ı', 'i'], ['İ', 'I'],
['ł', 'l'],
['ḿ', 'm'],
['ñ', 'n'], ['ń', 'n'], ['ǹ', 'n'], ['ň', 'n'],
['ô', 'o'], ['ö', 'o'], ['ò', 'o'], ['ó', 'o'], ['œ', 'o'], ['ø', 'o'],
['ō', 'o'], ['õ', 'o'], ['ő', 'o'],
['ṕ', 'p'],
['ŕ', 'r'], ['ř', 'r'],
['ß', 's'], ['ś', 's'], ['š', 's'], ['ş', 's'], ['ș', 's'],
['ť', 't'], ['ț', 't'],
['û', 'u'], ['ü', 'u'], ['ù', 'u'], ['ú', 'u'], ['ū', 'u'], ['ǘ', 'u'],
['ů', 'u'], ['ű', 'u'], ['ų', 'u'],
['ẃ', 'w'],
['ẍ', 'x'],
['ÿ', 'y'], ['ý', 'y'],
['ž', 'z'], ['ź', 'z'], ['ż', 'z'],
['À', 'A'], ['Á', 'A'], ['Â', 'A'], ['Ä', 'A'], ['Æ', 'A'], ['Ã', 'A'],
['Å', 'A'], ['Ā', 'A'], ['Ă', 'A'], ['Ą', 'A'],
['Ç', 'C'], ['Ć', 'C'], ['Č', 'C'],
['Đ', 'D'], ['Ď', 'D'],
['È', 'E'], ['É', 'E'], ['Ê', 'E'], ['Ë', 'E'], ['Ē', 'E'], ['Ė', 'E'],
['Ę', 'E'], ['Ě', 'E'],
['Ğ', 'G'], ['Ǵ', 'G'],
['Ḧ', 'H'],
['Î', 'I'], ['Ï', 'I'], ['Í', 'I'], ['Ī', 'I'], ['Į', 'I'], ['Ì', 'I'],
['Ł', 'L'],
['Ḿ', 'M'],
['Ñ', 'N'], ['Ń', 'N'], ['Ǹ', 'N'], ['Ň', 'N'],
['Ô', 'O'], ['Ö', 'O'], ['Ò', 'O'], ['Ó', 'O'], ['Œ', 'O'], ['Ø', 'O'],
['Ō', 'O'], ['Õ', 'O'], ['Ő', 'O'],
['Ṕ', 'P'],
['Ŕ', 'R'], ['Ř', 'R'],
['Ś', 'S'], ['Š', 'S'], ['Ş', 'S'], ['Ș', 'S'],
['Ť', 'T'], ['Ț', 'T'],
['Û', 'U'], ['Ü', 'U'], ['Ù', 'U'], ['Ú', 'U'], ['Ū', 'U'], ['Ǘ', 'U'],
['Ů', 'U'], ['Ű', 'U'], ['Ų', 'U'],
['Ẃ', 'W'],
['Ẍ', 'X'],
['Ÿ', 'Y'], ['Ý', 'Y'],
['Ž', 'Z'], ['Ź', 'Z'], ['Ż', 'Z']
]);
const replaceSpecialChars = (data) => {
if (typeof data !== "string" || data.trim().length === 0) {
console.warn("