diff options
| -rw-r--r-- | ext/css/display.css | 13 | ||||
| -rw-r--r-- | ext/css/material.css | 117 | ||||
| -rw-r--r-- | ext/css/settings.css | 32 | ||||
| -rw-r--r-- | ext/settings.html | 32 | 
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> |