summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/css/display.css13
-rw-r--r--ext/css/material.css117
-rw-r--r--ext/css/settings.css32
-rw-r--r--ext/settings.html32
4 files changed, 104 insertions, 90 deletions
diff --git a/ext/css/display.css b/ext/css/display.css
index 70a61b00..76e8d6a4 100644
--- a/ext/css/display.css
+++ b/ext/css/display.css
@@ -258,21 +258,8 @@
:root[data-page-type=popup]:not([data-theme]) body {
background-color: transparent;
}
-:root {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
- font-size: var(--font-size);
- line-height: var(--line-height);
- height: 100%;
-}
body {
- margin: 0;
- border: 0;
- padding: 0;
- height: 100%;
overflow: hidden;
- background-color: var(--background-color);
- color: var(--text-color);
- font-size: inherit;
}
ol, ul {
margin-top: 0;
diff --git a/ext/css/material.css b/ext/css/material.css
index 3aef69d6..702215bd 100644
--- a/ext/css/material.css
+++ b/ext/css/material.css
@@ -23,6 +23,9 @@
--font-size-small-no-units: 12;
--font-size-small: calc(1em * var(--font-size-small-no-units) / var(--font-size-no-units));
+ --line-height-no-units: 20;
+ --line-height: calc(var(--line-height-no-units) / var(--font-size-no-units));
+
--animation-duration: 0.125s;
--animation-duration2: calc(var(--animation-duration) * 2);
@@ -44,6 +47,7 @@
--material-arrow-dimension1: calc(5em / var(--font-size-no-units));
--material-arrow-dimension2: calc(10em / var(--font-size-no-units));
+ --button-border-radius: 0.3em;
--button-default-shadow-params: 0 0.0625em 0.125em 0;
--thin-border-size: calc(1em / var(--font-size-no-units));
@@ -179,6 +183,26 @@
}
+/* Root styles */
+:root {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ font-size: var(--font-size);
+ line-height: var(--line-height);
+ height: 100%;
+}
+body {
+ margin: 0;
+ border: 0;
+ padding: 0;
+ height: 100%;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+ background-color: var(--background-color);
+ color: var(--text-color);
+}
+
+
/* Text styles */
.light {
color: var(--text-color-light2);
@@ -666,7 +690,7 @@ label.radio {
select {
width: var(--input-width-large);
height: var(--input-height);
- line-height: var(--input-height);
+ line-height: var(--line-height);
border: 0;
border-radius: var(--input-border-radius);
box-sizing: border-box;
@@ -693,7 +717,7 @@ input[type=text],
input[type=number] {
width: var(--input-width);
height: var(--input-height);
- line-height: var(--input-height);
+ line-height: var(--line-height);
color: var(--text-color);
font-size: var(--input-font-size);
background-color: var(--input-background-color);
@@ -761,17 +785,61 @@ input[type=number][data-invalid=true]:focus {
box-shadow: 0 0 0 calc(2em / var(--font-size-no-units)) var(--danger-color);
outline: none;
}
-input[type=text].input-with-suffix-button,
-input[type=number].input-with-suffix-button {
+input[type=text].code,
+input[type=number].code {
+ font-family: 'Courier New', Courier, monospace;
+}
+
+/* Input groups */
+.input-group {
+ display: flex;
+ flex-flow: row nowrap;
+ align-items: stretch;
+}
+.input-group>input[type=text],
+.input-group>input[type=number],
+.input-group>button.input-button {
flex: 1 1 auto;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right-style: none;
z-index: 1;
}
-input[type=text].code,
-input[type=number].code {
- font-family: 'Courier New', Courier, monospace;
+.input-suffix,
+button.input-suffix {
+ display: flex;
+ flex-flow: row nowrap;
+ align-items: center;
+ border-radius: var(--input-border-radius);
+ border-style: none;
+ border-width: 0;
+ height: var(--input-height);
+ box-sizing: border-box;
+ padding: 0 0.5em;
+ position: relative;
+}
+.input-suffix:not(:first-child),
+button.input-suffix:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-suffix:not(:last-child),
+button.input-suffix:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-suffix:not(button) {
+ background-color: var(--input-background-color);
+}
+input[type=text]:invalid~.input-suffix:not(button),
+input[type=number]:invalid~.input-suffix:not(button),
+input[type=text][data-invalid=true]~.input-suffix:not(button),
+input[type=number][data-invalid=true]~.input-suffix:not(button) {
+ border-color: var(--danger-color);
+ border-width: var(--thin-border-size);
+ border-style: solid;
+ border-left-style: none;
+ border-right-style: none;
}
@@ -818,7 +886,7 @@ button,
border-width: var(--thin-border-size);
border-style: solid;
- border-radius: 0.3em;
+ border-radius: var(--button-border-radius);
padding: var(--button-padding-vertical) var(--button-padding-horizontal);
font-weight: bold;
font-size: inherit;
@@ -979,48 +1047,31 @@ button.input-button {
box-sizing: border-box;
position: relative;
}
-button.input-button.input-with-suffix-button {
- flex: 1 1 auto;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-right-style: none;
- z-index: 1;
-}
/* Input suffix button */
-button.input-suffix-button {
+button.input-suffix {
--button-content-color: var(--button-default-icon-color);
--button-border-color: var(--input-background-color);
--button-background-color: var(--input-background-color);
--button-hover-background-color: var(--input-background-color-dark);
--button-active-background-color: var(--input-background-color-darker);
-
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-style: none;
- border-width: 0;
- height: var(--input-height);
- line-height: var(--input-height);
- box-sizing: border-box;
- padding: 0 0.5em;
- position: relative;
}
-button.input-suffix-button.light-icon {
+button.input-suffix.light-icon {
--button-content-color: var(--button-default-icon-color-light);
}
-button.input-suffix-button.input-suffix-icon-button {
+button.input-suffix.input-suffix-icon-button {
width: 2.125em;
}
-button.input-suffix-button.input-suffix-icon-button>.icon {
+button.input-suffix.input-suffix-icon-button>.icon {
display: block;
width: 100%;
height: 100%;
background-color: var(--button-current-content-color);
}
-input[type=text]:invalid+button.input-suffix-button,
-input[type=number]:invalid+button.input-suffix-button,
-input[type=text][data-invalid=true]+button.input-suffix-button,
-input[type=number][data-invalid=true]+button.input-suffix-button {
+input[type=text]:invalid~button.input-suffix,
+input[type=number]:invalid~button.input-suffix,
+input[type=text][data-invalid=true]~button.input-suffix,
+input[type=number][data-invalid=true]~button.input-suffix {
--button-border-color: var(--danger-color);
--button-hover-border-color: var(--danger-color);
--button-active-border-color: var(--danger-color);
diff --git a/ext/css/settings.css b/ext/css/settings.css
index 869f52d4..728e93ee 100644
--- a/ext/css/settings.css
+++ b/ext/css/settings.css
@@ -42,7 +42,6 @@
--font-size-no-units: 14;
--font-size: calc(1px * var(--font-size-no-units));
--font-size-small: 12px;
- --line-height-default: calc(20 / var(--font-size-no-units));
--outline-item-height: 40px;
--outline-item-icon-size: 32px;
--input-short-width: calc(var(--input-width-large) / 2 - var(--padding) / 2);
@@ -101,19 +100,7 @@
/* Common styles */
-:root {
- height: 100%;
-}
body {
- background-color: var(--background-color);
- margin: 0;
- padding: 0;
- border: none;
- font-size: var(--font-size);
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
- color: var(--text-color);
- line-height: var(--line-height-default);
- height: 100%;
overflow: hidden;
}
p {
@@ -407,10 +394,10 @@ a.heading-link-light {
align-items: center;
width: 100%;
height: var(--outline-item-height);
- line-height: var(--outline-item-height);
padding: 0 1.5em;
cursor: pointer;
transition: background-color var(--animation-duration) ease-in-out;
+ box-sizing: border-box;
}
.outline-item,
.outline-item:hover {
@@ -423,6 +410,7 @@ a.heading-link-light {
min-width: var(--outline-item-icon-size);
min-height: var(--outline-item-icon-size);
position: relative;
+ line-height: var(--outline-item-height);
}
.outline-item-left-warning-badge {
position: absolute;
@@ -668,7 +656,7 @@ input[type=number].short-height,
select.short-height {
height: var(--input-short-height);
margin-top: calc(var(--settings-group-right-max-height) - var(--input-short-height) - var(--font-size-small));
- line-height: var(--input-short-height);
+ line-height: var(--line-height);
}
.settings-item-button-group-container {
max-height: none;
@@ -1544,10 +1532,7 @@ select.profile-condition-operator {
flex: 1 1 auto;
}
.anki-card-field-value-container {
- display: flex;
- flex-flow: row nowrap;
width: 100%;
- align-items: stretch;
margin-top: 0.25em;
}
input.anki-card-field-value {
@@ -1597,10 +1582,7 @@ code.anki-field-marker {
flex: 0 1 auto;
}
.anki-card-templates-test-input-container {
- display: flex;
- flex-flow: row nowrap;
width: 100%;
- align-items: stretch;
}
.anki-card-templates-test-container {
flex: 0 1 auto;
@@ -1679,7 +1661,7 @@ code.anki-field-marker {
padding: 0 var(--modal-padding-horizontal);
box-sizing: border-box;
}
-.scan-input-suffix-cell {
+.scan-input-menu-button-cell {
grid-area: 1/4/2/5;
}
.scan-input-index-cell {
@@ -1697,10 +1679,7 @@ code.anki-field-marker {
white-space: nowrap;
}
.scan-input-content-cell {
- display: flex;
- flex-flow: row nowrap;
width: 100%;
- align-items: stretch;
}
.scan-input-prefix-cell[data-property=include] {
grid-area: 1/2/2/3;
@@ -2008,9 +1987,6 @@ input.sentence-termination-character-input2 {
flex: 1 1 auto;
}
.hotkey-list-item-enabled-button-container {
- display: flex;
- flex-flow: row nowrap;
- align-items: stretch;
margin-left: 0.375em;
}
button.hotkey-list-item-enabled-button {
diff --git a/ext/settings.html b/ext/settings.html
index 576b8fc7..a96a0bad 100644
--- a/ext/settings.html
+++ b/ext/settings.html
@@ -2618,22 +2618,22 @@
<template id="scan-input-template"><div class="scan-input" data-show-advanced="false">
<div class="scan-input-grid">
<div class="scan-input-index-cell generic-list-index-prefix"></div>
- <div class="scan-input-suffix-cell">
+ <div class="scan-input-menu-button-cell">
<div class="input-height-icon-button-container">
<button class="icon-button scanning-input-menu-button" data-menu="scanning-inputs-menu" data-menu-position="below left"><span class="icon-button-inner"><span class="icon" data-icon="kebab-menu"></span></span></button>
</div>
</div>
<div class="scan-input-prefix-cell" data-property="include"><span>Required inputs:</span></div>
- <div class="scan-input-content-cell" data-property="include">
- <input type="text" class="input-with-suffix-button scan-input-field" autocomplete="off" spellcheck="false" placeholder="No inputs" data-property="include">
- <button class="input-suffix-button input-suffix-icon-button light-icon mouse-button" data-property="include"><span class="icon" data-icon="mouse"></span></button>
+ <div class="scan-input-content-cell input-group" data-property="include">
+ <input type="text" class="scan-input-field" autocomplete="off" spellcheck="false" placeholder="No inputs" data-property="include">
+ <button class="input-suffix input-suffix-icon-button light-icon mouse-button" data-property="include"><span class="icon" data-icon="mouse"></span></button>
</div>
<div class="scan-input-prefix-cell" data-property="exclude"><span>Excluded inputs:</span></div>
- <div class="scan-input-content-cell" data-property="exclude">
- <input type="text" class="input-with-suffix-button scan-input-field" autocomplete="off" spellcheck="false" placeholder="No inputs" data-property="exclude">
- <button class="input-suffix-button input-suffix-icon-button light-icon mouse-button" data-property="exclude"><span class="icon" data-icon="mouse"></span></button>
+ <div class="scan-input-content-cell input-group" data-property="exclude">
+ <input type="text" class="scan-input-field" autocomplete="off" spellcheck="false" placeholder="No inputs" data-property="exclude">
+ <button class="input-suffix input-suffix-icon-button light-icon mouse-button" data-property="exclude"><span class="icon" data-icon="mouse"></span></button>
</div>
<div class="scan-input-prefix-cell scan-input-options-cell" data-property="types"><span>Input types:</span></div>
@@ -2971,9 +2971,9 @@
<!-- Anki card templates -->
<template id="anki-card-field-template"><div class="anki-card-field-name-container"><span class="anki-card-field-name"></span></div>
-<div class="anki-card-field-value-container">
- <input type="text" class="anki-card-field-value input-with-suffix-button" autocomplete="off">
- <button class="anki-card-field-value-menu-button input-suffix-button input-suffix-icon-button light-icon" data-menu-position="v-center left"><span class="icon" data-icon="material-down-arrow"></span></button>
+<div class="anki-card-field-value-container input-group">
+ <input type="text" class="anki-card-field-value" autocomplete="off">
+ <button class="anki-card-field-value-menu-button input-suffix input-suffix-icon-button light-icon" data-menu-position="v-center left"><span class="icon" data-icon="material-down-arrow"></span></button>
</div></template>
<template id="anki-card-terms-field-menu-template"><div class="popup-menu-container" tabindex="-1" role="dialog"><div class="popup-menu"><div class="popup-menu-body"></div></div></div></template>
@@ -3008,9 +3008,9 @@
<div class="anki-card-templates-test-table-header">Card field</div>
<div></div>
<input type="text" id="anki-card-templates-test-text-input" class="form-control" value="読め" placeholder="Preview text" autocomplete="off" lang="ja">
- <div class="anki-card-templates-test-input-container">
- <input type="text" class="input-with-suffix-button" id="anki-card-templates-test-field-input" value="{expression}" placeholder="{marker}" autocomplete="off" spellcheck="false">
- <button class="input-suffix-button input-suffix-icon-button light-icon" id="anki-card-templates-test-field-menu-button" data-menu="anki-card-all-field-menu" data-menu-position="below left"><span class="icon" data-icon="material-down-arrow"></span></button>
+ <div class="anki-card-templates-test-input-container input-group">
+ <input type="text" id="anki-card-templates-test-field-input" value="{expression}" placeholder="{marker}" autocomplete="off" spellcheck="false">
+ <button class="input-suffix input-suffix-icon-button light-icon" id="anki-card-templates-test-field-menu-button" data-menu="anki-card-all-field-menu" data-menu-position="below left"><span class="icon" data-icon="material-down-arrow"></span></button>
</div>
<button id="anki-card-templates-test-render-button">Test</button>
</div>
@@ -3352,14 +3352,14 @@
<div class="hotkey-list-item-input-label-cell">Input:</div>
<div class="hotkey-list-item-input-cell">
<input type="text" class="hotkey-list-item-input" autocomplete="off" spellcheck="false" placeholder="No input" data-property="include">
- <div class="hotkey-list-item-enabled-button-container">
- <button class="hotkey-list-item-enabled-button input-button input-with-suffix-button">
+ <div class="hotkey-list-item-enabled-button-container input-group">
+ <button class="hotkey-list-item-enabled-button input-button">
<label class="hotkey-list-item-enabled-button-label button-inner-label">
<span class="checkbox"><input type="checkbox" class="hotkey-list-item-enabled"><span class="checkbox-body"><span class="checkbox-fill"></span><span class="checkbox-border"></span><span class="checkbox-check"></span></span></span>
<span>Enabled</span>
</label>
</button>
- <button class="hotkey-list-item-scopes-button input-suffix-button input-suffix-icon-button light-icon" data-menu="hotkey-list-item-scopes-menu" data-menu-position="below left"><span class="icon" data-icon="material-down-arrow"></span></button>
+ <button class="hotkey-list-item-scopes-button input-suffix input-suffix-icon-button light-icon" data-menu="hotkey-list-item-scopes-menu" data-menu-position="below left"><span class="icon" data-icon="material-down-arrow"></span></button>
</div>
</div>