Update Font Awesome to v6.6.x, adjust some icon references.
This commit is contained in:
parent
10bd1b9f9f
commit
4b23913555
|
|
@ -215,7 +215,7 @@
|
|||
echo " <div class='heading'><b>" . $text['header-call_forward'] . "</b></div>\n";
|
||||
echo " <div class='actions'>\n";
|
||||
if ($num_rows > 10) {
|
||||
echo button::create(['type' => 'button', 'label' => $text['button-view_all'], 'icon' => 'project-diagram', 'collapse' => false, 'link' => PROJECT_PATH . '/app/call_forward/call_forward.php']);
|
||||
echo button::create(['type' => 'button', 'label' => $text['button-view_all'], 'icon' => 'diagram-project', 'collapse' => false, 'link' => PROJECT_PATH . '/app/call_forward/call_forward.php']);
|
||||
}
|
||||
echo " </div>\n";
|
||||
echo " <div style='clear: both;'></div>\n";
|
||||
|
|
|
|||
|
|
@ -2330,7 +2330,7 @@ if (permission_exists('contact_relation_view')) {
|
|||
}
|
||||
echo " <div class='button no-link' style='float: left; margin-top: 1px; margin-left: 8px;'>\n";
|
||||
echo " <a href='contact_edit.php?id=".escape($row['relation_contact_uuid'])."' target='_blank'>\n";
|
||||
echo " <span class='fas fa-user-friends' style='color: ".$body_text_color."; float: left; margin-top: 7px; margin-left: 3px;'></span>\n";
|
||||
echo " <span class='fas fa-user-group' style='color: ".$body_text_color."; float: left; margin-top: 7px; margin-left: 3px;'></span>\n";
|
||||
echo " </a>\n";
|
||||
echo " </div>\n";
|
||||
echo " </div>\n";
|
||||
|
|
|
|||
|
|
@ -480,7 +480,7 @@
|
|||
if (permission_exists('contact_relation_view')) {
|
||||
echo " <div class='box contact-details'>\n";
|
||||
echo " <div class='grid contact-details'>\n";
|
||||
echo " <div class='box' title=\"".$text['header-contact_relations']."\"><b class='fas fa-project-diagram fa-fw fa-lg'></b></div>\n";
|
||||
echo " <div class='box' title=\"".$text['header-contact_relations']."\"><b class='fas fa-diagram-project fa-fw fa-lg'></b></div>\n";
|
||||
echo " <div class='box'>\n";
|
||||
require "contact_relations_view.php";
|
||||
echo " </div>\n";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
$array['dashboard'][$x]['dashboard_uuid'] = 'a294b771-a125-4d36-b51a-973540346fad';
|
||||
$array['dashboard'][$x]['dashboard_name'] = 'Destinations';
|
||||
$array['dashboard'][$x]['dashboard_path'] = 'core/dashboard/resources/dashboard/icon.php';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-sign-in-alt';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-solid fa-right-to-bracket';
|
||||
$array['dashboard'][$x]['dashboard_url'] = '/app/destinations/destinations.php';
|
||||
$array['dashboard'][$x]['dashboard_target'] = 'self';
|
||||
$array['dashboard'][$x]['dashboard_width'] = '';
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "b94e8bd9-9eb5-e427-9c26-ff7a6c21552a";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-exchange-alt";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-right-left";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "15";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "admin";
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1124,7 +1124,7 @@
|
|||
unset($button_margin);
|
||||
}
|
||||
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
||||
echo button::create(['type'=>'button','label'=>$text['button-call_forward'],'icon'=>'project-diagram','style'=>($button_margin ?? ''),'link'=>'../call_forward/call_forward_edit.php?id='.urlencode($extension_uuid)]);
|
||||
echo button::create(['type'=>'button','label'=>$text['button-call_forward'],'icon'=>'diagram-project','style'=>($button_margin ?? ''),'link'=>'../call_forward/call_forward_edit.php?id='.urlencode($extension_uuid)]);
|
||||
unset($button_margin);
|
||||
}
|
||||
if (permission_exists('extension_setting_view')) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
$array['dashboard'][$x]['dashboard_uuid'] = '3af7af65-7861-4d05-a0bc-36d704458fa0';
|
||||
$array['dashboard'][$x]['dashboard_name'] = 'IVR Menus';
|
||||
$array['dashboard'][$x]['dashboard_path'] = 'core/dashboard/resources/dashboard/icon.php';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-project-diagram';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-solid fa-diagram-project';
|
||||
$array['dashboard'][$x]['dashboard_url'] = '/app/ivr_menus/ivr_menus.php';
|
||||
$array['dashboard'][$x]['dashboard_target'] = 'self';
|
||||
$array['dashboard'][$x]['dashboard_width'] = '';
|
||||
|
|
@ -39,4 +39,4 @@ $array['dashboard'][$x]['dashboard_groups'][$y]['dashboard_uuid'] = '3af7af65-78
|
|||
$array['dashboard'][$x]['dashboard_groups'][$y]['group_name'] = 'admin';
|
||||
$y++;
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -119,6 +119,16 @@ if ($domains_processed == 1) {
|
|||
$p->delete('dashboard_add', 'temp');
|
||||
$p->delete('dashboard_group_add', 'temp');
|
||||
|
||||
//update dashboard icons to be prefixed with v6.x font awesome style class name (e.g. 'fa-solid ')
|
||||
$queries[] = "update v_dashboard set dashboard_icon = concat('fa-solid ', dashboard_icon) where dashboard_icon is not null and dashboard_icon not like 'fa-solid fa-%' and dashboard_icon not like 'fa-regular fa-%' and dashboard_icon not like 'fa-brands fa-%' ";
|
||||
|
||||
//execute array of queries
|
||||
foreach ($queries as $sql) {
|
||||
$database = new database;
|
||||
$database->execute($sql);
|
||||
}
|
||||
unset($queries, $sql);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -558,36 +558,61 @@
|
|||
echo " <tr class='type_icon' ".($dashboard_path != 'core/dashboard/resources/dashboard/icon.php' ? "style='display: none;'" : null).">";
|
||||
echo " <td class='vncell'>".$text['label-icon']."</td>";
|
||||
echo " <td class='vtable' style='vertical-align: bottom;'>";
|
||||
if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fas_icons.php')) {
|
||||
include 'resources/fontawesome/fas_icons.php';
|
||||
if (is_array($font_awesome_solid_icons) && @sizeof($font_awesome_solid_icons) != 0) {
|
||||
// rebuild and sort array
|
||||
foreach ($font_awesome_solid_icons as $i => $icon_class) {
|
||||
$icon_label = str_replace('fa-', '', $icon_class);
|
||||
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);
|
||||
$icons[$icon_class] = $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;
|
||||
}
|
||||
asort($icons, SORT_STRING);
|
||||
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 " <option value=''></option>\n";
|
||||
foreach ($icons as $icon_class => $icon_label) {
|
||||
$selected = ($dashboard_icon == $icon_class) ? "selected" : null;
|
||||
$selected = $dashboard_icon == $icon_class ? "selected" : null;
|
||||
echo " <option value='".escape($icon_class)."' ".$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='fas 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=\"$('#icons').fadeIn(); $(this).fadeOut();\"><span class='fa-solid fa-th'></span></button>";
|
||||
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='fas ".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 "<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>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "02194288-6d56-6d3e-0b1a-d53a2bc10788";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-home";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-house";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "5";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "superadmin";
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "bc96d773-ee57-0cdd-c3ac-2d91aba61b55";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-user";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-user";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "10";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "admin";
|
||||
|
|
@ -124,7 +124,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "fd29e39c-c936-f5fc-8e2b-611681b266b5";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-paper-plane";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-paper-plane";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "20";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "superadmin";
|
||||
|
|
@ -159,7 +159,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "0438b504-8613-7887-c420-c837ffb20cb1";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-chart-bar";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-chart-column";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "25";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "admin";
|
||||
|
|
@ -191,7 +191,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "594d99c5-6128-9c88-ca35-4b33392cec0f";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-cog";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-gear";
|
||||
$apps[$x]['menu'][$y]['path'] = "";
|
||||
$apps[$x]['menu'][$y]['order'] = "30";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "superadmin";
|
||||
|
|
@ -222,7 +222,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "c85bf816-b88d-40fa-8634-11b456928afa";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-sign-in-alt";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-right-to-bracket";
|
||||
$apps[$x]['menu'][$y]['path'] = "/login.php";
|
||||
$apps[$x]['menu'][$y]['order'] = "99";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "public";
|
||||
|
|
@ -253,7 +253,7 @@
|
|||
$apps[$x]['menu'][$y]['uuid'] = "0d29e9f4-0c9b-9d8d-cd2d-454899dc9bc4";
|
||||
$apps[$x]['menu'][$y]['parent_uuid'] = "02194288-6d56-6d3e-0b1a-d53a2bc10788";
|
||||
$apps[$x]['menu'][$y]['category'] = "internal";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-sign-out-alt";
|
||||
$apps[$x]['menu'][$y]['icon'] = "fa-solid fa-right-from-bracket";
|
||||
$apps[$x]['menu'][$y]['path'] = "/logout.php";
|
||||
$apps[$x]['menu'][$y]['order'] = "";
|
||||
$apps[$x]['menu'][$y]['groups'][] = "superadmin";
|
||||
|
|
@ -263,4 +263,4 @@
|
|||
$apps[$x]['menu'][$y]['groups'][] = "fax";
|
||||
$y++;
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -433,36 +433,61 @@
|
|||
echo " <tr>";
|
||||
echo " <td class='vncell'>".$text['label-icon']."</td>";
|
||||
echo " <td class='vtable' style='vertical-align: bottom;'>";
|
||||
if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fas_icons.php')) {
|
||||
include 'resources/fontawesome/fas_icons.php';
|
||||
if (is_array($font_awesome_solid_icons) && @sizeof($font_awesome_solid_icons) != 0) {
|
||||
// rebuild and sort array
|
||||
foreach ($font_awesome_solid_icons as $i => $icon_class) {
|
||||
$icon_label = str_replace('fa-', '', $icon_class);
|
||||
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);
|
||||
$icons[$icon_class] = $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;
|
||||
}
|
||||
asort($icons, SORT_STRING);
|
||||
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 " <option value=''></option>\n";
|
||||
foreach ($icons as $icon_class => $icon_label) {
|
||||
$selected = ($menu_item_icon == $icon_class) ? "selected" : null;
|
||||
$selected = $menu_item_icon == $icon_class ? "selected" : null;
|
||||
echo " <option value='".escape($icon_class)."' ".$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='fas 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=\"$('#icons').fadeIn(); $(this).fadeOut();\"><span class='fa-solid fa-th'></span></button>";
|
||||
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='fas ".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 "<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>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
$array['dashboard'][$x]['dashboard_uuid'] = '57fd7761-6ffb-4a11-bdf0-4ce632f50c3c';
|
||||
$array['dashboard'][$x]['dashboard_name'] = 'Users';
|
||||
$array['dashboard'][$x]['dashboard_path'] = 'core/dashboard/resources/dashboard/icon.php';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-user-friends';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-solid fa-user-group';
|
||||
$array['dashboard'][$x]['dashboard_url'] = '/core/users/users.php';
|
||||
$array['dashboard'][$x]['dashboard_target'] = 'self';
|
||||
$array['dashboard'][$x]['dashboard_width'] = '';
|
||||
|
|
@ -43,7 +43,7 @@ $x++;
|
|||
$array['dashboard'][$x]['dashboard_uuid'] = '8aa9bb66-7a62-4a90-b52e-68bd4ccf325f';
|
||||
$array['dashboard'][$x]['dashboard_name'] = 'Account Settings';
|
||||
$array['dashboard'][$x]['dashboard_path'] = 'core/dashboard/resources/dashboard/icon.php';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-user-cog';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-solid fa-user-gear';
|
||||
$array['dashboard'][$x]['dashboard_url'] = '/core/users/user_edit.php?id=user';
|
||||
$array['dashboard'][$x]['dashboard_target'] = 'self';
|
||||
$array['dashboard'][$x]['dashboard_width'] = '';
|
||||
|
|
@ -78,7 +78,7 @@ $x++;
|
|||
$array['dashboard'][$x]['dashboard_uuid'] = 'b04ad600-9acc-45e5-a89a-d7a59a6fcb4c';
|
||||
$array['dashboard'][$x]['dashboard_name'] = 'Logout';
|
||||
$array['dashboard'][$x]['dashboard_path'] = 'core/dashboard/resources/dashboard/icon.php';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-sign-out-alt';
|
||||
$array['dashboard'][$x]['dashboard_icon'] = 'fa-solid fa-right-from-bracket';
|
||||
$array['dashboard'][$x]['dashboard_url'] = '/logout.php';
|
||||
$array['dashboard'][$x]['dashboard_target'] = 'self';
|
||||
$array['dashboard'][$x]['dashboard_width'] = '';
|
||||
|
|
@ -112,4 +112,4 @@ $array['dashboard'][$x]['dashboard_groups'][$y]['dashboard_group_uuid'] = '3cf3a
|
|||
$array['dashboard'][$x]['dashboard_groups'][$y]['dashboard_uuid'] = 'b04ad600-9acc-45e5-a89a-d7a59a6fcb4c';
|
||||
$array['dashboard'][$x]['dashboard_groups'][$y]['group_name'] = 'user';
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -84,8 +84,8 @@ if (!class_exists('button')) {
|
|||
$button_icons == 'auto' ||
|
||||
!$array['label']
|
||||
)) {
|
||||
$icon_class = is_array($array['icon']) ? $array['icon']['text'] : 'fas fa-'.$array['icon'];
|
||||
$button .= "<span class='".$icon_class." fa-fw'></span>";
|
||||
$icon_class = is_array($array['icon']) ? $array['icon']['text'] : $array['icon'];
|
||||
$button .= "<span class='".(substr($icon_class, 0, 3) != 'fa-' ? 'fa-solid fa-' : null).$icon_class." fa-fw'></span>";
|
||||
}
|
||||
//label
|
||||
if (!empty($array['label']) && (
|
||||
|
|
@ -167,7 +167,7 @@ if (!class_exists('button')) {
|
|||
|
||||
type 'button' (default) | 'submit' | 'link'
|
||||
label button text
|
||||
icon name without vendor prefix (e.g. 'user' instead of 'fa-user')
|
||||
icon name with full vendor style and prefix (e.g. 'fa-solid fa-user' instead of 'fa-user' or 'user')
|
||||
value submitted value (if type is also set to 'submit')
|
||||
target '_blank' | '_self' (default) | etc
|
||||
onclick javascript
|
||||
|
|
@ -237,4 +237,4 @@ if (!class_exists('button')) {
|
|||
|
||||
*/
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -0,0 +1,241 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* FusionPBX
|
||||
* Version: MPL 1.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is FusionPBX
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mark J Crane <markjcrane@fusionpbx.com>
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Mark J Crane <markjcrane@fusionpbx.com>
|
||||
* Tim Fry <tim@fusionpbx.com>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Container object for creating command line options when creating a service
|
||||
* @author Tim Fry <tim@fusionpbx.com>
|
||||
*/
|
||||
class cli_option {
|
||||
|
||||
private $short_option;
|
||||
private $long_option;
|
||||
private $description;
|
||||
private $short_description;
|
||||
private $long_description;
|
||||
private $functions;
|
||||
|
||||
/**
|
||||
* Constructs an empty cli_option
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->short_option = '';
|
||||
$this->long_option = '';
|
||||
$this->description = '';
|
||||
$this->short_description = '';
|
||||
$this->long_description = '';
|
||||
$this->functions = [];
|
||||
}
|
||||
|
||||
/**
|
||||
* A factory method to create a new cli_option
|
||||
* @param type $options
|
||||
* @return cli_option
|
||||
*/
|
||||
public static function new(...$options): cli_option {
|
||||
$obj = new cli_option();
|
||||
|
||||
//automatically assign properties to the object that were passed in key/value pairs
|
||||
self::parse_options($obj, $options);
|
||||
|
||||
//return the cli_option with all properties filled in that were passed
|
||||
return $obj;
|
||||
}
|
||||
|
||||
// used to parse object values when created
|
||||
private static function parse_options($obj, $options) {
|
||||
foreach ($options as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
self::parse_options($obj, $value);
|
||||
}
|
||||
//call the method with the name of $key and pass it $value
|
||||
if (method_exists($obj, $key)) {
|
||||
$obj->{$key}($value);
|
||||
} elseif (property_exists($obj, $key)) {
|
||||
$obj->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or returns the short option value
|
||||
* @param string|null $short_option
|
||||
* @return $this
|
||||
*/
|
||||
public function short_option(?string $short_option = null) {
|
||||
if (!empty($short_option)) {
|
||||
$this->short_option = $short_option;
|
||||
return $this;
|
||||
}
|
||||
return $this->short_option;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or returns the long option value
|
||||
* @param string|null $long_option
|
||||
* @return $this
|
||||
*/
|
||||
public function long_option(?string $long_option = null) {
|
||||
if (!empty($long_option)) {
|
||||
$this->long_option = $long_option;
|
||||
return $this;
|
||||
}
|
||||
return $this->long_option;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the general description
|
||||
* @param string|null $description
|
||||
* @return $this
|
||||
*/
|
||||
public function description(?string $description = null) {
|
||||
if (!empty($description)) {
|
||||
$this->description = $description;
|
||||
return $this;
|
||||
}
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or returns the short_description. If short_description is empty then the short_option is used as a default.
|
||||
* @param string|null $short_description When parameter is null, it returns the currently set value. When not null the short description is set to the passed value.
|
||||
* @return $this
|
||||
*/
|
||||
public function short_description(?string $short_description = null) {
|
||||
if (!empty($short_description)) {
|
||||
$this->short_description = $short_description;
|
||||
return $this;
|
||||
}
|
||||
if (empty($this->short_description)) {
|
||||
if (str_ends_with($this->short_option, ':')) {
|
||||
$short = rtrim($this->short_option, ':');
|
||||
$short_description = "-$short <value>";
|
||||
} else {
|
||||
$short_description = '-' . $this->short_option;
|
||||
}
|
||||
} else {
|
||||
$short_description = $this->short_description;
|
||||
}
|
||||
return $short_description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or returns the long_description. If long_description is empty then the long_option is used as a default.
|
||||
* @param string|null $long_description When parameter is null, it returns the currently set value. When not null the long description is set to the passed value.
|
||||
* @return $this
|
||||
*/
|
||||
public function long_description(?string $long_description = null) {
|
||||
if ($long_description !== null) {
|
||||
$this->long_description = $long_description;
|
||||
return $this;
|
||||
}
|
||||
if (empty($this->long_description)) {
|
||||
if (str_ends_with($this->long_option, ':')) {
|
||||
$long = rtrim($this->long_option, ':');
|
||||
$long_description = "--$long <value>";
|
||||
} else {
|
||||
$long_description = '--' . $this->long_option;
|
||||
}
|
||||
} else {
|
||||
$long_description = $this->long_description;
|
||||
}
|
||||
return $long_description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an array of callback functions replacing the existing callback functions
|
||||
* @param array|null $functions
|
||||
* @return $this
|
||||
*/
|
||||
public function functions(?array $functions = null) {
|
||||
if ($functions !== null) {
|
||||
$this->functions = $functions;
|
||||
return $this;
|
||||
}
|
||||
return $this->functions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends the callback function to the array of existing callback functions
|
||||
* @param string|null $function When function param is set, the callback function will be appended to the list of functions. When called without a param, the array will be returned of current callbacks.
|
||||
* @return $this|array Returns the array of callbacks if no parameters passed or this object when appending a callback
|
||||
*/
|
||||
public function callback(?string $function = null) {
|
||||
if ($function !== null) {
|
||||
$this->functions += [$function];
|
||||
return $this;
|
||||
}
|
||||
return $this->functions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends the callback function to the array of existing callback functions
|
||||
* @param string|null $function
|
||||
* @return $this
|
||||
*/
|
||||
public function function_append(?string $function = null) {
|
||||
if ($function !== null) {
|
||||
$this->functions += [$function];
|
||||
return $this;
|
||||
}
|
||||
return $this->functions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the array structure required for service
|
||||
* @return array
|
||||
*/
|
||||
public function to_array(): array {
|
||||
$arr['short_option'] = $this->short_option();
|
||||
$arr['long_option'] = $this->long_option();
|
||||
$arr['description'] = $this->description();
|
||||
$arr['short_description'] = $this->short_description();
|
||||
$arr['long_description'] = $this->long_description();
|
||||
$arr['functions'] = $this->functions();
|
||||
return $arr;
|
||||
}
|
||||
}
|
||||
|
||||
/* Examples
|
||||
$cli_option = cli_option::new([
|
||||
'short_option'=>'m',
|
||||
'long_option' =>'my-option',
|
||||
'description' =>'Create an option that uses -m or --my-option command-line parameter'
|
||||
]);
|
||||
|
||||
$cli_option = cli_option::new()
|
||||
->short_option('m')
|
||||
->long_option('my-option')
|
||||
->description('Create an option that uses -m or --my-option command-line parameter');
|
||||
|
||||
echo $cli_option->description();
|
||||
|
||||
$cli_parsing_array = $cli_option->to_array();
|
||||
print_r($cli_parsing_array);
|
||||
|
||||
|
||||
//*/
|
||||
|
|
@ -975,7 +975,7 @@ if (!class_exists('menu')) {
|
|||
$html .= " </div>\n";
|
||||
|
||||
$html .= " <button type='button' class='navbar-toggler' data-toggle='collapse' data-target='#main_navbar' aria-expanded='false' aria-controls='main_navbar' aria-label='Toggle Menu'>\n";
|
||||
$html .= " <span class='fas fa-bars'></span>\n";
|
||||
$html .= " <span class='fa-solid fa-bars'></span>\n";
|
||||
$html .= " </button>\n";
|
||||
|
||||
$html .= " <div class='collapse navbar-collapse' id='main_navbar'>\n";
|
||||
|
|
@ -994,8 +994,8 @@ if (!class_exists('menu')) {
|
|||
$mod_a_2 = (!empty($menu_parent['menu_item_link']) && !$submenu) ? $menu_parent['menu_item_link'] : '#';
|
||||
$mod_a_3 = ($menu_parent['menu_item_category'] == 'external') ? "target='_blank' " : null;
|
||||
if (isset($_SESSION['theme']['menu_main_icons']['boolean']) && $_SESSION['theme']['menu_main_icons']['boolean'] == 'true') {
|
||||
if (!empty($menu_parent['menu_item_icon']) && substr_count($menu_parent['menu_item_icon'], 'fa-') > 0) {
|
||||
$menu_main_icon = "<span class='fas ".$menu_parent['menu_item_icon']."' title=\"".escape($menu_parent['menu_language_title'])."\"></span>";
|
||||
if (!empty($menu_parent['menu_item_icon']) && substr($menu_parent['menu_item_icon'], 0, 3) == 'fa-') { // font awesome icon
|
||||
$menu_main_icon = "<span class='".escape($menu_parent['menu_item_icon'])."' title=\"".escape($menu_parent['menu_language_title'])."\"></span>";
|
||||
}
|
||||
else {
|
||||
$menu_main_icon = null;
|
||||
|
|
@ -1027,14 +1027,14 @@ if (!class_exists('menu')) {
|
|||
$mod_a_3 = ($menu_sub['menu_item_category'] == 'external') ? "target='_blank' " : null;
|
||||
$menu_sub_icon = null;
|
||||
if ($_SESSION['theme']['menu_sub_icons']['boolean'] != 'false') {
|
||||
if (!empty($menu_sub['menu_item_icon']) && substr_count($menu_sub['menu_item_icon'], 'fa-') > 0) {
|
||||
$menu_sub_icon = "<span class='fas ".escape($menu_sub['menu_item_icon'])."'></span>";
|
||||
if (!empty($menu_sub['menu_item_icon']) && substr($menu_sub['menu_item_icon'], 0, 3) == 'fa-') { // font awesome icon
|
||||
$menu_sub_icon = "<span class='".escape($menu_sub['menu_item_icon'])."'></span>";
|
||||
}
|
||||
else {
|
||||
$menu_sub_icon = null;
|
||||
}
|
||||
}
|
||||
$html .= " <li class='nav-item'><a class='nav-link' href='".$mod_a_2."' ".$mod_a_3.">".($_SESSION['theme']['menu_sub_icons']['boolean'] != 'false' ? "<span class='fas fa-bar d-inline-block d-sm-none float-left' style='margin: 4px 10px 0 25px;'></span>" : null).escape($menu_sub['menu_language_title']).$menu_sub_icon."</a></li>\n";
|
||||
$html .= " <li class='nav-item'><a class='nav-link' href='".$mod_a_2."' ".$mod_a_3.">".($_SESSION['theme']['menu_sub_icons']['boolean'] != 'false' ? "<span class='fa-solid fa-minus d-inline-block d-sm-none float-left' style='margin: 4px 10px 0 25px;'></span>" : null).escape($menu_sub['menu_language_title']).$menu_sub_icon."</a></li>\n";
|
||||
if ($columns > 1 && $column_current == 1 && ($index_sub+1) > (ceil(@sizeof($menu_parent['menu_items'])/2)-1)) {
|
||||
$html .= " </ul>\n";
|
||||
$html .= " </div>\n";
|
||||
|
|
@ -1060,20 +1060,20 @@ if (!class_exists('menu')) {
|
|||
//current user
|
||||
if (isset($_SESSION['theme']['user_visible']['text']) && $_SESSION['theme']['user_visible']['text'] == 'true') {
|
||||
$html .= " <li class='nav-item'>\n";
|
||||
$html .= " <a class='header_user' href='".PROJECT_PATH."/core/users/user_edit.php?id=user' title=\"".$this->text['theme-label-user']."\"><i class='fas fa-".(!empty($_SESSION['theme']['body_header_icon_user']['text']) ? $_SESSION['theme']['body_header_icon_user']['text'] : 'user-circle')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".$_SESSION['username']."</a>";
|
||||
$html .= " <a class='header_user' href='".PROJECT_PATH."/core/users/user_edit.php?id=user' title=\"".$this->text['theme-label-user']."\"><i class='".(!empty($_SESSION['theme']['body_header_icon_user']['text']) ? $_SESSION['theme']['body_header_icon_user']['text'] : 'fa-solid fa-user-circle')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".escape($_SESSION['username'])."</a>";
|
||||
$html .= " </li>\n";
|
||||
}
|
||||
//domain name/selector
|
||||
if (!empty($_SESSION['username']) && permission_exists('domain_select') && count($_SESSION['domains']) > 1 && $_SESSION['theme']['domain_visible']['text'] == 'true') {
|
||||
$html .= " <li class='nav-item'>\n";
|
||||
$html .= " <a class='header_domain' href='#' id='header_domain_selector_domain' title='".$this->text['theme-label-open_selector']."'><i class='fas fa-".(!empty($_SESSION['theme']['body_header_icon_domain']['text']) ? $_SESSION['theme']['body_header_icon_domain']['text'] : 'globe-americas')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".escape($_SESSION['domain_name'])."</a>";
|
||||
$html .= " <a class='header_domain' href='#' id='header_domain_selector_domain' title='".$this->text['theme-label-open_selector']."'><i class='".(!empty($_SESSION['theme']['body_header_icon_domain']['text']) ? $_SESSION['theme']['body_header_icon_domain']['text'] : 'fa-solid fa-earth-americas')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".escape($_SESSION['domain_name'])."</a>";
|
||||
$html .= " </li>\n";
|
||||
}
|
||||
//logout icon
|
||||
if (!empty($_SESSION['username']) && isset($_SESSION['theme']['logout_icon_visible']) && $_SESSION['theme']['logout_icon_visible']['text'] == "true") {
|
||||
$username_full = $_SESSION['username'].((count($_SESSION['domains']) > 1) ? "@".$_SESSION["user_context"] : null);
|
||||
$html .= " <li class='nav-item'>\n";
|
||||
$html .= " <a class='logout_icon' href='#' title=\"".$this->text['theme-label-logout']."\" onclick=\"modal_open('modal-logout','btn_logout');\"><span class='fas fa-sign-out-alt'></span></a>";
|
||||
$html .= " <a class='logout_icon' href='#' title=\"".$this->text['theme-label-logout']."\" onclick=\"modal_open('modal-logout','btn_logout');\"><span class='fa-solid fa-right-from-bracket'></span></a>";
|
||||
$html .= " </li>\n";
|
||||
unset($username_full);
|
||||
}
|
||||
|
|
@ -1085,7 +1085,7 @@ if (!class_exists('menu')) {
|
|||
|
||||
//modal for logout icon (above)
|
||||
if (!empty($_SESSION['username']) && isset($_SESSION['theme']['logout_icon_visible']) && $_SESSION['theme']['logout_icon_visible']['text'] == "true") {
|
||||
$html .= modal::create(['id'=>'modal-logout','type'=>'general','message'=>$this->text['theme-confirm-logout'],'actions'=>button::create(['type'=>'button','label'=>$this->text['theme-label-logout'],'icon'=>'sign-out-alt','id'=>'btn_logout','style'=>'float: right; margin-left: 15px;','collapse'=>'never','link'=>PROJECT_PATH.'/logout.php','onclick'=>"modal_close();"])]);
|
||||
$html .= modal::create(['id'=>'modal-logout','type'=>'general','message'=>$this->text['theme-confirm-logout'],'actions'=>button::create(['type'=>'button','label'=>$this->text['theme-label-logout'],'icon'=>'fa-solid fa-right-from-bracket','id'=>'btn_logout','style'=>'float: right; margin-left: 15px;','collapse'=>'never','link'=>PROJECT_PATH.'/logout.php','onclick'=>"modal_close();"])]);
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
|
@ -1102,15 +1102,15 @@ if (!class_exists('menu')) {
|
|||
$html .= " <div id='menu_side_control_container'>\n";
|
||||
$html .= " <div class='menu_side_control_state' style='float: right; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? 'display: none' : null)."'>\n";
|
||||
if ($_SESSION['theme']['menu_brand_type']['text'] != 'none') {
|
||||
$html .= " <a class='menu_side_item_main menu_side_contract' onclick='menu_side_contract();' style='padding: 8px 15px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."'><i class='fas fa-bars fa-fw'></i></a>\n";
|
||||
$html .= " <a class='menu_side_item_main menu_side_contract' onclick='menu_side_contract();' style='padding: 8px 15px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."'><i class='fa-solid fa-bars fa-fw'></i></a>\n";
|
||||
}
|
||||
if ($_SESSION['theme']['menu_side_pin']['boolean'] == 'true') {
|
||||
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_expanded' onclick=\"menu_side_state_set('expanded');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] == 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-pin_menu']."\"><i class='fas fa-toggle-off fa-sm fa-fw'></i></a>\n";
|
||||
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_contracted' onclick=\"menu_side_state_set('contracted');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-unpin_menu']."\"><i class='fas fa-toggle-on fa-sm fa-fw'></i></a>\n";
|
||||
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_expanded' onclick=\"menu_side_state_set('expanded');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] == 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-pin_menu']."\"><i class='fa-solid fa-toggle-off fa-sm fa-fw'></i></a>\n";
|
||||
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_contracted' onclick=\"menu_side_state_set('contracted');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-unpin_menu']."\"><i class='fa-solid fa-toggle-on fa-sm fa-fw'></i></a>\n";
|
||||
}
|
||||
$html .= " </div>\n";
|
||||
if ($_SESSION['theme']['menu_brand_type']['text'] == 'none') {
|
||||
$html .= " <a class='menu_side_item_main menu_side_contract' onclick='menu_side_contract();' style='".($_SESSION['theme']['menu_side_pin']['boolean'] == 'true' ? "max-width: calc(100% - 50px);" : null)." ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."' title=\"".$this->text['theme-label-contract_menu']."\"><i class='fas fa-bars fa-fw' style='z-index: 99800; padding-left: 1px;'></i></a>";
|
||||
$html .= " <a class='menu_side_item_main menu_side_contract' onclick='menu_side_contract();' style='".($_SESSION['theme']['menu_side_pin']['boolean'] == 'true' ? "max-width: calc(100% - 50px);" : null)." ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."' title=\"".$this->text['theme-label-contract_menu']."\"><i class='fa-solid fa-bars fa-fw' style='z-index: 99800; padding-left: 1px;'></i></a>";
|
||||
}
|
||||
$menu_brand_text = !empty($_SESSION['theme']['menu_brand_text']['text']) ? escape($_SESSION['theme']['menu_brand_text']['text']) : "FusionPBX";
|
||||
if ($_SESSION['theme']['menu_brand_type']['text'] == 'text') {
|
||||
|
|
@ -1125,7 +1125,7 @@ if (!class_exists('menu')) {
|
|||
$html .= "</a>\n";
|
||||
}
|
||||
// else {
|
||||
// $html .= " <a class='menu_side_item_main menu_side_expand' ".($_SESSION['theme']['menu_side_state']['text'] == 'expanded' ? "style='display: none';" : null)." onclick='menu_side_expand();' title=\"".$this->text['theme-label-expand_menu']."\"><i class='fas fa-bars fa-fw' style='z-index: 99800; padding-left: 1px;'></i></a>";
|
||||
// $html .= " <a class='menu_side_item_main menu_side_expand' ".($_SESSION['theme']['menu_side_state']['text'] == 'expanded' ? "style='display: none';" : null)." onclick='menu_side_expand();' title=\"".$this->text['theme-label-expand_menu']."\"><i class='fa-solid fa-bars fa-fw' style='z-index: 99800; padding-left: 1px;'></i></a>";
|
||||
// }
|
||||
$html .= " </div>\n";
|
||||
//main menu items
|
||||
|
|
@ -1134,10 +1134,10 @@ if (!class_exists('menu')) {
|
|||
$menu_target = ($menu_item_main['menu_item_category'] == 'external') ? '_blank' : '';
|
||||
$html .= " <a class='menu_side_item_main' ".(!empty($menu_item_main['menu_item_link']) ? "href='".$menu_item_main['menu_item_link']."' target='".$menu_target."'" : "onclick=\"menu_side_expand(); menu_side_item_toggle('".$menu_item_main['menu_item_uuid']."');\"")." title=\"".$menu_item_main['menu_language_title']."\">";
|
||||
if (is_array($menu_item_main['menu_items']) && sizeof($menu_item_main['menu_items']) != 0 && $_SESSION['theme']['menu_side_item_main_sub_icons']['boolean'] == 'true') {
|
||||
$html .= " <div class='menu_side_item_main_sub_icons' style='float: right; margin-right: -1px; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."'><i id='sub_arrow_".$menu_item_main['menu_item_uuid']."' class='sub_arrows fas fa-".(!empty($_SESSION['theme']['menu_side_item_main_sub_icon_expand']['text']) ? $_SESSION['theme']['menu_side_item_main_sub_icon_expand']['text'] : 'chevron-down')." fa-xs'></i></div>\n";
|
||||
$html .= " <div class='menu_side_item_main_sub_icons' style='float: right; margin-right: -1px; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "display: none;" : null)."'><i id='sub_arrow_".$menu_item_main['menu_item_uuid']."' class='sub_arrows ".(!empty($_SESSION['theme']['menu_side_item_main_sub_icon_expand']['text']) ? $_SESSION['theme']['menu_side_item_main_sub_icon_expand']['text'] : 'fa-solid fa-chevron-down')." fa-xs'></i></div>\n";
|
||||
}
|
||||
if (!empty($menu_item_main['menu_item_icon'])) {
|
||||
$html .= "<i class='menu_side_item_icon fas ".$menu_item_main['menu_item_icon']." fa-fw' style='z-index: 99800; margin-right: 8px;'></i>";
|
||||
if (!empty($menu_item_main['menu_item_icon']) && substr($menu_item_main['menu_item_icon'], 0, 3) == 'fa-') { // font awesome icon
|
||||
$html .= "<i class='menu_side_item_icon ".$menu_item_main['menu_item_icon']." fa-fw' style='z-index: 99800; margin-right: 8px;'></i>";
|
||||
}
|
||||
$html .= "<span class='menu_side_item_title' ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "style='display: none;'" : null).">".$menu_item_main['menu_language_title']."</span>";
|
||||
$html .= "</a>\n";
|
||||
|
|
@ -1178,24 +1178,24 @@ if (!class_exists('menu')) {
|
|||
$html .= "<div class='float-right' style='white-space: nowrap;'>";
|
||||
//current user
|
||||
$html .= "<span style='display: inline-block; padding-right: 20px; font-size: 90%;'>\n";
|
||||
$html .= " <a href='".PROJECT_PATH."/core/users/user_edit.php?id=user' title=\"".$this->text['theme-label-user']."\"><i class='fas fa-".($_SESSION['theme']['body_header_icon_user']['text'] != '' ? $_SESSION['theme']['body_header_icon_user']['text'] : 'user-circle')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".$_SESSION['username']."</a>";
|
||||
$html .= " <a href='".PROJECT_PATH."/core/users/user_edit.php?id=user' title=\"".$this->text['theme-label-user']."\"><i class='".(!empty($_SESSION['theme']['body_header_icon_user']['text']) ? $_SESSION['theme']['body_header_icon_user']['text'] : 'fa-solid fa-user-circle')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".$_SESSION['username']."</a>";
|
||||
$html .= "</span>\n";
|
||||
//domain name/selector (sm+)
|
||||
if (!empty($_SESSION['username']) && permission_exists('domain_select') && count($_SESSION['domains']) > 1 && $_SESSION['theme']['domain_visible']['text'] == 'true') {
|
||||
$html .= "<span style='display: inline-block; padding-right: 10px; font-size: 90%;'>\n";
|
||||
$html .= " <a href='#' id='header_domain_selector_domain' title='".$this->text['theme-label-open_selector']."'><i class='fas fa-".($_SESSION['theme']['body_header_icon_domain']['text'] != '' ? $_SESSION['theme']['body_header_icon_domain']['text'] : 'globe-americas')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".escape($_SESSION['domain_name'])."</a>";
|
||||
$html .= " <a href='#' id='header_domain_selector_domain' title='".$this->text['theme-label-open_selector']."'><i class='".(!empty($_SESSION['theme']['body_header_icon_domain']['text']) ? $_SESSION['theme']['body_header_icon_domain']['text'] : 'fa-solid fa-earth-americas')." fa-lg fa-fw' style='margin-top: 6px; margin-right: 5px;'></i>".escape($_SESSION['domain_name'])."</a>";
|
||||
$html .= "</span>\n";
|
||||
}
|
||||
//logout icon
|
||||
if (!empty($_SESSION['username']) && $_SESSION['theme']['logout_icon_visible']['text'] == "true") {
|
||||
$html .= "<a id='header_logout_icon' href='#' title=\"".$this->text['theme-label-logout']."\" onclick=\"modal_open('modal-logout','btn_logout');\"><span class='fas fa-sign-out-alt'></span></a>";
|
||||
$html .= "<a id='header_logout_icon' href='#' title=\"".$this->text['theme-label-logout']."\" onclick=\"modal_open('modal-logout','btn_logout');\"><span class='fa-solid fa-right-from-bracket'></span></a>";
|
||||
}
|
||||
$html .= "</div>";
|
||||
$html .= " </div>\n";
|
||||
|
||||
//modal for logout icon (above)
|
||||
if (!empty($_SESSION['username']) && $_SESSION['theme']['logout_icon_visible']['text'] == "true") {
|
||||
$html .= modal::create(['id'=>'modal-logout','type'=>'general','message'=>$this->text['theme-confirm-logout'],'actions'=>button::create(['type'=>'button','label'=>$this->text['theme-label-logout'],'icon'=>'sign-out-alt','id'=>'btn_logout','style'=>'float: right; margin-left: 15px;','collapse'=>'never','link'=>PROJECT_PATH.'/logout.php','onclick'=>"modal_close();"])]);
|
||||
$html .= modal::create(['id'=>'modal-logout','type'=>'general','message'=>$this->text['theme-confirm-logout'],'actions'=>button::create(['type'=>'button','label'=>$this->text['theme-label-logout'],'icon'=>'fa-solid fa-right-from-bracket','id'=>'btn_logout','style'=>'float: right; margin-left: 15px;','collapse'=>'never','link'=>PROJECT_PATH.'/logout.php','onclick'=>"modal_close();"])]);
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
|
@ -1206,4 +1206,4 @@ if (!class_exists('menu')) {
|
|||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -1,23 +1,151 @@
|
|||
Fonticons, Inc. (https://fontawesome.com)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Font Awesome Free License
|
||||
-------------------------
|
||||
|
||||
Font Awesome Free is free, open source, and GPL friendly. You can use it for
|
||||
commercial projects, open source projects, or really almost whatever you want.
|
||||
Full Font Awesome Free license: https://fontawesome.com/license/free.
|
||||
|
||||
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
|
||||
In the Font Awesome Free download, the CC BY 4.0 license applies to all icons
|
||||
packaged as SVG and JS file types.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
|
||||
|
||||
The Font Awesome Free download is licensed under a Creative Commons
|
||||
Attribution 4.0 International License and applies to all icons packaged
|
||||
as SVG and JS file types.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
# Fonts: SIL OFL 1.1 License
|
||||
|
||||
# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL)
|
||||
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
||||
packaged as web and desktop font files.
|
||||
|
||||
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
|
||||
with Reserved Font Name: "Font Awesome".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
SIL OPEN FONT LICENSE
|
||||
Version 1.1 - 26 February 2007
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting — in part or in whole — any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
# Code: MIT License (https://opensource.org/licenses/MIT)
|
||||
|
||||
In the Font Awesome Free download, the MIT license applies to all non-font and
|
||||
non-icon files.
|
||||
|
||||
Copyright 2024 Fonticons, Inc.
|
||||
|
||||
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 rights to 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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
# Attribution
|
||||
|
||||
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
|
||||
Awesome Free files already contain embedded comments with sufficient
|
||||
attribution, so you shouldn't need to do anything additional when using these
|
||||
|
|
@ -27,7 +155,10 @@ We've kept attribution comments terse, so we ask that you do not actively work
|
|||
to remove them from files, especially code. They're a great way for folks to
|
||||
learn about Font Awesome.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
# Brand Icons
|
||||
|
||||
All brand icons are trademarks of their respective owners. The use of these
|
||||
trademarks does not indicate endorsement of the trademark holder by Font
|
||||
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -1,15 +1,19 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
:root, :host {
|
||||
--fa-style-family-classic: 'Font Awesome 6 Free';
|
||||
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: auto;
|
||||
src: url("../webfonts/fa-regular-400.eot");
|
||||
src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
|
||||
|
||||
.far {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.far,
|
||||
.fa-regular {
|
||||
font-weight: 400; }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
|
||||
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}
|
||||
|
|
@ -1,16 +1,19 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
:root, :host {
|
||||
--fa-style-family-classic: 'Font Awesome 6 Free';
|
||||
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: auto;
|
||||
src: url("../webfonts/fa-solid-900.eot");
|
||||
src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||
|
||||
.fa,
|
||||
.fas {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.fas,
|
||||
.fa-solid {
|
||||
font-weight: 900; }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
|
||||
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
|
||||
|
|
@ -1,70 +1,53 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
svg:not(:root).svg-inline--fa {
|
||||
overflow: visible; }
|
||||
:root, :host {
|
||||
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
|
||||
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
|
||||
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Pro';
|
||||
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Pro';
|
||||
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
|
||||
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
|
||||
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-light: normal 300 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 6 Sharp Duotone'; }
|
||||
|
||||
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
overflow: visible;
|
||||
box-sizing: content-box; }
|
||||
|
||||
.svg-inline--fa {
|
||||
display: inline-block;
|
||||
font-size: inherit;
|
||||
display: var(--fa-display, inline-block);
|
||||
height: 1em;
|
||||
overflow: visible;
|
||||
vertical-align: -.125em; }
|
||||
.svg-inline--fa.fa-2xs {
|
||||
vertical-align: 0.1em; }
|
||||
.svg-inline--fa.fa-xs {
|
||||
vertical-align: 0em; }
|
||||
.svg-inline--fa.fa-sm {
|
||||
vertical-align: -0.07143em; }
|
||||
.svg-inline--fa.fa-lg {
|
||||
vertical-align: -.225em; }
|
||||
.svg-inline--fa.fa-w-1 {
|
||||
width: 0.0625em; }
|
||||
.svg-inline--fa.fa-w-2 {
|
||||
width: 0.125em; }
|
||||
.svg-inline--fa.fa-w-3 {
|
||||
width: 0.1875em; }
|
||||
.svg-inline--fa.fa-w-4 {
|
||||
width: 0.25em; }
|
||||
.svg-inline--fa.fa-w-5 {
|
||||
width: 0.3125em; }
|
||||
.svg-inline--fa.fa-w-6 {
|
||||
width: 0.375em; }
|
||||
.svg-inline--fa.fa-w-7 {
|
||||
width: 0.4375em; }
|
||||
.svg-inline--fa.fa-w-8 {
|
||||
width: 0.5em; }
|
||||
.svg-inline--fa.fa-w-9 {
|
||||
width: 0.5625em; }
|
||||
.svg-inline--fa.fa-w-10 {
|
||||
width: 0.625em; }
|
||||
.svg-inline--fa.fa-w-11 {
|
||||
width: 0.6875em; }
|
||||
.svg-inline--fa.fa-w-12 {
|
||||
width: 0.75em; }
|
||||
.svg-inline--fa.fa-w-13 {
|
||||
width: 0.8125em; }
|
||||
.svg-inline--fa.fa-w-14 {
|
||||
width: 0.875em; }
|
||||
.svg-inline--fa.fa-w-15 {
|
||||
width: 0.9375em; }
|
||||
.svg-inline--fa.fa-w-16 {
|
||||
width: 1em; }
|
||||
.svg-inline--fa.fa-w-17 {
|
||||
width: 1.0625em; }
|
||||
.svg-inline--fa.fa-w-18 {
|
||||
width: 1.125em; }
|
||||
.svg-inline--fa.fa-w-19 {
|
||||
width: 1.1875em; }
|
||||
.svg-inline--fa.fa-w-20 {
|
||||
width: 1.25em; }
|
||||
vertical-align: -0.2em; }
|
||||
.svg-inline--fa.fa-xl {
|
||||
vertical-align: -0.25em; }
|
||||
.svg-inline--fa.fa-2xl {
|
||||
vertical-align: -0.3125em; }
|
||||
.svg-inline--fa.fa-pull-left {
|
||||
margin-right: .3em;
|
||||
margin-right: var(--fa-pull-margin, 0.3em);
|
||||
width: auto; }
|
||||
.svg-inline--fa.fa-pull-right {
|
||||
margin-left: .3em;
|
||||
margin-left: var(--fa-pull-margin, 0.3em);
|
||||
width: auto; }
|
||||
.svg-inline--fa.fa-border {
|
||||
height: 1.5em; }
|
||||
.svg-inline--fa.fa-li {
|
||||
width: 2em; }
|
||||
width: var(--fa-li-width, 2em);
|
||||
top: 0.25em; }
|
||||
.svg-inline--fa.fa-fw {
|
||||
width: 1.25em; }
|
||||
width: var(--fa-fw-width, 1.25em); }
|
||||
|
||||
.fa-layers svg.svg-inline--fa {
|
||||
bottom: 0;
|
||||
|
|
@ -74,6 +57,11 @@ svg:not(:root).svg-inline--fa {
|
|||
right: 0;
|
||||
top: 0; }
|
||||
|
||||
.fa-layers-text, .fa-layers-counter {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
text-align: center; }
|
||||
|
||||
.fa-layers {
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
|
|
@ -82,88 +70,57 @@ svg:not(:root).svg-inline--fa {
|
|||
vertical-align: -.125em;
|
||||
width: 1em; }
|
||||
.fa-layers svg.svg-inline--fa {
|
||||
-webkit-transform-origin: center center;
|
||||
transform-origin: center center; }
|
||||
|
||||
.fa-layers-text, .fa-layers-counter {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
text-align: center; }
|
||||
transform-origin: center center; }
|
||||
|
||||
.fa-layers-text {
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
-webkit-transform-origin: center center;
|
||||
transform-origin: center center; }
|
||||
transform: translate(-50%, -50%);
|
||||
transform-origin: center center; }
|
||||
|
||||
.fa-layers-counter {
|
||||
background-color: #ff253a;
|
||||
border-radius: 1em;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: #fff;
|
||||
height: 1.5em;
|
||||
line-height: 1;
|
||||
max-width: 5em;
|
||||
min-width: 1.5em;
|
||||
background-color: var(--fa-counter-background-color, #ff253a);
|
||||
border-radius: var(--fa-counter-border-radius, 1em);
|
||||
box-sizing: border-box;
|
||||
color: var(--fa-inverse, #fff);
|
||||
line-height: var(--fa-counter-line-height, 1);
|
||||
max-width: var(--fa-counter-max-width, 5em);
|
||||
min-width: var(--fa-counter-min-width, 1.5em);
|
||||
overflow: hidden;
|
||||
padding: .25em;
|
||||
right: 0;
|
||||
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
||||
right: var(--fa-right, 0);
|
||||
text-overflow: ellipsis;
|
||||
top: 0;
|
||||
-webkit-transform: scale(0.25);
|
||||
transform: scale(0.25);
|
||||
-webkit-transform-origin: top right;
|
||||
transform-origin: top right; }
|
||||
top: var(--fa-top, 0);
|
||||
transform: scale(var(--fa-counter-scale, 0.25));
|
||||
transform-origin: top right; }
|
||||
|
||||
.fa-layers-bottom-right {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
bottom: var(--fa-bottom, 0);
|
||||
right: var(--fa-right, 0);
|
||||
top: auto;
|
||||
-webkit-transform: scale(0.25);
|
||||
transform: scale(0.25);
|
||||
-webkit-transform-origin: bottom right;
|
||||
transform-origin: bottom right; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: bottom right; }
|
||||
|
||||
.fa-layers-bottom-left {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
bottom: var(--fa-bottom, 0);
|
||||
left: var(--fa-left, 0);
|
||||
right: auto;
|
||||
top: auto;
|
||||
-webkit-transform: scale(0.25);
|
||||
transform: scale(0.25);
|
||||
-webkit-transform-origin: bottom left;
|
||||
transform-origin: bottom left; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: bottom left; }
|
||||
|
||||
.fa-layers-top-right {
|
||||
right: 0;
|
||||
top: 0;
|
||||
-webkit-transform: scale(0.25);
|
||||
transform: scale(0.25);
|
||||
-webkit-transform-origin: top right;
|
||||
transform-origin: top right; }
|
||||
top: var(--fa-top, 0);
|
||||
right: var(--fa-right, 0);
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: top right; }
|
||||
|
||||
.fa-layers-top-left {
|
||||
left: 0;
|
||||
left: var(--fa-left, 0);
|
||||
right: auto;
|
||||
top: 0;
|
||||
-webkit-transform: scale(0.25);
|
||||
transform: scale(0.25);
|
||||
-webkit-transform-origin: top left;
|
||||
transform-origin: top left; }
|
||||
|
||||
.fa-lg {
|
||||
font-size: 1.33333em;
|
||||
line-height: 0.75em;
|
||||
vertical-align: -.0667em; }
|
||||
|
||||
.fa-xs {
|
||||
font-size: .75em; }
|
||||
|
||||
.fa-sm {
|
||||
font-size: .875em; }
|
||||
top: var(--fa-top, 0);
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: top left; }
|
||||
|
||||
.fa-1x {
|
||||
font-size: 1em; }
|
||||
|
|
@ -195,114 +152,241 @@ svg:not(:root).svg-inline--fa {
|
|||
.fa-10x {
|
||||
font-size: 10em; }
|
||||
|
||||
.fa-2xs {
|
||||
font-size: 0.625em;
|
||||
line-height: 0.1em;
|
||||
vertical-align: 0.225em; }
|
||||
|
||||
.fa-xs {
|
||||
font-size: 0.75em;
|
||||
line-height: 0.08333em;
|
||||
vertical-align: 0.125em; }
|
||||
|
||||
.fa-sm {
|
||||
font-size: 0.875em;
|
||||
line-height: 0.07143em;
|
||||
vertical-align: 0.05357em; }
|
||||
|
||||
.fa-lg {
|
||||
font-size: 1.25em;
|
||||
line-height: 0.05em;
|
||||
vertical-align: -0.075em; }
|
||||
|
||||
.fa-xl {
|
||||
font-size: 1.5em;
|
||||
line-height: 0.04167em;
|
||||
vertical-align: -0.125em; }
|
||||
|
||||
.fa-2xl {
|
||||
font-size: 2em;
|
||||
line-height: 0.03125em;
|
||||
vertical-align: -0.1875em; }
|
||||
|
||||
.fa-fw {
|
||||
text-align: center;
|
||||
width: 1.25em; }
|
||||
|
||||
.fa-ul {
|
||||
list-style-type: none;
|
||||
margin-left: 2.5em;
|
||||
margin-left: var(--fa-li-margin, 2.5em);
|
||||
padding-left: 0; }
|
||||
.fa-ul > li {
|
||||
position: relative; }
|
||||
|
||||
.fa-li {
|
||||
left: -2em;
|
||||
left: calc(-1 * var(--fa-li-width, 2em));
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: 2em;
|
||||
width: var(--fa-li-width, 2em);
|
||||
line-height: inherit; }
|
||||
|
||||
.fa-border {
|
||||
border: solid 0.08em #eee;
|
||||
border-radius: .1em;
|
||||
padding: .2em .25em .15em; }
|
||||
border-color: var(--fa-border-color, #eee);
|
||||
border-radius: var(--fa-border-radius, 0.1em);
|
||||
border-style: var(--fa-border-style, solid);
|
||||
border-width: var(--fa-border-width, 0.08em);
|
||||
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); }
|
||||
|
||||
.fa-pull-left {
|
||||
float: left; }
|
||||
float: left;
|
||||
margin-right: var(--fa-pull-margin, 0.3em); }
|
||||
|
||||
.fa-pull-right {
|
||||
float: right; }
|
||||
float: right;
|
||||
margin-left: var(--fa-pull-margin, 0.3em); }
|
||||
|
||||
.fa.fa-pull-left,
|
||||
.fas.fa-pull-left,
|
||||
.far.fa-pull-left,
|
||||
.fal.fa-pull-left,
|
||||
.fab.fa-pull-left {
|
||||
margin-right: .3em; }
|
||||
.fa-beat {
|
||||
animation-name: fa-beat;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
|
||||
.fa.fa-pull-right,
|
||||
.fas.fa-pull-right,
|
||||
.far.fa-pull-right,
|
||||
.fal.fa-pull-right,
|
||||
.fab.fa-pull-right {
|
||||
margin-left: .3em; }
|
||||
.fa-bounce {
|
||||
animation-name: fa-bounce;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
|
||||
|
||||
.fa-fade {
|
||||
animation-name: fa-fade;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
|
||||
.fa-beat-fade {
|
||||
animation-name: fa-beat-fade;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
|
||||
.fa-flip {
|
||||
animation-name: fa-flip;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
|
||||
.fa-shake {
|
||||
animation-name: fa-shake;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
|
||||
.fa-spin {
|
||||
-webkit-animation: fa-spin 2s infinite linear;
|
||||
animation: fa-spin 2s infinite linear; }
|
||||
animation-name: fa-spin;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 2s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
|
||||
.fa-pulse {
|
||||
-webkit-animation: fa-spin 1s infinite steps(8);
|
||||
animation: fa-spin 1s infinite steps(8); }
|
||||
.fa-spin-reverse {
|
||||
--fa-animation-direction: reverse; }
|
||||
|
||||
@-webkit-keyframes fa-spin {
|
||||
.fa-pulse,
|
||||
.fa-spin-pulse {
|
||||
animation-name: fa-spin;
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, steps(8)); }
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.fa-beat,
|
||||
.fa-bounce,
|
||||
.fa-fade,
|
||||
.fa-beat-fade,
|
||||
.fa-flip,
|
||||
.fa-pulse,
|
||||
.fa-shake,
|
||||
.fa-spin,
|
||||
.fa-spin-pulse {
|
||||
animation-delay: -1ms;
|
||||
animation-duration: 1ms;
|
||||
animation-iteration-count: 1;
|
||||
transition-delay: 0s;
|
||||
transition-duration: 0s; } }
|
||||
|
||||
@keyframes fa-beat {
|
||||
0%, 90% {
|
||||
transform: scale(1); }
|
||||
45% {
|
||||
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||
|
||||
@keyframes fa-bounce {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
10% {
|
||||
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||
30% {
|
||||
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||
50% {
|
||||
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||
57% {
|
||||
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||
64% {
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg); } }
|
||||
transform: scale(1, 1) translateY(0); } }
|
||||
|
||||
@keyframes fa-fade {
|
||||
50% {
|
||||
opacity: var(--fa-fade-opacity, 0.4); } }
|
||||
|
||||
@keyframes fa-beat-fade {
|
||||
0%, 100% {
|
||||
opacity: var(--fa-beat-fade-opacity, 0.4);
|
||||
transform: scale(1); }
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||
|
||||
@keyframes fa-flip {
|
||||
50% {
|
||||
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||
|
||||
@keyframes fa-shake {
|
||||
0% {
|
||||
transform: rotate(-15deg); }
|
||||
4% {
|
||||
transform: rotate(15deg); }
|
||||
8%, 24% {
|
||||
transform: rotate(-18deg); }
|
||||
12%, 28% {
|
||||
transform: rotate(18deg); }
|
||||
16% {
|
||||
transform: rotate(-22deg); }
|
||||
20% {
|
||||
transform: rotate(22deg); }
|
||||
32% {
|
||||
transform: rotate(-12deg); }
|
||||
36% {
|
||||
transform: rotate(12deg); }
|
||||
40%, 100% {
|
||||
transform: rotate(0deg); } }
|
||||
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
transform: rotate(0deg); }
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg); } }
|
||||
transform: rotate(360deg); } }
|
||||
|
||||
.fa-rotate-90 {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
|
||||
-webkit-transform: rotate(90deg);
|
||||
transform: rotate(90deg); }
|
||||
transform: rotate(90deg); }
|
||||
|
||||
.fa-rotate-180 {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
|
||||
-webkit-transform: rotate(180deg);
|
||||
transform: rotate(180deg); }
|
||||
transform: rotate(180deg); }
|
||||
|
||||
.fa-rotate-270 {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
|
||||
-webkit-transform: rotate(270deg);
|
||||
transform: rotate(270deg); }
|
||||
transform: rotate(270deg); }
|
||||
|
||||
.fa-flip-horizontal {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
|
||||
-webkit-transform: scale(-1, 1);
|
||||
transform: scale(-1, 1); }
|
||||
transform: scale(-1, 1); }
|
||||
|
||||
.fa-flip-vertical {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
|
||||
-webkit-transform: scale(1, -1);
|
||||
transform: scale(1, -1); }
|
||||
transform: scale(1, -1); }
|
||||
|
||||
.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
|
||||
-webkit-transform: scale(-1, -1);
|
||||
transform: scale(-1, -1); }
|
||||
.fa-flip-both,
|
||||
.fa-flip-horizontal.fa-flip-vertical {
|
||||
transform: scale(-1, -1); }
|
||||
|
||||
:root .fa-rotate-90,
|
||||
:root .fa-rotate-180,
|
||||
:root .fa-rotate-270,
|
||||
:root .fa-flip-horizontal,
|
||||
:root .fa-flip-vertical,
|
||||
:root .fa-flip-both {
|
||||
-webkit-filter: none;
|
||||
filter: none; }
|
||||
.fa-rotate-by {
|
||||
transform: rotate(var(--fa-rotate-angle, 0)); }
|
||||
|
||||
.fa-stack {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
height: 2em;
|
||||
position: relative;
|
||||
width: 2.5em; }
|
||||
|
|
@ -314,7 +398,8 @@ svg:not(:root).svg-inline--fa {
|
|||
margin: auto;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0; }
|
||||
top: 0;
|
||||
z-index: var(--fa-stack-z-index, auto); }
|
||||
|
||||
.svg-inline--fa.fa-stack-1x {
|
||||
height: 1em;
|
||||
|
|
@ -325,47 +410,50 @@ svg:not(:root).svg-inline--fa {
|
|||
width: 2.5em; }
|
||||
|
||||
.fa-inverse {
|
||||
color: #fff; }
|
||||
color: var(--fa-inverse, #fff); }
|
||||
|
||||
.sr-only {
|
||||
border: 0;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
.sr-only,
|
||||
.fa-sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px; }
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0; }
|
||||
|
||||
.sr-only-focusable:active, .sr-only-focusable:focus {
|
||||
clip: auto;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
position: static;
|
||||
width: auto; }
|
||||
.sr-only-focusable:not(:focus),
|
||||
.fa-sr-only-focusable:not(:focus) {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0; }
|
||||
|
||||
.svg-inline--fa .fa-primary {
|
||||
fill: var(--fa-primary-color, currentColor);
|
||||
opacity: 1;
|
||||
opacity: var(--fa-primary-opacity, 1); }
|
||||
|
||||
.svg-inline--fa .fa-secondary {
|
||||
fill: var(--fa-secondary-color, currentColor);
|
||||
opacity: 0.4;
|
||||
opacity: var(--fa-secondary-opacity, 0.4); }
|
||||
|
||||
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
||||
opacity: 0.4;
|
||||
opacity: var(--fa-secondary-opacity, 0.4); }
|
||||
|
||||
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
||||
opacity: 1;
|
||||
opacity: var(--fa-primary-opacity, 1); }
|
||||
|
||||
.svg-inline--fa mask .fa-primary,
|
||||
.svg-inline--fa mask .fa-secondary {
|
||||
fill: black; }
|
||||
|
||||
.fad.fa-inverse {
|
||||
color: #fff; }
|
||||
.fad.fa-inverse,
|
||||
.fa-duotone.fa-inverse {
|
||||
color: var(--fa-inverse, #fff); }
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,26 @@
|
|||
/*!
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
|
||||
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
|
||||
unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype");
|
||||
unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; }
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
/*!
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,22 @@
|
|||
/*!
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
font-display: block;
|
||||
font-weight: 400;
|
||||
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-display: block;
|
||||
font-weight: 900;
|
||||
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-display: block;
|
||||
font-weight: 400;
|
||||
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
/*!
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
|
||||
//load icons
|
||||
$font_awesome_icons = [];
|
||||
if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/metadata/icons.json')) {
|
||||
$icons_json = file_get_contents($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/metadata/icons.json');
|
||||
if (!empty($icons_json)) {
|
||||
$icons_array = json_decode($icons_json, true);
|
||||
if (!empty($icons_array) && is_array($icons_array)) {
|
||||
foreach ($icons_array as $icon_name => $properties) {
|
||||
if (!empty($properties['free']) && is_array($properties['free'])) {
|
||||
foreach ($properties['free'] as $icon_style) {
|
||||
$font_awesome_icons[] = 'fa-'.$icon_style.' fa-'.$icon_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//view_array($font_awesome_icons, 0);
|
||||
|
|
@ -1,961 +0,0 @@
|
|||
<?php
|
||||
$fas[] = 'fa-ad';
|
||||
$fas[] = 'fa-address-book';
|
||||
$fas[] = 'fa-address-card';
|
||||
$fas[] = 'fa-adjust';
|
||||
$fas[] = 'fa-air-freshener';
|
||||
$fas[] = 'fa-align-center';
|
||||
$fas[] = 'fa-align-justify';
|
||||
$fas[] = 'fa-align-left';
|
||||
$fas[] = 'fa-align-right';
|
||||
$fas[] = 'fa-allergies';
|
||||
$fas[] = 'fa-ambulance';
|
||||
$fas[] = 'fa-american-sign-language-interpreting';
|
||||
$fas[] = 'fa-anchor';
|
||||
$fas[] = 'fa-angle-double-down';
|
||||
$fas[] = 'fa-angle-double-left';
|
||||
$fas[] = 'fa-angle-double-right';
|
||||
$fas[] = 'fa-angle-double-up';
|
||||
$fas[] = 'fa-angle-down';
|
||||
$fas[] = 'fa-angle-left';
|
||||
$fas[] = 'fa-angle-right';
|
||||
$fas[] = 'fa-angle-up';
|
||||
$fas[] = 'fa-angry';
|
||||
$fas[] = 'fa-ankh';
|
||||
$fas[] = 'fa-apple-alt';
|
||||
$fas[] = 'fa-archive';
|
||||
$fas[] = 'fa-archway';
|
||||
$fas[] = 'fa-arrow-alt-circle-down';
|
||||
$fas[] = 'fa-arrow-alt-circle-left';
|
||||
$fas[] = 'fa-arrow-alt-circle-right';
|
||||
$fas[] = 'fa-arrow-alt-circle-up';
|
||||
$fas[] = 'fa-arrow-circle-down';
|
||||
$fas[] = 'fa-arrow-circle-left';
|
||||
$fas[] = 'fa-arrow-circle-right';
|
||||
$fas[] = 'fa-arrow-circle-up';
|
||||
$fas[] = 'fa-arrow-down';
|
||||
$fas[] = 'fa-arrow-left';
|
||||
$fas[] = 'fa-arrow-right';
|
||||
$fas[] = 'fa-arrow-up';
|
||||
$fas[] = 'fa-arrows-alt';
|
||||
$fas[] = 'fa-arrows-alt-h';
|
||||
$fas[] = 'fa-arrows-alt-v';
|
||||
$fas[] = 'fa-assistive-listening-systems';
|
||||
$fas[] = 'fa-asterisk';
|
||||
$fas[] = 'fa-at';
|
||||
$fas[] = 'fa-atlas';
|
||||
$fas[] = 'fa-atom';
|
||||
$fas[] = 'fa-audio-description';
|
||||
$fas[] = 'fa-award';
|
||||
$fas[] = 'fa-baby';
|
||||
$fas[] = 'fa-baby-carriage';
|
||||
$fas[] = 'fa-backspace';
|
||||
$fas[] = 'fa-backward';
|
||||
$fas[] = 'fa-bacon';
|
||||
$fas[] = 'fa-balance-scale';
|
||||
$fas[] = 'fa-balance-scale-left';
|
||||
$fas[] = 'fa-balance-scale-right';
|
||||
$fas[] = 'fa-ban';
|
||||
$fas[] = 'fa-band-aid';
|
||||
$fas[] = 'fa-barcode';
|
||||
$fas[] = 'fa-bars';
|
||||
$fas[] = 'fa-baseball-ball';
|
||||
$fas[] = 'fa-basketball-ball';
|
||||
$fas[] = 'fa-bath';
|
||||
$fas[] = 'fa-battery-empty';
|
||||
$fas[] = 'fa-battery-full';
|
||||
$fas[] = 'fa-battery-half';
|
||||
$fas[] = 'fa-battery-quarter';
|
||||
$fas[] = 'fa-battery-three-quarters';
|
||||
$fas[] = 'fa-bed';
|
||||
$fas[] = 'fa-beer';
|
||||
$fas[] = 'fa-bell';
|
||||
$fas[] = 'fa-bell-slash';
|
||||
$fas[] = 'fa-bezier-curve';
|
||||
$fas[] = 'fa-bible';
|
||||
$fas[] = 'fa-bicycle';
|
||||
$fas[] = 'fa-biking';
|
||||
$fas[] = 'fa-binoculars';
|
||||
$fas[] = 'fa-biohazard';
|
||||
$fas[] = 'fa-birthday-cake';
|
||||
$fas[] = 'fa-blender';
|
||||
$fas[] = 'fa-blender-phone';
|
||||
$fas[] = 'fa-blind';
|
||||
$fas[] = 'fa-blog';
|
||||
$fas[] = 'fa-bold';
|
||||
$fas[] = 'fa-bolt';
|
||||
$fas[] = 'fa-bomb';
|
||||
$fas[] = 'fa-bone';
|
||||
$fas[] = 'fa-bong';
|
||||
$fas[] = 'fa-book';
|
||||
$fas[] = 'fa-book-dead';
|
||||
$fas[] = 'fa-book-medical';
|
||||
$fas[] = 'fa-book-open';
|
||||
$fas[] = 'fa-book-reader';
|
||||
$fas[] = 'fa-bookmark';
|
||||
$fas[] = 'fa-border-all';
|
||||
$fas[] = 'fa-border-none';
|
||||
$fas[] = 'fa-border-style';
|
||||
$fas[] = 'fa-bowling-ball';
|
||||
$fas[] = 'fa-box';
|
||||
$fas[] = 'fa-box-open';
|
||||
$fas[] = 'fa-boxes';
|
||||
$fas[] = 'fa-braille';
|
||||
$fas[] = 'fa-brain';
|
||||
$fas[] = 'fa-bread-slice';
|
||||
$fas[] = 'fa-briefcase';
|
||||
$fas[] = 'fa-briefcase-medical';
|
||||
$fas[] = 'fa-broadcast-tower';
|
||||
$fas[] = 'fa-broom';
|
||||
$fas[] = 'fa-brush';
|
||||
$fas[] = 'fa-bug';
|
||||
$fas[] = 'fa-building';
|
||||
$fas[] = 'fa-bullhorn';
|
||||
$fas[] = 'fa-bullseye';
|
||||
$fas[] = 'fa-burn';
|
||||
$fas[] = 'fa-bus';
|
||||
$fas[] = 'fa-bus-alt';
|
||||
$fas[] = 'fa-business-time';
|
||||
$fas[] = 'fa-calculator';
|
||||
$fas[] = 'fa-calendar';
|
||||
$fas[] = 'fa-calendar-alt';
|
||||
$fas[] = 'fa-calendar-check';
|
||||
$fas[] = 'fa-calendar-day';
|
||||
$fas[] = 'fa-calendar-minus';
|
||||
$fas[] = 'fa-calendar-plus';
|
||||
$fas[] = 'fa-calendar-times';
|
||||
$fas[] = 'fa-calendar-week';
|
||||
$fas[] = 'fa-camera';
|
||||
$fas[] = 'fa-camera-retro';
|
||||
$fas[] = 'fa-campground';
|
||||
$fas[] = 'fa-candy-cane';
|
||||
$fas[] = 'fa-cannabis';
|
||||
$fas[] = 'fa-capsules';
|
||||
$fas[] = 'fa-car';
|
||||
$fas[] = 'fa-car-alt';
|
||||
$fas[] = 'fa-car-battery';
|
||||
$fas[] = 'fa-car-crash';
|
||||
$fas[] = 'fa-car-side';
|
||||
$fas[] = 'fa-caret-down';
|
||||
$fas[] = 'fa-caret-left';
|
||||
$fas[] = 'fa-caret-right';
|
||||
$fas[] = 'fa-caret-square-down';
|
||||
$fas[] = 'fa-caret-square-left';
|
||||
$fas[] = 'fa-caret-square-right';
|
||||
$fas[] = 'fa-caret-square-up';
|
||||
$fas[] = 'fa-caret-up';
|
||||
$fas[] = 'fa-carrot';
|
||||
$fas[] = 'fa-cart-arrow-down';
|
||||
$fas[] = 'fa-cart-plus';
|
||||
$fas[] = 'fa-cash-register';
|
||||
$fas[] = 'fa-cat';
|
||||
$fas[] = 'fa-certificate';
|
||||
$fas[] = 'fa-chair';
|
||||
$fas[] = 'fa-chalkboard';
|
||||
$fas[] = 'fa-chalkboard-teacher';
|
||||
$fas[] = 'fa-charging-station';
|
||||
$fas[] = 'fa-chart-area';
|
||||
$fas[] = 'fa-chart-bar';
|
||||
$fas[] = 'fa-chart-line';
|
||||
$fas[] = 'fa-chart-pie';
|
||||
$fas[] = 'fa-check';
|
||||
$fas[] = 'fa-check-circle';
|
||||
$fas[] = 'fa-check-double';
|
||||
$fas[] = 'fa-check-square';
|
||||
$fas[] = 'fa-cheese';
|
||||
$fas[] = 'fa-chess';
|
||||
$fas[] = 'fa-chess-bishop';
|
||||
$fas[] = 'fa-chess-board';
|
||||
$fas[] = 'fa-chess-king';
|
||||
$fas[] = 'fa-chess-knight';
|
||||
$fas[] = 'fa-chess-pawn';
|
||||
$fas[] = 'fa-chess-queen';
|
||||
$fas[] = 'fa-chess-rook';
|
||||
$fas[] = 'fa-chevron-circle-down';
|
||||
$fas[] = 'fa-chevron-circle-left';
|
||||
$fas[] = 'fa-chevron-circle-right';
|
||||
$fas[] = 'fa-chevron-circle-up';
|
||||
$fas[] = 'fa-chevron-down';
|
||||
$fas[] = 'fa-chevron-left';
|
||||
$fas[] = 'fa-chevron-right';
|
||||
$fas[] = 'fa-chevron-up';
|
||||
$fas[] = 'fa-child';
|
||||
$fas[] = 'fa-church';
|
||||
$fas[] = 'fa-circle';
|
||||
$fas[] = 'fa-circle-notch';
|
||||
$fas[] = 'fa-city';
|
||||
$fas[] = 'fa-clinic-medical';
|
||||
$fas[] = 'fa-clipboard';
|
||||
$fas[] = 'fa-clipboard-check';
|
||||
$fas[] = 'fa-clipboard-list';
|
||||
$fas[] = 'fa-clock';
|
||||
$fas[] = 'fa-clone';
|
||||
$fas[] = 'fa-closed-captioning';
|
||||
$fas[] = 'fa-cloud';
|
||||
$fas[] = 'fa-cloud-download-alt';
|
||||
$fas[] = 'fa-cloud-meatball';
|
||||
$fas[] = 'fa-cloud-moon';
|
||||
$fas[] = 'fa-cloud-moon-rain';
|
||||
$fas[] = 'fa-cloud-rain';
|
||||
$fas[] = 'fa-cloud-showers-heavy';
|
||||
$fas[] = 'fa-cloud-sun';
|
||||
$fas[] = 'fa-cloud-sun-rain';
|
||||
$fas[] = 'fa-cloud-upload-alt';
|
||||
$fas[] = 'fa-cocktail';
|
||||
$fas[] = 'fa-code';
|
||||
$fas[] = 'fa-code-branch';
|
||||
$fas[] = 'fa-coffee';
|
||||
$fas[] = 'fa-cog';
|
||||
$fas[] = 'fa-cogs';
|
||||
$fas[] = 'fa-coins';
|
||||
$fas[] = 'fa-columns';
|
||||
$fas[] = 'fa-comment';
|
||||
$fas[] = 'fa-comment-alt';
|
||||
$fas[] = 'fa-comment-dollar';
|
||||
$fas[] = 'fa-comment-dots';
|
||||
$fas[] = 'fa-comment-medical';
|
||||
$fas[] = 'fa-comment-slash';
|
||||
$fas[] = 'fa-comments';
|
||||
$fas[] = 'fa-comments-dollar';
|
||||
$fas[] = 'fa-compact-disc';
|
||||
$fas[] = 'fa-compass';
|
||||
$fas[] = 'fa-compress';
|
||||
$fas[] = 'fa-compress-arrows-alt';
|
||||
$fas[] = 'fa-concierge-bell';
|
||||
$fas[] = 'fa-cookie';
|
||||
$fas[] = 'fa-cookie-bite';
|
||||
$fas[] = 'fa-copy';
|
||||
$fas[] = 'fa-copyright';
|
||||
$fas[] = 'fa-couch';
|
||||
$fas[] = 'fa-credit-card';
|
||||
$fas[] = 'fa-crop';
|
||||
$fas[] = 'fa-crop-alt';
|
||||
$fas[] = 'fa-cross';
|
||||
$fas[] = 'fa-crosshairs';
|
||||
$fas[] = 'fa-crow';
|
||||
$fas[] = 'fa-crown';
|
||||
$fas[] = 'fa-crutch';
|
||||
$fas[] = 'fa-cube';
|
||||
$fas[] = 'fa-cubes';
|
||||
$fas[] = 'fa-cut';
|
||||
$fas[] = 'fa-database';
|
||||
$fas[] = 'fa-deaf';
|
||||
$fas[] = 'fa-democrat';
|
||||
$fas[] = 'fa-desktop';
|
||||
$fas[] = 'fa-dharmachakra';
|
||||
$fas[] = 'fa-diagnoses';
|
||||
$fas[] = 'fa-dice';
|
||||
$fas[] = 'fa-dice-d20';
|
||||
$fas[] = 'fa-dice-d6';
|
||||
$fas[] = 'fa-dice-five';
|
||||
$fas[] = 'fa-dice-four';
|
||||
$fas[] = 'fa-dice-one';
|
||||
$fas[] = 'fa-dice-six';
|
||||
$fas[] = 'fa-dice-three';
|
||||
$fas[] = 'fa-dice-two';
|
||||
$fas[] = 'fa-digital-tachograph';
|
||||
$fas[] = 'fa-directions';
|
||||
$fas[] = 'fa-divide';
|
||||
$fas[] = 'fa-dizzy';
|
||||
$fas[] = 'fa-dna';
|
||||
$fas[] = 'fa-dog';
|
||||
$fas[] = 'fa-dollar-sign';
|
||||
$fas[] = 'fa-dolly';
|
||||
$fas[] = 'fa-dolly-flatbed';
|
||||
$fas[] = 'fa-donate';
|
||||
$fas[] = 'fa-door-closed';
|
||||
$fas[] = 'fa-door-open';
|
||||
$fas[] = 'fa-dot-circle';
|
||||
$fas[] = 'fa-dove';
|
||||
$fas[] = 'fa-download';
|
||||
$fas[] = 'fa-drafting-compass';
|
||||
$fas[] = 'fa-dragon';
|
||||
$fas[] = 'fa-draw-polygon';
|
||||
$fas[] = 'fa-drum';
|
||||
$fas[] = 'fa-drum-steelpan';
|
||||
$fas[] = 'fa-drumstick-bite';
|
||||
$fas[] = 'fa-dumbbell';
|
||||
$fas[] = 'fa-dumpster';
|
||||
$fas[] = 'fa-dumpster-fire';
|
||||
$fas[] = 'fa-dungeon';
|
||||
$fas[] = 'fa-edit';
|
||||
$fas[] = 'fa-egg';
|
||||
$fas[] = 'fa-eject';
|
||||
$fas[] = 'fa-ellipsis-h';
|
||||
$fas[] = 'fa-ellipsis-v';
|
||||
$fas[] = 'fa-envelope';
|
||||
$fas[] = 'fa-envelope-open';
|
||||
$fas[] = 'fa-envelope-open-text';
|
||||
$fas[] = 'fa-envelope-square';
|
||||
$fas[] = 'fa-equals';
|
||||
$fas[] = 'fa-eraser';
|
||||
$fas[] = 'fa-ethernet';
|
||||
$fas[] = 'fa-euro-sign';
|
||||
$fas[] = 'fa-exchange-alt';
|
||||
$fas[] = 'fa-exclamation';
|
||||
$fas[] = 'fa-exclamation-circle';
|
||||
$fas[] = 'fa-exclamation-triangle';
|
||||
$fas[] = 'fa-expand';
|
||||
$fas[] = 'fa-expand-arrows-alt';
|
||||
$fas[] = 'fa-external-link-alt';
|
||||
$fas[] = 'fa-external-link-square-alt';
|
||||
$fas[] = 'fa-eye';
|
||||
$fas[] = 'fa-eye-dropper';
|
||||
$fas[] = 'fa-eye-slash';
|
||||
$fas[] = 'fa-fan';
|
||||
$fas[] = 'fa-fast-backward';
|
||||
$fas[] = 'fa-fast-forward';
|
||||
$fas[] = 'fa-fax';
|
||||
$fas[] = 'fa-feather';
|
||||
$fas[] = 'fa-feather-alt';
|
||||
$fas[] = 'fa-female';
|
||||
$fas[] = 'fa-fighter-jet';
|
||||
$fas[] = 'fa-file';
|
||||
$fas[] = 'fa-file-alt';
|
||||
$fas[] = 'fa-file-archive';
|
||||
$fas[] = 'fa-file-audio';
|
||||
$fas[] = 'fa-file-code';
|
||||
$fas[] = 'fa-file-contract';
|
||||
$fas[] = 'fa-file-csv';
|
||||
$fas[] = 'fa-file-download';
|
||||
$fas[] = 'fa-file-excel';
|
||||
$fas[] = 'fa-file-export';
|
||||
$fas[] = 'fa-file-image';
|
||||
$fas[] = 'fa-file-import';
|
||||
$fas[] = 'fa-file-invoice';
|
||||
$fas[] = 'fa-file-invoice-dollar';
|
||||
$fas[] = 'fa-file-medical';
|
||||
$fas[] = 'fa-file-medical-alt';
|
||||
$fas[] = 'fa-file-pdf';
|
||||
$fas[] = 'fa-file-powerpoint';
|
||||
$fas[] = 'fa-file-prescription';
|
||||
$fas[] = 'fa-file-signature';
|
||||
$fas[] = 'fa-file-upload';
|
||||
$fas[] = 'fa-file-video';
|
||||
$fas[] = 'fa-file-word';
|
||||
$fas[] = 'fa-fill';
|
||||
$fas[] = 'fa-fill-drip';
|
||||
$fas[] = 'fa-film';
|
||||
$fas[] = 'fa-filter';
|
||||
$fas[] = 'fa-fingerprint';
|
||||
$fas[] = 'fa-fire';
|
||||
$fas[] = 'fa-fire-alt';
|
||||
$fas[] = 'fa-fire-extinguisher';
|
||||
$fas[] = 'fa-first-aid';
|
||||
$fas[] = 'fa-fish';
|
||||
$fas[] = 'fa-fist-raised';
|
||||
$fas[] = 'fa-flag';
|
||||
$fas[] = 'fa-flag-checkered';
|
||||
$fas[] = 'fa-flag-usa';
|
||||
$fas[] = 'fa-flask';
|
||||
$fas[] = 'fa-flushed';
|
||||
$fas[] = 'fa-folder';
|
||||
$fas[] = 'fa-folder-minus';
|
||||
$fas[] = 'fa-folder-open';
|
||||
$fas[] = 'fa-folder-plus';
|
||||
$fas[] = 'fa-font';
|
||||
$fas[] = 'fa-font-awesome-logo-full';
|
||||
$fas[] = 'fa-football-ball';
|
||||
$fas[] = 'fa-forward';
|
||||
$fas[] = 'fa-frog';
|
||||
$fas[] = 'fa-frown';
|
||||
$fas[] = 'fa-frown-open';
|
||||
$fas[] = 'fa-funnel-dollar';
|
||||
$fas[] = 'fa-futbol';
|
||||
$fas[] = 'fa-gamepad';
|
||||
$fas[] = 'fa-gas-pump';
|
||||
$fas[] = 'fa-gavel';
|
||||
$fas[] = 'fa-gem';
|
||||
$fas[] = 'fa-genderless';
|
||||
$fas[] = 'fa-ghost';
|
||||
$fas[] = 'fa-gift';
|
||||
$fas[] = 'fa-gifts';
|
||||
$fas[] = 'fa-glass-cheers';
|
||||
$fas[] = 'fa-glass-martini';
|
||||
$fas[] = 'fa-glass-martini-alt';
|
||||
$fas[] = 'fa-glass-whiskey';
|
||||
$fas[] = 'fa-glasses';
|
||||
$fas[] = 'fa-globe';
|
||||
$fas[] = 'fa-globe-africa';
|
||||
$fas[] = 'fa-globe-americas';
|
||||
$fas[] = 'fa-globe-asia';
|
||||
$fas[] = 'fa-globe-europe';
|
||||
$fas[] = 'fa-golf-ball';
|
||||
$fas[] = 'fa-gopuram';
|
||||
$fas[] = 'fa-graduation-cap';
|
||||
$fas[] = 'fa-greater-than';
|
||||
$fas[] = 'fa-greater-than-equal';
|
||||
$fas[] = 'fa-grimace';
|
||||
$fas[] = 'fa-grin';
|
||||
$fas[] = 'fa-grin-alt';
|
||||
$fas[] = 'fa-grin-beam';
|
||||
$fas[] = 'fa-grin-beam-sweat';
|
||||
$fas[] = 'fa-grin-hearts';
|
||||
$fas[] = 'fa-grin-squint';
|
||||
$fas[] = 'fa-grin-squint-tears';
|
||||
$fas[] = 'fa-grin-stars';
|
||||
$fas[] = 'fa-grin-tears';
|
||||
$fas[] = 'fa-grin-tongue';
|
||||
$fas[] = 'fa-grin-tongue-squint';
|
||||
$fas[] = 'fa-grin-tongue-wink';
|
||||
$fas[] = 'fa-grin-wink';
|
||||
$fas[] = 'fa-grip-horizontal';
|
||||
$fas[] = 'fa-grip-lines';
|
||||
$fas[] = 'fa-grip-lines-vertical';
|
||||
$fas[] = 'fa-grip-vertical';
|
||||
$fas[] = 'fa-guitar';
|
||||
$fas[] = 'fa-h-square';
|
||||
$fas[] = 'fa-hamburger';
|
||||
$fas[] = 'fa-hammer';
|
||||
$fas[] = 'fa-hamsa';
|
||||
$fas[] = 'fa-hand-holding';
|
||||
$fas[] = 'fa-hand-holding-heart';
|
||||
$fas[] = 'fa-hand-holding-usd';
|
||||
$fas[] = 'fa-hand-lizard';
|
||||
$fas[] = 'fa-hand-middle-finger';
|
||||
$fas[] = 'fa-hand-paper';
|
||||
$fas[] = 'fa-hand-peace';
|
||||
$fas[] = 'fa-hand-point-down';
|
||||
$fas[] = 'fa-hand-point-left';
|
||||
$fas[] = 'fa-hand-point-right';
|
||||
$fas[] = 'fa-hand-point-up';
|
||||
$fas[] = 'fa-hand-pointer';
|
||||
$fas[] = 'fa-hand-rock';
|
||||
$fas[] = 'fa-hand-scissors';
|
||||
$fas[] = 'fa-hand-spock';
|
||||
$fas[] = 'fa-hands';
|
||||
$fas[] = 'fa-hands-helping';
|
||||
$fas[] = 'fa-handshake';
|
||||
$fas[] = 'fa-hanukiah';
|
||||
$fas[] = 'fa-hard-hat';
|
||||
$fas[] = 'fa-hashtag';
|
||||
$fas[] = 'fa-hat-wizard';
|
||||
$fas[] = 'fa-haykal';
|
||||
$fas[] = 'fa-hdd';
|
||||
$fas[] = 'fa-heading';
|
||||
$fas[] = 'fa-headphones';
|
||||
$fas[] = 'fa-headphones-alt';
|
||||
$fas[] = 'fa-headset';
|
||||
$fas[] = 'fa-heart';
|
||||
$fas[] = 'fa-heart-broken';
|
||||
$fas[] = 'fa-heartbeat';
|
||||
$fas[] = 'fa-helicopter';
|
||||
$fas[] = 'fa-highlighter';
|
||||
$fas[] = 'fa-hiking';
|
||||
$fas[] = 'fa-hippo';
|
||||
$fas[] = 'fa-history';
|
||||
$fas[] = 'fa-hockey-puck';
|
||||
$fas[] = 'fa-holly-berry';
|
||||
$fas[] = 'fa-home';
|
||||
$fas[] = 'fa-horse';
|
||||
$fas[] = 'fa-horse-head';
|
||||
$fas[] = 'fa-hospital';
|
||||
$fas[] = 'fa-hospital-alt';
|
||||
$fas[] = 'fa-hospital-symbol';
|
||||
$fas[] = 'fa-hot-tub';
|
||||
$fas[] = 'fa-hotdog';
|
||||
$fas[] = 'fa-hotel';
|
||||
$fas[] = 'fa-hourglass';
|
||||
$fas[] = 'fa-hourglass-end';
|
||||
$fas[] = 'fa-hourglass-half';
|
||||
$fas[] = 'fa-hourglass-start';
|
||||
$fas[] = 'fa-house-damage';
|
||||
$fas[] = 'fa-hryvnia';
|
||||
$fas[] = 'fa-i-cursor';
|
||||
$fas[] = 'fa-ice-cream';
|
||||
$fas[] = 'fa-icicles';
|
||||
$fas[] = 'fa-icons';
|
||||
$fas[] = 'fa-id-badge';
|
||||
$fas[] = 'fa-id-card';
|
||||
$fas[] = 'fa-id-card-alt';
|
||||
$fas[] = 'fa-igloo';
|
||||
$fas[] = 'fa-image';
|
||||
$fas[] = 'fa-images';
|
||||
$fas[] = 'fa-inbox';
|
||||
$fas[] = 'fa-indent';
|
||||
$fas[] = 'fa-industry';
|
||||
$fas[] = 'fa-infinity';
|
||||
$fas[] = 'fa-info';
|
||||
$fas[] = 'fa-info-circle';
|
||||
$fas[] = 'fa-italic';
|
||||
$fas[] = 'fa-jedi';
|
||||
$fas[] = 'fa-joint';
|
||||
$fas[] = 'fa-journal-whills';
|
||||
$fas[] = 'fa-kaaba';
|
||||
$fas[] = 'fa-key';
|
||||
$fas[] = 'fa-keyboard';
|
||||
$fas[] = 'fa-khanda';
|
||||
$fas[] = 'fa-kiss';
|
||||
$fas[] = 'fa-kiss-beam';
|
||||
$fas[] = 'fa-kiss-wink-heart';
|
||||
$fas[] = 'fa-kiwi-bird';
|
||||
$fas[] = 'fa-landmark';
|
||||
$fas[] = 'fa-language';
|
||||
$fas[] = 'fa-laptop';
|
||||
$fas[] = 'fa-laptop-code';
|
||||
$fas[] = 'fa-laptop-medical';
|
||||
$fas[] = 'fa-laugh';
|
||||
$fas[] = 'fa-laugh-beam';
|
||||
$fas[] = 'fa-laugh-squint';
|
||||
$fas[] = 'fa-laugh-wink';
|
||||
$fas[] = 'fa-layer-group';
|
||||
$fas[] = 'fa-leaf';
|
||||
$fas[] = 'fa-lemon';
|
||||
$fas[] = 'fa-less-than';
|
||||
$fas[] = 'fa-less-than-equal';
|
||||
$fas[] = 'fa-level-down-alt';
|
||||
$fas[] = 'fa-level-up-alt';
|
||||
$fas[] = 'fa-life-ring';
|
||||
$fas[] = 'fa-lightbulb';
|
||||
$fas[] = 'fa-link';
|
||||
$fas[] = 'fa-lira-sign';
|
||||
$fas[] = 'fa-list';
|
||||
$fas[] = 'fa-list-alt';
|
||||
$fas[] = 'fa-list-ol';
|
||||
$fas[] = 'fa-list-ul';
|
||||
$fas[] = 'fa-location-arrow';
|
||||
$fas[] = 'fa-lock';
|
||||
$fas[] = 'fa-lock-open';
|
||||
$fas[] = 'fa-long-arrow-alt-down';
|
||||
$fas[] = 'fa-long-arrow-alt-left';
|
||||
$fas[] = 'fa-long-arrow-alt-right';
|
||||
$fas[] = 'fa-long-arrow-alt-up';
|
||||
$fas[] = 'fa-low-vision';
|
||||
$fas[] = 'fa-luggage-cart';
|
||||
$fas[] = 'fa-magic';
|
||||
$fas[] = 'fa-magnet';
|
||||
$fas[] = 'fa-mail-bulk';
|
||||
$fas[] = 'fa-male';
|
||||
$fas[] = 'fa-map';
|
||||
$fas[] = 'fa-map-marked';
|
||||
$fas[] = 'fa-map-marked-alt';
|
||||
$fas[] = 'fa-map-marker';
|
||||
$fas[] = 'fa-map-marker-alt';
|
||||
$fas[] = 'fa-map-pin';
|
||||
$fas[] = 'fa-map-signs';
|
||||
$fas[] = 'fa-marker';
|
||||
$fas[] = 'fa-mars';
|
||||
$fas[] = 'fa-mars-double';
|
||||
$fas[] = 'fa-mars-stroke';
|
||||
$fas[] = 'fa-mars-stroke-h';
|
||||
$fas[] = 'fa-mars-stroke-v';
|
||||
$fas[] = 'fa-mask';
|
||||
$fas[] = 'fa-medal';
|
||||
$fas[] = 'fa-medkit';
|
||||
$fas[] = 'fa-meh';
|
||||
$fas[] = 'fa-meh-blank';
|
||||
$fas[] = 'fa-meh-rolling-eyes';
|
||||
$fas[] = 'fa-memory';
|
||||
$fas[] = 'fa-menorah';
|
||||
$fas[] = 'fa-mercury';
|
||||
$fas[] = 'fa-meteor';
|
||||
$fas[] = 'fa-microchip';
|
||||
$fas[] = 'fa-microphone';
|
||||
$fas[] = 'fa-microphone-alt';
|
||||
$fas[] = 'fa-microphone-alt-slash';
|
||||
$fas[] = 'fa-microphone-slash';
|
||||
$fas[] = 'fa-microscope';
|
||||
$fas[] = 'fa-minus';
|
||||
$fas[] = 'fa-minus-circle';
|
||||
$fas[] = 'fa-minus-square';
|
||||
$fas[] = 'fa-mitten';
|
||||
$fas[] = 'fa-mobile';
|
||||
$fas[] = 'fa-mobile-alt';
|
||||
$fas[] = 'fa-money-bill';
|
||||
$fas[] = 'fa-money-bill-alt';
|
||||
$fas[] = 'fa-money-bill-wave';
|
||||
$fas[] = 'fa-money-bill-wave-alt';
|
||||
$fas[] = 'fa-money-check';
|
||||
$fas[] = 'fa-money-check-alt';
|
||||
$fas[] = 'fa-monument';
|
||||
$fas[] = 'fa-moon';
|
||||
$fas[] = 'fa-mortar-pestle';
|
||||
$fas[] = 'fa-mosque';
|
||||
$fas[] = 'fa-motorcycle';
|
||||
$fas[] = 'fa-mountain';
|
||||
$fas[] = 'fa-mouse-pointer';
|
||||
$fas[] = 'fa-mug-hot';
|
||||
$fas[] = 'fa-music';
|
||||
$fas[] = 'fa-network-wired';
|
||||
$fas[] = 'fa-neuter';
|
||||
$fas[] = 'fa-newspaper';
|
||||
$fas[] = 'fa-not-equal';
|
||||
$fas[] = 'fa-notes-medical';
|
||||
$fas[] = 'fa-object-group';
|
||||
$fas[] = 'fa-object-ungroup';
|
||||
$fas[] = 'fa-oil-can';
|
||||
$fas[] = 'fa-om';
|
||||
$fas[] = 'fa-otter';
|
||||
$fas[] = 'fa-outdent';
|
||||
$fas[] = 'fa-pager';
|
||||
$fas[] = 'fa-paint-brush';
|
||||
$fas[] = 'fa-paint-roller';
|
||||
$fas[] = 'fa-palette';
|
||||
$fas[] = 'fa-pallet';
|
||||
$fas[] = 'fa-paper-plane';
|
||||
$fas[] = 'fa-paperclip';
|
||||
$fas[] = 'fa-parachute-box';
|
||||
$fas[] = 'fa-paragraph';
|
||||
$fas[] = 'fa-parking';
|
||||
$fas[] = 'fa-passport';
|
||||
$fas[] = 'fa-pastafarianism';
|
||||
$fas[] = 'fa-paste';
|
||||
$fas[] = 'fa-pause';
|
||||
$fas[] = 'fa-pause-circle';
|
||||
$fas[] = 'fa-paw';
|
||||
$fas[] = 'fa-peace';
|
||||
$fas[] = 'fa-pen';
|
||||
$fas[] = 'fa-pen-alt';
|
||||
$fas[] = 'fa-pen-fancy';
|
||||
$fas[] = 'fa-pen-nib';
|
||||
$fas[] = 'fa-pen-square';
|
||||
$fas[] = 'fa-pencil-alt';
|
||||
$fas[] = 'fa-pencil-ruler';
|
||||
$fas[] = 'fa-people-carry';
|
||||
$fas[] = 'fa-pepper-hot';
|
||||
$fas[] = 'fa-percent';
|
||||
$fas[] = 'fa-percentage';
|
||||
$fas[] = 'fa-person-booth';
|
||||
$fas[] = 'fa-phone';
|
||||
$fas[] = 'fa-phone-alt';
|
||||
$fas[] = 'fa-phone-slash';
|
||||
$fas[] = 'fa-phone-square';
|
||||
$fas[] = 'fa-phone-square-alt';
|
||||
$fas[] = 'fa-phone-volume';
|
||||
$fas[] = 'fa-photo-video';
|
||||
$fas[] = 'fa-piggy-bank';
|
||||
$fas[] = 'fa-pills';
|
||||
$fas[] = 'fa-pizza-slice';
|
||||
$fas[] = 'fa-place-of-worship';
|
||||
$fas[] = 'fa-plane';
|
||||
$fas[] = 'fa-plane-arrival';
|
||||
$fas[] = 'fa-plane-departure';
|
||||
$fas[] = 'fa-play';
|
||||
$fas[] = 'fa-play-circle';
|
||||
$fas[] = 'fa-plug';
|
||||
$fas[] = 'fa-plus';
|
||||
$fas[] = 'fa-plus-circle';
|
||||
$fas[] = 'fa-plus-square';
|
||||
$fas[] = 'fa-podcast';
|
||||
$fas[] = 'fa-poll';
|
||||
$fas[] = 'fa-poll-h';
|
||||
$fas[] = 'fa-poo';
|
||||
$fas[] = 'fa-poo-storm';
|
||||
$fas[] = 'fa-poop';
|
||||
$fas[] = 'fa-portrait';
|
||||
$fas[] = 'fa-pound-sign';
|
||||
$fas[] = 'fa-power-off';
|
||||
$fas[] = 'fa-pray';
|
||||
$fas[] = 'fa-praying-hands';
|
||||
$fas[] = 'fa-prescription';
|
||||
$fas[] = 'fa-prescription-bottle';
|
||||
$fas[] = 'fa-prescription-bottle-alt';
|
||||
$fas[] = 'fa-print';
|
||||
$fas[] = 'fa-procedures';
|
||||
$fas[] = 'fa-project-diagram';
|
||||
$fas[] = 'fa-puzzle-piece';
|
||||
$fas[] = 'fa-qrcode';
|
||||
$fas[] = 'fa-question';
|
||||
$fas[] = 'fa-question-circle';
|
||||
$fas[] = 'fa-quidditch';
|
||||
$fas[] = 'fa-quote-left';
|
||||
$fas[] = 'fa-quote-right';
|
||||
$fas[] = 'fa-quran';
|
||||
$fas[] = 'fa-radiation';
|
||||
$fas[] = 'fa-radiation-alt';
|
||||
$fas[] = 'fa-rainbow';
|
||||
$fas[] = 'fa-random';
|
||||
$fas[] = 'fa-receipt';
|
||||
$fas[] = 'fa-recycle';
|
||||
$fas[] = 'fa-redo';
|
||||
$fas[] = 'fa-redo-alt';
|
||||
$fas[] = 'fa-registered';
|
||||
$fas[] = 'fa-remove-format';
|
||||
$fas[] = 'fa-reply';
|
||||
$fas[] = 'fa-reply-all';
|
||||
$fas[] = 'fa-republican';
|
||||
$fas[] = 'fa-restroom';
|
||||
$fas[] = 'fa-retweet';
|
||||
$fas[] = 'fa-ribbon';
|
||||
$fas[] = 'fa-ring';
|
||||
$fas[] = 'fa-road';
|
||||
$fas[] = 'fa-robot';
|
||||
$fas[] = 'fa-rocket';
|
||||
$fas[] = 'fa-route';
|
||||
$fas[] = 'fa-rss';
|
||||
$fas[] = 'fa-rss-square';
|
||||
$fas[] = 'fa-ruble-sign';
|
||||
$fas[] = 'fa-ruler';
|
||||
$fas[] = 'fa-ruler-combined';
|
||||
$fas[] = 'fa-ruler-horizontal';
|
||||
$fas[] = 'fa-ruler-vertical';
|
||||
$fas[] = 'fa-running';
|
||||
$fas[] = 'fa-rupee-sign';
|
||||
$fas[] = 'fa-sad-cry';
|
||||
$fas[] = 'fa-sad-tear';
|
||||
$fas[] = 'fa-satellite';
|
||||
$fas[] = 'fa-satellite-dish';
|
||||
$fas[] = 'fa-save';
|
||||
$fas[] = 'fa-school';
|
||||
$fas[] = 'fa-screwdriver';
|
||||
$fas[] = 'fa-scroll';
|
||||
$fas[] = 'fa-sd-card';
|
||||
$fas[] = 'fa-search';
|
||||
$fas[] = 'fa-search-dollar';
|
||||
$fas[] = 'fa-search-location';
|
||||
$fas[] = 'fa-search-minus';
|
||||
$fas[] = 'fa-search-plus';
|
||||
$fas[] = 'fa-seedling';
|
||||
$fas[] = 'fa-server';
|
||||
$fas[] = 'fa-shapes';
|
||||
$fas[] = 'fa-share';
|
||||
$fas[] = 'fa-share-alt';
|
||||
$fas[] = 'fa-share-alt-square';
|
||||
$fas[] = 'fa-share-square';
|
||||
$fas[] = 'fa-shekel-sign';
|
||||
$fas[] = 'fa-shield-alt';
|
||||
$fas[] = 'fa-ship';
|
||||
$fas[] = 'fa-shipping-fast';
|
||||
$fas[] = 'fa-shoe-prints';
|
||||
$fas[] = 'fa-shopping-bag';
|
||||
$fas[] = 'fa-shopping-basket';
|
||||
$fas[] = 'fa-shopping-cart';
|
||||
$fas[] = 'fa-shower';
|
||||
$fas[] = 'fa-shuttle-van';
|
||||
$fas[] = 'fa-sign';
|
||||
$fas[] = 'fa-sign-in-alt';
|
||||
$fas[] = 'fa-sign-language';
|
||||
$fas[] = 'fa-sign-out-alt';
|
||||
$fas[] = 'fa-signal';
|
||||
$fas[] = 'fa-signature';
|
||||
$fas[] = 'fa-sim-card';
|
||||
$fas[] = 'fa-sitemap';
|
||||
$fas[] = 'fa-skating';
|
||||
$fas[] = 'fa-skiing';
|
||||
$fas[] = 'fa-skiing-nordic';
|
||||
$fas[] = 'fa-skull';
|
||||
$fas[] = 'fa-skull-crossbones';
|
||||
$fas[] = 'fa-slash';
|
||||
$fas[] = 'fa-sleigh';
|
||||
$fas[] = 'fa-sliders-h';
|
||||
$fas[] = 'fa-smile';
|
||||
$fas[] = 'fa-smile-beam';
|
||||
$fas[] = 'fa-smile-wink';
|
||||
$fas[] = 'fa-smog';
|
||||
$fas[] = 'fa-smoking';
|
||||
$fas[] = 'fa-smoking-ban';
|
||||
$fas[] = 'fa-sms';
|
||||
$fas[] = 'fa-snowboarding';
|
||||
$fas[] = 'fa-snowflake';
|
||||
$fas[] = 'fa-snowman';
|
||||
$fas[] = 'fa-snowplow';
|
||||
$fas[] = 'fa-socks';
|
||||
$fas[] = 'fa-solar-panel';
|
||||
$fas[] = 'fa-sort';
|
||||
$fas[] = 'fa-sort-alpha-down';
|
||||
$fas[] = 'fa-sort-alpha-down-alt';
|
||||
$fas[] = 'fa-sort-alpha-up';
|
||||
$fas[] = 'fa-sort-alpha-up-alt';
|
||||
$fas[] = 'fa-sort-amount-down';
|
||||
$fas[] = 'fa-sort-amount-down-alt';
|
||||
$fas[] = 'fa-sort-amount-up';
|
||||
$fas[] = 'fa-sort-amount-up-alt';
|
||||
$fas[] = 'fa-sort-down';
|
||||
$fas[] = 'fa-sort-numeric-down';
|
||||
$fas[] = 'fa-sort-numeric-down-alt';
|
||||
$fas[] = 'fa-sort-numeric-up';
|
||||
$fas[] = 'fa-sort-numeric-up-alt';
|
||||
$fas[] = 'fa-sort-up';
|
||||
$fas[] = 'fa-spa';
|
||||
$fas[] = 'fa-space-shuttle';
|
||||
$fas[] = 'fa-spell-check';
|
||||
$fas[] = 'fa-spider';
|
||||
$fas[] = 'fa-spinner';
|
||||
$fas[] = 'fa-splotch';
|
||||
$fas[] = 'fa-spray-can';
|
||||
$fas[] = 'fa-square';
|
||||
$fas[] = 'fa-square-full';
|
||||
$fas[] = 'fa-square-root-alt';
|
||||
$fas[] = 'fa-stamp';
|
||||
$fas[] = 'fa-star';
|
||||
$fas[] = 'fa-star-and-crescent';
|
||||
$fas[] = 'fa-star-half';
|
||||
$fas[] = 'fa-star-half-alt';
|
||||
$fas[] = 'fa-star-of-david';
|
||||
$fas[] = 'fa-star-of-life';
|
||||
$fas[] = 'fa-step-backward';
|
||||
$fas[] = 'fa-step-forward';
|
||||
$fas[] = 'fa-stethoscope';
|
||||
$fas[] = 'fa-sticky-note';
|
||||
$fas[] = 'fa-stop';
|
||||
$fas[] = 'fa-stop-circle';
|
||||
$fas[] = 'fa-stopwatch';
|
||||
$fas[] = 'fa-store';
|
||||
$fas[] = 'fa-store-alt';
|
||||
$fas[] = 'fa-stream';
|
||||
$fas[] = 'fa-street-view';
|
||||
$fas[] = 'fa-strikethrough';
|
||||
$fas[] = 'fa-stroopwafel';
|
||||
$fas[] = 'fa-subscript';
|
||||
$fas[] = 'fa-subway';
|
||||
$fas[] = 'fa-suitcase';
|
||||
$fas[] = 'fa-suitcase-rolling';
|
||||
$fas[] = 'fa-sun';
|
||||
$fas[] = 'fa-superscript';
|
||||
$fas[] = 'fa-surprise';
|
||||
$fas[] = 'fa-swatchbook';
|
||||
$fas[] = 'fa-swimmer';
|
||||
$fas[] = 'fa-swimming-pool';
|
||||
$fas[] = 'fa-synagogue';
|
||||
$fas[] = 'fa-sync';
|
||||
$fas[] = 'fa-sync-alt';
|
||||
$fas[] = 'fa-syringe';
|
||||
$fas[] = 'fa-table';
|
||||
$fas[] = 'fa-table-tennis';
|
||||
$fas[] = 'fa-tablet';
|
||||
$fas[] = 'fa-tablet-alt';
|
||||
$fas[] = 'fa-tablets';
|
||||
$fas[] = 'fa-tachometer-alt';
|
||||
$fas[] = 'fa-tag';
|
||||
$fas[] = 'fa-tags';
|
||||
$fas[] = 'fa-tape';
|
||||
$fas[] = 'fa-tasks';
|
||||
$fas[] = 'fa-taxi';
|
||||
$fas[] = 'fa-teeth';
|
||||
$fas[] = 'fa-teeth-open';
|
||||
$fas[] = 'fa-temperature-high';
|
||||
$fas[] = 'fa-temperature-low';
|
||||
$fas[] = 'fa-tenge';
|
||||
$fas[] = 'fa-terminal';
|
||||
$fas[] = 'fa-text-height';
|
||||
$fas[] = 'fa-text-width';
|
||||
$fas[] = 'fa-th';
|
||||
$fas[] = 'fa-th-large';
|
||||
$fas[] = 'fa-th-list';
|
||||
$fas[] = 'fa-theater-masks';
|
||||
$fas[] = 'fa-thermometer';
|
||||
$fas[] = 'fa-thermometer-empty';
|
||||
$fas[] = 'fa-thermometer-full';
|
||||
$fas[] = 'fa-thermometer-half';
|
||||
$fas[] = 'fa-thermometer-quarter';
|
||||
$fas[] = 'fa-thermometer-three-quarters';
|
||||
$fas[] = 'fa-thumbs-down';
|
||||
$fas[] = 'fa-thumbs-up';
|
||||
$fas[] = 'fa-thumbtack';
|
||||
$fas[] = 'fa-ticket-alt';
|
||||
$fas[] = 'fa-times';
|
||||
$fas[] = 'fa-times-circle';
|
||||
$fas[] = 'fa-tint';
|
||||
$fas[] = 'fa-tint-slash';
|
||||
$fas[] = 'fa-tired';
|
||||
$fas[] = 'fa-toggle-off';
|
||||
$fas[] = 'fa-toggle-on';
|
||||
$fas[] = 'fa-toilet';
|
||||
$fas[] = 'fa-toilet-paper';
|
||||
$fas[] = 'fa-toolbox';
|
||||
$fas[] = 'fa-tools';
|
||||
$fas[] = 'fa-tooth';
|
||||
$fas[] = 'fa-torah';
|
||||
$fas[] = 'fa-torii-gate';
|
||||
$fas[] = 'fa-tractor';
|
||||
$fas[] = 'fa-trademark';
|
||||
$fas[] = 'fa-traffic-light';
|
||||
$fas[] = 'fa-train';
|
||||
$fas[] = 'fa-tram';
|
||||
$fas[] = 'fa-transgender';
|
||||
$fas[] = 'fa-transgender-alt';
|
||||
$fas[] = 'fa-trash';
|
||||
$fas[] = 'fa-trash-alt';
|
||||
$fas[] = 'fa-trash-restore';
|
||||
$fas[] = 'fa-trash-restore-alt';
|
||||
$fas[] = 'fa-tree';
|
||||
$fas[] = 'fa-trophy';
|
||||
$fas[] = 'fa-truck';
|
||||
$fas[] = 'fa-truck-loading';
|
||||
$fas[] = 'fa-truck-monster';
|
||||
$fas[] = 'fa-truck-moving';
|
||||
$fas[] = 'fa-truck-pickup';
|
||||
$fas[] = 'fa-tshirt';
|
||||
$fas[] = 'fa-tty';
|
||||
$fas[] = 'fa-tv';
|
||||
$fas[] = 'fa-umbrella';
|
||||
$fas[] = 'fa-umbrella-beach';
|
||||
$fas[] = 'fa-underline';
|
||||
$fas[] = 'fa-undo';
|
||||
$fas[] = 'fa-undo-alt';
|
||||
$fas[] = 'fa-universal-access';
|
||||
$fas[] = 'fa-university';
|
||||
$fas[] = 'fa-unlink';
|
||||
$fas[] = 'fa-unlock';
|
||||
$fas[] = 'fa-unlock-alt';
|
||||
$fas[] = 'fa-upload';
|
||||
$fas[] = 'fa-user';
|
||||
$fas[] = 'fa-user-alt';
|
||||
$fas[] = 'fa-user-alt-slash';
|
||||
$fas[] = 'fa-user-astronaut';
|
||||
$fas[] = 'fa-user-check';
|
||||
$fas[] = 'fa-user-circle';
|
||||
$fas[] = 'fa-user-clock';
|
||||
$fas[] = 'fa-user-cog';
|
||||
$fas[] = 'fa-user-edit';
|
||||
$fas[] = 'fa-user-friends';
|
||||
$fas[] = 'fa-user-graduate';
|
||||
$fas[] = 'fa-user-injured';
|
||||
$fas[] = 'fa-user-lock';
|
||||
$fas[] = 'fa-user-md';
|
||||
$fas[] = 'fa-user-minus';
|
||||
$fas[] = 'fa-user-ninja';
|
||||
$fas[] = 'fa-user-nurse';
|
||||
$fas[] = 'fa-user-plus';
|
||||
$fas[] = 'fa-user-secret';
|
||||
$fas[] = 'fa-user-shield';
|
||||
$fas[] = 'fa-user-slash';
|
||||
$fas[] = 'fa-user-tag';
|
||||
$fas[] = 'fa-user-tie';
|
||||
$fas[] = 'fa-user-times';
|
||||
$fas[] = 'fa-users';
|
||||
$fas[] = 'fa-users-cog';
|
||||
$fas[] = 'fa-utensil-spoon';
|
||||
$fas[] = 'fa-utensils';
|
||||
$fas[] = 'fa-vector-square';
|
||||
$fas[] = 'fa-venus';
|
||||
$fas[] = 'fa-venus-double';
|
||||
$fas[] = 'fa-venus-mars';
|
||||
$fas[] = 'fa-vial';
|
||||
$fas[] = 'fa-vials';
|
||||
$fas[] = 'fa-video';
|
||||
$fas[] = 'fa-video-slash';
|
||||
$fas[] = 'fa-vihara';
|
||||
$fas[] = 'fa-voicemail';
|
||||
$fas[] = 'fa-volleyball-ball';
|
||||
$fas[] = 'fa-volume-down';
|
||||
$fas[] = 'fa-volume-mute';
|
||||
$fas[] = 'fa-volume-off';
|
||||
$fas[] = 'fa-volume-up';
|
||||
$fas[] = 'fa-vote-yea';
|
||||
$fas[] = 'fa-vr-cardboard';
|
||||
$fas[] = 'fa-walking';
|
||||
$fas[] = 'fa-wallet';
|
||||
$fas[] = 'fa-warehouse';
|
||||
$fas[] = 'fa-water';
|
||||
$fas[] = 'fa-wave-square';
|
||||
$fas[] = 'fa-weight';
|
||||
$fas[] = 'fa-weight-hanging';
|
||||
$fas[] = 'fa-wheelchair';
|
||||
$fas[] = 'fa-wifi';
|
||||
$fas[] = 'fa-wind';
|
||||
$fas[] = 'fa-window-close';
|
||||
$fas[] = 'fa-window-maximize';
|
||||
$fas[] = 'fa-window-minimize';
|
||||
$fas[] = 'fa-window-restore';
|
||||
$fas[] = 'fa-wine-bottle';
|
||||
$fas[] = 'fa-wine-glass';
|
||||
$fas[] = 'fa-wine-glass-alt';
|
||||
$fas[] = 'fa-won-sign';
|
||||
$fas[] = 'fa-wrench';
|
||||
$fas[] = 'fa-x-ray';
|
||||
$fas[] = 'fa-yen-sign';
|
||||
$fas[] = 'fa-yin-yang';
|
||||
$font_awesome_solid_icons = $fas;
|
||||
unset($fas);
|
||||
?>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -5,6 +5,6 @@ header('Content-type: text/javascript; charset: UTF-8');
|
|||
header('Cache-Control: must-revalidate');
|
||||
header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
|
||||
|
||||
include_once 'solid.min.js';
|
||||
include_once 'all.min.js';
|
||||
|
||||
?>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,90 +1,40 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(factory((global['fontawesome-free-conflict-detection'] = {})));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
function _typeof(obj) {
|
||||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
||||
_typeof = function (obj) {
|
||||
return typeof obj;
|
||||
};
|
||||
} else {
|
||||
_typeof = function (obj) {
|
||||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
||||
};
|
||||
}
|
||||
|
||||
return _typeof(obj);
|
||||
}
|
||||
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
}
|
||||
|
||||
var _WINDOW = {};
|
||||
var _DOCUMENT = {};
|
||||
let _WINDOW = {};
|
||||
let _DOCUMENT = {};
|
||||
|
||||
try {
|
||||
if (typeof window !== 'undefined') _WINDOW = window;
|
||||
if (typeof document !== 'undefined') _DOCUMENT = document;
|
||||
} catch (e) {}
|
||||
|
||||
var _ref = _WINDOW.navigator || {},
|
||||
_ref$userAgent = _ref.userAgent,
|
||||
userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;
|
||||
const {
|
||||
userAgent = ''
|
||||
} = _WINDOW.navigator || {};
|
||||
const WINDOW = _WINDOW;
|
||||
const DOCUMENT = _DOCUMENT;
|
||||
const IS_BROWSER = !!WINDOW.document;
|
||||
const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
|
||||
const IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
|
||||
|
||||
var WINDOW = _WINDOW;
|
||||
var DOCUMENT = _DOCUMENT;
|
||||
var IS_BROWSER = !!WINDOW.document;
|
||||
var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
|
||||
var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
|
||||
const functions = [];
|
||||
|
||||
var functions = [];
|
||||
|
||||
var listener = function listener() {
|
||||
const listener = function () {
|
||||
DOCUMENT.removeEventListener('DOMContentLoaded', listener);
|
||||
loaded = 1;
|
||||
functions.map(function (fn) {
|
||||
return fn();
|
||||
});
|
||||
functions.map(fn => fn());
|
||||
};
|
||||
|
||||
var loaded = false;
|
||||
let loaded = false;
|
||||
|
||||
if (IS_DOM) {
|
||||
loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
|
||||
|
|
@ -97,25 +47,27 @@
|
|||
}
|
||||
|
||||
function report (_ref) {
|
||||
var nodesTested = _ref.nodesTested,
|
||||
nodesFound = _ref.nodesFound;
|
||||
var timedOutTests = {};
|
||||
let {
|
||||
nodesTested,
|
||||
nodesFound
|
||||
} = _ref;
|
||||
const timedOutTests = {};
|
||||
|
||||
for (var key in nodesFound) {
|
||||
for (let key in nodesFound) {
|
||||
if (!(nodesTested.conflict[key] || nodesTested.noConflict[key])) {
|
||||
timedOutTests[key] = nodesFound[key];
|
||||
}
|
||||
}
|
||||
|
||||
var conflictsCount = Object.keys(nodesTested.conflict).length;
|
||||
const conflictsCount = Object.keys(nodesTested.conflict).length;
|
||||
|
||||
if (conflictsCount > 0) {
|
||||
console.info("%cConflict".concat(conflictsCount > 1 ? 's' : '', " found:"), 'color: darkred; font-size: large');
|
||||
var data = {};
|
||||
const data = {};
|
||||
|
||||
for (var _key in nodesTested.conflict) {
|
||||
var item = nodesTested.conflict[_key];
|
||||
data[_key] = {
|
||||
for (let key in nodesTested.conflict) {
|
||||
const item = nodesTested.conflict[key];
|
||||
data[key] = {
|
||||
'tagName': item.tagName,
|
||||
'src/href': item.src || item.href || 'n/a',
|
||||
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
||||
|
|
@ -125,40 +77,40 @@
|
|||
console.table(data);
|
||||
}
|
||||
|
||||
var noConflictsCount = Object.keys(nodesTested.noConflict).length;
|
||||
const noConflictsCount = Object.keys(nodesTested.noConflict).length;
|
||||
|
||||
if (noConflictsCount > 0) {
|
||||
console.info("%cNo conflict".concat(noConflictsCount > 1 ? 's' : '', " found with ").concat(noConflictsCount == 1 ? 'this' : 'these', ":"), 'color: green; font-size: large');
|
||||
var _data = {};
|
||||
console.info("%cNo conflict".concat(noConflictsCount > 1 ? 's' : '', " found with ").concat(noConflictsCount === 1 ? 'this' : 'these', ":"), 'color: green; font-size: large');
|
||||
const data = {};
|
||||
|
||||
for (var _key2 in nodesTested.noConflict) {
|
||||
var _item = nodesTested.noConflict[_key2];
|
||||
_data[_key2] = {
|
||||
'tagName': _item.tagName,
|
||||
'src/href': _item.src || _item.href || 'n/a',
|
||||
'innerText excerpt': _item.innerText && _item.innerText !== '' ? _item.innerText.slice(0, 200) + '...' : '(empty)'
|
||||
for (let key in nodesTested.noConflict) {
|
||||
const item = nodesTested.noConflict[key];
|
||||
data[key] = {
|
||||
'tagName': item.tagName,
|
||||
'src/href': item.src || item.href || 'n/a',
|
||||
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
||||
};
|
||||
}
|
||||
|
||||
console.table(_data);
|
||||
console.table(data);
|
||||
}
|
||||
|
||||
var timeOutCount = Object.keys(timedOutTests).length;
|
||||
const timeOutCount = Object.keys(timedOutTests).length;
|
||||
|
||||
if (timeOutCount > 0) {
|
||||
console.info("%cLeftovers--we timed out before collecting test results for ".concat(timeOutCount == 1 ? 'this' : 'these', ":"), 'color: blue; font-size: large');
|
||||
var _data2 = {};
|
||||
console.info("%cLeftovers--we timed out before collecting test results for ".concat(timeOutCount === 1 ? 'this' : 'these', ":"), 'color: blue; font-size: large');
|
||||
const data = {};
|
||||
|
||||
for (var _key3 in timedOutTests) {
|
||||
var _item2 = timedOutTests[_key3];
|
||||
_data2[_key3] = {
|
||||
'tagName': _item2.tagName,
|
||||
'src/href': _item2.src || _item2.href || 'n/a',
|
||||
'innerText excerpt': _item2.innerText && _item2.innerText !== '' ? _item2.innerText.slice(0, 200) + '...' : '(empty)'
|
||||
for (let key in timedOutTests) {
|
||||
const item = timedOutTests[key];
|
||||
data[key] = {
|
||||
'tagName': item.tagName,
|
||||
'src/href': item.src || item.href || 'n/a',
|
||||
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
||||
};
|
||||
}
|
||||
|
||||
console.table(_data2);
|
||||
console.table(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -551,7 +503,7 @@
|
|||
*
|
||||
* @param {string} string Input string
|
||||
* @param {string} [key] HMAC key
|
||||
* @param {boolean} raw Raw oytput switch
|
||||
* @param {boolean} [raw] Raw output switch
|
||||
* @returns {string} MD5 output
|
||||
*/
|
||||
|
||||
|
|
@ -581,7 +533,7 @@
|
|||
});
|
||||
|
||||
function md5ForNode(node) {
|
||||
if (null === node || 'object' !== _typeof(node)) return undefined;
|
||||
if (null === node || 'object' !== typeof node) return undefined;
|
||||
|
||||
if (node.src) {
|
||||
return md5(node.src);
|
||||
|
|
@ -595,30 +547,31 @@
|
|||
}
|
||||
}
|
||||
|
||||
var diagScriptId = 'fa-kits-diag';
|
||||
var nodeUnderTestId = 'fa-kits-node-under-test';
|
||||
var md5Attr = 'data-md5';
|
||||
var detectionIgnoreAttr = 'data-fa-detection-ignore';
|
||||
var timeoutAttr = 'data-fa-detection-timeout';
|
||||
var resultsCollectionMaxWaitAttr = 'data-fa-detection-results-collection-max-wait';
|
||||
const diagScriptId = 'fa-kits-diag';
|
||||
const nodeUnderTestId = 'fa-kits-node-under-test';
|
||||
const md5Attr = 'data-md5';
|
||||
const detectionIgnoreAttr = 'data-fa-detection-ignore';
|
||||
const timeoutAttr = 'data-fa-detection-timeout';
|
||||
const resultsCollectionMaxWaitAttr = 'data-fa-detection-results-collection-max-wait';
|
||||
|
||||
const silenceErrors = e => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
};
|
||||
|
||||
function pollUntil(_ref) {
|
||||
var _ref$fn = _ref.fn,
|
||||
fn = _ref$fn === void 0 ? function () {
|
||||
return true;
|
||||
} : _ref$fn,
|
||||
_ref$initialDuration = _ref.initialDuration,
|
||||
initialDuration = _ref$initialDuration === void 0 ? 1 : _ref$initialDuration,
|
||||
_ref$maxDuration = _ref.maxDuration,
|
||||
maxDuration = _ref$maxDuration === void 0 ? WINDOW.FontAwesomeDetection.timeout : _ref$maxDuration,
|
||||
_ref$showProgress = _ref.showProgress,
|
||||
showProgress = _ref$showProgress === void 0 ? false : _ref$showProgress,
|
||||
progressIndicator = _ref.progressIndicator;
|
||||
let {
|
||||
fn = () => true,
|
||||
initialDuration = 1,
|
||||
maxDuration = WINDOW.FontAwesomeDetection.timeout,
|
||||
showProgress = false,
|
||||
progressIndicator
|
||||
} = _ref;
|
||||
return new Promise(function (resolve, reject) {
|
||||
// eslint-disable-line compat/compat
|
||||
function poll(duration, cumulativeDuration) {
|
||||
setTimeout(function () {
|
||||
var result = fn();
|
||||
const result = fn();
|
||||
|
||||
if (showProgress) {
|
||||
console.info(progressIndicator);
|
||||
|
|
@ -628,8 +581,8 @@
|
|||
// eslint-disable-line no-extra-boolean-cast
|
||||
resolve(result);
|
||||
} else {
|
||||
var nextDuration = 250;
|
||||
var nextCumulativeDuration = nextDuration + cumulativeDuration;
|
||||
const nextDuration = 250;
|
||||
const nextCumulativeDuration = nextDuration + cumulativeDuration;
|
||||
|
||||
if (nextCumulativeDuration <= maxDuration) {
|
||||
poll(nextDuration, nextCumulativeDuration);
|
||||
|
|
@ -645,10 +598,8 @@
|
|||
}
|
||||
|
||||
function detectWebfontConflicts() {
|
||||
var linkTags = Array.from(DOCUMENT.getElementsByTagName('link')).filter(function (t) {
|
||||
return !t.hasAttribute(detectionIgnoreAttr);
|
||||
});
|
||||
var styleTags = Array.from(DOCUMENT.getElementsByTagName('style')).filter(function (t) {
|
||||
const linkTags = Array.from(DOCUMENT.getElementsByTagName('link')).filter(t => !t.hasAttribute(detectionIgnoreAttr));
|
||||
const styleTags = Array.from(DOCUMENT.getElementsByTagName('style')).filter(t => {
|
||||
if (t.hasAttribute(detectionIgnoreAttr)) {
|
||||
return false;
|
||||
} // If the browser has loaded the FA5 CSS, let's not test that <style> element.
|
||||
|
|
@ -664,15 +615,15 @@
|
|||
});
|
||||
|
||||
function runDiag(scriptOrLinkTag, md5) {
|
||||
var diagFrame = DOCUMENT.createElement('iframe'); // Using "visibility: hidden; position: absolute" instead of "display: none;" because
|
||||
const diagFrame = DOCUMENT.createElement('iframe'); // Using "visibility: hidden; position: absolute" instead of "display: none;" because
|
||||
// Firefox will not return the expected results for getComputedStyle if our iframe has display: none.
|
||||
|
||||
diagFrame.setAttribute('style', 'visibility: hidden; position: absolute; height: 0; width: 0;');
|
||||
var testIconId = 'fa-test-icon-' + md5;
|
||||
var iTag = DOCUMENT.createElement('i');
|
||||
const testIconId = 'fa-test-icon-' + md5;
|
||||
const iTag = DOCUMENT.createElement('i');
|
||||
iTag.setAttribute('class', 'fa fa-coffee');
|
||||
iTag.setAttribute('id', testIconId);
|
||||
var diagScript = DOCUMENT.createElement('script');
|
||||
const diagScript = DOCUMENT.createElement('script');
|
||||
diagScript.setAttribute('id', diagScriptId); // WARNING: this function will be toString()'d and assigned to innerText of the diag script
|
||||
// element that we'll be putting into a diagnostic iframe.
|
||||
// That means that this code won't compile until after the outer script has run and injected
|
||||
|
|
@ -681,31 +632,31 @@
|
|||
// will probably cause it to choke. Chrome will show an error like this:
|
||||
// Uncaught SyntaxError: Unexpected end of input
|
||||
|
||||
var diagScriptFun = function diagScriptFun(nodeUnderTestId, testIconId, md5, parentOrigin) {
|
||||
const diagScriptFun = (nodeUnderTestId, testIconId, md5, parentOrigin) => {
|
||||
parent.FontAwesomeDetection.__pollUntil({
|
||||
fn: function fn() {
|
||||
var iEl = document.getElementById(testIconId);
|
||||
var computedStyle = window.getComputedStyle(iEl);
|
||||
var fontFamily = computedStyle.getPropertyValue('font-family');
|
||||
fn: () => {
|
||||
const iEl = document.getElementById(testIconId);
|
||||
const computedStyle = window.getComputedStyle(iEl);
|
||||
const fontFamily = computedStyle.getPropertyValue('font-family');
|
||||
|
||||
if (!!fontFamily.match(/FontAwesome/) || !!fontFamily.match(/Font Awesome 5/)) {
|
||||
if (!!fontFamily.match(/FontAwesome/) || !!fontFamily.match(/Font Awesome [56]/)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}).then(function () {
|
||||
var node = document.getElementById(nodeUnderTestId);
|
||||
}).then(() => {
|
||||
const node = document.getElementById(nodeUnderTestId);
|
||||
parent.postMessage({
|
||||
type: 'fontawesome-conflict',
|
||||
technology: 'webfont',
|
||||
href: node.href,
|
||||
innerText: node.innerText,
|
||||
tagName: node.tagName,
|
||||
md5: md5
|
||||
md5
|
||||
}, parentOrigin);
|
||||
}).catch(function (e) {
|
||||
var node = document.getElementById(nodeUnderTestId);
|
||||
const node = document.getElementById(nodeUnderTestId);
|
||||
|
||||
if (e === 'timeout') {
|
||||
parent.postMessage({
|
||||
|
|
@ -714,7 +665,7 @@
|
|||
href: node.src,
|
||||
innerText: node.innerText,
|
||||
tagName: node.tagName,
|
||||
md5: md5
|
||||
md5
|
||||
}, parentOrigin);
|
||||
} else {
|
||||
console.error(e);
|
||||
|
|
@ -722,40 +673,39 @@
|
|||
});
|
||||
};
|
||||
|
||||
var parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
||||
const parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
||||
diagScript.innerText = "(".concat(diagScriptFun.toString(), ")('").concat(nodeUnderTestId, "', '").concat(testIconId || 'foo', "', '").concat(md5, "', '").concat(parentOrigin, "');");
|
||||
|
||||
diagFrame.onload = function () {
|
||||
diagFrame.contentWindow.addEventListener('error', silenceErrors, true);
|
||||
diagFrame.contentDocument.head.appendChild(diagScript);
|
||||
diagFrame.contentDocument.head.appendChild(scriptOrLinkTag);
|
||||
diagFrame.contentDocument.body.appendChild(iTag);
|
||||
};
|
||||
|
||||
domready(function () {
|
||||
return DOCUMENT.body.appendChild(diagFrame);
|
||||
});
|
||||
domready(() => DOCUMENT.body.appendChild(diagFrame));
|
||||
}
|
||||
|
||||
var cssByMD5 = {};
|
||||
const cssByMD5 = {};
|
||||
|
||||
for (var i = 0; i < linkTags.length; i++) {
|
||||
var linkUnderTest = DOCUMENT.createElement('link');
|
||||
for (let i = 0; i < linkTags.length; i++) {
|
||||
const linkUnderTest = DOCUMENT.createElement('link');
|
||||
linkUnderTest.setAttribute('id', nodeUnderTestId);
|
||||
linkUnderTest.setAttribute('href', linkTags[i].href);
|
||||
linkUnderTest.setAttribute('rel', linkTags[i].rel);
|
||||
var md5ForLink = md5ForNode(linkTags[i]);
|
||||
const md5ForLink = md5ForNode(linkTags[i]);
|
||||
linkUnderTest.setAttribute(md5Attr, md5ForLink);
|
||||
cssByMD5[md5ForLink] = linkTags[i];
|
||||
runDiag(linkUnderTest, md5ForLink);
|
||||
}
|
||||
|
||||
for (var _i = 0; _i < styleTags.length; _i++) {
|
||||
for (let i = 0; i < styleTags.length; i++) {
|
||||
var styleUnderTest = DOCUMENT.createElement('style');
|
||||
styleUnderTest.setAttribute('id', nodeUnderTestId);
|
||||
var md5ForStyle = md5ForNode(styleTags[_i]);
|
||||
const md5ForStyle = md5ForNode(styleTags[i]);
|
||||
styleUnderTest.setAttribute(md5Attr, md5ForStyle);
|
||||
styleUnderTest.innerText = styleTags[_i].innerText;
|
||||
cssByMD5[md5ForStyle] = styleTags[_i];
|
||||
styleUnderTest.innerText = styleTags[i].innerText;
|
||||
cssByMD5[md5ForStyle] = styleTags[i];
|
||||
runDiag(styleUnderTest, md5ForStyle);
|
||||
}
|
||||
|
||||
|
|
@ -763,17 +713,15 @@
|
|||
}
|
||||
|
||||
function detectSvgConflicts(currentScript) {
|
||||
var scripts = Array.from(DOCUMENT.scripts).filter(function (t) {
|
||||
return !t.hasAttribute(detectionIgnoreAttr) && t !== currentScript;
|
||||
});
|
||||
var scriptsByMD5 = {};
|
||||
const scripts = Array.from(DOCUMENT.scripts).filter(t => !t.hasAttribute(detectionIgnoreAttr) && t !== currentScript);
|
||||
const scriptsByMD5 = {};
|
||||
|
||||
var _loop = function _loop(scriptIdx) {
|
||||
var diagFrame = DOCUMENT.createElement('iframe');
|
||||
for (let scriptIdx = 0; scriptIdx < scripts.length; scriptIdx++) {
|
||||
const diagFrame = DOCUMENT.createElement('iframe');
|
||||
diagFrame.setAttribute('style', 'display:none;');
|
||||
var scriptUnderTest = DOCUMENT.createElement('script');
|
||||
const scriptUnderTest = DOCUMENT.createElement('script');
|
||||
scriptUnderTest.setAttribute('id', nodeUnderTestId);
|
||||
var md5ForScript = md5ForNode(scripts[scriptIdx]);
|
||||
const md5ForScript = md5ForNode(scripts[scriptIdx]);
|
||||
scriptUnderTest.setAttribute(md5Attr, md5ForScript);
|
||||
scriptsByMD5[md5ForScript] = scripts[scriptIdx];
|
||||
|
||||
|
|
@ -786,24 +734,24 @@
|
|||
}
|
||||
|
||||
scriptUnderTest.async = true;
|
||||
var diagScript = DOCUMENT.createElement('script');
|
||||
const diagScript = DOCUMENT.createElement('script');
|
||||
diagScript.setAttribute('id', diagScriptId);
|
||||
var parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
||||
const parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
||||
|
||||
var diagScriptFun = function diagScriptFun(nodeUnderTestId, md5, parentOrigin) {
|
||||
const diagScriptFun = (nodeUnderTestId, md5, parentOrigin) => {
|
||||
parent.FontAwesomeDetection.__pollUntil({
|
||||
fn: function fn() {
|
||||
return !!window.FontAwesomeConfig;
|
||||
fn: () => {
|
||||
return !!window.FontAwesomeConfig || !!window.FontAwesomeKitConfig;
|
||||
}
|
||||
}).then(function () {
|
||||
var scriptNode = document.getElementById(nodeUnderTestId);
|
||||
const scriptNode = document.getElementById(nodeUnderTestId);
|
||||
parent.postMessage({
|
||||
type: 'fontawesome-conflict',
|
||||
technology: 'js',
|
||||
src: scriptNode.src,
|
||||
innerText: scriptNode.innerText,
|
||||
tagName: scriptNode.tagName,
|
||||
md5: md5
|
||||
md5
|
||||
}, parentOrigin);
|
||||
}).catch(function (e) {
|
||||
var scriptNode = document.getElementById(nodeUnderTestId);
|
||||
|
|
@ -814,7 +762,7 @@
|
|||
src: scriptNode.src,
|
||||
innerText: scriptNode.innerText,
|
||||
tagName: scriptNode.tagName,
|
||||
md5: md5
|
||||
md5
|
||||
}, parentOrigin);
|
||||
} else {
|
||||
console.error(e);
|
||||
|
|
@ -825,25 +773,22 @@
|
|||
diagScript.innerText = "(".concat(diagScriptFun.toString(), ")('").concat(nodeUnderTestId, "', '").concat(md5ForScript, "', '").concat(parentOrigin, "');");
|
||||
|
||||
diagFrame.onload = function () {
|
||||
diagFrame.contentWindow.addEventListener('error', silenceErrors, true);
|
||||
diagFrame.contentDocument.head.appendChild(diagScript);
|
||||
diagFrame.contentDocument.head.appendChild(scriptUnderTest);
|
||||
};
|
||||
|
||||
domready(function () {
|
||||
return DOCUMENT.body.appendChild(diagFrame);
|
||||
});
|
||||
};
|
||||
|
||||
for (var scriptIdx = 0; scriptIdx < scripts.length; scriptIdx++) {
|
||||
_loop(scriptIdx);
|
||||
domready(() => DOCUMENT.body.appendChild(diagFrame));
|
||||
}
|
||||
|
||||
return scriptsByMD5;
|
||||
}
|
||||
|
||||
function setDoneResults(_ref2) {
|
||||
var nodesTested = _ref2.nodesTested,
|
||||
nodesFound = _ref2.nodesFound;
|
||||
let {
|
||||
nodesTested,
|
||||
nodesFound
|
||||
} = _ref2;
|
||||
WINDOW.FontAwesomeDetection = WINDOW.FontAwesomeDetection || {};
|
||||
WINDOW.FontAwesomeDetection.nodesTested = nodesTested;
|
||||
WINDOW.FontAwesomeDetection.nodesFound = nodesFound;
|
||||
|
|
@ -851,8 +796,8 @@
|
|||
}
|
||||
|
||||
function conflictDetection() {
|
||||
var report$$1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
|
||||
var nodesTested = {
|
||||
let report$$1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : () => {};
|
||||
const nodesTested = {
|
||||
conflict: {},
|
||||
noConflict: {}
|
||||
};
|
||||
|
|
@ -869,19 +814,19 @@
|
|||
}
|
||||
};
|
||||
|
||||
var scriptsToTest = detectSvgConflicts(DOCUMENT.currentScript);
|
||||
var cssToTest = detectWebfontConflicts();
|
||||
|
||||
var nodesFound = _objectSpread({}, scriptsToTest, cssToTest);
|
||||
|
||||
var testCount = Object.keys(scriptsToTest).length + Object.keys(cssToTest).length; // The resultsCollectionMaxWait allows for the time between when the tests running under
|
||||
const scriptsToTest = detectSvgConflicts(DOCUMENT.currentScript);
|
||||
const cssToTest = detectWebfontConflicts();
|
||||
const nodesFound = { ...scriptsToTest,
|
||||
...cssToTest
|
||||
};
|
||||
const testCount = Object.keys(scriptsToTest).length + Object.keys(cssToTest).length; // The resultsCollectionMaxWait allows for the time between when the tests running under
|
||||
// child iframes call postMessage with their results, and when the parent window
|
||||
// receives and handles those events with window.onmessage.
|
||||
// Making it configurable allows us to test the scenario where this timeout is exceeded.
|
||||
// Naming it something very different from "timeout" is to help avoid the potential ambiguity between
|
||||
// these two timeout-related settings.
|
||||
|
||||
var masterTimeout = WINDOW.FontAwesomeDetection.timeout + WINDOW.FontAwesomeDetection.resultsCollectionMaxWait;
|
||||
const masterTimeout = WINDOW.FontAwesomeDetection.timeout + WINDOW.FontAwesomeDetection.resultsCollectionMaxWait;
|
||||
console.group('Font Awesome Detector');
|
||||
|
||||
if (testCount === 0) {
|
||||
|
|
@ -898,41 +843,41 @@
|
|||
maxDuration: masterTimeout,
|
||||
showProgress: true,
|
||||
progressIndicator: 'waiting...',
|
||||
fn: function fn() {
|
||||
fn: () => {
|
||||
return Object.keys(nodesTested.conflict).length + Object.keys(nodesTested.noConflict).length >= testCount;
|
||||
}
|
||||
}).then(function () {
|
||||
}).then(() => {
|
||||
console.info('DONE!');
|
||||
setDoneResults({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
report$$1({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
console.groupEnd();
|
||||
}).catch(function (e) {
|
||||
}).catch(e => {
|
||||
if (e === 'timeout') {
|
||||
console.info('TIME OUT! We waited until we got tired. Here\'s what we found:');
|
||||
setDoneResults({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
report$$1({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
} else {
|
||||
console.info('Whoops! We hit an error:', e);
|
||||
console.info('Here\'s what we\'d found up until that error:');
|
||||
setDoneResults({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
report$$1({
|
||||
nodesTested: nodesTested,
|
||||
nodesFound: nodesFound
|
||||
nodesTested,
|
||||
nodesFound
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -941,36 +886,230 @@
|
|||
}
|
||||
} // Allow clients to access, and in some cases, override some properties
|
||||
|
||||
var initialConfig = WINDOW.FontAwesomeDetection || {}; // These can be overridden
|
||||
const initialConfig = WINDOW.FontAwesomeDetection || {}; // These can be overridden
|
||||
|
||||
var _default = {
|
||||
report: report,
|
||||
const _default = {
|
||||
report,
|
||||
timeout: +(DOCUMENT.currentScript.getAttribute(timeoutAttr) || "2000"),
|
||||
resultsCollectionMaxWait: +(DOCUMENT.currentScript.getAttribute(resultsCollectionMaxWaitAttr) || "5000")
|
||||
};
|
||||
|
||||
var _config = _objectSpread({}, _default, initialConfig, {
|
||||
const _config = { ..._default,
|
||||
...initialConfig,
|
||||
// These cannot be overridden
|
||||
__pollUntil: pollUntil,
|
||||
md5ForNode: md5ForNode,
|
||||
md5ForNode,
|
||||
detectionDone: false,
|
||||
nodesTested: null,
|
||||
nodesFound: null
|
||||
});
|
||||
|
||||
};
|
||||
WINDOW.FontAwesomeDetection = _config;
|
||||
|
||||
var PRODUCTION = function () {
|
||||
var a = "classic",
|
||||
r = "sharp",
|
||||
o = "sharp-duotone";
|
||||
|
||||
var et$1 = {
|
||||
classic: {
|
||||
900: "fas",
|
||||
400: "far",
|
||||
normal: "far",
|
||||
300: "fal",
|
||||
100: "fat"
|
||||
},
|
||||
sharp: {
|
||||
900: "fass",
|
||||
400: "fasr",
|
||||
300: "fasl",
|
||||
100: "fast"
|
||||
},
|
||||
"sharp-duotone": {
|
||||
900: "fasds"
|
||||
}
|
||||
};
|
||||
var bt = {
|
||||
kit: {
|
||||
fak: "kit",
|
||||
"fa-kit": "kit"
|
||||
},
|
||||
"kit-duotone": {
|
||||
fakd: "kit-duotone",
|
||||
"fa-kit-duotone": "kit-duotone"
|
||||
}
|
||||
};
|
||||
var lo = {
|
||||
classic: {
|
||||
"fa-brands": "fab",
|
||||
"fa-duotone": "fad",
|
||||
"fa-light": "fal",
|
||||
"fa-regular": "far",
|
||||
"fa-solid": "fas",
|
||||
"fa-thin": "fat"
|
||||
},
|
||||
sharp: {
|
||||
"fa-solid": "fass",
|
||||
"fa-regular": "fasr",
|
||||
"fa-light": "fasl",
|
||||
"fa-thin": "fast"
|
||||
},
|
||||
"sharp-duotone": {
|
||||
"fa-solid": "fasds"
|
||||
}
|
||||
},
|
||||
no = {
|
||||
classic: {
|
||||
fab: "fa-brands",
|
||||
fad: "fa-duotone",
|
||||
fal: "fa-light",
|
||||
far: "fa-regular",
|
||||
fas: "fa-solid",
|
||||
fat: "fa-thin"
|
||||
},
|
||||
sharp: {
|
||||
fass: "fa-solid",
|
||||
fasr: "fa-regular",
|
||||
fasl: "fa-light",
|
||||
fast: "fa-thin"
|
||||
},
|
||||
"sharp-duotone": {
|
||||
fasds: "fa-solid"
|
||||
}
|
||||
},
|
||||
fo = {
|
||||
classic: {
|
||||
solid: "fas",
|
||||
regular: "far",
|
||||
light: "fal",
|
||||
thin: "fat",
|
||||
duotone: "fad",
|
||||
brands: "fab"
|
||||
},
|
||||
sharp: {
|
||||
solid: "fass",
|
||||
regular: "fasr",
|
||||
light: "fasl",
|
||||
thin: "fast"
|
||||
},
|
||||
"sharp-duotone": {
|
||||
solid: "fasds"
|
||||
}
|
||||
},
|
||||
ho = {
|
||||
classic: {
|
||||
fa: "solid",
|
||||
fas: "solid",
|
||||
"fa-solid": "solid",
|
||||
far: "regular",
|
||||
"fa-regular": "regular",
|
||||
fal: "light",
|
||||
"fa-light": "light",
|
||||
fat: "thin",
|
||||
"fa-thin": "thin",
|
||||
fad: "duotone",
|
||||
"fa-duotone": "duotone",
|
||||
fab: "brands",
|
||||
"fa-brands": "brands"
|
||||
},
|
||||
sharp: {
|
||||
fa: "solid",
|
||||
fass: "solid",
|
||||
"fa-solid": "solid",
|
||||
fasr: "regular",
|
||||
"fa-regular": "regular",
|
||||
fasl: "light",
|
||||
"fa-light": "light",
|
||||
fast: "thin",
|
||||
"fa-thin": "thin"
|
||||
},
|
||||
"sharp-duotone": {
|
||||
fa: "solid",
|
||||
fasds: "solid",
|
||||
"fa-solid": "solid"
|
||||
}
|
||||
};
|
||||
var Io = {
|
||||
kit: {
|
||||
"fa-kit": "fak"
|
||||
},
|
||||
"kit-duotone": {
|
||||
"fa-kit-duotone": "fakd"
|
||||
}
|
||||
},
|
||||
Fo = {
|
||||
kit: {
|
||||
fak: "fa-kit"
|
||||
},
|
||||
"kit-duotone": {
|
||||
fakd: "fa-kit-duotone"
|
||||
}
|
||||
},
|
||||
So = {
|
||||
kit: {
|
||||
kit: "fak"
|
||||
},
|
||||
"kit-duotone": {
|
||||
"kit-duotone": "fakd"
|
||||
}
|
||||
};
|
||||
|
||||
const PRODUCTION = (() => {
|
||||
try {
|
||||
return process.env.NODE_ENV === 'production';
|
||||
} catch (e) {
|
||||
} catch (e$$1) {
|
||||
return false;
|
||||
}
|
||||
}();
|
||||
})();
|
||||
|
||||
function familyProxy(obj) {
|
||||
// Defaults to the classic family if family is not available
|
||||
return new Proxy(obj, {
|
||||
get(target, prop) {
|
||||
return prop in target ? target[prop] : target[a];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
const _PREFIX_TO_STYLE = { ...ho
|
||||
};
|
||||
_PREFIX_TO_STYLE[a] = { ...ho[a],
|
||||
...bt['kit'],
|
||||
...bt['kit-duotone']
|
||||
};
|
||||
const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
|
||||
const _STYLE_TO_PREFIX = { ...fo
|
||||
};
|
||||
_STYLE_TO_PREFIX[a] = { ..._STYLE_TO_PREFIX[a],
|
||||
...So['kit'],
|
||||
...So['kit-duotone']
|
||||
};
|
||||
const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
|
||||
const _PREFIX_TO_LONG_STYLE = { ...no
|
||||
};
|
||||
_PREFIX_TO_LONG_STYLE[a] = { ..._PREFIX_TO_LONG_STYLE[a],
|
||||
...Fo['kit']
|
||||
};
|
||||
const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
|
||||
const _LONG_STYLE_TO_PREFIX = { ...lo
|
||||
};
|
||||
_LONG_STYLE_TO_PREFIX[a] = { ..._LONG_STYLE_TO_PREFIX[a],
|
||||
...Io['kit']
|
||||
};
|
||||
const LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);
|
||||
const _FONT_WEIGHT_TO_PREFIX = { ...et$1
|
||||
};
|
||||
const FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);
|
||||
const prefixes = new Set();
|
||||
Object.keys(STYLE_TO_PREFIX[a]).map(prefixes.add.bind(prefixes));
|
||||
Object.keys(STYLE_TO_PREFIX[r]).map(prefixes.add.bind(prefixes));
|
||||
Object.keys(STYLE_TO_PREFIX[o]).map(prefixes.add.bind(prefixes));
|
||||
|
||||
function bunker(fn) {
|
||||
try {
|
||||
fn();
|
||||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
args[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
fn(...args);
|
||||
} catch (e) {
|
||||
if (!PRODUCTION) {
|
||||
throw e;
|
||||
|
|
@ -978,14 +1117,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
bunker(function () {
|
||||
bunker(() => {
|
||||
if (IS_BROWSER && IS_DOM) {
|
||||
conflictDetection(window.FontAwesomeDetection.report);
|
||||
}
|
||||
});
|
||||
|
||||
exports.conflictDetection = conflictDetection;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,19 +1,152 @@
|
|||
// Animated Icons
|
||||
// animating icons
|
||||
// --------------------------
|
||||
|
||||
.@{fa-css-prefix}-beat {
|
||||
animation-name: ~'@{fa-css-prefix}-beat';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, ease-in-out)';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-bounce {
|
||||
animation-name: ~'@{fa-css-prefix}-bounce';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1))';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-fade {
|
||||
animation-name: ~'@{fa-css-prefix}-fade';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1))';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-beat-fade {
|
||||
animation-name: ~'@{fa-css-prefix}-beat-fade';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1))';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-flip {
|
||||
animation-name: ~'@{fa-css-prefix}-flip';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, ease-in-out)';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-shake {
|
||||
animation-name: ~'@{fa-css-prefix}-shake';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, linear)';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-spin {
|
||||
animation: fa-spin 2s infinite linear;
|
||||
animation-name: ~'@{fa-css-prefix}-spin';
|
||||
animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0s)';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 2s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, linear)';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-pulse {
|
||||
animation: fa-spin 1s infinite steps(8);
|
||||
.@{fa-css-prefix}-spin-reverse {
|
||||
--@{fa-css-prefix}-animation-direction: reverse;
|
||||
}
|
||||
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
.@{fa-css-prefix}-pulse,
|
||||
.@{fa-css-prefix}-spin-pulse {
|
||||
animation-name: ~'@{fa-css-prefix}-spin';
|
||||
animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)';
|
||||
animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)';
|
||||
animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)';
|
||||
animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, steps(8));';
|
||||
}
|
||||
|
||||
// if agent or operating system prefers reduced motion, disable animations
|
||||
// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
|
||||
// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.@{fa-css-prefix}-beat,
|
||||
.@{fa-css-prefix}-bounce,
|
||||
.@{fa-css-prefix}-fade,
|
||||
.@{fa-css-prefix}-beat-fade,
|
||||
.@{fa-css-prefix}-flip,
|
||||
.@{fa-css-prefix}-pulse,
|
||||
.@{fa-css-prefix}-shake,
|
||||
.@{fa-css-prefix}-spin,
|
||||
.@{fa-css-prefix}-spin-pulse {
|
||||
animation-delay: -1ms;
|
||||
animation-duration: 1ms;
|
||||
animation-iteration-count: 1;
|
||||
transition-delay: 0s;
|
||||
transition-duration: 0s;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-beat' {
|
||||
0%, 90% { transform: scale(1); }
|
||||
45% { transform: ~'scale(var(--@{fa-css-prefix}-beat-scale, 1.25))'; }
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-bounce' {
|
||||
0% { transform: scale(1,1) translateY(0); }
|
||||
10% { transform: ~'scale(var(--@{fa-css-prefix}-bounce-start-scale-x, 1.1),var(--@{fa-css-prefix}-bounce-start-scale-y, 0.9))' translateY(0); }
|
||||
30% { transform: ~'scale(var(--@{fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--@{fa-css-prefix}-bounce-jump-scale-y, 1.1))' ~'translateY(var(--@{fa-css-prefix}-bounce-height, -0.5em))'; }
|
||||
50% { transform: ~'scale(var(--@{fa-css-prefix}-bounce-land-scale-x, 1.05),var(--@{fa-css-prefix}-bounce-land-scale-y, 0.95))' translateY(0); }
|
||||
57% { transform: ~'scale(1,1) translateY(var(--@{fa-css-prefix}-bounce-rebound, -0.125em))'; }
|
||||
64% { transform: scale(1,1) translateY(0); }
|
||||
100% { transform: scale(1,1) translateY(0); }
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-fade' {
|
||||
50% { opacity: ~'var(--@{fa-css-prefix}-fade-opacity, 0.4)'; }
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-beat-fade' {
|
||||
0%, 100% {
|
||||
opacity: ~'var(--@{fa-css-prefix}-beat-fade-opacity, 0.4)';
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: ~'scale(var(--@{fa-css-prefix}-beat-fade-scale, 1.125))';
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-flip' {
|
||||
50% {
|
||||
transform: ~'rotate3d(var(--@{fa-css-prefix}-flip-x, 0), var(--@{fa-css-prefix}-flip-y, 1), var(--@{fa-css-prefix}-flip-z, 0), var(--@{fa-css-prefix}-flip-angle, -180deg))';
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-shake' {
|
||||
0% { transform: rotate(-15deg); }
|
||||
4% { transform: rotate(15deg); }
|
||||
8%, 24% { transform: rotate(-18deg); }
|
||||
12%, 28% { transform: rotate(18deg); }
|
||||
16% { transform: rotate(-22deg); }
|
||||
20% { transform: rotate(22deg); }
|
||||
32% { transform: rotate(-12deg); }
|
||||
36% { transform: rotate(12deg); }
|
||||
40%, 100% { transform: rotate(0deg); }
|
||||
}
|
||||
|
||||
@keyframes ~'@{fa-css-prefix}-spin' {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
// Bordered & Pulled
|
||||
// bordered + pulled icons
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}-border {
|
||||
border-radius: .1em;
|
||||
border: solid .08em @fa-border-color;
|
||||
padding: .2em .25em .15em;
|
||||
border-color: ~'var(--@{fa-css-prefix}-border-color, @{fa-border-color})';
|
||||
border-radius: ~'var(--@{fa-css-prefix}-border-radius, @{fa-border-radius})';
|
||||
border-style: ~'var(--@{fa-css-prefix}-border-style, @{fa-border-style})';
|
||||
border-width: ~'var(--@{fa-css-prefix}-border-width, @{fa-border-width})';
|
||||
padding: ~'var(--@{fa-css-prefix}-border-padding, @{fa-border-padding})';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-pull-left { float: left; }
|
||||
.@{fa-css-prefix}-pull-right { float: right; }
|
||||
|
||||
.@{fa-css-prefix}, .fas, .far, .fal, .fab {
|
||||
&.@{fa-css-prefix}-pull-left { margin-right: .3em; }
|
||||
&.@{fa-css-prefix}-pull-right { margin-left: .3em; }
|
||||
.@{fa-css-prefix}-pull-left {
|
||||
float: left;
|
||||
margin-right: ~'var(--@{fa-css-prefix}-pull-margin, @{fa-pull-margin})';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-pull-right {
|
||||
float: right;
|
||||
margin-left: ~'var(--@{fa-css-prefix}-pull-margin, @{fa-pull-margin})';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,36 @@
|
|||
// Base Class Definition
|
||||
// base icon class definition
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}, .fas, .far, .fal, .fad, .fab {
|
||||
.@{fa-css-prefix} {
|
||||
font-family: ~"var(--@{fa-css-prefix}-style-family, '@{fa-style-family}')";
|
||||
font-weight: ~'var(--@{fa-css-prefix}-style, @{fa-style})';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-solid,
|
||||
.@{fa-css-prefix}-regular,
|
||||
.@{fa-css-prefix}-brands,
|
||||
.fas,
|
||||
.far,
|
||||
.fab,
|
||||
.@{fa-css-prefix} {
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
display: ~'var(--@{fa-css-prefix}-display, @{fa-display})';
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.fas,
|
||||
.@{fa-css-prefix}-classic,
|
||||
.@{fa-css-prefix}-solid,
|
||||
.far,
|
||||
.@{fa-css-prefix}-regular {
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
}
|
||||
|
||||
.fab,
|
||||
.@{fa-css-prefix}-brands {
|
||||
font-family: 'Font Awesome 6 Brands';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// Fixed Width Icons
|
||||
// fixed-width icons
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}-fw {
|
||||
text-align: center;
|
||||
width: (20em / 16);
|
||||
width: @fa-fw-width;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,27 +0,0 @@
|
|||
// Icon Sizes
|
||||
// -------------------------
|
||||
|
||||
.larger(@factor) when (@factor > 0) {
|
||||
.larger((@factor - 1));
|
||||
|
||||
.@{fa-css-prefix}-@{factor}x {
|
||||
font-size: (@factor * 1em);
|
||||
}
|
||||
}
|
||||
|
||||
/* makes the font 33% larger relative to the icon container */
|
||||
.@{fa-css-prefix}-lg {
|
||||
font-size: (4em / 3);
|
||||
line-height: (3em / 4);
|
||||
vertical-align: -.0667em;
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-xs {
|
||||
font-size: .75em;
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-sm {
|
||||
font-size: .875em;
|
||||
}
|
||||
|
||||
.larger(10);
|
||||
|
|
@ -1,18 +1,18 @@
|
|||
// List Icons
|
||||
// icons in a list
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}-ul {
|
||||
list-style-type: none;
|
||||
margin-left: (@fa-li-width * 5/4);
|
||||
margin-left: ~'var(--@{fa-css-prefix}-li-margin, @{fa-li-margin})';
|
||||
padding-left: 0;
|
||||
|
||||
> li { position: relative; }
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-li {
|
||||
left: -@fa-li-width;
|
||||
left: calc(~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})' * -1);
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: @fa-li-width;
|
||||
width: ~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})';
|
||||
line-height: inherit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// Mixins
|
||||
// mixins
|
||||
// --------------------------
|
||||
|
||||
// base rendering for an icon
|
||||
.fa-icon() {
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
|
@ -11,46 +12,67 @@
|
|||
line-height: 1;
|
||||
}
|
||||
|
||||
.fa-icon-rotate(@degrees, @rotation) {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
|
||||
transform: rotate(@degrees);
|
||||
// sets relative font-sizing and alignment (in _sizing)
|
||||
.fa-size(@font-size) {
|
||||
font-size: (@font-size / @fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base
|
||||
line-height: (1 / @font-size) * 1em; // sets the line-height of the icon back to that of it's parent
|
||||
vertical-align: ((6 / @font-size) - (3 / 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender
|
||||
}
|
||||
|
||||
.fa-icon-flip(@horiz, @vert, @rotation) {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
|
||||
transform: scale(@horiz, @vert);
|
||||
}
|
||||
|
||||
|
||||
// Only display content to screen readers. A la Bootstrap 4.
|
||||
//
|
||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
||||
|
||||
.sr-only() {
|
||||
border: 0;
|
||||
clip: rect(0,0,0,0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
// only display content to screen readers
|
||||
// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
|
||||
// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||
.fa-sr-only() {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
// Use in conjunction with .sr-only to only display content when it's focused.
|
||||
//
|
||||
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
||||
//
|
||||
// Credit: HTML5 Boilerplate
|
||||
|
||||
.sr-only-focusable() {
|
||||
&:active,
|
||||
&:focus {
|
||||
clip: auto;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
position: static;
|
||||
width: auto;
|
||||
// use in conjunction with .sr-only to only display content when it's focused
|
||||
.fa-sr-only-focusable() {
|
||||
&:not(:focus) {
|
||||
.fa-sr-only();
|
||||
}
|
||||
}
|
||||
|
||||
// sets a specific icon family to use alongside style + icon mixins
|
||||
.fa-family-classic() {
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
}
|
||||
|
||||
// convenience mixins for declaring pseudo-elements by CSS variable,
|
||||
// including all style-specific font properties, and both the ::before
|
||||
// and ::after elements in the duotone case.
|
||||
.fa-icon-solid(@fa-var) {
|
||||
.fa-icon;
|
||||
.fa-solid;
|
||||
|
||||
&::before {
|
||||
content: @fa-var;
|
||||
}
|
||||
}
|
||||
|
||||
.fa-icon-regular(@fa-var) {
|
||||
.fa-icon;
|
||||
.fa-regular;
|
||||
|
||||
&::before {
|
||||
content: @fa-var;
|
||||
}
|
||||
}
|
||||
|
||||
.fa-icon-brands(@fa-var) {
|
||||
.fa-icon;
|
||||
.fa-brands;
|
||||
|
||||
&::before {
|
||||
content: @fa-var;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,24 +1,31 @@
|
|||
// Rotated & Flipped Icons
|
||||
// rotating + flipping icons
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
|
||||
.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
|
||||
.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
|
||||
|
||||
.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
|
||||
.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
|
||||
.@{fa-css-prefix}-flip-both, .@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(-1, -1, 2); }
|
||||
|
||||
// Hook for IE8-9
|
||||
// -------------------------
|
||||
|
||||
:root {
|
||||
.@{fa-css-prefix}-rotate-90,
|
||||
.@{fa-css-prefix}-rotate-180,
|
||||
.@{fa-css-prefix}-rotate-270,
|
||||
.@{fa-css-prefix}-flip-horizontal,
|
||||
.@{fa-css-prefix}-flip-vertical,
|
||||
.@{fa-css-prefix}-flip-both {
|
||||
filter: none;
|
||||
}
|
||||
.@{fa-css-prefix}-rotate-90 {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-rotate-180 {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-rotate-270 {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-flip-horizontal {
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-flip-vertical {
|
||||
transform: scale(1, -1);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-flip-both,
|
||||
.@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical {
|
||||
transform: scale(-1, -1);
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-rotate-by {
|
||||
transform: rotate(~'var(--@{fa-css-prefix}-rotate-angle, 0)');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
// Screen Readers
|
||||
// screen-reader utilities
|
||||
// -------------------------
|
||||
|
||||
.sr-only { .sr-only(); }
|
||||
.sr-only-focusable { .sr-only-focusable(); }
|
||||
// only display content to screen readers
|
||||
.sr-only,
|
||||
.@{fa-css-prefix}-sr-only {
|
||||
.fa-sr-only();
|
||||
}
|
||||
|
||||
// use in conjunction with .sr-only to only display content when it's focused
|
||||
.sr-only-focusable,
|
||||
.@{fa-css-prefix}-sr-only-focusable {
|
||||
.fa-sr-only-focusable();
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,19 @@
|
|||
// sizing icons
|
||||
// -------------------------
|
||||
|
||||
// literal magnification scale
|
||||
.sizes-literal(@factor) when (@factor > 0) {
|
||||
.sizes-literal((@factor - 1));
|
||||
|
||||
.@{fa-css-prefix}-@{factor}x {
|
||||
font-size: (@factor * 1em);
|
||||
}
|
||||
}
|
||||
.sizes-literal(10);
|
||||
|
||||
// step-based scale (with alignment)
|
||||
each(.fa-sizes(), {
|
||||
.@{fa-css-prefix}-@{key} {
|
||||
.fa-size(@value);
|
||||
}
|
||||
});
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Stacked Icons
|
||||
// stacking icons
|
||||
// -------------------------
|
||||
|
||||
.@{fa-css-prefix}-stack {
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
height: 2em;
|
||||
line-height: 2em;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 2em;
|
||||
vertical-align: @fa-stack-vertical-align;
|
||||
width: @fa-stack-width;
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
|
||||
|
|
@ -15,8 +15,17 @@
|
|||
position: absolute;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
z-index: ~'var(--@{fa-css-prefix}-stack-z-index, @{fa-stack-z-index})';
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-stack-1x { line-height: inherit; }
|
||||
.@{fa-css-prefix}-stack-2x { font-size: 2em; }
|
||||
.@{fa-css-prefix}-inverse { color: @fa-inverse; }
|
||||
.@{fa-css-prefix}-stack-1x {
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-stack-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.@{fa-css-prefix}-inverse {
|
||||
color: ~'var(--@{fa-css-prefix}-inverse, @{fa-inverse})';
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,22 +1,29 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import "_variables.less";
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-display: @fa-font-display;
|
||||
src: url('@{fa-font-path}/fa-brands-400.eot');
|
||||
src: url('@{fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
|
||||
url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-brands-400.woff') format('woff'),
|
||||
url('@{fa-font-path}/fa-brands-400.ttf') format('truetype'),
|
||||
url('@{fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
|
||||
:root, :host {
|
||||
--@{fa-css-prefix}-style-family-brands: 'Font Awesome 6 Brands';
|
||||
--@{fa-css-prefix}-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
|
||||
}
|
||||
|
||||
.fab {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 6 Brands';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: @fa-font-display;
|
||||
src: url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-brands-400.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.fab,
|
||||
.@{fa-css-prefix}-brands {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
each(.fa-brand-icons(), {
|
||||
.@{fa-css-prefix}-@{key}:before { content: @value; }
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
// Font Awesome core compile (Web Fonts-based)
|
||||
// -------------------------
|
||||
|
||||
@import "_variables.less";
|
||||
@import "_mixins.less";
|
||||
@import "_core.less";
|
||||
@import "_larger.less";
|
||||
@import "_sizing.less";
|
||||
@import "_fixed-width.less";
|
||||
@import "_list.less";
|
||||
@import "_bordered-pulled.less";
|
||||
|
|
|
|||
|
|
@ -1,23 +1,25 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import "_variables.less";
|
||||
|
||||
:root, :host {
|
||||
--@{fa-css-prefix}-style-family-classic: '@{fa-style-family}';
|
||||
--@{fa-css-prefix}-font-regular: normal 400 1em/1 '@{fa-style-family}';
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: @fa-font-display;
|
||||
src: url('@{fa-font-path}/fa-regular-400.eot');
|
||||
src: url('@{fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
|
||||
url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-regular-400.woff') format('woff'),
|
||||
url('@{fa-font-path}/fa-regular-400.ttf') format('truetype'),
|
||||
url('@{fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
|
||||
src: url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-regular-400.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.far {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.far,
|
||||
.@{fa-css-prefix}-regular {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,25 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import "_variables.less";
|
||||
|
||||
:root, :host {
|
||||
--@{fa-css-prefix}-style-family-classic: '@{fa-style-family}';
|
||||
--@{fa-css-prefix}-font-solid: normal 900 1em/1 '@{fa-style-family}';
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: @fa-font-display;
|
||||
src: url('@{fa-font-path}/fa-solid-900.eot');
|
||||
src: url('@{fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
|
||||
url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-solid-900.woff') format('woff'),
|
||||
url('@{fa-font-path}/fa-solid-900.ttf') format('truetype'),
|
||||
url('@{fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
|
||||
src: url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'),
|
||||
url('@{fa-font-path}/fa-solid-900.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.fa,
|
||||
.fas {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.fas,
|
||||
.@{fa-css-prefix}-solid {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
// V4 shims compile (Web Fonts-based)
|
||||
// -------------------------
|
||||
|
||||
@import '_variables.less';
|
||||
@import '_shims.less';
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,294 +1,646 @@
|
|||
area-chart:
|
||||
name: chart-area
|
||||
arrow-circle-o-down:
|
||||
name: arrow-alt-circle-down
|
||||
prefix: far
|
||||
name: circle-down
|
||||
arrow-circle-o-left:
|
||||
name: arrow-alt-circle-left
|
||||
prefix: far
|
||||
name: circle-left
|
||||
arrow-circle-o-right:
|
||||
name: arrow-alt-circle-right
|
||||
prefix: far
|
||||
name: circle-right
|
||||
arrow-circle-o-up:
|
||||
name: arrow-alt-circle-up
|
||||
prefix: far
|
||||
name: circle-up
|
||||
arrows:
|
||||
name: arrows-alt
|
||||
name: up-down-left-right
|
||||
arrows-alt:
|
||||
name: expand-arrows-alt
|
||||
name: maximize
|
||||
arrows-h:
|
||||
name: arrows-alt-h
|
||||
name: left-right
|
||||
arrows-v:
|
||||
name: arrows-alt-v
|
||||
name: up-down
|
||||
asl-interpreting:
|
||||
name: hands-asl-interpreting
|
||||
automobile:
|
||||
name: car
|
||||
bank:
|
||||
name: building-columns
|
||||
bar-chart:
|
||||
name: chart-bar
|
||||
prefix: far
|
||||
bitbucket-square:
|
||||
name: bitbucket
|
||||
name: chart-column
|
||||
bar-chart-o:
|
||||
name: chart-column
|
||||
bathtub:
|
||||
name: bath
|
||||
battery:
|
||||
name: battery-full
|
||||
battery-0:
|
||||
name: battery-empty
|
||||
battery-1:
|
||||
name: battery-quarter
|
||||
battery-2:
|
||||
name: battery-half
|
||||
battery-3:
|
||||
name: battery-three-quarters
|
||||
battery-4:
|
||||
name: battery-full
|
||||
behance-square:
|
||||
prefix: fab
|
||||
name: square-behance
|
||||
bitbucket-square:
|
||||
prefix: fab
|
||||
name: bitbucket
|
||||
bitcoin:
|
||||
prefix: fab
|
||||
name: btc
|
||||
cab:
|
||||
name: taxi
|
||||
calendar:
|
||||
name: calendar-alt
|
||||
calendar-o:
|
||||
name: calendar
|
||||
name: calendar-days
|
||||
calendar-times-o:
|
||||
prefix: far
|
||||
name: calendar-xmark
|
||||
caret-square-o-down:
|
||||
name: caret-square-down
|
||||
prefix: far
|
||||
name: square-caret-down
|
||||
caret-square-o-left:
|
||||
name: caret-square-left
|
||||
prefix: far
|
||||
name: square-caret-left
|
||||
caret-square-o-right:
|
||||
name: caret-square-right
|
||||
prefix: far
|
||||
name: square-caret-right
|
||||
caret-square-o-up:
|
||||
name: caret-square-up
|
||||
prefix: far
|
||||
name: square-caret-up
|
||||
cc:
|
||||
name: closed-captioning
|
||||
prefix: far
|
||||
name: closed-captioning
|
||||
chain:
|
||||
name: link
|
||||
chain-broken:
|
||||
name: unlink
|
||||
name: link-slash
|
||||
check-circle-o:
|
||||
prefix: far
|
||||
name: circle-check
|
||||
check-square-o:
|
||||
prefix: far
|
||||
name: square-check
|
||||
circle-o-notch:
|
||||
name: circle-notch
|
||||
circle-thin:
|
||||
prefix: far
|
||||
name: circle
|
||||
prefix: far
|
||||
clipboard:
|
||||
prefix: far
|
||||
name: paste
|
||||
clone:
|
||||
prefix: far
|
||||
close:
|
||||
name: xmark
|
||||
cloud-download:
|
||||
name: cloud-download-alt
|
||||
name: cloud-arrow-down
|
||||
cloud-upload:
|
||||
name: cloud-upload-alt
|
||||
name: cloud-arrow-up
|
||||
cny:
|
||||
name: yen-sign
|
||||
code-fork:
|
||||
name: code-branch
|
||||
comment-alt:
|
||||
name: comment-dots
|
||||
prefix: far
|
||||
commenting:
|
||||
name: comment-dots
|
||||
commenting-o:
|
||||
prefix: far
|
||||
name: comment-dots
|
||||
compass:
|
||||
prefix: far
|
||||
compress:
|
||||
name: down-left-and-up-right-to-center
|
||||
copyright:
|
||||
prefix: far
|
||||
creative-commons:
|
||||
prefix: fab
|
||||
credit-card:
|
||||
prefix: far
|
||||
credit-card-alt:
|
||||
name: credit-card
|
||||
cut:
|
||||
name: scissors
|
||||
cutlery:
|
||||
name: utensils
|
||||
dashboard:
|
||||
name: gauge-high
|
||||
deafness:
|
||||
name: ear-deaf
|
||||
dedent:
|
||||
name: outdent
|
||||
diamond:
|
||||
name: gem
|
||||
prefix: far
|
||||
name: gem
|
||||
dollar:
|
||||
name: dollar-sign
|
||||
dot-circle-o:
|
||||
prefix: far
|
||||
name: circle-dot
|
||||
drivers-license:
|
||||
name: id-card
|
||||
drivers-license-o:
|
||||
prefix: far
|
||||
name: id-card
|
||||
edit:
|
||||
prefix: far
|
||||
name: pen-to-square
|
||||
eercast:
|
||||
name: sellcast
|
||||
prefix: fab
|
||||
name: sellcast
|
||||
eur:
|
||||
name: euro-sign
|
||||
euro:
|
||||
name: euro-sign
|
||||
exchange:
|
||||
name: exchange-alt
|
||||
name: right-left
|
||||
expand:
|
||||
name: up-right-and-down-left-from-center
|
||||
external-link:
|
||||
name: external-link-alt
|
||||
name: up-right-from-square
|
||||
external-link-square:
|
||||
name: external-link-square-alt
|
||||
name: square-up-right
|
||||
eye:
|
||||
prefix: far
|
||||
eye-dropper:
|
||||
name: eye-dropper
|
||||
prefix: far
|
||||
eye-slash:
|
||||
prefix: far
|
||||
eyedropper:
|
||||
name: eye-dropper
|
||||
fa:
|
||||
prefix: fab
|
||||
name: font-awesome
|
||||
facebook:
|
||||
prefix: fab
|
||||
name: facebook-f
|
||||
facebook-f:
|
||||
prefix: fab
|
||||
name: facebook-f
|
||||
facebook-official:
|
||||
prefix: fab
|
||||
name: facebook
|
||||
facebook-square:
|
||||
prefix: fab
|
||||
name: square-facebook
|
||||
feed:
|
||||
name: rss
|
||||
file-archive-o:
|
||||
prefix: far
|
||||
name: file-zipper
|
||||
file-movie-o:
|
||||
prefix: far
|
||||
name: file-video
|
||||
file-photo-o:
|
||||
prefix: far
|
||||
name: file-image
|
||||
file-picture-o:
|
||||
prefix: far
|
||||
name: file-image
|
||||
file-sound-o:
|
||||
prefix: far
|
||||
name: file-audio
|
||||
file-text:
|
||||
name: file-alt
|
||||
name: file-lines
|
||||
file-text-o:
|
||||
prefix: far
|
||||
name: file-lines
|
||||
file-zip-o:
|
||||
prefix: far
|
||||
name: file-zipper
|
||||
files-o:
|
||||
prefix: far
|
||||
name: copy
|
||||
prefix: far
|
||||
flash:
|
||||
name: bolt
|
||||
floppy-o:
|
||||
name: save
|
||||
prefix: far
|
||||
name: floppy-disk
|
||||
frown-o:
|
||||
prefix: far
|
||||
name: face-frown
|
||||
gbp:
|
||||
name: pound-sign
|
||||
name: sterling-sign
|
||||
ge:
|
||||
prefix: fab
|
||||
name: empire
|
||||
gear:
|
||||
name: gear
|
||||
gears:
|
||||
name: gears
|
||||
git-square:
|
||||
prefix: fab
|
||||
name: square-git
|
||||
github-square:
|
||||
prefix: fab
|
||||
name: square-github
|
||||
gittip:
|
||||
prefix: fab
|
||||
name: gratipay
|
||||
glass:
|
||||
name: glass-martini
|
||||
name: martini-glass-empty
|
||||
globe:
|
||||
name: earth-americas
|
||||
google-plus:
|
||||
prefix: fab
|
||||
name: google-plus-g
|
||||
prefix: fab
|
||||
google-plus-circle:
|
||||
name: google-plus
|
||||
prefix: fab
|
||||
name: google-plus
|
||||
google-plus-official:
|
||||
name: google-plus
|
||||
prefix: fab
|
||||
name: google-plus
|
||||
google-plus-square:
|
||||
prefix: fab
|
||||
name: square-google-plus
|
||||
group:
|
||||
name: users
|
||||
hand-grab-o:
|
||||
prefix: far
|
||||
name: hand-back-fist
|
||||
hand-o-down:
|
||||
prefix: far
|
||||
name: hand-point-down
|
||||
prefix: far
|
||||
hand-o-left:
|
||||
prefix: far
|
||||
name: hand-point-left
|
||||
prefix: far
|
||||
hand-o-right:
|
||||
prefix: far
|
||||
name: hand-point-right
|
||||
prefix: far
|
||||
hand-o-up:
|
||||
name: hand-point-up
|
||||
prefix: far
|
||||
name: hand-point-up
|
||||
hand-paper-o:
|
||||
prefix: far
|
||||
name: hand
|
||||
hand-rock-o:
|
||||
prefix: far
|
||||
name: hand-back-fist
|
||||
hand-stop-o:
|
||||
prefix: far
|
||||
name: hand
|
||||
hard-of-hearing:
|
||||
name: ear-deaf
|
||||
hdd-o:
|
||||
prefix: far
|
||||
name: hard-drive
|
||||
header:
|
||||
name: heading
|
||||
home:
|
||||
name: house
|
||||
hotel:
|
||||
name: bed
|
||||
hourglass-1:
|
||||
name: hourglass-start
|
||||
hourglass-2:
|
||||
name: hourglass-half
|
||||
hourglass-3:
|
||||
name: hourglass-end
|
||||
hourglass-o:
|
||||
name: hourglass
|
||||
id-badge:
|
||||
prefix: far
|
||||
ils:
|
||||
name: shekel-sign
|
||||
image:
|
||||
prefix: far
|
||||
name: image
|
||||
inr:
|
||||
name: rupee-sign
|
||||
name: indian-rupee-sign
|
||||
institution:
|
||||
name: building-columns
|
||||
intersex:
|
||||
name: transgender
|
||||
name: mars-and-venus
|
||||
jpy:
|
||||
name: yen-sign
|
||||
krw:
|
||||
name: won-sign
|
||||
lastfm-square:
|
||||
prefix: fab
|
||||
name: square-lastfm
|
||||
legal:
|
||||
name: gavel
|
||||
level-down:
|
||||
name: level-down-alt
|
||||
name: turn-down
|
||||
level-up:
|
||||
name: level-up-alt
|
||||
life-ring:
|
||||
prefix: far
|
||||
name: turn-up
|
||||
life-bouy:
|
||||
name: life-ring
|
||||
life-buoy:
|
||||
name: life-ring
|
||||
life-saver:
|
||||
name: life-ring
|
||||
line-chart:
|
||||
name: chart-line
|
||||
linkedin:
|
||||
prefix: fab
|
||||
name: linkedin-in
|
||||
prefix: fab
|
||||
linkedin-square:
|
||||
name: linkedin
|
||||
prefix: fab
|
||||
name: linkedin
|
||||
list-alt:
|
||||
prefix: far
|
||||
name: rectangle-list
|
||||
long-arrow-down:
|
||||
name: long-arrow-alt-down
|
||||
name: down-long
|
||||
long-arrow-left:
|
||||
name: long-arrow-alt-left
|
||||
name: left-long
|
||||
long-arrow-right:
|
||||
name: long-arrow-alt-right
|
||||
name: right-long
|
||||
long-arrow-up:
|
||||
name: long-arrow-alt-up
|
||||
name: up-long
|
||||
magic:
|
||||
name: wand-magic-sparkles
|
||||
mail-forward:
|
||||
name: share
|
||||
mail-reply:
|
||||
name: reply
|
||||
mail-reply-all:
|
||||
name: reply-all
|
||||
map-marker:
|
||||
name: map-marker-alt
|
||||
meanpath:
|
||||
name: font-awesome
|
||||
prefix: fab
|
||||
mobile:
|
||||
name: mobile-alt
|
||||
money:
|
||||
name: money-bill-alt
|
||||
name: location-dot
|
||||
meh-o:
|
||||
prefix: far
|
||||
name: face-meh
|
||||
minus-square-o:
|
||||
prefix: far
|
||||
name: square-minus
|
||||
mobile:
|
||||
name: mobile-screen-button
|
||||
mobile-phone:
|
||||
name: mobile-screen-button
|
||||
money:
|
||||
name: money-bill-1
|
||||
mortar-board:
|
||||
name: graduation-cap
|
||||
navicon:
|
||||
name: bars
|
||||
object-group:
|
||||
prefix: far
|
||||
object-ungroup:
|
||||
prefix: far
|
||||
paste:
|
||||
odnoklassniki-square:
|
||||
prefix: fab
|
||||
name: square-odnoklassniki
|
||||
pause-circle-o:
|
||||
prefix: far
|
||||
pencil:
|
||||
name: pencil-alt
|
||||
name: circle-pause
|
||||
pencil-square:
|
||||
name: pen-square
|
||||
name: square-pen
|
||||
pencil-square-o:
|
||||
name: edit
|
||||
prefix: far
|
||||
picture:
|
||||
name: pen-to-square
|
||||
photo:
|
||||
prefix: far
|
||||
name: image
|
||||
picture-o:
|
||||
prefix: far
|
||||
name: image
|
||||
pie-chart:
|
||||
name: chart-pie
|
||||
pinterest-square:
|
||||
prefix: fab
|
||||
name: square-pinterest
|
||||
play-circle-o:
|
||||
prefix: far
|
||||
name: circle-play
|
||||
plus-square-o:
|
||||
prefix: far
|
||||
name: square-plus
|
||||
question-circle-o:
|
||||
prefix: far
|
||||
name: circle-question
|
||||
ra:
|
||||
prefix: fab
|
||||
name: rebel
|
||||
reddit-square:
|
||||
prefix: fab
|
||||
name: square-reddit
|
||||
refresh:
|
||||
name: sync
|
||||
name: arrows-rotate
|
||||
registered:
|
||||
prefix: far
|
||||
remove:
|
||||
name: xmark
|
||||
reorder:
|
||||
name: bars
|
||||
repeat:
|
||||
name: redo
|
||||
name: arrow-rotate-right
|
||||
resistance:
|
||||
prefix: fab
|
||||
name: rebel
|
||||
rmb:
|
||||
name: yen-sign
|
||||
rotate-left:
|
||||
name: arrow-rotate-left
|
||||
rotate-right:
|
||||
name: arrow-rotate-right
|
||||
rouble:
|
||||
name: ruble-sign
|
||||
rub:
|
||||
name: ruble-sign
|
||||
scissors:
|
||||
name: cut
|
||||
shield:
|
||||
name: shield-alt
|
||||
ruble:
|
||||
name: ruble-sign
|
||||
rupee:
|
||||
name: indian-rupee-sign
|
||||
s15:
|
||||
name: bath
|
||||
save:
|
||||
prefix: far
|
||||
name: floppy-disk
|
||||
send:
|
||||
name: paper-plane
|
||||
send-o:
|
||||
prefix: far
|
||||
name: paper-plane
|
||||
share-square-o:
|
||||
name: share-from-square
|
||||
shekel:
|
||||
name: shekel-sign
|
||||
sheqel:
|
||||
name: shekel-sign
|
||||
sign-in:
|
||||
name: sign-in-alt
|
||||
name: right-to-bracket
|
||||
sign-out:
|
||||
name: sign-out-alt
|
||||
sliders:
|
||||
name: sliders-h
|
||||
name: right-from-bracket
|
||||
signing:
|
||||
name: hands
|
||||
smile-o:
|
||||
prefix: far
|
||||
name: face-smile
|
||||
snapchat-ghost:
|
||||
prefix: fab
|
||||
name: snapchat
|
||||
snapchat-square:
|
||||
prefix: fab
|
||||
name: square-snapchat
|
||||
soccer-ball-o:
|
||||
prefix: far
|
||||
name: futbol
|
||||
sort-alpha-asc:
|
||||
name: sort-alpha-down
|
||||
name: arrow-down-a-z
|
||||
sort-alpha-desc:
|
||||
name: sort-alpha-down-alt
|
||||
name: arrow-down-z-a
|
||||
sort-amount-asc:
|
||||
name: sort-amount-down
|
||||
name: arrow-down-short-wide
|
||||
sort-amount-desc:
|
||||
name: sort-amount-down-alt
|
||||
name: arrow-down-wide-short
|
||||
sort-asc:
|
||||
name: sort-up
|
||||
sort-desc:
|
||||
name: sort-down
|
||||
sort-numeric-asc:
|
||||
name: sort-numeric-down
|
||||
name: arrow-down-1-9
|
||||
sort-numeric-desc:
|
||||
name: sort-numeric-down-alt
|
||||
spoon:
|
||||
name: utensil-spoon
|
||||
name: arrow-down-9-1
|
||||
star-half-empty:
|
||||
name: star-half
|
||||
prefix: far
|
||||
name: star-half-stroke
|
||||
star-half-full:
|
||||
name: star-half
|
||||
prefix: far
|
||||
name: star-half-stroke
|
||||
star-half-o:
|
||||
prefix: far
|
||||
name: star-half-stroke
|
||||
steam-square:
|
||||
prefix: fab
|
||||
name: square-steam
|
||||
sticky-note-o:
|
||||
prefix: far
|
||||
name: note-sticky
|
||||
stop-circle-o:
|
||||
prefix: far
|
||||
name: circle-stop
|
||||
support:
|
||||
name: life-ring
|
||||
prefix: far
|
||||
tablet:
|
||||
name: tablet-alt
|
||||
name: tablet-screen-button
|
||||
tachometer:
|
||||
name: tachometer-alt
|
||||
name: gauge-high
|
||||
tasks:
|
||||
name: bars-progress
|
||||
television:
|
||||
name: tv
|
||||
thermometer:
|
||||
name: temperature-full
|
||||
thermometer-0:
|
||||
name: temperature-empty
|
||||
thermometer-1:
|
||||
name: temperature-quarter
|
||||
thermometer-2:
|
||||
name: temperature-half
|
||||
thermometer-3:
|
||||
name: temperature-three-quarters
|
||||
thermometer-4:
|
||||
name: temperature-full
|
||||
thumb-tack:
|
||||
name: thumbtack
|
||||
thumbs-o-down:
|
||||
prefix: far
|
||||
name: thumbs-down
|
||||
prefix: far
|
||||
thumbs-o-up:
|
||||
prefix: far
|
||||
name: thumbs-up
|
||||
times-circle-o:
|
||||
prefix: far
|
||||
ticket:
|
||||
name: ticket-alt
|
||||
name: circle-xmark
|
||||
times-rectangle:
|
||||
name: rectangle-xmark
|
||||
times-rectangle-o:
|
||||
prefix: far
|
||||
name: rectangle-xmark
|
||||
toggle-down:
|
||||
prefix: far
|
||||
name: square-caret-down
|
||||
toggle-left:
|
||||
prefix: far
|
||||
name: square-caret-left
|
||||
toggle-right:
|
||||
prefix: far
|
||||
name: square-caret-right
|
||||
toggle-up:
|
||||
prefix: far
|
||||
name: square-caret-up
|
||||
transgender:
|
||||
name: mars-and-venus
|
||||
transgender-alt:
|
||||
name: transgender
|
||||
trash:
|
||||
name: trash-alt
|
||||
name: trash-can
|
||||
trash-o:
|
||||
name: trash-alt
|
||||
prefix: far
|
||||
name: trash-can
|
||||
try:
|
||||
name: lira-sign
|
||||
name: turkish-lira-sign
|
||||
tumblr-square:
|
||||
prefix: fab
|
||||
name: square-tumblr
|
||||
turkish-lira:
|
||||
name: turkish-lira-sign
|
||||
twitter-square:
|
||||
prefix: fab
|
||||
name: square-twitter
|
||||
unlink:
|
||||
name: link-slash
|
||||
unlock-alt:
|
||||
name: unlock
|
||||
unsorted:
|
||||
name: sort
|
||||
usd:
|
||||
name: dollar-sign
|
||||
user-circle-o:
|
||||
prefix: far
|
||||
name: circle-user
|
||||
vcard:
|
||||
name: address-card
|
||||
vcard-o:
|
||||
prefix: far
|
||||
name: address-card
|
||||
viadeo-square:
|
||||
prefix: fab
|
||||
name: square-viadeo
|
||||
video-camera:
|
||||
name: video
|
||||
vimeo:
|
||||
name: vimeo-v
|
||||
prefix: fab
|
||||
name: vimeo-v
|
||||
vimeo-square:
|
||||
prefix: fab
|
||||
name: square-vimeo
|
||||
volume-control-phone:
|
||||
name: phone-volume
|
||||
wheelchair-alt:
|
||||
name: accessible-icon
|
||||
warning:
|
||||
name: triangle-exclamation
|
||||
wechat:
|
||||
prefix: fab
|
||||
name: weixin
|
||||
wheelchair-alt:
|
||||
prefix: fab
|
||||
name: accessible-icon
|
||||
window-close-o:
|
||||
prefix: far
|
||||
name: rectangle-xmark
|
||||
window-maximize:
|
||||
prefix: far
|
||||
window-restore:
|
||||
prefix: far
|
||||
youtube-play:
|
||||
name: youtube
|
||||
won:
|
||||
name: won-sign
|
||||
xing-square:
|
||||
prefix: fab
|
||||
name: square-xing
|
||||
y-combinator-square:
|
||||
prefix: fab
|
||||
name: hacker-news
|
||||
yc:
|
||||
prefix: fab
|
||||
name: y-combinator
|
||||
yc-square:
|
||||
prefix: fab
|
||||
name: hacker-news
|
||||
yen:
|
||||
name: yen-sign
|
||||
youtube-play:
|
||||
prefix: fab
|
||||
name: youtube
|
||||
youtube-square:
|
||||
prefix: fab
|
||||
name: square-youtube
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,20 +1,152 @@
|
|||
// Animated Icons
|
||||
// animating icons
|
||||
// --------------------------
|
||||
|
||||
.#{$fa-css-prefix}-beat {
|
||||
animation-name: #{$fa-css-prefix}-beat;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-bounce {
|
||||
animation-name: #{$fa-css-prefix}-bounce;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1));
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-fade {
|
||||
animation-name: #{$fa-css-prefix}-fade;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-beat-fade {
|
||||
animation-name: #{$fa-css-prefix}-beat-fade;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-flip {
|
||||
animation-name: #{$fa-css-prefix}-flip;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-shake {
|
||||
animation-name: #{$fa-css-prefix}-shake;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-spin {
|
||||
animation: fa-spin 2s infinite linear;
|
||||
animation-name: #{$fa-css-prefix}-spin;
|
||||
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-pulse {
|
||||
animation: fa-spin 1s infinite steps(8);
|
||||
.#{$fa-css-prefix}-spin-reverse {
|
||||
--#{$fa-css-prefix}-animation-direction: reverse;
|
||||
}
|
||||
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
.#{$fa-css-prefix}-pulse,
|
||||
.#{$fa-css-prefix}-spin-pulse {
|
||||
animation-name: #{$fa-css-prefix}-spin;
|
||||
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8));
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
// if agent or operating system prefers reduced motion, disable animations
|
||||
// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
|
||||
// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.#{$fa-css-prefix}-beat,
|
||||
.#{$fa-css-prefix}-bounce,
|
||||
.#{$fa-css-prefix}-fade,
|
||||
.#{$fa-css-prefix}-beat-fade,
|
||||
.#{$fa-css-prefix}-flip,
|
||||
.#{$fa-css-prefix}-pulse,
|
||||
.#{$fa-css-prefix}-shake,
|
||||
.#{$fa-css-prefix}-spin,
|
||||
.#{$fa-css-prefix}-spin-pulse {
|
||||
animation-delay: -1ms;
|
||||
animation-duration: 1ms;
|
||||
animation-iteration-count: 1;
|
||||
transition-delay: 0s;
|
||||
transition-duration: 0s;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-beat {
|
||||
0%, 90% { transform: scale(1); }
|
||||
45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); }
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-bounce {
|
||||
0% { transform: scale(1,1) translateY(0); }
|
||||
10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||
30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); }
|
||||
50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||
57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); }
|
||||
64% { transform: scale(1,1) translateY(0); }
|
||||
100% { transform: scale(1,1) translateY(0); }
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-fade {
|
||||
50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); }
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-beat-fade {
|
||||
0%, 100% {
|
||||
opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4);
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125));
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-flip {
|
||||
50% {
|
||||
transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg));
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-shake {
|
||||
0% { transform: rotate(-15deg); }
|
||||
4% { transform: rotate(15deg); }
|
||||
8%, 24% { transform: rotate(-18deg); }
|
||||
12%, 28% { transform: rotate(18deg); }
|
||||
16% { transform: rotate(-22deg); }
|
||||
20% { transform: rotate(22deg); }
|
||||
32% { transform: rotate(-12deg); }
|
||||
36% { transform: rotate(12deg); }
|
||||
40%, 100% { transform: rotate(0deg); }
|
||||
}
|
||||
|
||||
@keyframes #{$fa-css-prefix}-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
// Bordered & Pulled
|
||||
// bordered + pulled icons
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix}-border {
|
||||
border: solid .08em $fa-border-color;
|
||||
border-radius: .1em;
|
||||
padding: .2em .25em .15em;
|
||||
border-color: var(--#{$fa-css-prefix}-border-color, #{$fa-border-color});
|
||||
border-radius: var(--#{$fa-css-prefix}-border-radius, #{$fa-border-radius});
|
||||
border-style: var(--#{$fa-css-prefix}-border-style, #{$fa-border-style});
|
||||
border-width: var(--#{$fa-css-prefix}-border-width, #{$fa-border-width});
|
||||
padding: var(--#{$fa-css-prefix}-border-padding, #{$fa-border-padding});
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-pull-left { float: left; }
|
||||
.#{$fa-css-prefix}-pull-right { float: right; }
|
||||
|
||||
.#{$fa-css-prefix},
|
||||
.fas,
|
||||
.far,
|
||||
.fal,
|
||||
.fab {
|
||||
&.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
|
||||
&.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
|
||||
.#{$fa-css-prefix}-pull-left {
|
||||
float: left;
|
||||
margin-right: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-pull-right {
|
||||
float: right;
|
||||
margin-left: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,43 @@
|
|||
// Base Class Definition
|
||||
// base icon class definition
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix},
|
||||
.#{$fa-css-prefix} {
|
||||
font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}');
|
||||
font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style});
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-solid,
|
||||
.#{$fa-css-prefix}-regular,
|
||||
.#{$fa-css-prefix}-brands,
|
||||
.fas,
|
||||
.far,
|
||||
.fal,
|
||||
.fad,
|
||||
.fab {
|
||||
.fab,
|
||||
.#{$fa-css-prefix}-sharp-solid,
|
||||
.#{$fa-css-prefix}-classic,
|
||||
.#{$fa-css-prefix} {
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
display: var(--#{$fa-css-prefix}-display, #{$fa-display});
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-rendering: auto;
|
||||
}
|
||||
|
||||
.fas,
|
||||
.#{$fa-css-prefix}-classic,
|
||||
.#{$fa-css-prefix}-solid,
|
||||
.far,
|
||||
.#{$fa-css-prefix}-regular {
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
}
|
||||
|
||||
.fab,
|
||||
.#{$fa-css-prefix}-brands {
|
||||
font-family: 'Font Awesome 6 Brands';
|
||||
}
|
||||
|
||||
|
||||
%fa-icon {
|
||||
@include fa-icon;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// Fixed Width Icons
|
||||
// fixed-width icons
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix}-fw {
|
||||
text-align: center;
|
||||
width: $fa-fw-width;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
// functions
|
||||
// --------------------------
|
||||
|
||||
// fa-content: convenience function used to set content property
|
||||
@function fa-content($fa-var) {
|
||||
@return unquote("\"#{ $fa-var }\"");
|
||||
}
|
||||
|
||||
// fa-divide: Originally obtained from the Bootstrap https://github.com/twbs/bootstrap
|
||||
//
|
||||
// Licensed under: The MIT License (MIT)
|
||||
//
|
||||
// Copyright (c) 2011-2021 Twitter, Inc.
|
||||
// Copyright (c) 2011-2021 The Bootstrap Authors
|
||||
//
|
||||
// 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 rights
|
||||
// to 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.
|
||||
|
||||
@function fa-divide($dividend, $divisor, $precision: 10) {
|
||||
$sign: if($dividend > 0 and $divisor > 0, 1, -1);
|
||||
$dividend: abs($dividend);
|
||||
$divisor: abs($divisor);
|
||||
$quotient: 0;
|
||||
$remainder: $dividend;
|
||||
@if $dividend == 0 {
|
||||
@return 0;
|
||||
}
|
||||
@if $divisor == 0 {
|
||||
@error "Cannot divide by 0";
|
||||
}
|
||||
@if $divisor == 1 {
|
||||
@return $dividend;
|
||||
}
|
||||
@while $remainder >= $divisor {
|
||||
$quotient: $quotient + 1;
|
||||
$remainder: $remainder - $divisor;
|
||||
}
|
||||
@if $remainder > 0 and $precision > 0 {
|
||||
$remainder: fa-divide($remainder * 10, $divisor, $precision - 1) * .1;
|
||||
}
|
||||
@return ($quotient + $remainder) * $sign;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,23 +0,0 @@
|
|||
// Icon Sizes
|
||||
// -------------------------
|
||||
|
||||
// makes the font 33% larger relative to the icon container
|
||||
.#{$fa-css-prefix}-lg {
|
||||
font-size: (4em / 3);
|
||||
line-height: (3em / 4);
|
||||
vertical-align: -.0667em;
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-xs {
|
||||
font-size: .75em;
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-sm {
|
||||
font-size: .875em;
|
||||
}
|
||||
|
||||
@for $i from 1 through 10 {
|
||||
.#{$fa-css-prefix}-#{$i}x {
|
||||
font-size: $i * 1em;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +1,18 @@
|
|||
// List Icons
|
||||
// icons in a list
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix}-ul {
|
||||
list-style-type: none;
|
||||
margin-left: $fa-li-width * 5/4;
|
||||
margin-left: var(--#{$fa-css-prefix}-li-margin, #{$fa-li-margin});
|
||||
padding-left: 0;
|
||||
|
||||
> li { position: relative; }
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-li {
|
||||
left: -$fa-li-width;
|
||||
left: calc(-1 * var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}));
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: $fa-li-width;
|
||||
width: var(--#{$fa-css-prefix}-li-width, #{$fa-li-width});
|
||||
line-height: inherit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// Mixins
|
||||
// mixins
|
||||
// --------------------------
|
||||
|
||||
// base rendering for an icon
|
||||
@mixin fa-icon {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
|
@ -11,46 +12,61 @@
|
|||
line-height: 1;
|
||||
}
|
||||
|
||||
@mixin fa-icon-rotate($degrees, $rotation) {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
|
||||
transform: rotate($degrees);
|
||||
// sets relative font-sizing and alignment (in _sizing)
|
||||
@mixin fa-size ($font-size) {
|
||||
font-size: fa-divide($font-size, $fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base
|
||||
line-height: fa-divide(1, $font-size) * 1em; // sets the line-height of the icon back to that of it's parent
|
||||
vertical-align: (fa-divide(6, $font-size) - fa-divide(3, 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender
|
||||
}
|
||||
|
||||
@mixin fa-icon-flip($horiz, $vert, $rotation) {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
|
||||
transform: scale($horiz, $vert);
|
||||
}
|
||||
|
||||
|
||||
// Only display content to screen readers. A la Bootstrap 4.
|
||||
//
|
||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
||||
|
||||
@mixin sr-only {
|
||||
border: 0;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
// only display content to screen readers
|
||||
// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
|
||||
// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||
@mixin fa-sr-only() {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
// Use in conjunction with .sr-only to only display content when it's focused.
|
||||
//
|
||||
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
||||
//
|
||||
// Credit: HTML5 Boilerplate
|
||||
|
||||
@mixin sr-only-focusable {
|
||||
&:active,
|
||||
&:focus {
|
||||
clip: auto;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
position: static;
|
||||
width: auto;
|
||||
// use in conjunction with .sr-only to only display content when it's focused
|
||||
@mixin fa-sr-only-focusable() {
|
||||
&:not(:focus) {
|
||||
@include fa-sr-only();
|
||||
}
|
||||
}
|
||||
|
||||
// sets a specific icon family to use alongside style + icon mixins
|
||||
|
||||
// convenience mixins for declaring pseudo-elements by CSS variable,
|
||||
// including all style-specific font properties, and both the ::before
|
||||
// and ::after elements in the duotone case.
|
||||
@mixin fa-icon-solid($fa-var) {
|
||||
@extend %fa-icon;
|
||||
@extend .fa-solid;
|
||||
|
||||
&::before {
|
||||
content: unquote("\"#{ $fa-var }\"");
|
||||
}
|
||||
}
|
||||
@mixin fa-icon-regular($fa-var) {
|
||||
@extend %fa-icon;
|
||||
@extend .fa-regular;
|
||||
|
||||
&::before {
|
||||
content: unquote("\"#{ $fa-var }\"");
|
||||
}
|
||||
}
|
||||
@mixin fa-icon-brands($fa-var) {
|
||||
@extend %fa-icon;
|
||||
@extend .fa-brands;
|
||||
|
||||
&::before {
|
||||
content: unquote("\"#{ $fa-var }\"");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,31 @@
|
|||
// Rotated & Flipped Icons
|
||||
// rotating + flipping icons
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
|
||||
.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
|
||||
.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
|
||||
|
||||
.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
|
||||
.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
|
||||
.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }
|
||||
|
||||
// Hook for IE8-9
|
||||
// -------------------------
|
||||
|
||||
:root {
|
||||
.#{$fa-css-prefix}-rotate-90,
|
||||
.#{$fa-css-prefix}-rotate-180,
|
||||
.#{$fa-css-prefix}-rotate-270,
|
||||
.#{$fa-css-prefix}-flip-horizontal,
|
||||
.#{$fa-css-prefix}-flip-vertical,
|
||||
.#{$fa-css-prefix}-flip-both {
|
||||
filter: none;
|
||||
}
|
||||
.#{$fa-css-prefix}-rotate-90 {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-rotate-180 {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-rotate-270 {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-flip-horizontal {
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-flip-vertical {
|
||||
transform: scale(1, -1);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-flip-both,
|
||||
.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical {
|
||||
transform: scale(-1, -1);
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-rotate-by {
|
||||
transform: rotate(var(--#{$fa-css-prefix}-rotate-angle, 0));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
// Screen Readers
|
||||
// screen-reader utilities
|
||||
// -------------------------
|
||||
|
||||
.sr-only { @include sr-only; }
|
||||
.sr-only-focusable { @include sr-only-focusable; }
|
||||
// only display content to screen readers
|
||||
.sr-only,
|
||||
.#{$fa-css-prefix}-sr-only {
|
||||
@include fa-sr-only;
|
||||
}
|
||||
|
||||
// use in conjunction with .sr-only to only display content when it's focused
|
||||
.sr-only-focusable,
|
||||
.#{$fa-css-prefix}-sr-only-focusable {
|
||||
@include fa-sr-only-focusable;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,16 @@
|
|||
// sizing icons
|
||||
// -------------------------
|
||||
|
||||
// literal magnification scale
|
||||
@for $i from 1 through 10 {
|
||||
.#{$fa-css-prefix}-#{$i}x {
|
||||
font-size: $i * 1em;
|
||||
}
|
||||
}
|
||||
|
||||
// step-based scale (with alignment)
|
||||
@each $size, $value in $fa-sizes {
|
||||
.#{$fa-css-prefix}-#{$size} {
|
||||
@include fa-size($value);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Stacked Icons
|
||||
// stacking icons
|
||||
// -------------------------
|
||||
|
||||
.#{$fa-css-prefix}-stack {
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
height: 2em;
|
||||
line-height: 2em;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: ($fa-fw-width*2);
|
||||
vertical-align: $fa-stack-vertical-align;
|
||||
width: $fa-stack-width;
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-stack-1x,
|
||||
|
|
@ -16,6 +16,7 @@
|
|||
position: absolute;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
z-index: var(--#{$fa-css-prefix}-stack-z-index, #{$fa-stack-z-index});
|
||||
}
|
||||
|
||||
.#{$fa-css-prefix}-stack-1x {
|
||||
|
|
@ -27,5 +28,5 @@
|
|||
}
|
||||
|
||||
.#{$fa-css-prefix}-inverse {
|
||||
color: $fa-inverse;
|
||||
color: var(--#{$fa-css-prefix}-inverse, #{$fa-inverse});
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,22 +1,30 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import 'functions';
|
||||
@import 'variables';
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-display: $fa-font-display;
|
||||
src: url('#{$fa-font-path}/fa-brands-400.eot');
|
||||
src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),
|
||||
url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),
|
||||
url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
|
||||
:root, :host {
|
||||
--#{$fa-css-prefix}-style-family-brands: 'Font Awesome 6 Brands';
|
||||
--#{$fa-css-prefix}-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
|
||||
}
|
||||
|
||||
.fab {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 6 Brands';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: $fa-font-display;
|
||||
src: url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.fab,
|
||||
.#{$fa-css-prefix}-brands {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
@each $name, $icon in $fa-brand-icons {
|
||||
.#{$fa-css-prefix}-#{$name}:before { content: unquote("\"#{ $icon }\""); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
// Font Awesome core compile (Web Fonts-based)
|
||||
// -------------------------
|
||||
|
||||
@import 'functions';
|
||||
@import 'variables';
|
||||
@import 'mixins';
|
||||
@import 'core';
|
||||
@import 'larger';
|
||||
@import 'sizing';
|
||||
@import 'fixed-width';
|
||||
@import 'list';
|
||||
@import 'bordered-pulled';
|
||||
|
|
|
|||
|
|
@ -1,23 +1,27 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import 'functions';
|
||||
@import 'variables';
|
||||
|
||||
:root, :host {
|
||||
--#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }';
|
||||
--#{$fa-css-prefix}-font-regular: normal 400 1em/1 '#{ $fa-style-family }';
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: $fa-font-display;
|
||||
src: url('#{$fa-font-path}/fa-regular-400.eot');
|
||||
src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),
|
||||
url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),
|
||||
url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
|
||||
src: url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.far {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.far,
|
||||
.#{$fa-css-prefix}-regular {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,27 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
@import 'functions';
|
||||
@import 'variables';
|
||||
|
||||
:root, :host {
|
||||
--#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }';
|
||||
--#{$fa-css-prefix}-font-solid: normal 900 1em/1 '#{ $fa-style-family }';
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-family: 'Font Awesome 6 Free';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: $fa-font-display;
|
||||
src: url('#{$fa-font-path}/fa-solid-900.eot');
|
||||
src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),
|
||||
url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),
|
||||
url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
|
||||
src: url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
|
||||
url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.fa,
|
||||
.fas {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
.fas,
|
||||
.#{$fa-css-prefix}-solid {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
/*!
|
||||
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
|
||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2024 Fonticons, Inc.
|
||||
*/
|
||||
// V4 shims compile (Web Fonts-based)
|
||||
// -------------------------
|
||||
|
||||
@import 'functions';
|
||||
@import 'variables';
|
||||
@import 'shims';
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 431 KiB After Width: | Height: | Size: 496 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue