Merge branch 'MDL-70846-master' of https://github.com/dcai/moodle

This commit is contained in:
Andrew Nicols 2021-06-10 08:41:11 +08:00
commit 73a5098a89
15 changed files with 131 additions and 130 deletions

View File

@ -1,2 +1,2 @@
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("block_navigation/ajax_response_renderer",["jquery","core/templates","core/notification","core/url","core/aria"],function(a,b,c,d,e){var g={ACTIVITY:40,RESOURCE:50};function f(h,i){var j=a("<ul></ul>");j.attr("role","group");e.hide(j);a.each(i,function(e,h){if("object"!==_typeof(h)){return}var i=a("<li></li>"),k=a("<p></p>"),l=h.id||h.key+"_tree_item",m=null,n=h.expandable||h.haschildren?!0:!1;k.addClass("tree_item");k.attr("id",l);k.attr("role","treeitem");k.attr("tabindex","-1");if(h.requiresajaxloading){k.attr("data-requires-ajax",!0);k.attr("data-node-id",h.id);k.attr("data-node-key",h.key);k.attr("data-node-type",h.type)}if(n){i.addClass("collapsed contains_branch");k.attr("aria-expanded",!1);k.addClass("branch")}var o=null;if(h.link){var p=a("<a title=\""+h.title+"\" href=\""+h.link+"\"></a>");o=p;p.append("<span class=\"item-content-wrap\">"+h.name+"</span>");if(h.hidden){p.addClass("dimmed")}k.append(p)}else{var q=a("<span></span>");o=q;q.append("<span class=\"item-content-wrap\">"+h.name+"</span>");if(h.hidden){q.addClass("dimmed")}k.append(q)}if(h.icon&&(!n||h.type===g.ACTIVITY||h.type===g.RESOURCE)){i.addClass("item_with_icon");k.addClass("hasicon");if(h.type===g.ACTIVITY||h.type===g.RESOURCE){m=a("<img/>");m.attr("alt",h.icon.alt);m.attr("title",h.icon.title);m.attr("src",d.imageUrl(h.icon.pix,h.icon.component));a.each(h.icon.classes,function(a,b){m.addClass(b)});o.prepend(m)}else{if("moodle"==h.icon.component){h.icon.component="core"}b.renderPix(h.icon.pix,h.icon.component,h.icon.title).then(function(a){o.prepend(a)}).catch(c.exception)}}i.append(k);j.append(i);if(h.children&&h.children.length){f(k,h.children)}else if(n&&!h.requiresajaxloading){i.removeClass("contains_branch");k.addClass("emptybranch")}});h.parent().append(j);var k=h.attr("id")+"_group";j.attr("id",k);h.attr("aria-owns",k);h.attr("role","treeitem")}return{render:function render(a,b){if(b.children&&b.children.length){f(a,b.children);var c=a.children("[role='treeitem']").first(),d=a.find("#"+c.attr("aria-owns"));c.attr("aria-expanded",!0);e.unhide(d)}else{if(a.parent().hasClass("contains_branch")){a.parent().removeClass("contains_branch");a.addClass("emptybranch")}}}}});
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("block_navigation/ajax_response_renderer",["jquery","core/templates","core/notification","core/url","core/aria"],function(a,b,c,d,e){var g={ACTIVITY:40,RESOURCE:50};function f(h,i){var j=a("<ul></ul>");j.attr("role","group");e.hide(j);a.each(i,function(e,h){if("object"!==_typeof(h)){return}var i=a("<li></li>"),k=a("<p></p>"),l=h.id||h.key+"_tree_item",m=null,n=h.expandable||h.haschildren?!0:!1;i.attr("role","treeitem");k.addClass("tree_item");k.attr("id",l);k.attr("tabindex","-1");if(h.requiresajaxloading){i.attr("data-requires-ajax",!0);i.attr("data-node-id",h.id);i.attr("data-node-key",h.key);i.attr("data-node-type",h.type)}if(n){i.addClass("collapsed contains_branch");i.attr("aria-expanded",!1);k.addClass("branch")}var o=null;if(h.link){var p=a("<a title=\""+h.title+"\" href=\""+h.link+"\"></a>");o=p;p.append("<span class=\"item-content-wrap\">"+h.name+"</span>");if(h.hidden){p.addClass("dimmed")}k.append(p)}else{var q=a("<span></span>");o=q;q.append("<span class=\"item-content-wrap\">"+h.name+"</span>");if(h.hidden){q.addClass("dimmed")}k.append(q)}if(h.icon&&(!n||h.type===g.ACTIVITY||h.type===g.RESOURCE)){i.addClass("item_with_icon");k.addClass("hasicon");if(h.type===g.ACTIVITY||h.type===g.RESOURCE){m=a("<img/>");m.attr("alt",h.icon.alt);m.attr("title",h.icon.title);m.attr("src",d.imageUrl(h.icon.pix,h.icon.component));a.each(h.icon.classes,function(a,b){m.addClass(b)});o.prepend(m)}else{if("moodle"==h.icon.component){h.icon.component="core"}b.renderPix(h.icon.pix,h.icon.component,h.icon.title).then(function(a){o.prepend(a)}).catch(c.exception)}}i.append(k);j.append(i);if(h.children&&h.children.length){f(i,h.children)}else if(n&&!h.requiresajaxloading){i.removeClass("contains_branch");k.addClass("emptybranch")}});h.append(j);var k=h.attr("id")+"_group";j.attr("id",k);h.attr("aria-owns",k);h.attr("role","treeitem")}return{render:function render(a,b){if(b.children&&b.children.length){f(a,b.children);var c=a.children("[role='treeitem']").first(),d=a.find("#"+c.attr("aria-owns"));c.attr("aria-expanded",!0);e.unhide(d)}else{if(a.hasClass("contains_branch")){a.removeClass("contains_branch");a.addClass("emptybranch")}}}}});
//# sourceMappingURL=ajax_response_renderer.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -68,22 +68,22 @@ define([
var icon = null;
var isBranch = (node.expandable || node.haschildren) ? true : false;
li.attr('role', 'treeitem');
p.addClass('tree_item');
p.attr('id', id);
p.attr('role', 'treeitem');
// Negative tab index to allow it to receive focus.
p.attr('tabindex', '-1');
if (node.requiresajaxloading) {
p.attr('data-requires-ajax', true);
p.attr('data-node-id', node.id);
p.attr('data-node-key', node.key);
p.attr('data-node-type', node.type);
li.attr('data-requires-ajax', true);
li.attr('data-node-id', node.id);
li.attr('data-node-key', node.key);
li.attr('data-node-type', node.type);
}
if (isBranch) {
li.addClass('collapsed contains_branch');
p.attr('aria-expanded', false);
li.attr('aria-expanded', false);
p.addClass('branch');
}
@ -141,14 +141,14 @@ define([
ul.append(li);
if (node.children && node.children.length) {
buildDOM(p, node.children);
buildDOM(li, node.children);
} else if (isBranch && !node.requiresajaxloading) {
li.removeClass('contains_branch');
p.addClass('emptybranch');
}
});
rootElement.parent().append(ul);
rootElement.append(ul);
var id = rootElement.attr('id') + '_group';
ul.attr('id', id);
rootElement.attr('aria-owns', id);
@ -167,8 +167,8 @@ define([
item.attr('aria-expanded', true);
Aria.unhide(group);
} else {
if (element.parent().hasClass('contains_branch')) {
element.parent().removeClass('contains_branch');
if (element.hasClass('contains_branch')) {
element.removeClass('contains_branch');
element.addClass('emptybranch');
}
}

View File

@ -73,6 +73,7 @@ class block_navigation_renderer extends plugin_renderer_base {
$lis = array();
// Set the number to be static for unique id's.
static $number = 0;
$htmlidprefix = html_writer::random_id();
foreach ($items as $item) {
$number++;
if (!$item->display && !$item->contains_active_node()) {
@ -90,8 +91,8 @@ class block_navigation_renderer extends plugin_renderer_base {
$content = $item->get_content();
$title = $item->get_title();
$ulattr = ['id' => $id . '_group', 'role' => 'group'];
$liattr = ['class' => [$item->get_css_type(), 'depth_'.$depth]];
$pattr = ['class' => ['tree_item'], 'role' => 'treeitem'];
$liattr = ['class' => [$item->get_css_type(), 'depth_'.$depth], 'role' => 'treeitem'];
$pattr = ['class' => ['tree_item']];
$pattr += !empty($item->id) ? ['id' => $item->id] : [];
$isbranch = $isexpandable && ($item->children->count() > 0 || ($item->has_children() && (isloggedin() || $item->type <= navigation_node::TYPE_CATEGORY)));
$hasicon = ((!$isbranch || $item->type == navigation_node::TYPE_ACTIVITY || $item->type == navigation_node::TYPE_RESOURCE) && $item->icon instanceof renderable);
@ -112,7 +113,7 @@ class block_navigation_renderer extends plugin_renderer_base {
continue;
}
$nodetextid = 'label_' . $depth . '_' . $number;
$nodetextid = $htmlidprefix . '_label_' . $depth . '_' . $number;
$attributes = array('tabindex' => '-1', 'id' => $nodetextid);
if ($title !== '') {
$attributes['title'] = $title;
@ -135,11 +136,12 @@ class block_navigation_renderer extends plugin_renderer_base {
}
if ($isbranch) {
$ariaexpanded = $item->has_children() && (!$item->forceopen || $item->collapse);
$pattr['class'][] = 'branch';
$liattr['class'][] = 'contains_branch';
$pattr += ['aria-expanded' => ($item->has_children() && (!$item->forceopen || $item->collapse)) ? "false" : "true"];
$liattr += ['aria-expanded' => $ariaexpanded ? "false" : "true"];
if ($item->requiresajaxloading) {
$pattr += [
$liattr += [
'data-requires-ajax' => 'true',
'data-loaded' => 'false',
'data-node-id' => $item->id,
@ -147,7 +149,7 @@ class block_navigation_renderer extends plugin_renderer_base {
'data-node-type' => $item->type
];
} else {
$pattr += ['aria-owns' => $id . '_group'];
$liattr += ['aria-owns' => $id . '_group'];
}
}
@ -161,8 +163,8 @@ class block_navigation_renderer extends plugin_renderer_base {
$liattr['class'] = join(' ', $liattr['class']);
$pattr['class'] = join(' ', $pattr['class']);
$pattr += $depth == 1 ? ['data-collapsible' => 'false'] : [];
if (isset($pattr['aria-expanded']) && $pattr['aria-expanded'] === 'false') {
$liattr += $depth == 1 ? ['data-collapsible' => 'false'] : [];
if (isset($liattr['aria-expanded']) && $liattr['aria-expanded'] === 'false') {
$ulattr += ['aria-hidden' => 'true'];
}

View File

@ -57,7 +57,7 @@
background-image: url('[[pix:t/collapsed_empty]]');
}
.block_navigation .block_tree [aria-expanded="false"].loading {
.block_navigation .block_tree [aria-expanded="false"] p.loading {
background-image: url('[[pix:i/loading_small]]');
}

View File

@ -77,8 +77,8 @@ class block_settings_renderer extends plugin_renderer_base {
$content = $this->output->render($item);
$id = $item->id ? $item->id : html_writer::random_id();
$ulattr = ['id' => $id . '_group', 'role' => 'group'];
$liattr = ['class' => [$item->get_css_type(), 'depth_'.$depth], 'tabindex' => '-1'];
$pattr = ['class' => ['tree_item'], 'role' => 'treeitem'];
$liattr = ['class' => [$item->get_css_type(), 'depth_'.$depth], 'tabindex' => '-1', 'role' => 'treeitem'];
$pattr = ['class' => ['tree_item']];
$pattr += !empty($item->id) ? ['id' => $item->id] : [];
$hasicon = (!$isbranch && $item->icon instanceof renderable);
@ -86,15 +86,15 @@ class block_settings_renderer extends plugin_renderer_base {
$liattr['class'][] = 'contains_branch';
if (!$item->forceopen || (!$item->forceopen && $item->collapse) || ($item->children->count() == 0
&& $item->nodetype == navigation_node::NODETYPE_BRANCH)) {
$pattr += ['aria-expanded' => 'false'];
$liattr += ['aria-expanded' => 'false'];
} else {
$pattr += ['aria-expanded' => 'true'];
$liattr += ['aria-expanded' => 'true'];
}
if ($item->requiresajaxloading) {
$pattr['data-requires-ajax'] = 'true';
$pattr['data-loaded'] = 'false';
$liattr['data-requires-ajax'] = 'true';
$liattr['data-loaded'] = 'false';
} else {
$pattr += ['aria-owns' => $id . '_group'];
$liattr += ['aria-owns' => $id . '_group'];
}
} else if ($hasicon) {
$liattr['class'][] = 'item_with_icon';
@ -106,7 +106,6 @@ class block_settings_renderer extends plugin_renderer_base {
if (!empty($item->classes) && count($item->classes) > 0) {
$pattr['class'] = array_merge($pattr['class'], $item->classes);
}
$nodetextid = 'label_' . $depth . '_' . $number;
// class attribute on the div item which only contains the item content
$pattr['class'][] = 'tree_item';
@ -119,7 +118,7 @@ class block_settings_renderer extends plugin_renderer_base {
$liattr['class'] = join(' ', $liattr['class']);
$pattr['class'] = join(' ', $pattr['class']);
if (isset($pattr['aria-expanded']) && $pattr['aria-expanded'] === 'false') {
if (isset($liattr['aria-expanded']) && $liattr['aria-expanded'] === 'false') {
$ulattr += ['aria-hidden' => 'true'];
}
@ -127,7 +126,6 @@ class block_settings_renderer extends plugin_renderer_base {
if (!empty($item->preceedwithhr) && $item->preceedwithhr===true) {
$content = html_writer::empty_tag('hr') . $content;
}
$liattr['aria-labelledby'] = $nodetextid;
$content = html_writer::tag('li', $content, $liattr);
$lis[] = $content;
}

View File

@ -46,7 +46,7 @@
background-image: url('[[pix:t/collapsed_empty]]');
}
.block_settings .block_tree [aria-expanded="false"].loading {
.block_settings .block_tree [aria-expanded="false"] p.loading {
background-image: url('[[pix:i/loading_small]]');
}
/*rtl:raw:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -269,7 +269,8 @@ define(['jquery'], function($) {
var moduleName = item.closest('[data-ajax-loader]').attr('data-ajax-loader');
var thisTree = this;
// Flag this node as loading.
item.addClass('loading');
const p = item.find('p');
p.addClass('loading');
// Require the ajax module (must be AMD) and try to load the items.
require([moduleName], function(loader) {
// All ajax module must implement a "load" method.
@ -280,7 +281,7 @@ define(['jquery'], function($) {
thisTree.initialiseNodes(item);
thisTree.finishExpandingGroup(item);
// Make sure no child elements of the item we just loaded are tabbable.
item.removeClass('loading');
p.removeClass('loading');
promise.resolve();
});
});

View File

@ -64,8 +64,8 @@ class behat_navigation extends behat_base {
$nodetextliteral = behat_context_helper::escape($text);
$hasblocktree = "[contains(concat(' ', normalize-space(@class), ' '), ' block_tree ')]";
$hasbranch = "[contains(concat(' ', normalize-space(@class), ' '), ' branch ')]";
$hascollapsed = "p[@aria-expanded='false']";
$notcollapsed = "p[@aria-expanded='true']";
$hascollapsed = "li[@aria-expanded='false']/p";
$notcollapsed = "li[@aria-expanded='true']/p";
$match = "[normalize-space(.)={$nodetextliteral}]";
// Avoid problems with quotes.
@ -75,18 +75,18 @@ class behat_navigation extends behat_base {
} else if ($collapsed === false) {
$iscollapsed = $notcollapsed;
} else {
$iscollapsed = 'p';
$iscollapsed = 'li/p';
}
// First check root nodes, it can be a span or link.
$xpath = "//ul{$hasblocktree}/li/{$hascollapsed}{$isbranch}/span{$match}|";
$xpath .= "//ul{$hasblocktree}/li/{$hascollapsed}{$isbranch}/a{$match}|";
$xpath = "//ul{$hasblocktree}/{$hascollapsed}{$isbranch}/span{$match}|";
$xpath .= "//ul{$hasblocktree}/{$hascollapsed}{$isbranch}/a{$match}|";
// Next search for the node containing the text within a link.
$xpath .= "//ul{$hasblocktree}//ul/li/{$iscollapsed}{$isbranch}/a{$match}|";
$xpath .= "//ul{$hasblocktree}//ul/{$iscollapsed}{$isbranch}/a{$match}|";
// Finally search for the node containing the text within a span.
$xpath .= "//ul{$hasblocktree}//ul/li/{$iscollapsed}{$isbranch}/span{$match}";
$xpath .= "//ul{$hasblocktree}//ul/{$iscollapsed}{$isbranch}/span{$match}";
$node = $this->find('xpath', $xpath, $exception);
$this->ensure_node_is_visible($node);
@ -263,16 +263,16 @@ class behat_navigation extends behat_base {
// The p node contains the aria jazz.
$pnodexpath = "/p[contains(concat(' ', normalize-space(@class), ' '), ' tree_item ')]";
$pnode = $node->find('xpath', $pnodexpath);
$linode = $pnode->getParent();
// Keep expanding all sub-parents if js enabled.
if ($pnode && $this->running_javascript() && $pnode->hasAttribute('aria-expanded') &&
($pnode->getAttribute('aria-expanded') == "false")) {
if ($pnode && $this->running_javascript() && $linode->hasAttribute('aria-expanded') &&
($linode->getAttribute('aria-expanded') == "false")) {
$this->js_trigger_click($pnode);
// Wait for node to load, if not loaded before.
if ($pnode->hasAttribute('data-loaded') && $pnode->getAttribute('data-loaded') == "false") {
$jscondition = '(document.evaluate("' . $pnode->getXpath() . '", document, null, '.
if ($linode->hasAttribute('data-loaded') && $linode->getAttribute('data-loaded') == "false") {
$jscondition = '(document.evaluate("' . $linode->getXpath() . '", document, null, '.
'XPathResult.ANY_TYPE, null).iterateNext().getAttribute(\'data-loaded\') == "true")';
$this->getSession()->wait(behat_base::get_extended_timeout() * 1000, $jscondition);

View File

@ -322,8 +322,8 @@ body.drawer-open-left #region-main.has-blocks {
.block_navigation .block_tree [aria-expanded="false"] {
background-image: none;
}
.block_settings .block_tree [aria-expanded="true"]:before,
.block_navigation .block_tree [aria-expanded="true"]:before {
.block_settings .block_tree [aria-expanded="true"] > p:before,
.block_navigation .block_tree [aria-expanded="true"] > p:before {
content: $fa-var-angle-down;
margin-right: 0;
@include fa-icon();
@ -331,8 +331,8 @@ body.drawer-open-left #region-main.has-blocks {
width: 16px;
}
.block_settings .block_tree [aria-expanded="false"]:before,
.block_navigation .block_tree [aria-expanded="false"]:before {
.block_settings .block_tree [aria-expanded="false"] > p:before,
.block_navigation .block_tree [aria-expanded="false"] > p:before {
content: $fa-var-angle-right;
margin-right: 0;
@include fa-icon();
@ -340,8 +340,8 @@ body.drawer-open-left #region-main.has-blocks {
width: 16px;
}
.dir-rtl {
.block_settings .block_tree [aria-expanded="false"]:before,
.block_navigation .block_tree [aria-expanded="false"]:before {
.block_settings .block_tree [aria-expanded="false"] > p:before,
.block_navigation .block_tree [aria-expanded="false"] > p:before {
content: $fa-var-angle-left;
}
}

View File

@ -12744,8 +12744,8 @@ input[disabled] {
.block_navigation .block_tree [aria-expanded="false"] {
background-image: none; }
.block_settings .block_tree [aria-expanded="true"]:before,
.block_navigation .block_tree [aria-expanded="true"]:before {
.block_settings .block_tree [aria-expanded="true"] > p:before,
.block_navigation .block_tree [aria-expanded="true"] > p:before {
content: "";
margin-right: 0;
display: inline-block;
@ -12757,8 +12757,8 @@ input[disabled] {
font-size: 16px;
width: 16px; }
.block_settings .block_tree [aria-expanded="false"]:before,
.block_navigation .block_tree [aria-expanded="false"]:before {
.block_settings .block_tree [aria-expanded="false"] > p:before,
.block_navigation .block_tree [aria-expanded="false"] > p:before {
content: "";
margin-right: 0;
display: inline-block;
@ -12770,8 +12770,8 @@ input[disabled] {
font-size: 16px;
width: 16px; }
.dir-rtl .block_settings .block_tree [aria-expanded="false"]:before,
.dir-rtl .block_navigation .block_tree [aria-expanded="false"]:before {
.dir-rtl .block_settings .block_tree [aria-expanded="false"] > p:before,
.dir-rtl .block_navigation .block_tree [aria-expanded="false"] > p:before {
content: ""; }
.block_navigation .block_tree p.hasicon,

View File

@ -5,7 +5,7 @@ $gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #8f959e !default;
$gray-600: #6c757d !default;
$gray-600: #6e7377 !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;

View File

@ -2344,7 +2344,7 @@
--teal: #20c997;
--cyan: #008196;
--white: #fff;
--gray: #6c757d;
--gray: #6e7377;
--gray-dark: #343a40;
--primary: #0f6fc5;
--secondary: #ced4da;
@ -2505,7 +2505,7 @@ table {
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
color: #6e7377;
text-align: left;
caption-side: bottom; }
@ -2750,7 +2750,7 @@ mark,
.blockquote-footer {
display: block;
font-size: 80%;
color: #6c757d; }
color: #6e7377; }
.blockquote-footer::before {
content: "\2014\00A0"; }
@ -2775,7 +2775,7 @@ mark,
.figure-caption {
font-size: 90%;
color: #6c757d; }
color: #6e7377; }
code {
font-size: 87.5%;
@ -3783,7 +3783,7 @@ pre {
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); }
.form-control::placeholder {
color: #6c757d;
color: #6e7377;
opacity: 1; }
.form-control:disabled, .form-control[readonly] {
background-color: #e9ecef;
@ -3895,7 +3895,7 @@ textarea.form-control {
margin-left: -1.25rem; }
.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label {
color: #6c757d; }
color: #6e7377; }
.form-check-label {
margin-bottom: 0; }
@ -4545,7 +4545,7 @@ fieldset:disabled a.btn {
.btn-link:focus, .btn-link.focus {
text-decoration: underline; }
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
color: #6e7377;
pointer-events: none; }
.btn-lg, .btn-group-lg > .btn {
@ -4791,7 +4791,7 @@ input[type="button"].btn-block {
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.8203125rem;
color: #6c757d;
color: #6e7377;
white-space: nowrap; }
.dropdown-item-text {
@ -5083,7 +5083,7 @@ input[type="button"].btn-block {
background-color: #90c6f7;
border-color: #90c6f7; }
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
color: #6c757d; }
color: #6e7377; }
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
background-color: #e9ecef; }
@ -5193,7 +5193,7 @@ input[type="button"].btn-block {
padding-right: 0.75rem;
background-image: none; }
.custom-select:disabled {
color: #6c757d;
color: #6e7377;
background-color: #e9ecef; }
.custom-select::-ms-expand {
display: none; }
@ -5399,7 +5399,7 @@ input[type="button"].btn-block {
.nav-link:hover, .nav-link:focus {
text-decoration: none; }
.nav-link.disabled {
color: #6c757d;
color: #6e7377;
pointer-events: none;
cursor: default; }
@ -5413,7 +5413,7 @@ input[type="button"].btn-block {
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
border-color: #e9ecef #e9ecef #dee2e6; }
.nav-tabs .nav-link.disabled {
color: #6c757d;
color: #6e7377;
background-color: transparent;
border-color: transparent; }
.nav-tabs .nav-link.active,
@ -5916,7 +5916,7 @@ input[type="button"].btn-block {
.breadcrumb-item + .breadcrumb-item::before {
float: left;
padding-right: 0.5rem;
color: #6c757d;
color: #6e7377;
content: "/"; }
.breadcrumb-item + .breadcrumb-item:hover::before {
@ -5926,7 +5926,7 @@ input[type="button"].btn-block {
text-decoration: none; }
.breadcrumb-item.active {
color: #6c757d; }
color: #6e7377; }
.pagination {
display: flex;
@ -5970,7 +5970,7 @@ input[type="button"].btn-block {
border-color: #0f6fc5; }
.page-item.disabled .page-link {
color: #6c757d;
color: #6e7377;
pointer-events: none;
cursor: auto;
background-color: #fff;
@ -6301,7 +6301,7 @@ input[type="button"].btn-block {
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit; }
.list-group-item.disabled, .list-group-item:disabled {
color: #6c757d;
color: #6e7377;
pointer-events: none;
background-color: #fff; }
.list-group-item.active {
@ -9745,7 +9745,7 @@ a.text-dark:hover, a.text-dark:focus {
color: #212529 !important; }
.text-muted {
color: #6c757d !important; }
color: #6e7377 !important; }
.text-black-50 {
color: rgba(0, 0, 0, 0.5) !important; }
@ -9968,7 +9968,7 @@ a.dimmed_text:visited,
.usersuspended a:visited,
.dimmed_category,
.dimmed_category a {
color: #6c757d; }
color: #6e7377; }
.aalink.focus, .aalink:focus,
#page-footer a:not([class]).focus,
@ -10618,7 +10618,7 @@ tr.flagged-tag a {
padding-left: 10px; }
.tag_feed .media .muted a {
color: #6c757d; }
color: #6e7377; }
.tag_cloud {
text-align: center; }
@ -11255,7 +11255,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.modchoosercontainer .optionscontainer .option .optionactions .optionaction,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction {
cursor: pointer;
color: #6c757d; }
color: #6e7377; }
.modchoosercontainer .optionscontainer .option .optionactions .optionaction i,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction i {
margin: 0; }
@ -12078,22 +12078,22 @@ input[disabled] {
margin: 0.125rem; }
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
color: #6c757d;
border-color: #6c757d;
border-color: #6c757d; }
color: #6e7377;
border-color: #6e7377;
border-color: #6e7377; }
.nav-tabs .nav-link.active:hover,
.nav-pills .nav-link.active:hover {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
background-color: #6e7377;
border-color: #6e7377; }
.nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active.focus,
.nav-pills .nav-link.active:focus,
.nav-pills .nav-link.active.focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
box-shadow: 0 0 0 0.2rem rgba(110, 115, 119, 0.5); }
.nav-tabs .nav-link.active.disabled, .nav-tabs .nav-link.active:disabled,
.nav-pills .nav-link.active.disabled,
.nav-pills .nav-link.active:disabled {
color: #6c757d;
color: #6e7377;
background-color: transparent; }
.nav-tabs .nav-link.active:not(:disabled):not(.disabled):active, .nav-tabs .nav-link.active:not(:disabled):not(.disabled).active,
.show > .nav-tabs .nav-link.active.dropdown-toggle,
@ -12102,15 +12102,15 @@ input[disabled] {
.show >
.nav-pills .nav-link.active.dropdown-toggle {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
background-color: #6e7377;
border-color: #6e7377; }
.nav-tabs .nav-link.active:not(:disabled):not(.disabled):active:focus, .nav-tabs .nav-link.active:not(:disabled):not(.disabled).active:focus,
.show > .nav-tabs .nav-link.active.dropdown-toggle:focus,
.nav-pills .nav-link.active:not(:disabled):not(.disabled):active:focus,
.nav-pills .nav-link.active:not(:disabled):not(.disabled).active:focus,
.show >
.nav-pills .nav-link.active.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } }
box-shadow: 0 0 0 0.2rem rgba(110, 115, 119, 0.5); } }
@media (max-width: 576px) and (max-height: 320px) {
div#page {
@ -12609,12 +12609,12 @@ input[disabled] {
#page-admin-plugins #plugins-control-panel .pluginname .componentname {
font-size: 0.8203125rem;
color: #6c757d;
color: #6e7377;
margin-left: 22px; }
#page-admin-plugins #plugins-control-panel .version .versionnumber {
font-size: 0.8203125rem;
color: #6c757d; }
color: #6e7377; }
#page-admin-plugins #plugins-control-panel .uninstall a {
color: #ca3120; }
@ -12624,7 +12624,7 @@ input[disabled] {
#page-admin-plugins #plugins-control-panel .notes .requiredby {
font-size: 0.8203125rem;
color: #6c757d; }
color: #6e7377; }
#plugins-check-page #plugins-check .status-missing td,
#plugins-check-page #plugins-check .status-downgrade td {
@ -12729,7 +12729,7 @@ input[disabled] {
#page-admin-tasklogs .task-class {
font-size: 0.8203125rem;
color: #6c757d; }
color: #6e7377; }
.path-admin-tool-uploaduser .uuwarning {
background-color: #fcefdc; }
@ -12966,8 +12966,8 @@ input[disabled] {
.block_navigation .block_tree [aria-expanded="false"] {
background-image: none; }
.block_settings .block_tree [aria-expanded="true"]:before,
.block_navigation .block_tree [aria-expanded="true"]:before {
.block_settings .block_tree [aria-expanded="true"] > p:before,
.block_navigation .block_tree [aria-expanded="true"] > p:before {
content: "";
margin-right: 0;
display: inline-block;
@ -12979,8 +12979,8 @@ input[disabled] {
font-size: 16px;
width: 16px; }
.block_settings .block_tree [aria-expanded="false"]:before,
.block_navigation .block_tree [aria-expanded="false"]:before {
.block_settings .block_tree [aria-expanded="false"] > p:before,
.block_navigation .block_tree [aria-expanded="false"] > p:before {
content: "";
margin-right: 0;
display: inline-block;
@ -12992,8 +12992,8 @@ input[disabled] {
font-size: 16px;
width: 16px; }
.dir-rtl .block_settings .block_tree [aria-expanded="false"]:before,
.dir-rtl .block_navigation .block_tree [aria-expanded="false"]:before {
.dir-rtl .block_settings .block_tree [aria-expanded="false"] > p:before,
.dir-rtl .block_navigation .block_tree [aria-expanded="false"] > p:before {
content: ""; }
.block_navigation .block_tree p.hasicon,
@ -13004,7 +13004,7 @@ input[disabled] {
margin-right: 2px; }
.block.invisibleblock .card-title {
color: #6c757d; }
color: #6e7377; }
@media (max-width: 767.98px) {
.block.card {
@ -13226,7 +13226,7 @@ input[disabled] {
font-size: 0.8em;
text-align: center; }
.block .minicalendar td.weekend {
color: #6c757d; }
color: #6e7377; }
.block .minicalendar td a {
width: 100%;
height: 100%;
@ -13342,7 +13342,7 @@ table.calendartable caption {
margin: 0; }
.cal_courses_flt {
color: #6c757d; }
color: #6e7377; }
.content-bank-container .cb-content-wrapper {
padding: 0.5rem;
@ -13429,7 +13429,7 @@ table.calendartable caption {
.content-bank-container.view-list .cb-listitem.cb-unlisted .cb-column,
.content-bank-container.view-list .cb-listitem.cb-unlisted .cb-column a {
color: #6c757d; }
color: #6e7377; }
@media (max-width: 767.98px) {
.content-bank-container.view-list .cb-column {
@ -13544,7 +13544,7 @@ body:not(.editing) .sitetopic ul.section {
.section .activity .activityinstance .dimmed .activityicon {
opacity: .5; }
.section .activity .stealth {
color: #6c757d; }
color: #6e7377; }
.section .activity a.stealth,
.section .activity a.stealth:hover {
color: #61aef3 !important;
@ -13670,7 +13670,7 @@ body:not(.editing) .sitetopic ul.section {
margin: 2px 5px 2px 5px; }
.course-content .section-summary .section-summary-activities .activity-count {
color: #6c757d;
color: #6e7377;
font-size: 0.8203125rem;
margin: 3px;
white-space: nowrap;
@ -13720,7 +13720,7 @@ body:not(.editing) .sitetopic ul.section {
.course-content ul li.section.hidden .sectionname > span,
.course-content ul li.section.hidden .content > div.summary,
.course-content ul li.section.hidden .activity .activityinstance {
color: #6c757d; }
color: #6e7377; }
.course-content ul.topics,
.course-content ul.weeks {
@ -14168,9 +14168,9 @@ span.editinstructions {
#course-category-listings .listitem > div .idnumber {
margin-right: 2em; }
#course-category-listings .listitem[data-visible="0"] {
color: #6c757d; }
color: #6e7377; }
#course-category-listings .listitem[data-visible="0"] > div > a {
color: #6c757d; }
color: #6e7377; }
#course-category-listings .listitem[data-visible="0"] > div .item-actions .action-show {
display: inline; }
#course-category-listings .listitem[data-visible="0"] > div .item-actions .action-hide {
@ -14280,7 +14280,7 @@ span.editinstructions {
#course-category-listings .listing-pagination-totals {
text-align: center; }
#course-category-listings .listing-pagination-totals.dimmed {
color: #6c757d;
color: #6e7377;
margin: 0.4rem 1rem 0.45rem; }
#course-category-listings .select-a-category .notifymessage,
#course-category-listings .select-a-category .alert {
@ -15017,7 +15017,7 @@ a.ygtvspacer:hover {
background-color: #ebebe4; }
.fitem.disabled .fp-btn-choose {
color: #6c757d; }
color: #6e7377; }
.fitem.disabled .filepicker-filelist .filepicker-filename {
display: none; }
@ -16553,14 +16553,14 @@ body.path-question-type .mform fieldset.hidden {
.simplesearchform .btn-submit {
border-color: #8f959e;
color: #6c757d; }
color: #6e7377; }
.simplesearchform .btn-close,
.simplesearchform .btn-clear {
position: absolute;
top: 0;
right: 0;
color: #6c757d;
color: #6e7377;
z-index: 4; }
.simplesearchform .btn-close {
@ -16687,7 +16687,7 @@ input#id_externalurl {
.form-defaultinfo,
.form-label .form-shortname {
color: #6c757d; }
color: #6e7377; }
.form-label .form-shortname {
font-size: 0.703125rem;
@ -16700,10 +16700,10 @@ input#id_externalurl {
margin-left: 0.5rem; }
.formsettingheading .form-horizontal {
color: #6c757d; }
color: #6e7377; }
.no-felement.fstatic {
color: #6c757d;
color: #6e7377;
padding-top: 5px; }
.no-fitem .fstaticlabel {
@ -17868,7 +17868,7 @@ div#dock {
.path-mod-quiz #mod_quiz_navblock .qnbutton.complete .trafficlight,
.path-mod-quiz #mod_quiz_navblock .qnbutton.answersaved .trafficlight,
.path-mod-quiz #mod_quiz_navblock .qnbutton.requiresgrading .trafficlight {
background-color: #6c757d; }
background-color: #6e7377; }
#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer form input {
height: 1.4em;
@ -18261,7 +18261,7 @@ div#dock {
margin-top: 1rem;
margin-bottom: 1rem; }
.path-backup .backup_progress .backup_stage {
color: #6c757d; }
color: #6e7377; }
.path-backup .backup_progress .backup_stage.backup_stage_current {
font-weight: bold;
color: inherit; }
@ -19522,7 +19522,7 @@ span[data-flexitour="container"][x-placement="right"], span[data-flexitour="cont
font-size: 4em; }
.form-control:-ms-input-placeholder {
color: #6c757d; }
color: #6e7377; }
.custom-select {
-webkit-appearance: none;
@ -19961,26 +19961,26 @@ body {
background-color: #fff; }
.btn-outline-secondary {
color: #6c757d;
border-color: #6c757d;
border-color: #6c757d; }
color: #6e7377;
border-color: #6e7377;
border-color: #6e7377; }
.btn-outline-secondary:hover {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
background-color: #6e7377;
border-color: #6e7377; }
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
box-shadow: 0 0 0 0.2rem rgba(110, 115, 119, 0.5); }
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #6c757d;
color: #6e7377;
background-color: transparent; }
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
background-color: #6e7377;
border-color: #6e7377; }
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
box-shadow: 0 0 0 0.2rem rgba(110, 115, 119, 0.5); }
.btn-outline-info {
color: #1f7e9a;