From 41e8b834afbd0c98a8ab4549a90a6bce0ec7096f Mon Sep 17 00:00:00 2001 From: silverwind Date: Sun, 13 Dec 2020 02:05:50 +0100 Subject: Markdown task list improvements (#13952) * Markdown task list improvements - Remove `.ui` class and wrappers to prevent fomantic from messing with it. - Change rendered HTML to match GitHub. - Add custom styling for the checkboxes. * fix unittest Co-authored-by: Lauris BH Co-authored-by: techknowlogick --- web_src/less/_markdown.less | 56 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 6 deletions(-) (limited to 'web_src') diff --git a/web_src/less/_markdown.less b/web_src/less/_markdown.less index 4c8ed77cb8..f931106d95 100644 --- a/web_src/less/_markdown.less +++ b/web_src/less/_markdown.less @@ -162,9 +162,57 @@ list-style-type: none; } - li.task-list-item { + .task-list-item { list-style-type: none; - margin-left: calc(-2em + 2px); + + input[type="checkbox"] { + margin: 0 6px .25em -1.6em; + } + } + + .task-list-item + .task-list-item { + margin-top: 3px; + } + + input[type="checkbox"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: relative; + border: 1px solid var(--color-secondary); + border-radius: 2px; + background: var(--color-input-background); + height: 14px; + width: 14px; + opacity: 1 !important; // override fomantic on edit preview + pointer-events: auto !important; // override fomantic on edit preview + vertical-align: middle !important; // override fomantic on edit preview + } + + input[type="checkbox"]:not([disabled]):hover, + input[type="checkbox"]:not([disabled]):active { + border-color: var(--color-primary); + } + + input[type="checkbox"]::after { + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + pointer-events: none; + background: var(--color-text); + mask-size: cover; + } + + input[type="checkbox"]:checked::after { + content: ""; + mask-image: url('data:image/svg+xml;utf8,'); + } + + input[type="checkbox"]:indeterminate::after { + content: ""; + mask-image: url('data:image/svg+xml;utf8,'); } ul ul, @@ -422,10 +470,6 @@ box-shadow: inset 0 -1px 0 var(--color-secondary); } - input[type="checkbox"] { - vertical-align: middle !important; - } - .csv-data td, .csv-data th { padding: 5px; -- cgit v1.2.3