Dashboard - Edit, Menu Item - Edit: Integrate icon search.

This commit is contained in:
fusionate 2024-08-12 16:25:21 -06:00
parent 37af618998
commit 0e3a861cf5
No known key found for this signature in database
4 changed files with 269 additions and 235 deletions

View File

@ -560,62 +560,44 @@
echo " <td class='vtable' style='vertical-align: bottom;'>";
if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php')) {
include $_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php';
}
if (!empty($font_awesome_icons) && is_array($font_awesome_icons)) {
//initialize variables
$previous_icon_classes = $previous_icon_name = $previous_icon_style = '';
//rebuild array, parse and format label
foreach ($font_awesome_icons as $i => $icon_classes) {
//split classes
$icon_class = explode(' ', $icon_classes);
$icon_style = $icon_class[0];
$icon_name = $icon_class[1];
//determine label
$icon_label = str_replace('fa-', '', $icon_name);
$icon_label = str_replace('-', ' ', $icon_label);
$icon_label = ucwords($icon_label);
//update previous
if (
!empty($previous_icon_name) &&
!empty($previous_icon_style) &&
$icon_name == $previous_icon_name &&
$icon_style != $previous_icon_style
) {
$icons[$previous_icon_classes] = $icon_label.' - '.ucwords(str_replace('fa-', '', $previous_icon_style));
$append_style = true;
}
else {
$append_style = false;
}
//set current
$icons[$icon_classes] = $icon_label.($append_style ? ' - '.ucwords(str_replace('fa-', '', $icon_style)) : null);
//set previous values
$previous_icon_name = $icon_name;
$previous_icon_style = $icon_style;
$previous_icon_classes = $icon_classes;
}
unset($icon_classes, $icon_class, $icon_style, $icon_name, $previous_icon_classes, $previous_icon_style, $previous_icon_name, $icon_label, $previous_icon_name, $previous_icon_style, $previous_icon_classes);
echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <select class='formfld' name='dashboard_icon' id='dashboard_icon' onchange=\"$('#icons').slideUp(); $('#grid_icon').fadeIn();\">\n";
echo " <select class='formfld' name='dashboard_icon' id='selected_icon' onchange=\"$('#icons').slideUp(200); $('#icon_search').fadeOut(200, function() { $('#grid_icon').fadeIn(); });\">\n";
echo " <option value=''></option>\n";
foreach ($icons as $icon_class => $icon_label) {
$selected = $dashboard_icon == $icon_class ? "selected" : null;
echo " <option value='".escape($icon_class)."' ".$selected.">".escape($icon_label)."</option>\n";
foreach ($font_awesome_icons as $icon) {
$selected = $dashboard_icon == implode(' ', $icon['classes']) ? "selected" : null;
echo " <option value='".escape(implode(' ', $icon['classes']))."' ".$selected.">".escape($icon['label'])."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " <td style='padding: 0 0 0 5px;'>\n";
echo " <button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"$('#icons').fadeIn(); $(this).fadeOut();\"><span class='fa-solid fa-th'></span></button>";
echo " <button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"load_icons(); $(this).fadeOut(200, function() { $('#icons').fadeIn(200); $('#icon_search').fadeIn(200).focus(); });\"><span class='fa-solid fa-th'></span></button>";
echo " <input id='icon_search' type='text' class='formfld' style='display: none;' onkeyup=\"if (this.value.length >= 3) { delay_submit(this.value); } else if (this.value == '') { load_icons(); } else { $('#icons').html(''); }\" placeholder=\"".$text['label-search']."\">\n";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "<div id='icons' style='clear: both; display: none; margin-top: 8px; padding-top: 10px; color: #000; max-height: 400px; overflow: auto;'>\n";
foreach ($icons as $icon_class => $icon_label) {
echo "<span class='".escape($icon_class)." fa-fw' style='font-size: 24px; float: left; margin: 0 8px 8px 0; cursor: pointer; opacity: 0.3;' title='".escape($icon_label)."' onclick=\"$('#dashboard_icon').val('".escape($icon_class)."'); $('#icons').slideUp(); $('#grid_icon').fadeIn();\" onmouseover=\"this.style.opacity='1';\" onmouseout=\"this.style.opacity='0.3';\"></span>\n";
}
echo "</div>";
}
echo "<div id='icons' style='clear: both; display: none; margin-top: 8px; padding-top: 10px; color: #000; max-height: 400px; overflow: auto;'></div>";
echo "<script>\n";
//load icons by search
echo "function load_icons(search) {\n";
echo " xhttp = new XMLHttpRequest();\n";
echo " xhttp.open('GET', '".PROJECT_PATH."/resources/fontawesome/fa_icons.php?output=icons' + (search ? '&search=' + search : ''), false);\n";
echo " xhttp.send();\n";
echo " document.getElementById('icons').innerHTML = xhttp.responseText;\n";
echo "}\n";
//delay kepress for 1/2 second
echo "var keypress_timer;\n";
echo "function delay_submit(search) {\n";
echo " clearTimeout(keypress_timer);\n";
echo " keypress_timer = setTimeout(function(){\n";
echo " load_icons(search);\n";
echo " }, 500);\n";
echo "}\n";
echo "</script>\n";
}
else {
echo " <input type='text' class='formfld' name='dashboard_icon' value='".escape($dashboard_icon)."'>";

View File

@ -435,62 +435,44 @@
echo " <td class='vtable' style='vertical-align: bottom;'>";
if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php')) {
include $_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php';
}
if (!empty($font_awesome_icons) && is_array($font_awesome_icons)) {
//initialize variables
$previous_icon_classes = $previous_icon_name = $previous_icon_style = '';
//rebuild array, parse and format label
foreach ($font_awesome_icons as $i => $icon_classes) {
//split classes
$icon_class = explode(' ', $icon_classes);
$icon_style = $icon_class[0];
$icon_name = $icon_class[1];
//determine label
$icon_label = str_replace('fa-', '', $icon_name);
$icon_label = str_replace('-', ' ', $icon_label);
$icon_label = ucwords($icon_label);
//update previous
if (
!empty($previous_icon_name) &&
!empty($previous_icon_style) &&
$icon_name == $previous_icon_name &&
$icon_style != $previous_icon_style
) {
$icons[$previous_icon_classes] = $icon_label.' - '.ucwords(str_replace('fa-', '', $previous_icon_style));
$append_style = true;
}
else {
$append_style = false;
}
//set current
$icons[$icon_classes] = $icon_label.($append_style ? ' - '.ucwords(str_replace('fa-', '', $icon_style)) : null);
//set previous values
$previous_icon_name = $icon_name;
$previous_icon_style = $icon_style;
$previous_icon_classes = $icon_classes;
}
unset($icon_classes, $icon_class, $icon_style, $icon_name, $previous_icon_classes, $previous_icon_style, $previous_icon_name, $icon_label, $previous_icon_name, $previous_icon_style, $previous_icon_classes);
echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <select class='formfld' name='menu_item_icon' id='menu_item_icon' onchange=\"$('#icons').slideUp(); $('#grid_icon').fadeIn();\">\n";
echo " <select class='formfld' name='menu_item_icon' id='selected_icon' onchange=\"$('#icons').slideUp(200); $('#icon_search').fadeOut(200, function() { $('#grid_icon').fadeIn(); });\">\n";
echo " <option value=''></option>\n";
foreach ($icons as $icon_class => $icon_label) {
$selected = $menu_item_icon == $icon_class ? "selected" : null;
echo " <option value='".escape($icon_class)."' ".$selected.">".escape($icon_label)."</option>\n";
foreach ($font_awesome_icons as $icon) {
$selected = $menu_item_icon == implode(' ', $icon['classes']) ? "selected" : null;
echo " <option value='".escape(implode(' ', $icon['classes']))."' ".$selected.">".escape($icon['label'])."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " <td style='padding: 0 0 0 5px;'>\n";
echo " <button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"$('#icons').fadeIn(); $(this).fadeOut();\"><span class='fa-solid fa-th'></span></button>";
echo " <button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"load_icons(); $(this).fadeOut(200, function() { $('#icons').fadeIn(200); $('#icon_search').fadeIn(200).focus(); });\"><span class='fa-solid fa-th'></span></button>";
echo " <input id='icon_search' type='text' class='formfld' style='display: none;' onkeyup=\"if (this.value.length >= 3) { delay_submit(this.value); } else if (this.value == '') { load_icons(); } else { $('#icons').html(''); }\" placeholder=\"".$text['label-search']."\">\n";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "<div id='icons' style='clear: both; display: none; margin-top: 8px; padding-top: 10px; color: #000; max-height: 400px; overflow: auto;'>\n";
foreach ($icons as $icon_class => $icon_label) {
echo "<span class='".escape($icon_class)." fa-fw' style='font-size: 24px; float: left; margin: 0 8px 8px 0; cursor: pointer; opacity: 0.3;' title='".escape($icon_label)."' onclick=\"$('#menu_item_icon').val('".escape($icon_class)."'); $('#icons').slideUp(); $('#grid_icon').fadeIn();\" onmouseover=\"this.style.opacity='1';\" onmouseout=\"this.style.opacity='0.3';\"></span>\n";
}
echo "</div>";
}
echo "<div id='icons' style='clear: both; display: none; margin-top: 8px; padding-top: 10px; color: #000; max-height: 400px; overflow: auto;'></div>";
echo "<script>\n";
//load icons by search
echo "function load_icons(search) {\n";
echo " xhttp = new XMLHttpRequest();\n";
echo " xhttp.open('GET', '".PROJECT_PATH."/resources/fontawesome/fa_icons.php?output=icons' + (search ? '&search=' + search : ''), false);\n";
echo " xhttp.send();\n";
echo " document.getElementById('icons').innerHTML = xhttp.responseText;\n";
echo "}\n";
//delay kepress for 1/2 second
echo "var keypress_timer;\n";
echo "function delay_submit(search) {\n";
echo " clearTimeout(keypress_timer);\n";
echo " keypress_timer = setTimeout(function(){\n";
echo " load_icons(search);\n";
echo " }, 500);\n";
echo "}\n";
echo "</script>\n";
}
else {
echo " <input type='text' class='formfld' name='menu_item_icon' value='".escape($menu_item_icon)."'>";

View File

@ -34,15 +34,85 @@ if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/metadata/icons.
if (!empty($icons_json)) {
$icons_array = json_decode($icons_json, true);
if (!empty($icons_array) && is_array($icons_array)) {
$i = 0;
foreach ($icons_array as $icon_name => $properties) {
//loop through free icons
if (!empty($properties['free']) && is_array($properties['free'])) {
foreach ($properties['free'] as $icon_style) {
$font_awesome_icons[] = 'fa-'.$icon_style.' fa-'.$icon_name;
//if search terms exist, add them to array
$terms = [];
if (!empty($properties['search']['terms']) && is_array($properties['search']['terms'])) {
foreach ($properties['search']['terms'] as $term) {
$words = explode(' ', $term);
foreach ($words as $word) {
if (strlen($word) >= 3) {
$terms[] = strtolower($word);
}
}
unset($words);
}
}
//add icon name *words* themselves as search terms
if (strlen(str_replace('fa-', '', $icon_name)) >= 3) {
$words = explode(' ', str_replace(['fa-','-'], ['',' '], $icon_name));
foreach ($words as $word) {
if (strlen($word) >= 3) {
$terms[] = strtolower($word);
}
}
unset($words);
}
//remove duplicate terms
if (!empty($terms) && is_array($terms)) {
$terms = array_unique($terms);
}
//filter by search, if submitted
if (
!empty($_GET['search']) &&
strlen(trim($_GET['search'])) >= 3 &&
(
empty($terms) ||
(
!empty($terms) &&
is_array($terms) &&
!in_array(trim(strtolower($_GET['search'])), $terms)
)
)
) {
continue;
}
$font_awesome_icons[$i]['terms'] = $terms;
//add classes (icon style and name)
$font_awesome_icons[$i]['classes']['style'] = 'fa-'.$icon_style;
$font_awesome_icons[$i]['classes']['name'] = 'fa-'.$icon_name;
//detmine whether to append style to previous (and current) label
$append_style = false;
if (
$i != 0 &&
$font_awesome_icons[$i - 1]['classes']['name'] == $font_awesome_icons[$i]['classes']['name'] &&
$font_awesome_icons[$i - 1]['classes']['style'] != $font_awesome_icons[$i]['classes']['style']
) {
$font_awesome_icons[$i - 1]['label'] .= ' - '.ucwords(str_replace('fa-', '', $font_awesome_icons[$i - 1]['classes']['style']));
$append_style = true;
}
//determine label
$font_awesome_icons[$i]['label'] = ucwords(str_replace(['fa-','-'], ['',' '], $icon_name)).($append_style ? ' - '.ucwords(str_replace('fa-', '', $font_awesome_icons[$i]['classes']['style'])) : null);
//clear vars
$i++;
}
}
}
}
}
}
// view_array($font_awesome_icons);
//view_array($font_awesome_icons, 0);
//output icons
if (
!empty($_GET['output']) && $_GET['output'] == 'icons' &&
!empty($font_awesome_icons) && is_array($font_awesome_icons)
) {
foreach ($font_awesome_icons as $icon) {
echo "<span class='".escape(implode(' ', $icon['classes']))." fa-fw' style='font-size: 24px; float: left; margin: 0 8px 8px 0; cursor: pointer; opacity: 0.3;' title='".escape($icon['label'])."' onclick=\"$('#selected_icon').val('".escape(implode(' ', $icon['classes']))."'); $('#icons').slideUp(); $('#icon_search').fadeOut(200, function() { $('#icon_search').val(''); $('#grid_icon').fadeIn(); });\" onmouseover=\"this.style.opacity='1';\" onmouseout=\"this.style.opacity='0.3';\"></span>\n";
}
}

View File

@ -552,7 +552,7 @@
"disabled",
"handicap",
"person",
"uer",
"user",
"wheelchair",
"wheelchair-alt"
]
@ -650,7 +650,7 @@
"little black book",
"portfolio",
"rolodex",
"uer",
"user",
"username"
]
},
@ -732,7 +732,7 @@
"postcard",
"profile",
"registration",
"uer",
"user",
"username"
]
},
@ -4588,7 +4588,7 @@
"insert",
"targeted",
"together",
"uer"
"user"
]
},
"styles": [
@ -5914,7 +5914,7 @@
"ligatures": [],
"search": {
"terms": [
"uer",
"user",
"users-people"
]
},
@ -7670,7 +7670,7 @@
"rest",
"sleep",
"travel",
"uer"
"user"
]
},
"styles": [
@ -12476,7 +12476,7 @@
"building",
"city",
"employee",
"uer"
"user"
]
},
"styles": [
@ -16141,7 +16141,7 @@
"learning",
"professor",
"school",
"uer",
"user",
"whiteboard",
"writing"
]
@ -17738,7 +17738,7 @@
"girl",
"kid",
"toddler",
"uer",
"user",
"young",
"youth"
]
@ -17830,7 +17830,7 @@
"girl",
"kid",
"toddler",
"uer",
"user",
"young",
"youth"
]
@ -17876,7 +17876,7 @@
"girl",
"kid",
"toddler",
"uer",
"user",
"young",
"youth"
]
@ -17925,7 +17925,7 @@
"kid",
"kids",
"together",
"uer",
"user",
"young",
"youth"
]
@ -19979,7 +19979,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"username",
"users-people"
]
@ -20480,7 +20480,7 @@
"record",
"roster",
"staff",
"uer"
"user"
]
},
"styles": [
@ -29243,7 +29243,7 @@
"elevator",
"hoist",
"lift",
"uer",
"user",
"users-people"
]
},
@ -31032,7 +31032,7 @@
"frowning face",
"rating",
"sad",
"uer"
"user"
]
},
"styles": [
@ -32820,7 +32820,7 @@
"neutral",
"neutral face",
"rating",
"uer"
"user"
]
},
"styles": [
@ -33219,7 +33219,7 @@
"satisfied",
"slightly smiling face",
"smile",
"uer"
"user"
]
},
"styles": [
@ -44572,7 +44572,7 @@
"lungs",
"respiratory",
"sick",
"uer"
"user"
]
},
"styles": [
@ -44628,7 +44628,7 @@
"lungs",
"respiratory",
"sick",
"uer"
"user"
]
},
"styles": [
@ -44685,7 +44685,7 @@
"infection",
"pandemic",
"respirator",
"uer",
"user",
"virus"
]
},
@ -44742,7 +44742,7 @@
"infection",
"pandemic",
"sick",
"uer"
"user"
]
},
"styles": [
@ -46389,7 +46389,7 @@
"network",
"patient",
"primary care",
"uer"
"user"
]
},
"styles": [
@ -46442,7 +46442,7 @@
"terms": [
"jacuzzi",
"spa",
"uer"
"user"
]
},
"styles": [
@ -47193,7 +47193,7 @@
"home",
"isolation",
"quarantine",
"uer"
"user"
]
},
"styles": [
@ -48080,7 +48080,7 @@
"search": {
"terms": [
"house",
"uer"
"user"
]
},
"styles": [
@ -48626,7 +48626,7 @@
"identification",
"license",
"profile",
"uer",
"user",
"username"
]
},
@ -48707,7 +48707,7 @@
"issued",
"profile",
"registration",
"uer",
"user",
"username"
]
},
@ -48781,7 +48781,7 @@
"identification",
"issued",
"profile",
"uer",
"user",
"username"
]
},
@ -48998,7 +48998,7 @@
"photo",
"picture",
"selfie",
"uer",
"user",
"username"
]
},
@ -54991,7 +54991,7 @@
"search": {
"terms": [
"gender",
"uer",
"user",
"violence"
]
},
@ -62227,7 +62227,7 @@
"social distancing",
"talk",
"together",
"uer",
"user",
"users-people"
]
},
@ -62280,7 +62280,7 @@
"search": {
"terms": [
"together",
"uer",
"user",
"users-people"
]
},
@ -62326,7 +62326,7 @@
"group",
"team",
"together",
"uer"
"user"
]
},
"styles": [
@ -62370,7 +62370,7 @@
"group",
"need",
"together",
"uer"
"user"
]
},
"styles": [
@ -62412,7 +62412,7 @@
"terms": [
"forced return",
"together",
"uer",
"user",
"yanking"
]
},
@ -62458,7 +62458,7 @@
"looting",
"robbery",
"steal",
"uer"
"user"
]
},
"styles": [
@ -62506,7 +62506,7 @@
"safe",
"shelter",
"together",
"uer"
"user"
]
},
"styles": [
@ -62763,7 +62763,7 @@
"person standing",
"stand",
"standing",
"uer",
"user",
"woman"
]
},
@ -62808,7 +62808,7 @@
"indigenous",
"insert",
"native",
"uer"
"user"
]
},
"styles": [
@ -62850,7 +62850,7 @@
"terms": [
"population",
"rise",
"uer",
"user",
"upgrade"
]
},
@ -62914,7 +62914,7 @@
"pedal",
"person biking",
"summer",
"uer",
"user",
"wheel"
]
},
@ -62965,7 +62965,7 @@
"terms": [
"changing room",
"curtain",
"uer",
"user",
"vote",
"voting"
]
@ -63014,7 +63014,7 @@
"nutrition",
"parent",
"sustenance",
"uer"
"user"
]
},
"styles": [
@ -63058,7 +63058,7 @@
"accident",
"crash",
"explode",
"uer",
"user",
"violence"
]
},
@ -63104,7 +63104,7 @@
"elderly",
"old",
"staff",
"uer"
"user"
]
},
"styles": [
@ -63150,7 +63150,7 @@
"lesson",
"presentation",
"teacher",
"uer"
"user"
]
},
"styles": [
@ -63195,7 +63195,7 @@
"not affected",
"ok",
"okay",
"uer",
"user",
"validate",
"working"
]
@ -63242,7 +63242,7 @@
"failed",
"lost",
"missing",
"uer"
"user"
]
},
"styles": [
@ -63284,7 +63284,7 @@
"terms": [
"delete",
"remove",
"uer"
"user"
]
},
"styles": [
@ -63327,7 +63327,7 @@
"add",
"follow",
"found",
"uer"
"user"
]
},
"styles": [
@ -63371,7 +63371,7 @@
"lost",
"missing",
"request",
"uer"
"user"
]
},
"styles": [
@ -63413,7 +63413,7 @@
"terms": [
"dead",
"removed",
"uer",
"user",
"uncheck"
]
},
@ -63472,7 +63472,7 @@
"dig",
"maintenance",
"men at work",
"uer"
"user"
]
},
"styles": [
@ -63526,7 +63526,7 @@
"terms": [
"allergy",
"diagnosis",
"uer"
"user"
]
},
"styles": [
@ -63581,7 +63581,7 @@
"terms": [
"man",
"skirt",
"uer",
"user",
"woman"
]
},
@ -63626,7 +63626,7 @@
"accident",
"crash",
"explode",
"uer",
"user",
"violence"
]
},
@ -63670,7 +63670,7 @@
"drown",
"emergency",
"swim",
"uer"
"user"
]
},
"styles": [
@ -63713,7 +63713,7 @@
"accident",
"fall",
"trip",
"uer"
"user"
]
},
"styles": [
@ -63759,7 +63759,7 @@
"fall",
"homicide",
"murder",
"uer"
"user"
]
},
"styles": [
@ -63803,7 +63803,7 @@
"man",
"restroom",
"transgender",
"uer",
"user",
"woman"
]
},
@ -63848,7 +63848,7 @@
"scream",
"shame",
"shout",
"uer",
"user",
"yell"
]
},
@ -63907,7 +63907,7 @@
"mountain",
"outdoors",
"summer",
"uer",
"user",
"walk"
]
},
@ -63951,7 +63951,7 @@
"army",
"customs",
"guard",
"uer"
"user"
]
},
"styles": [
@ -63995,7 +63995,7 @@
"army",
"military",
"rifle",
"uer",
"user",
"war"
]
},
@ -64039,7 +64039,7 @@
"civilian",
"coordination",
"military",
"uer"
"user"
]
},
"styles": [
@ -64097,7 +64097,7 @@
"place of worship",
"religion",
"thank",
"uer",
"user",
"worship"
]
},
@ -64145,7 +64145,7 @@
"parent",
"pregnant",
"pregnant woman",
"uer",
"user",
"woman"
]
},
@ -64189,7 +64189,7 @@
"affected",
"focus",
"shine",
"uer"
"user"
]
},
"styles": [
@ -64234,7 +64234,7 @@
"gun",
"military",
"rifle",
"uer",
"user",
"war"
]
},
@ -64297,7 +64297,7 @@
"person running",
"race",
"running",
"uer",
"user",
"workout"
]
},
@ -64344,7 +64344,7 @@
"safe",
"safety",
"shelter",
"uer"
"user"
]
},
"styles": [
@ -64400,7 +64400,7 @@
"olympics",
"rink",
"skate",
"uer",
"user",
"winter"
]
},
@ -64460,7 +64460,7 @@
"ski",
"skier",
"snow",
"uer",
"user",
"winter"
]
},
@ -64514,7 +64514,7 @@
"terms": [
"cross country",
"olympics",
"uer",
"user",
"winter"
]
},
@ -64574,7 +64574,7 @@
"snow",
"snowboard",
"snowboarder",
"uer",
"user",
"winter"
]
},
@ -64634,7 +64634,7 @@
"pool",
"sea",
"swim",
"uer",
"user",
"water"
]
},
@ -64681,7 +64681,7 @@
"leave",
"robbery",
"steal",
"uer",
"user",
"window"
]
},
@ -64743,7 +64743,7 @@
"hike",
"move",
"person walking",
"uer",
"user",
"walk",
"walking",
"workout"
@ -64789,7 +64789,7 @@
"follow",
"population return",
"return",
"uer"
"user"
]
},
"styles": [
@ -64834,7 +64834,7 @@
"internally displaced",
"leave",
"refugee",
"uer"
"user"
]
},
"styles": [
@ -64877,7 +64877,7 @@
"exit",
"follow",
"refugee",
"uer"
"user"
]
},
"styles": [
@ -64924,7 +64924,7 @@
"deployment",
"follow",
"rolling",
"uer"
"user"
]
},
"styles": [
@ -64980,7 +64980,7 @@
"blind",
"cane",
"follow",
"uer"
"user"
]
},
"styles": [
@ -67234,7 +67234,7 @@
"shit",
"smile",
"turd",
"uer"
"user"
]
},
"styles": [
@ -69821,7 +69821,7 @@
"terms": [
"bathroom",
"toilet",
"uer",
"user",
"water closet",
"wc"
]
@ -75269,7 +75269,7 @@
"monster",
"skeleton",
"skull",
"uer",
"user",
"x-ray",
"yorick"
]
@ -78694,7 +78694,7 @@
"terms": [
"captivity",
"confined",
"uer"
"user"
]
},
"styles": [
@ -81388,7 +81388,7 @@
"location",
"map",
"navigation",
"uer"
"user"
]
},
"styles": [
@ -89048,7 +89048,7 @@
"ligatures": [],
"search": {
"terms": [
"uer",
"user",
"users-people"
]
},
@ -89757,7 +89757,7 @@
"person",
"profile",
"silhouette",
"uer",
"user",
"unspecified gender",
"username",
"users-people"
@ -89830,7 +89830,7 @@
"nasa",
"space",
"suit",
"uer"
"user"
]
},
"styles": [
@ -89880,7 +89880,7 @@
"terms": [
"employee",
"enable",
"uer",
"user",
"users-people",
"validate",
"working"
@ -89932,7 +89932,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"users-people"
]
},
@ -89999,7 +89999,7 @@
"physician",
"profile",
"surgeon",
"uer",
"user",
"worker"
]
},
@ -90053,7 +90053,7 @@
"terms": [
"employee",
"together",
"uer",
"user",
"users-people"
]
},
@ -90102,7 +90102,7 @@
"ligatures": [],
"search": {
"terms": [
"uer",
"user",
"users-people"
]
},
@ -90163,7 +90163,7 @@
"employee",
"silhouette",
"together",
"uer",
"user",
"users-people"
]
},
@ -90213,7 +90213,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"users-people"
]
},
@ -90268,7 +90268,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"users-people"
]
},
@ -90323,7 +90323,7 @@
"disabled",
"disconnect",
"employee",
"uer",
"user",
"users-people"
]
},
@ -90376,7 +90376,7 @@
"employee",
"padlock",
"privacy",
"uer",
"user",
"users-people"
]
},
@ -90429,7 +90429,7 @@
"employee",
"negative",
"remove",
"uer"
"user"
]
},
"styles": [
@ -90489,7 +90489,7 @@
"ninja",
"sneaky",
"stealth",
"uer"
"user"
]
},
"styles": [
@ -90547,7 +90547,7 @@
"physician",
"practitioner",
"surgeon",
"uer",
"user",
"worker"
]
},
@ -90601,7 +90601,7 @@
"terms": [
"employee",
"modify",
"uer",
"user",
"users-people"
]
},
@ -90661,7 +90661,7 @@
"sign up",
"signup",
"team",
"uer"
"user"
]
},
"styles": [
@ -90719,7 +90719,7 @@
"detective",
"sleuth",
"spy",
"uer",
"user",
"users-people"
]
},
@ -90771,7 +90771,7 @@
"employee",
"protect",
"safety",
"uer"
"user"
]
},
"styles": [
@ -90826,7 +90826,7 @@
"disconnect",
"employee",
"remove",
"uer"
"user"
]
},
"styles": [
@ -90875,7 +90875,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"users-people"
]
},
@ -90935,7 +90935,7 @@
"portfolio",
"professional",
"suit",
"uer"
"user"
]
},
"styles": [
@ -90993,7 +90993,7 @@
"delete",
"employee",
"remove",
"uer",
"user",
"uncheck",
"x"
]
@ -91048,7 +91048,7 @@
"terms": [
"employee",
"together",
"uer",
"user",
"users-people"
]
},
@ -91095,7 +91095,7 @@
"group",
"people",
"together",
"uer"
"user"
]
},
"styles": [
@ -91147,7 +91147,7 @@
"search": {
"terms": [
"employee",
"uer",
"user",
"users-people"
]
},
@ -91194,7 +91194,7 @@
"need",
"people",
"together",
"uer"
"user"
]
},
"styles": [
@ -91240,7 +91240,7 @@
"focused",
"group",
"people",
"uer"
"user"
]
},
"styles": [
@ -91286,7 +91286,7 @@
"group",
"people",
"reached",
"uer"
"user"
]
},
"styles": [
@ -91339,7 +91339,7 @@
"disconnect",
"employee",
"together",
"uer",
"user",
"users-people"
]
},
@ -91385,7 +91385,7 @@
"group",
"people",
"targeted",
"uer"
"user"
]
},
"styles": [
@ -94549,7 +94549,7 @@
"search": {
"terms": [
"disabled",
"uer",
"user",
"users-people"
]
},
@ -94601,7 +94601,7 @@
"handicap",
"impairment",
"physical",
"uer",
"user",
"wheelchair symbol"
]
},