Compare commits

...

45 Commits

Author SHA1 Message Date
mrliptontea
6a78cb45c1 Release v2.6.0 2019-06-13 00:04:08 +01:00
Grzegorz Rajchman
b14206a585 Merge pull request #122 from mrliptontea/issue-121/support-redmine_wiki_page_tree-plugin
Add support for redmine_wiki_page_tree plugin
2019-06-13 00:03:40 +01:00
mrliptontea
a1d18834d3 Add support for redmine_wiki_page_tree plugin
Resolves #121
2019-06-13 00:01:01 +01:00
mrliptontea
df3e0fb696 Release v2.5.0 2019-06-05 20:54:41 +01:00
Grzegorz Rajchman
d17f4d2542 Merge pull request #119 from mrliptontea/issues/117-118-responsive-layout-fixes
Improvements for responsive layout
2019-06-05 20:52:47 +01:00
mrliptontea
51ba1deb36 Improvements for responsive layout 2019-06-05 20:49:27 +01:00
mrliptontea
b5d02128f5 Release v2.4.0 2019-06-02 21:43:35 +01:00
Grzegorz Rajchman
aa8738c749 Merge pull request #116 from mrliptontea/sync-with-default-theme
Bring up to speed with the default theme
2019-06-02 21:41:03 +01:00
mrliptontea
0282ba6695 Bring up to speed with the default theme 2019-06-02 21:38:42 +01:00
mrliptontea
0c4be053dc Release v2.3.1 2019-05-21 20:10:40 +01:00
Grzegorz Rajchman
319f97d468 Merge pull request #113 from mrliptontea/issue-112/diff-colors
Improve the color contrast in text diffs
2019-05-21 20:09:08 +01:00
mrliptontea
7bbdb230a8 Improve the color contrast in text diffs 2019-05-21 20:01:26 +01:00
mrliptontea
dd23f453e5 Release v2.3.0 2019-05-09 22:33:54 +01:00
Grzegorz Rajchman
8a8551b821 Merge pull request #108 from mrliptontea/issue-107/nested-lis
Issue 107/nested lis
2019-05-09 22:31:27 +01:00
mrliptontea
1ce3d3121f Merge branch 'master' into issue-107/nested-lis 2019-05-09 22:11:23 +01:00
Grzegorz Rajchman
3b9128bf1b Merge pull request #109 from mrliptontea/stylelint
Use stylelint
2019-05-09 22:08:44 +01:00
mrliptontea
a2e8955488 Use stylelint 2019-05-09 22:05:30 +01:00
mrliptontea
759d8424b9 Support lists in the sidebar via additionals plugin 2019-05-09 20:35:07 +01:00
mrliptontea
d365120f67 Support pages hierarchy list in the sidebar and main content
Resolves #107
2019-05-09 20:01:48 +01:00
mrliptontea
2ababdc027 Release v2.2.0 2019-04-09 22:37:10 +01:00
Grzegorz Rajchman
f60eac82e3 Merge pull request #104 from mrliptontea/resolve-tooltip-positioning-issues
Resolve tooltip positioning issues
2019-04-09 22:36:07 +01:00
mrliptontea
e68f8a1aa3 Remove margin from paragraphs in tables
That's what Redmine's default theme does.
2019-04-09 22:27:47 +01:00
mrliptontea
0bb9a27140 Fix tooltip positioning on gantt chart and agile board
Resolves #101, #102
2019-04-09 22:18:05 +01:00
mrliptontea
15368c666e Version 2.1.1 2019-03-23 00:00:32 +00:00
Grzegorz Rajchman
9f1a1bf3eb Merge pull request #99 from mrliptontea/fix-sidebar-toggler-in-fixed-layout
Fix sidebar toggler in fixed layout
2019-03-22 23:58:38 +00:00
mrliptontea
97502b8372 Fix contextual dropdown padding in mobile view 2019-03-22 23:54:37 +00:00
mrliptontea
aa985c34c6 Merge branch 'v1.x' into fix-sidebar-toggler-in-fixed-layout 2019-03-22 23:48:16 +00:00
mrliptontea
c4f2ccff3f Fix sidebar toggle style with fixed layout enabled 2019-03-22 23:36:10 +00:00
mrliptontea
a9160256cf Release v2.1.0 2019-03-22 21:23:53 +00:00
Grzegorz Rajchman
672c1b45a2 Merge pull request #97 from mrliptontea/improvements
Add a few improvements
2019-03-22 21:23:05 +00:00
mrliptontea
e3e194bb95 Add a few improvements
- Improve progress bar styling
- Improve avatar positioning
- Improve WYSIWYG button styling
- Make wiki preview font sizes consistent with presentation
2019-03-22 21:17:40 +00:00
Grzegorz Rajchman
91eb640575 Merge pull request #95 from mrliptontea/issue-94-subtasks-formatting-is-off
Improve hierarchy list indentation
2019-03-22 19:16:37 +00:00
mrliptontea
06df2c2740 Merge branch 'master' into issue-94-subtasks-formatting-is-off 2019-03-22 19:13:32 +00:00
Grzegorz Rajchman
64c6f7707d Merge pull request #96 from mrliptontea/issue-93-agile-chart-endlessly-expanding
Add a hack to stop Agile chart from expanding forever
2019-03-22 19:12:30 +00:00
mrliptontea
ccdb344082 Add a hack to stop Agile chart from expanding forever
Page layout on Agile charts is broken, and with "Go to top" link
from https://github.com/alphanodes/additionals plugin enabled
the chart expands and resize event is triggered indefinitely.

Fixes #93
2019-03-21 22:36:55 +00:00
mrliptontea
3d8aeb0e7d Improve hierarchy list indentation
Fixes #94
2019-03-21 21:01:10 +00:00
mrliptontea
b8a1dcc913 Improvements
- Add CSS grid layout support (off by default because of IE support)
- Fix styling of some flash messages
- Fix horizontal scrollbar appearing when sidebar is on the right
- Fix footer being mispositioned in Agile charts
- Improve support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
- Fix positioning of admin menu icons for some plugins
- Add separator line between news on the news list
2019-03-21 00:09:38 +00:00
mrliptontea
5cf3d1f645 Release v2.0.2 2019-03-20 20:25:40 +00:00
Grzegorz Rajchman
8bdf41aa9a Merge pull request #92 from mrliptontea/issue-89-custom-menu-plugin-breaks-layout
Fix top menu layout with custom_menu plugin
2019-03-20 20:25:08 +00:00
mrliptontea
97b68972f7 Fix top menu layout with custom_menu plugin
Fixes #89
2019-03-19 23:59:11 +00:00
Grzegorz Rajchman
d429f35dfc Merge pull request #91 from mrliptontea/issue-90-misaligned-delete-icon-in-watchers-list
Resolve regression in sidebar layouts
2019-03-18 22:20:05 +00:00
mrliptontea
8dab6dc92b Remove reduntant abbr style 2019-03-18 22:13:37 +00:00
mrliptontea
25ba736e7d Resolve regression in sidebar layouts
Fixes #90
2019-03-17 22:40:26 +00:00
Grzegorz Rajchman
99ad2c5213 Merge pull request #87 from mrliptontea/v2.0
Version 2.0
2019-03-13 22:37:17 +00:00
mrliptontea
0ec8791d41 Version 2.0 2019-03-13 22:26:25 +00:00
88 changed files with 6820 additions and 3091 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
/src/sass/_custom-variables.scss /src/sass/_custom-variables.scss
/.sublime-grunt.cache /.sublime-grunt.cache
/images/logo /images/logo
/.stylelintcache

View File

@@ -1,178 +0,0 @@
scss_files: "src/sass/**/*.scss"
exclude: 'src/sass/lib/**'
linters:
BangFormat:
enabled: true
space_before_bang: true
space_after_bang: false
BorderZero:
enabled: true
ColorKeyword:
enabled: true
ColorVariable:
enabled: false
Comment:
enabled: true
DebugStatement:
enabled: true
DeclarationOrder:
enabled: true
DuplicateProperty:
enabled: true
ignore_consecutive:
- word-break
ElsePlacement:
enabled: true
EmptyLineBetweenBlocks:
enabled: true
ignore_single_line_blocks: true
EmptyRule:
enabled: true
FinalNewline:
enabled: true
present: true
HexLength:
enabled: true
style: short
HexNotation:
enabled: true
style: lowercase
HexValidation:
enabled: true
IdSelector:
enabled: false
ImportantRule:
enabled: true
ImportPath:
enabled: true
leading_underscore: false
filename_extension: false
Indentation:
enabled: true
character: space
width: 2
LeadingZero:
enabled: true
style: exclude_zero
MergeableSelector:
enabled: false
NestingDepth:
enabled: true
max_depth: 6
PlaceholderInExtend:
enabled: true
PropertySortOrder:
enabled: true
order: smacss
ignore_unspecified: true
PropertySpelling:
enabled: true
extra_properties: []
PseudoElement:
enabled: true
QualifyingElement:
enabled: false
SelectorDepth:
enabled: true
max_depth: 5
SelectorFormat:
enabled: false
Shorthand:
enabled: true
SingleLinePerProperty:
enabled: true
allow_single_line_rule_sets: true
SingleLinePerSelector:
enabled: true
SpaceAfterComma:
enabled: true
SpaceAfterPropertyColon:
enabled: true
style: at_least_one_space
SpaceAfterPropertyName:
enabled: true
SpaceAfterVariableName:
enabled: true
SpaceAroundOperator:
enabled: true
SpaceBeforeBrace:
enabled: true
style: space
allow_single_line_padding: true
SpaceBetweenParens:
enabled: true
spaces: 0
StringQuotes:
enabled: true
style: double_quotes
TrailingSemicolon:
enabled: true
TrailingWhitespace:
enabled: true
TrailingZero:
enabled: true
TransitionAll:
enabled: true
UnnecessaryMantissa:
enabled: true
UnnecessaryParentReference:
enabled: true
UrlFormat:
enabled: true
UrlQuotes:
enabled: true
VendorPrefix:
enabled: true
ZeroUnit:
enabled: true

498
.stylelintrc.js Normal file
View File

@@ -0,0 +1,498 @@
module.exports = {
'ignoreFiles': [
'src/sass/lib/**'
],
'plugins': [
'stylelint-order',
'stylelint-scss'
],
'rules': {
'at-rule-name-case': 'lower',
'at-rule-name-space-after': 'always-single-line',
'at-rule-no-vendor-prefix': true,
'at-rule-semicolon-newline-after': 'always',
'at-rule-semicolon-space-before': 'never',
'block-closing-brace-empty-line-before': 'never',
'block-closing-brace-newline-after': [
'always',
{
'ignoreAtRules': [
'if',
'else'
]
}
],
'block-closing-brace-newline-before': 'always-multi-line',
'block-closing-brace-space-before': 'always-single-line',
'block-no-empty': true,
'block-opening-brace-newline-after': 'always-multi-line',
'block-opening-brace-space-after': 'always-single-line',
'block-opening-brace-space-before': 'always-multi-line',
'color-hex-case': 'lower',
'color-hex-length': 'short',
'color-no-invalid-hex': true,
'comment-no-empty': true,
'comment-whitespace-inside': 'always',
'custom-property-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,
'declaration-bang-space-after': 'never',
'declaration-bang-space-before': 'always',
'declaration-block-no-duplicate-properties': [
true,
{
'ignoreProperties': [
'word-break',
]
}
],
'declaration-block-no-redundant-longhand-properties': true,
'declaration-block-no-shorthand-property-overrides': true,
'declaration-block-semicolon-newline-after': 'always-multi-line',
'declaration-block-semicolon-space-after': 'always-single-line',
'declaration-block-semicolon-space-before': 'never',
'declaration-block-trailing-semicolon': 'always',
'declaration-colon-space-after': 'always-single-line',
'declaration-colon-space-before': 'never',
'declaration-no-important': true,
'font-family-no-duplicate-names': true,
'function-calc-no-unspaced-operator': true,
'function-comma-newline-after': 'always-multi-line',
'function-comma-newline-before': 'never-multi-line',
'function-comma-space-after': 'always-single-line',
'function-comma-space-before': 'never',
'function-linear-gradient-no-nonstandard-direction': true,
'function-max-empty-lines': 1,
'function-name-case': 'lower',
'function-parentheses-newline-inside': 'always-multi-line',
'function-parentheses-space-inside': 'never-single-line',
'function-url-no-scheme-relative': true,
'function-url-quotes': 'always',
'function-whitespace-after': 'always',
'indentation': 2,
'keyframe-declaration-no-important': true,
'length-zero-no-unit': true,
'max-nesting-depth': 7,
'media-feature-colon-space-after': 'always',
'media-feature-colon-space-before': 'never',
'media-feature-name-case': 'lower',
'media-feature-parentheses-space-inside': 'never',
'media-feature-range-operator-space-after': 'always',
'media-feature-range-operator-space-before': 'always',
'media-query-list-comma-newline-after': 'always-multi-line',
'media-query-list-comma-newline-before': 'never-multi-line',
'media-query-list-comma-space-after': 'always-single-line',
'media-query-list-comma-space-before': 'never',
'no-duplicate-at-import-rules': true,
'no-eol-whitespace': true,
'no-extra-semicolons': true,
'no-missing-end-of-source-newline': true,
'number-leading-zero': 'never',
'number-no-trailing-zeros': true,
'property-case': 'lower',
'property-no-unknown': true,
'property-no-vendor-prefix': true,
'selector-attribute-brackets-space-inside': 'never',
'selector-attribute-operator-space-after': 'never',
'selector-attribute-operator-space-before': 'never',
'selector-attribute-quotes': 'always',
'selector-combinator-space-after': 'always',
'selector-combinator-space-before': 'always',
'selector-descendant-combinator-no-non-space': true,
'selector-list-comma-newline-after': 'always',
'selector-list-comma-newline-before': 'never-multi-line',
'selector-list-comma-space-before': 'never',
'selector-max-compound-selectors': 5,
'selector-max-empty-lines': 0,
'selector-max-universal': 1,
'selector-no-qualifying-type': [
true,
{
'ignore': [
'attribute',
'class',
'id'
]
}
],
'selector-pseudo-class-case': 'lower',
'selector-pseudo-class-parentheses-space-inside': 'never',
'selector-pseudo-element-case': 'lower',
'selector-pseudo-element-colon-notation': 'double',
'selector-type-case': 'lower',
'shorthand-property-no-redundant-values': true,
'string-no-newline': true,
'string-quotes': 'double',
'unit-case': 'lower',
'unit-no-unknown': true,
'value-list-comma-newline-before': 'never-multi-line',
'value-list-comma-space-after': 'always-single-line',
'value-list-comma-space-before': 'never',
'value-list-max-empty-lines': 1,
'value-no-vendor-prefix': true,
'order/order': [
[
'custom-properties',
'dollar-variables',
'declarations',
'rules'
]
],
'order/properties-order': [
{
'properties': [
'content',
'quotes'
]
},
{
'properties': [
'display',
'visibility'
]
},
{
'properties': [
'position',
'z-index',
'top',
'right',
'bottom',
'left'
]
},
{
'properties': [
'box-sizing'
]
},
{
'properties': [
'grid',
'grid-area',
'grid-auto-columns',
'grid-auto-flow',
'grid-auto-rows',
'grid-column',
'grid-column-end',
'grid-column-gap',
'grid-column-start',
'grid-gap',
'grid-row',
'grid-row-end',
'grid-row-gap',
'grid-row-start',
'grid-template',
'grid-template-areas',
'grid-template-columns',
'grid-template-rows'
]
},
{
'properties': [
'flex',
'flex-basis',
'flex-direction',
'flex-flow',
'flex-grow',
'flex-shrink',
'flex-wrap',
'box-decoration-break',
'align-content',
'align-items',
'align-self',
'justify-content',
'order'
]
},
{
'properties': [
'width',
'min-width',
'max-width',
'height',
'min-height',
'max-height'
]
},
{
'properties': [
'margin',
'margin-top',
'margin-right',
'margin-bottom',
'margin-left'
]
},
{
'properties': [
'padding',
'padding-top',
'padding-right',
'padding-bottom',
'padding-left'
]
},
{
'properties': [
'float',
'clear'
]
},
{
'properties': [
'overflow',
'overflow-x',
'overflow-y'
]
},
{
'properties': [
'clip',
'zoom'
]
},
{
'properties': [
'columns',
'column-gap',
'column-fill',
'column-rule',
'column-span',
'column-count',
'column-width'
]
},
{
'properties': [
'table-layout',
'empty-cells',
'caption-side',
'border-spacing',
'border-collapse'
]
},
{
'properties': [
'list-style',
'list-style-position',
'list-style-type',
'list-style-image'
]
},
{
'properties': [
'transform',
'transform-origin',
'transform-style',
'backface-visibility',
'perspective',
'perspective-origin'
]
},
{
'properties': [
'transition',
'transition-property',
'transition-duration',
'transition-timing-function',
'transition-delay'
]
},
{
'properties': [
'animation',
'animation-name',
'animation-duration',
'animation-play-state',
'animation-timing-function',
'animation-delay',
'animation-iteration-count',
'animation-direction'
]
},
{
'properties': [
'border',
'border-top',
'border-right',
'border-bottom',
'border-left',
'border-width',
'border-top-width',
'border-right-width',
'border-bottom-width',
'border-left-width'
]
},
{
'properties': [
'border-style',
'border-top-style',
'border-right-style',
'border-bottom-style',
'border-left-style'
]
},
{
'properties': [
'border-radius',
'border-top-left-radius',
'border-top-right-radius',
'border-bottom-left-radius',
'border-bottom-right-radius'
]
},
{
'properties': [
'border-color',
'border-top-color',
'border-right-color',
'border-bottom-color',
'border-left-color'
]
},
{
'properties': [
'outline',
'outline-color',
'outline-offset',
'outline-style',
'outline-width'
]
},
{
'properties': [
'stroke-width',
'stroke-linecap',
'stroke-dasharray',
'stroke-dashoffset',
'stroke'
]
},
{
'properties': [
'opacity'
]
},
{
'properties': [
'background',
'background-color',
'background-image',
'background-repeat',
'background-position',
'background-size',
'box-shadow',
'fill'
]
},
{
'properties': [
'color'
]
},
{
'properties': [
'font',
'font-family',
'font-size',
'font-size-adjust',
'font-stretch',
'font-effect',
'font-style',
'font-variant',
'font-weight'
]
},
{
'properties': [
'font-emphasize',
'font-emphasize-position',
'font-emphasize-style'
]
},
{
'properties': [
'letter-spacing',
'line-height',
'word-spacing'
]
},
{
'properties': [
'text-align',
'text-align-last',
'text-decoration',
'text-indent',
'text-justify',
'text-overflow',
'text-overflow-ellipsis',
'text-overflow-mode',
'text-rendering',
'text-outline',
'text-shadow',
'text-transform',
'text-wrap',
'word-wrap',
'word-break'
]
},
{
'properties': [
'text-emphasis',
'text-emphasis-color',
'text-emphasis-style',
'text-emphasis-position'
]
},
{
'properties': [
'vertical-align',
'white-space',
'hyphens'
]
},
{
'properties': [
'src'
]
},
{
'properties': [
'tab-size',
'counter-reset',
'counter-increment',
'resize',
'cursor',
'pointer-events',
'speak',
'user-select',
'nav-index',
'nav-up',
'nav-right',
'nav-down',
'nav-left'
]
}
],
'scss/at-else-closing-brace-newline-after': 'always-last-in-chain',
'scss/at-else-closing-brace-space-after': 'always-intermediate',
'scss/at-else-empty-line-before': 'never',
'scss/at-else-if-parentheses-space-before': 'always',
'scss/at-function-parentheses-space-before': 'never',
'scss/at-function-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,
'scss/at-if-closing-brace-newline-after': 'always-last-in-chain',
'scss/at-if-closing-brace-space-after': 'always-intermediate',
'scss/at-import-no-partial-leading-underscore': true,
'scss/at-mixin-argumentless-call-parentheses': 'never',
'scss/at-mixin-parentheses-space-before': 'never',
'scss/at-mixin-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,
'scss/declaration-nested-properties-no-divided-groups': true,
'scss/dollar-variable-colon-space-before': 'never',
'scss/dollar-variable-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,
'scss/operator-no-unspaced': true,
'scss/percent-placeholder-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,
'scss/selector-no-redundant-nesting-selector': true,
}
};

View File

@@ -1,15 +1,11 @@
dist: trusty dist: xenial
language: node_js language: node_js
node_js: node_js:
- 8 - 10
cache: cache:
directories: directories:
- node_modules - node_modules
before_install:
- rvm install 2.2
- rvm use 2.2 --fuzzy
install: install:
- gem install scss_lint
- npm install - npm install
script: script:
- npm run lint --silent - npm run lint --silent

View File

@@ -6,7 +6,13 @@ module.exports = function (grunt) {
options: { options: {
implementation: require('node-sass'), implementation: require('node-sass'),
sourceMap: false, sourceMap: false,
outputStyle: 'compressed' outputStyle: 'compressed',
functions: {
'inline-svg': require('sass-inline-svg')('./svg', {
optimize: true,
encodingFormat: 'uri'
})
}
}, },
theme: { theme: {

View File

@@ -8,7 +8,7 @@ A free Redmine theme for modern browsers.
![Screenshot](https://github.com/mrliptontea/PurpleMine2/raw/master/screenshots/issues.png) ![Screenshot](https://github.com/mrliptontea/PurpleMine2/raw/master/screenshots/issues.png)
Compatible with Redmine 2.6+ and browsers: IE10+/Edge, latest Firefox and Google Chrome (others were not tested). Compatible with Redmine 3.0+ and browsers: IE10+/Edge, latest Firefox and Google Chrome (others were not tested).
It's written in [SCSS]. It uses [normalize.css] and benefits from some parts of [Bootstrap][bootstrap-sass] like mixins, structure, and stuff. It's written in [SCSS]. It uses [normalize.css] and benefits from some parts of [Bootstrap][bootstrap-sass] like mixins, structure, and stuff.
@@ -56,6 +56,36 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
## Changelog ## Changelog
v2.6.0 (2019-06-13):
* Resolved #121: added support for [redmine_wiki_page_tree](https://github.com/ledsun/redmine_wiki_page_tree) plugin.
v2.5.0 (2019-06-05):
* Fixed #117, #118 and added many improvements to the responsive layout.
v2.4.0 (2019-06-02):
* Synchronized most application styles with Redmine's default theme.
* Fixed #115: color overdue date in issue lists.
v2.3.1 (2019-05-09):
* Fixed #112: improved highlight contrast in text diffs.
v2.3.0 (2019-05-09):
* Fixed #107: nested lists in the sidebar via [Additionals](https://www.redmine.org/plugins/additionals) plugin.
v2.2.0 (2019-04-09):
* Fixed #101, #102: tooltip positioning
v2.1.1 (2019-03-23):
* Fixed sidebar toggler style when fixed layout is enabled
* Fixed contextual dropdown padding in mobile view
v1.11.0 (2019-03-22): v1.11.0 (2019-03-22):
* Backported fixes from v2: * Backported fixes from v2:
@@ -72,6 +102,36 @@ v1.11.0 (2019-03-22):
* Improved Redmine 4.0 compatibility * Improved Redmine 4.0 compatibility
* Updated Font Awesome icons to 4.7.0 * Updated Font Awesome icons to 4.7.0
v2.1.0 (2019-03-22):
* Added CSS grid layout support (off by default because of IE support)
* Fixed styling of some flash messages
* Fixed horizontal scrollbar appearing when sidebar is on the right
* Fixed footer being mispositioned in Agile charts
* Improved support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
* Fixed positioning of admin menu icons for some plugins
* Added separator line between news on the news list
* Fixed #93: Agile chart expanding indefinitely when Additional "Go to top" link is enabled
* Fixed #94: subtasks indentation
* Improved progress bar styling, avatar positioning, WYSIWYG button styling, wiki preview font sizes
v2.0.2 (2019-03-20):
* Fixed #89: [RM+ custom menu](http://rmplus.pro/en/redmine/plugins/custom_menu) breaking the layout
v2.0.1 (2019-03-17):
* Fixed #90: regression in some sidebar layouts
* Removed reduntant `abbr[title]` styles
v2.0 (2019-03-13):
* Refreshed, modernized look & feel
* Added priority icons
* Removed `$color-priorities` setting and styles
* Improved Redmine 4.0 compatibility
* Updated Font Awesome icons to 4.7.0
v1.10.0 (2019-03-12): v1.10.0 (2019-03-12):
* Fixed #86: added support for redmine_hearts plugin * Fixed #86: added support for redmine_hearts plugin

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 941 B

3091
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -20,19 +20,25 @@
"scripts": { "scripts": {
"build": "grunt", "build": "grunt",
"watch": "grunt watch", "watch": "grunt watch",
"lint": "standard && scss-lint" "lint:js": "standard",
"lint:sass": "stylelint src/sass/**/*.scss",
"lint": "npm run -S lint:js && npm run -S lint:sass"
}, },
"dependencies": { "dependencies": {
"autoprefixer": "^9.4.8", "autoprefixer": "^9.4.10",
"grunt": "^1.0.4", "grunt": "^1.0.3",
"grunt-contrib-uglify": "^4.0.0", "grunt-contrib-uglify": "^4.0.0",
"grunt-contrib-watch": "^1.1.0", "grunt-contrib-watch": "^1.1.0",
"grunt-postcss": "^0.9.0", "grunt-postcss": "^0.9.0",
"grunt-sass": "^3.0.2", "grunt-sass": "^3.0.2",
"node-sass": "^4.11.0" "node-sass": "^4.11.0",
"sass-inline-svg": "^1.2.0"
}, },
"devDependencies": { "devDependencies": {
"standard": "^12.0.1" "standard": "^12.0.1",
"stylelint": "^10.0.1",
"stylelint-order": "^3.0.0",
"stylelint-scss": "^3.6.1"
}, },
"standard": { "standard": {
"globals": [ "globals": [

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
.ui-multiselect{padding:2px 0 2px 4px;text-align:left}.ui-multiselect span.ui-icon{float:right}.ui-multiselect-single .ui-multiselect-checkboxes input{position:absolute !important;top:auto !important;left:-9999px}.ui-multiselect-single .ui-multiselect-checkboxes label{padding:5px !important}.ui-multiselect-header{margin-bottom:3px;padding:3px}.ui-multiselect-header ul{font-size:.92em}.ui-multiselect-header ul li{padding:0 10px 0 0;float:left}.ui-multiselect-header a{text-decoration:none}.ui-multiselect-header a:hover{text-decoration:underline}.ui-multiselect-header span.ui-icon{float:left}.ui-multiselect-header li.ui-multiselect-close{padding-right:0;float:right;text-align:right}.ui-multiselect-menu{-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type="checkbox"]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes input[type="checkbox"]:focus{outline:none}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid transparent;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-multiselect-checkboxes label input{position:relative;top:1px}.ui-multiselect-checkboxes li{clear:both;font-size:.92em}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label{margin-bottom:2px;border-bottom:1px solid #ccc;font-weight:bold;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none} .ui-multiselect{padding:2px 0 2px 4px;text-align:left}.ui-multiselect span.ui-icon{float:right}.ui-multiselect-single .ui-multiselect-checkboxes input{position:absolute !important;top:auto !important;left:-9999px}.ui-multiselect-single .ui-multiselect-checkboxes label{padding:5px !important}.ui-multiselect-header{margin-bottom:3px;padding:3px}.ui-multiselect-header ul{font-size:.92em}.ui-multiselect-header ul li{padding:0 10px 0 0;float:left}.ui-multiselect-header a{text-decoration:none}.ui-multiselect-header a:hover{text-decoration:underline}.ui-multiselect-header span.ui-icon{float:left}.ui-multiselect-header li.ui-multiselect-close{padding-right:0;float:right;text-align:right}.ui-multiselect-menu{-webkit-box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type="checkbox"]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid transparent;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-multiselect-checkboxes label input{position:relative;top:1px}.ui-multiselect-checkboxes li{clear:both;font-size:.92em}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label{margin-bottom:2px;border-bottom:1px solid #dadce7;font-weight:600;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none}

View File

@@ -1 +1 @@
.qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);position:relative;padding:10px;overflow:hidden;border:1px solid #ccc;background-color:#fff;color:#555;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{border-color:#ccc;background-color:#fff}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;background:transparent} .qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{-webkit-box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);position:relative;padding:10px;overflow:hidden;border:1px solid #d1d3e0;background-color:#fff;color:#3e425a;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;border-color:#d1d3e0;background:transparent;background-color:#fff}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -2,19 +2,20 @@
// Variables // Variables
// -------------------------------------------------- // --------------------------------------------------
// stylelint-disable indentation
//== Some key attributes //== Some key attributes
// //
$fixed-layout: false !default; $fixed-layout: false !default;
$css-grid-layout: false !default;
$flexbox-layout: true !default; $flexbox-layout: true !default;
$sidebar-position: left !default; $sidebar-position: left !default;
$color-priorities: true !default; $clean-issues: true !default;
$color-trackers: true !default; $color-trackers: true !default;
$colored-issue: true !default;
$color-status: true !default; $color-status: true !default;
$priority-icon: true !default;
$use-gravatars: true !default; $use-gravatars: true !default;
$use-font-awesome: true !default;
$use-logo: false !default; $use-logo: false !default;
$use-retina-logo: false !default; $use-retina-logo: false !default;
$use-project-tiles: true !default; $use-project-tiles: true !default;
@@ -27,54 +28,111 @@ $top-menu-collapse: false !default;
//== Colors //== Colors
// //
$gray-base: #808080 !default; $blue: #0065ff !default;
$gray-darkest: darken($gray-base, 40%) !default; $indigo: #4e65e5 !default;
$gray-darker: darken($gray-base, 33%) !default; $purple: #614ba6 !default;
$gray-dark: darken($gray-base, 17%) !default; $pink: #eb5286 !default;
$gray: $gray-base !default; $red: #e5123d !default;
$gray-light: lighten($gray-base, 17%) !default; $orange: #fc8c12 !default;
$gray-lighter: lighten($gray-base, 35%) !default; $yellow: #ffc107 !default;
$gray-lightest: lighten($gray-base, 46%) !default; $green: #029934 !default;
$teal: #00b3ad !default;
$brand-primary: #584492 !default; $white: #fff !default;
$brand-text: #fff !default; $black: #000 !default;
$brand-accent: #deddef !default; $gray: hsl(hue($indigo), 20%, 85%) !default;
$brand-success: #019851 !default; $shade-map: (
$brand-info: #409ae3 !default; 50: 90%,
$brand-warning: #ed820c !default; 100: 80%,
$brand-danger: #e74c3c !default; 200: 65%,
300: 40%,
400: 20%,
500: 0%,
600: 20%,
700: 40%,
800: 65%,
900: 80%,
950: 90%
) !default;
$state-success: #b5fbb7 !default; @function shade($color, $shade: 500) {
$state-info: #97cefb !default; $mixer: if($shade < 500, $white, $black);
$state-warning: #ffd699 !default; $saturation: if($shade < 500, 0, ($shade - 500) / 20);
$state-danger: #f7a6a4 !default; @return saturate(mix($mixer, $color, map-get($shade-map, $shade)), $saturation);
}
$gray-50: shade($gray, 50) !default;
$gray-100: shade($gray, 100) !default;
$gray-200: shade($gray, 200) !default;
$gray-300: shade($gray, 300) !default;
$gray-400: shade($gray, 400) !default;
$gray-500: $gray !default;
$gray-600: shade($gray, 600) !default;
$gray-700: shade($gray, 700) !default;
$gray-800: shade($gray, 800) !default;
$gray-900: shade($gray, 900) !default;
$gray-950: shade($gray, 950) !default;
$brand-primary: $purple !default;
$brand-text: $white !default;
$brand-accent: shade($brand-primary, 100) !default;
$brand-success: $green !default;
$brand-info: $blue !default;
$brand-warning: $orange !default;
$brand-danger: $red !default;
$state-success: shade($green, 100) !default;
$state-info: shade($blue, 100) !default;
$state-warning: shade($orange, 100) !default;
$state-danger: shade($red, 100) !default;
//== Scaffolding //== Scaffolding
// //
$body-bg: #fff !default; $body-bg: $white !default;
$text-color: $gray-dark !default; $text-color: $gray-800 !default;
$link-color: #4183c4 !default; $link-color: shade($blue, 600) !default;
$link-hover-color: darken($link-color, 10%) !default; $link-hover-color: $blue !default;
$link-hover-decoration: underline !default; $link-hover-decoration: underline !default;
$link-closed-decoration: line-through !default; $link-closed-decoration: line-through !default;
$link-color-issue-closed: $gray !default; $link-color-issue-closed: $gray-700 !default;
$link-color-project-closed: $gray !default; $link-color-project-closed: $gray-700 !default;
$link-color-user-locked: $gray !default; $link-color-user-locked: $gray-700 !default;
//== Typography //== Typography
// //
$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, freesans, sans-serif !default; $font-family-sans-serif: system-ui,
/* macOS 10.11-10.12 */ -apple-system,
/* Windows 6+ */ Segoe UI,
/* Android 4+ */ Roboto,
/* Ubuntu 10.10+ */ Ubuntu,
/* Gnome 3+ */ Cantarell,
/* KDE Plasma 5+ */ Noto Sans,
/* fallback */ sans-serif,
/* macOS emoji */ "Apple Color Emoji",
/* Windows emoji */ "Segoe UI Emoji",
/* Windows emoji */ "Segoe UI Symbol",
/* Linux emoji */ "Noto Color Emoji" !default;
$font-family-monospace: /* macOS 10.10+ */ Menlo,
/* Windows 6+ */ Consolas,
/* Android 4+ */ Roboto Mono,
/* Ubuntu 10.10+ */ Ubuntu Monospace,
/* KDE Plasma 5+ */ Noto Mono,
/* KDE Plasma 4+ */ Oxygen Mono,
/* Linux/OpenOffice fallback */ Liberation Mono,
/* fallback */ monospace !default;
$font-family-monospace: Consolas, "Liberation Mono", Menlo, "Courier New", Courier, monospace !default;
$font-family-base: $font-family-sans-serif !default; $font-family-base: $font-family-sans-serif !default;
$font-weight-normal: normal !default; $font-weight-normal: normal !default;
$font-weight-bold: bold !default; $font-weight-semi-bold: 500 !default;
$font-weight-bold: 600 !default;
$font-size-base: 14px !default; $font-size-base: 14px !default;
$font-size-large: 1.285em !default; $font-size-large: 1.285em !default;
@@ -94,22 +152,22 @@ $line-height-base: 1.428571429 !default; // 20/14
$line-height-large: 1.33 !default; $line-height-large: 1.33 !default;
$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px $line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px
$headings-font-weight: 700 !default; $headings-font-weight: 600 !default;
$headings-line-height: 1.4 !default; $headings-line-height: 1.4 !default;
$headings-anchor-color: $gray-lighter !default; $headings-anchor-color: $gray-400 !default;
$headings-anchor-color-active: $gray-light !default; $headings-anchor-color-active: $gray-600 !default;
//== Wiki //== Wiki
// //
$wiki-text: #333 !default; $wiki-text: $gray-950 !default;
$wiki-font-size: 16px !default; $wiki-font-size: 16px !default;
$wiki-line-height: 1.6 !default; $wiki-line-height: 1.6 !default;
$wiki-preview-bg: #fcfcfc !default; $wiki-preview-bg: $body-bg !default;
$toc-active-link: darken($link-color, 10%) !default; $toc-active-link: darken($link-color, 10%) !default;
$toc-active-link-hover: darken($toc-active-link, 10%) !default; $toc-active-link-hover: shade($toc-active-link, 700) !default;
$toc-active-border: $link-color !default; $toc-active-border: $link-color !default;
@@ -130,13 +188,13 @@ $border-radius-base: 3px !default;
$border-radius-large: 4px !default; $border-radius-large: 4px !default;
$border-radius-small: 2px !default; $border-radius-small: 2px !default;
$hr-border: $gray-light !default; $hr-border: $gray-600 !default;
$abbr-border-color: $gray-light !default; $abbr-border-color: $gray-600 !default;
$blockquote-border-color: rgba(#000, .15) !default; $blockquote-border-color: rgba($black, .15) !default;
$component-color: $gray-dark !default; $component-color: $text-color !default;
$component-bg: lighten($gray-lightest, 2%) !default; $component-bg: $gray-50 !default;
$component-border: lighten($gray-lighter, 2%) !default; $component-border: $gray-300 !default;
$component-active-color: $brand-text !default; $component-active-color: $brand-text !default;
$component-active-bg: $brand-primary !default; $component-active-bg: $brand-primary !default;
@@ -144,7 +202,10 @@ $component-active-border: $brand-primary !default;
$font-size-list: .92em !default; $font-size-list: .92em !default;
$collapsible-animation-time: .3s !default; $transition-time: 50ms !default;
$transition-time-long: 150ms !default;
$collapsible-animation-time: 300ms !default;
$collapsible-max-height: 10000px !default; $collapsible-max-height: 10000px !default;
@@ -155,43 +216,85 @@ $table-cell-padding: 8px !default;
$table-condensed-cell-padding: 5px !default; $table-condensed-cell-padding: 5px !default;
$table-list-header-border: 0 0 2px !default; $table-list-header-border: 0 0 2px !default;
$table-list-item-border: 0 0 1px !default; $table-list-item-border: 0 !default;
$table-list-color-odd-rows: true !default; $table-list-color-odd-rows: true !default;
$table-list-color-even-rows: false !default; $table-list-color-even-rows: false !default;
$table-list-highlight-rows: false !default; $table-list-highlight-rows: true !default;
$table-bg: transparent !default; $table-bg: transparent !default;
$table-accent-factor: .03 !default; $table-accent-factor: .15 !default;
$table-hover-factor: .03 !default; $table-hover-factor: .4 !default;
$table-bg-accent: rgba(#000, $table-accent-factor) !default; $table-bg-accent: rgba($gray-500, $table-accent-factor) !default;
$table-bg-hover: rgba(#000, $table-hover-factor) !default; $table-bg-hover: rgba($gray-500, $table-hover-factor) !default;
$table-bg-active: $table-bg-hover !default; $table-bg-active: $table-bg-hover !default;
$table-border-color: darken($body-bg, 13.5%) !default; $table-border-color: $gray-300 !default;
//== Issue statuses
//
$status-default-bg: $brand-primary !default;
$status-default-color: $brand-text !default;
$status-default-colors-map: (
status-1: (
background: shade($blue, 500),
color: $white
),
closed: (
background: shade($red, 500),
color: $white
)
) !default;
$status-custom-colors-map: () !default;
$status-colors-map: map-merge($status-default-colors-map, $status-custom-colors-map);
//== Trackers priorities //== Trackers priorities
// //
$priority-lowest-bg: #dff4d0 !default; $priority-icon-size: 14px !default;
$priority-lowest-text: #676 !default; $priority-icon-space: 5px !default;
$priority-lowest-link: #096 !default; $priority-default-icons-map: (
lowest: (
$priority-default-bg: #fff !default; icon: "priority-minor.svg",
$priority-default-text: $text-color !default; color: $green
$priority-default-link: $link-color !default; ),
low2: (
$priority-high3-bg: #d5eaff !default; icon: "priority-lowest.svg",
$priority-high3-text: #556 !default; color: mix($teal, $green)
$priority-high3-link: #05a !default; ),
low3: (
$priority-high2-bg: #ffe1d7 !default; icon: "priority-low.svg",
$priority-high2-text: #855 !default; color: $teal
$priority-high2-link: #b04 !default; ),
default: (
$priority-highest-bg: #ffa5a5 !default; icon: "priority-medium.svg",
$priority-highest-text: #944 !default; color: $blue
$priority-highest-link: #a03 !default; ),
high5: (
icon: "priority-high.svg",
color: $purple
),
high4: (
icon: "priority-high.svg",
color: $orange
),
high3: (
icon: "priority-highest.svg",
color: mix($red, $orange)
),
high2: (
icon: "priority-major.svg",
color: $red
),
highest: (
icon: "priority-critical.svg",
color: shade($red, 600)
)
) !default;
$priority-custom-icons-map: () !default;
$priority-icons-map: map-merge($priority-default-icons-map, $priority-custom-icons-map);
//== Trackers links //== Trackers links
@@ -200,37 +303,37 @@ $priority-highest-link: #a03 !default;
$tracker-inline-padding: 1px 5px !default; $tracker-inline-padding: 1px 5px !default;
$tracker-list-padding: 0 6px !default; $tracker-list-padding: 0 6px !default;
$tracker-default-bg: #668 !default; $tracker-default-bg: $gray-700 !default;
$tracker-default-text: $brand-text !default; $tracker-default-text: $white !default;
$tracker-default-colors-map: ( $tracker-default-colors-map: (
1: ( 1: (
background: $brand-danger, background: $red,
color: $brand-text color: $white
), ),
2: ( 2: (
background: $brand-info, background: $blue,
color: $brand-text color: $white
), ),
3: ( 3: (
background: $brand-success, background: $green,
color: $brand-text color: $white
), ),
4: ( 4: (
background: $brand-primary, background: $purple,
color: $brand-text color: $white
), ),
5: ( 5: (
background: $brand-warning, background: $orange,
color: $brand-text color: $white
), ),
6: ( 6: (
background: mix($brand-success, $brand-info, 50%), background: $teal,
color: $brand-text color: $white
), ),
7: ( 7: (
background: mix($brand-primary, $brand-warning, 50%), background: $indigo,
color: $brand-text color: $white
) )
) !default; ) !default;
$tracker-custom-colors-map: () !default; $tracker-custom-colors-map: () !default;
@@ -240,32 +343,30 @@ $tracker-colors-map: map-merge($tracker-default-colors-map, $tracker-
//== Diffs //== Diffs
// //
$diff-out-color: #511 !default; $diff-out-bg: saturate(shade($red, 100), 50%) !default;
$diff-out-bg: #fbb !default; $diff-out-bg-light: rgba($diff-out-bg, .4) !default;
$diff-out-bg-light: rgba($diff-out-bg, .3) !default;
$diff-in-color: #350 !default; $diff-in-bg: saturate(shade($green, 100), 50%) !default;
$diff-in-bg: #afa !default; $diff-in-bg-light: rgba($diff-in-bg, .4) !default;
$diff-in-bg-light: rgba($diff-in-bg, .3) !default;
//== Journal changes //== Journal changes
// //
$journal-old-value-color: #430 !default; $journal-old-value-color: saturate(shade($orange, 800), 25%) !default;
$journal-old-value-bg: rgba(#ffeaaa, .3) !default; $journal-old-value-bg: saturate(shade($orange, 50), 50%) !default;
$journal-new-value-color: #350 !default; $journal-new-value-color: saturate(shade($green, 800), 25%) !default;
$journal-new-value-bg: rgba(#bffbbf, .3) !default; $journal-new-value-bg: saturate(shade($green, 50), 50%) !default;
//== Changesets //== Changesets
// //
$changeset-add-color: $brand-success !default; $changeset-added-color: $green !default;
$changeset-modified-color: $brand-warning !default; $changeset-modified-color: $orange !default;
$changeset-copied-color: $brand-info !default; $changeset-copied-color: $purple !default;
$changeset-renamed-color: $brand-primary !default; $changeset-renamed-color: $blue !default;
$changeset-deleted-color: $brand-danger !default; $changeset-deleted-color: $red !default;
//== Buttons //== Buttons
@@ -280,44 +381,66 @@ $btn-link-color: $link-color !default;
$btn-link-bg: $body-bg !default; $btn-link-bg: $body-bg !default;
$btn-link-border: $body-bg !default; $btn-link-border: $body-bg !default;
$btn-default-color: $gray-darkest !default; $btn-default-color: $gray-900 !default;
$btn-default-bg: $gray-lightest !default; $btn-default-bg: $gray-100 !default;
$btn-default-border: $gray-lighter !default; $btn-default-border: $gray-500 !default;
$btn-default-icon-color: $gray-700 !default;
$btn-primary-color: #fff !default; $btn-primary-color: $white !default;
$btn-primary-bg: $brand-info !default; $btn-primary-bg: $blue !default;
$btn-primary-border: $btn-primary-bg !default; $btn-primary-border: $btn-primary-bg !default;
$btn-success-color: #fff !default; $btn-success-color: $white !default;
$btn-success-bg: $brand-success !default; $btn-success-bg: $green !default;
$btn-success-border: $btn-success-bg !default; $btn-success-border: $btn-success-bg !default;
//== Action icons
//
$icon-opacity: .7 !default;
$icon-hover-opacity: 1 !default;
$icon-color-map: (
default: (
normal: shade($brand-info, 600),
hover: shade($brand-info, 500)
),
success: (
normal: shade($brand-success, 600),
hover: shade($brand-success, 500)
),
danger: (
normal: shade($brand-danger, 600),
hover: shade($brand-danger, 500)
)
) !default;
//== Highlights //== Highlights
// //
$highlight-bg: #fff9c8 !default; $highlight-bg: shade($yellow, 200) !default;
$highlight-border: #ccb37b !default; $highlight-border: shade($yellow, 600) !default;
$highlight-text: #755e40 !default; $highlight-text: shade($yellow, 800) !default;
$highlight-link: #005f97 !default; $highlight-link: mix($yellow, $link-color) !default;
//== Forms //== Forms
// //
$input-bg: #fff !default; $input-bg: $white !default;
$input-bg-disabled: $gray-lighter !default; $input-bg-disabled: $gray-300 !default;
$input-color: $gray-dark !default; $input-color: $text-color !default;
$input-border: #ccc !default; $input-border: $gray-500 !default;
$input-border-radius: $border-radius-small !default; $input-border-radius: $border-radius-small !default;
$input-border-radius-large: $border-radius-large !default; $input-border-radius-large: $border-radius-large !default;
$input-border-focus: $brand-primary !default; $input-border-focus: saturate($brand-primary, 25%) !default;
$input-border-focus-alpha: .6 !default; $input-border-focus-alpha: .6 !default;
$input-shadow-focus-alpha: .2 !default; $input-shadow-focus-alpha: .2 !default;
$input-color-placeholder: #999 !default; $input-color-placeholder: $gray-600 !default;
$input-padding-vertical: $btn-padding-vertical !default; $input-padding-vertical: $btn-padding-vertical !default;
$input-padding-horizontal: 8px !default; $input-padding-horizontal: 8px !default;
@@ -328,11 +451,12 @@ $label-width: 160px !default;
$label-wide-width: 280px !default; $label-wide-width: 280px !default;
$label-space: 10px !default; $label-space: 10px !default;
$legend-color: $gray-dark !default; $legend-color: $gray-800 !default;
$legend-border-color: #e5e5e5 !default; $legend-border-color: $gray-200 !default;
$check-input-gutter: 20px !default; $check-input-gutter: 18px !default;
$check-input-margin-vertical: 3px !default; $check-input-margin-vertical: 3px !default;
$check-input-margin-btn-v: 7px !default;
$check-input-margin-horizontal: 8px !default; $check-input-margin-horizontal: 8px !default;
$check-list-max-height: 20 * $line-height-computed; $check-list-max-height: 20 * $line-height-computed;
@@ -341,10 +465,10 @@ $check-list-offset-top: $input-padding-vertical + 1px;
//== Top //== Top
// //
$top-menu-bg: darken($brand-primary, 15%) !default; $top-menu-bg: shade($brand-primary, 700) !default;
$top-menu-text: $brand-accent !default; $top-menu-text: shade($brand-primary, 100) !default;
$top-menu-link: $brand-accent !default; $top-menu-link: shade($brand-primary, 100) !default;
$top-menu-link-hover: $brand-text !default; $top-menu-link-hover: shade($brand-primary, 50) !default;
$header-bg: $brand-primary !default; $header-bg: $brand-primary !default;
$header-text: $brand-text !default; $header-text: $brand-text !default;
@@ -357,21 +481,21 @@ $header-title-line-height: $line-height-computed * 1.5 !default;
$responsive-header-height: 54px !default; $responsive-header-height: 54px !default;
$flyout-menu-bg: darken($header-bg, 15%) !default; $flyout-menu-bg: shade($header-bg, 700) !default;
$flyout-menu-text: #fff !default; $flyout-menu-text: $white !default;
$flyout-menu-link: #fff !default; $flyout-menu-link: $white !default;
$flyout-menu-link-active-bg: $header-bg !default; $flyout-menu-link-active-bg: shade($header-bg, 50) !default;
$flyout-menu-link-active: #fff !default; $flyout-menu-link-active: $text-color !default;
$flyout-menu-header-bg: darken($header-bg, 25%) !default; $flyout-menu-header-bg: shade($header-bg, 800) !default;
$flyout-menu-header-border: darken($header-bg, 25%) !default; $flyout-menu-header-border: shade($header-bg, 800) !default;
$flyout-menu-header-text: #fff !default; $flyout-menu-header-text: $white !default;
$quick-search-width: 200px !default; $quick-search-width: 200px !default;
$quick-search-border: darken($header-bg, 15%) !default; $quick-search-border: shade($header-bg, 800) !default;
$quick-search-border-focus: lighten($header-bg, 25%) !default; $quick-search-border-focus: shade($header-bg, 400) !default;
$quick-search-box-width: 300px !default; $quick-search-box-width: 300px !default;
$quick-search-dropdown-bg: $body-bg !default; $quick-search-dropdown-bg: $body-bg !default;
$quick-search-dropdown-border: $gray-lighter !default; $quick-search-dropdown-border: $gray-400 !default;
$logo-image-width: 60px !default; $logo-image-width: 60px !default;
$logo-image-height: 40px !default; $logo-image-height: 40px !default;
@@ -379,17 +503,17 @@ $logo-position-horizontal: $header-padding-vertical !default;
$logo-position-vertical: center !default; $logo-position-vertical: center !default;
$logo-space: floor($header-padding-vertical / 2) !default; $logo-space: floor($header-padding-vertical / 2) !default;
$main-menu-bg: $gray-lightest !default; $main-menu-bg: $gray-100 !default;
$main-menu-bg-hover: $gray-lightest !default; $main-menu-bg-hover: $gray-100 !default;
$main-menu-link: $gray-darker !default; $main-menu-link: $gray-900 !default;
$main-menu-link-active: #000 !default; $main-menu-link-active: $black !default;
$main-menu-border: $gray-lighter !default; $main-menu-border: $gray-400 !default;
$main-menu-shadow-hover: $gray-light !default; $main-menu-shadow-hover: $gray-600 !default;
$main-menu-shadow-width: 3px !default; $main-menu-shadow-width: 3px !default;
$main-menu-shadow-active: $brand-primary !default; $main-menu-shadow-active: $brand-primary !default;
$main-menu-padding-vertical: $padding-large-vertical !default; $main-menu-padding-vertical: $padding-large-vertical !default;
$main-menu-padding-horizontal: 5px !default; $main-menu-padding-horizontal: 5px !default;
$main-menu-dropdown-bg: lighten($main-menu-bg, 3%); $main-menu-dropdown-bg: $gray-50;
//== Pagination //== Pagination
@@ -398,21 +522,21 @@ $main-menu-dropdown-bg: lighten($main-menu-bg, 3%);
$pagination-padding-vertical: $btn-padding-vertical !default; $pagination-padding-vertical: $btn-padding-vertical !default;
$pagination-padding-horizontal: 10px !default; $pagination-padding-horizontal: 10px !default;
$pagination-color: $link-color !default; $pagination-color: $gray-900 !default;
$pagination-bg: #fafafa !default; $pagination-bg: $gray-200 !default;
$pagination-border: #ddd !default; $pagination-border: $gray-200 !default;
$pagination-hover-color: $link-hover-color !default; $pagination-hover-color: $gray-900 !default;
$pagination-hover-bg: $gray-lightest !default; $pagination-hover-bg: $gray-300 !default;
$pagination-hover-border: #bbb !default; $pagination-hover-border: $gray-300 !default;
$pagination-active-color: #fff !default; $pagination-active-color: $brand-text !default;
$pagination-active-bg: $brand-primary !default; $pagination-active-bg: $brand-primary !default;
$pagination-active-border: $brand-primary !default; $pagination-active-border: $brand-primary !default;
$pagination-inactive-color: #ccc !default; $pagination-inactive-color: $gray-500 !default;
$pagination-inactive-bg: #fff !default; $pagination-inactive-bg: $gray-50 !default;
$pagination-inactive-border: #eee !default; $pagination-inactive-border: $gray-100 !default;
//== Tabs //== Tabs
@@ -420,8 +544,9 @@ $pagination-inactive-border: #eee !default;
$tab-padding-vertical: 5px !default; $tab-padding-vertical: 5px !default;
$tab-padding-horizontal: 8px !default; $tab-padding-horizontal: 8px !default;
$tab-border: $gray-lighter !default; $tab-border: $gray-500 !default;
$tab-hover-bg: $gray-lightest !default; $tab-hover-bg: $gray-100 !default;
$tab-hover-text: $gray-950 !default;
$tab-hover-border: $tab-hover-bg !default; $tab-hover-border: $tab-hover-bg !default;
$tab-active-bg: $body-bg !default; $tab-active-bg: $body-bg !default;
$tab-active-text: $text-color !default; $tab-active-text: $text-color !default;
@@ -435,40 +560,42 @@ $sidebar-width: 270px !default;
$sidebar-padding-vertical: $padding-base-vertical !default; $sidebar-padding-vertical: $padding-base-vertical !default;
$sidebar-padding-horizontal: $padding-side !default; $sidebar-padding-horizontal: $padding-side !default;
$sidebar-width-computed: $sidebar-width - ($sidebar-padding-horizontal * 2) - 1px !default; $sidebar-width-computed: $sidebar-width - ($sidebar-padding-horizontal * 2) - 1px !default;
$sidebar-link-hover-bg: $gray-lightest !default; $sidebar-link-hover-bg: $gray-200 !default;
$sidebar-link-hover-text: $gray-900 !default;
$sidebar-link-active-bg: $body-bg !default; $sidebar-link-active-bg: $body-bg !default;
$sidebar-link-active-border: $gray-lighter !default; $sidebar-link-active-border: $gray-400 !default;
$sidebar-link-active-side: $brand-danger !default; $sidebar-link-active-side: $red !default;
$sidebar-link-active-text: $gray-darkest !default; $sidebar-link-active-text: $gray-950 !default;
//== Flash messages (alerts) //== Flash messages (alerts)
// //
$flash-success-bg: #5cb85c !default; $flash-success-bg: shade($green, 400) !default;
$flash-success-border: darken($flash-success-bg, 5%) !default; $flash-success-border: shade($green, 500) !default;
$flash-success-text: #fff !default; $flash-success-text: $white !default;
$flash-success-link: #fff !default; $flash-success-link: $white !default;
$flash-warning-bg: #fde3a7 !default; $flash-warning-bg: shade($yellow, 200) !default;
$flash-warning-border: darken($flash-warning-bg, 15%) !default; $flash-warning-border: shade($yellow, 300) !default;
$flash-warning-text: #b45e10 !default; $flash-warning-text: shade($yellow, 800) !default;
$flash-warning-link: #a0540e !default; $flash-warning-link: shade($yellow, 900) !default;
$flash-error-bg: #d9534f !default; $flash-error-bg: $red !default;
$flash-error-border: darken($flash-error-bg, 5%) !default; $flash-error-border: shade($red, 600) !default;
$flash-error-text: #fff !default; $flash-error-text: $white !default;
$flash-error-link: #fff !default; $flash-error-link: $white !default;
//== Progress bars //== Progress bars
// //
$progress-bg: #fff !default; $progress-height: 12px !default;
$progress-bg: rgba($gray-500, .5) !default;
$progress-bar-bg: $brand-primary !default; $progress-bar-bg: $brand-primary !default;
$progress-bar-success-bg: lighten($brand-success, 10%) !default; $progress-bar-success-bg: $brand-success !default;
$progress-bar-danger-bg: lighten($brand-danger, 10%) !default; $progress-bar-danger-bg: $brand-danger !default;
$progress-bar-info-bg: lighten($brand-info, 20%) !default; $progress-bar-info-bg: $brand-info !default;
//== Panels //== Panels
@@ -477,34 +604,34 @@ $progress-bar-info-bg: lighten($brand-info, 20%) !default;
$panel-body-padding-vertical: 15px !default; $panel-body-padding-vertical: 15px !default;
$panel-body-padding-horizontal: 15px !default; $panel-body-padding-horizontal: 15px !default;
$panel-body-padding: $panel-body-padding-vertical $panel-body-padding-horizontal !default; $panel-body-padding: $panel-body-padding-vertical $panel-body-padding-horizontal !default;
$panel-color: #555 !default; $panel-color: $gray-900 !default;
$panel-bg: #f9f9f9 !default; $panel-bg: $gray-50 !default;
$panel-border: #ccc !default; $panel-border: $gray-400 !default;
$panel-border-radius: $border-radius-base !default; $panel-border-radius: $border-radius-base !default;
$panel-shadow: 0 1px 2px rgba(#000, .1), $panel-shadow: 0 1px 2px rgba($black, .07),
0 3px 8px rgba(#000, .07) !default; 0 3px 8px rgba($black, .04) !default;
//== Tooltips //== Tooltips
// //
$tooltip-bg: #fff !default; $tooltip-bg: $white !default;
$tooltip-border-width: 0 !default; $tooltip-border-width: 0 !default;
$tooltip-border: #ccc !default; $tooltip-border: $gray-500 !default;
$tooltip-text: $gray-dark !default; $tooltip-text: $gray-800 !default;
$tooltip-link: $link-color !default; $tooltip-link: $link-color !default;
//== Issue //== Issue
// //
$issue-bg: #f9f9f9 !default; $issue-bg: $gray-50 !default;
$issue-border: #ccc !default; $issue-border: $gray-500 !default;
$issue-text: $text-color !default; $issue-text: $text-color !default;
$issue-padding: 15px !default; $issue-padding: 15px !default;
$issue-gravatar-size: 50px !default; $issue-gravatar-size: 50px !default;
$issue-heading-size: 1.5 !default; $issue-heading-size: 1.75 !default;
$issue-attribute-padding-v: 3px !default; $issue-attribute-padding-v: 3px !default;
$issue-attribute-padding-h: 5px !default; $issue-attribute-padding-h: 5px !default;
@@ -519,6 +646,17 @@ $bubble-padding-vertical: 8px !default;
$bubble-padding-horizontal: 15px !default; $bubble-padding-horizontal: 15px !default;
//== Badges
//
$badge-space: 2px !default;
$badge-padding-v: 0 !default;
$badge-padding-h: 5px !default;
$badge-border-radius: $border-radius-base !default;
$badge-font-size: $font-size-small !default;
$badge-font-weight: $font-weight-bold !default;
//== Media queries breakpoints //== Media queries breakpoints
// //

View File

@@ -9,11 +9,13 @@
// //
@import "components/base"; @import "components/base";
@import "components/badges";
@import "components/buttons"; @import "components/buttons";
@import "components/forms"; @import "components/forms";
@import "components/tabs"; @import "components/tabs";
@import "components/pagination"; @import "components/pagination";
@import "components/content"; @import "components/content";
@import "components/context-menu";
@import "components/gravatar"; @import "components/gravatar";
@import "components/list"; @import "components/list";
@import "components/simple-list"; @import "components/simple-list";

View File

@@ -50,8 +50,8 @@ table.memberships {
table.permissions { table.permissions {
td.role { td.role {
color: $gray; color: $gray-700;
font-weight: normal; font-weight: $font-weight-normal;
text-align: center; text-align: center;
vertical-align: bottom; vertical-align: bottom;
} }
@@ -78,7 +78,7 @@ table.transitions {
table.fields_permissions { table.fields_permissions {
td.readonly { td.readonly {
background: $gray-light; background: $gray-600;
} }
td.required { td.required {

View File

@@ -0,0 +1,54 @@
tr.group .count,
span.private,
.badge {
display: inline-block;
position: relative;
top: -1px;
box-sizing: border-box;
min-width: 1em;
margin-right: $badge-space;
margin-left: $badge-space;
padding: $badge-padding-v $badge-padding-h;
border: 1px solid;
border-radius: $badge-border-radius;
font-size: $badge-font-size;
font-weight: $badge-font-weight;
text-align: center;
text-decoration: none;
text-transform: uppercase;
}
span.private,
.badge-private {
padding: ($badge-padding-v + 1px) ($badge-padding-h + 1px);
border: 0;
background: $brand-warning;
color: $brand-text;
h3 & {
font-size: $font-size-small-px;
}
}
tr.group .count,
.badge-count {
padding: ($badge-padding-v + 1px) ($badge-padding-h + 1px);
border: 0;
background: $brand-primary;
color: $brand-text;
}
.badge-status-open {
border-color: $blue;
color: $blue;
}
.badge-status-locked {
border-color: $gray-600;
color: $gray-600;
}
.badge-status-closed {
border-color: $green;
color: $green;
}

View File

@@ -57,16 +57,17 @@ textarea,
h1 { h1 {
margin: 0; margin: 0;
font-size: 2em; // ~28px font-size: 2em;
line-height: 30px; font-weight: $font-weight-semi-bold;
line-height: $line-height-large * .825;
} }
h2 { h2 {
margin-top: 0; margin-top: 0;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
font-size: 1.43em; // ~20px font-size: 1.43em;
font-weight: 500; font-weight: $font-weight-semi-bold;
line-height: $line-height-computed; line-height: $line-height-large;
img { img {
vertical-align: middle; vertical-align: middle;
@@ -76,15 +77,16 @@ h2 {
h3 { h3 {
margin-top: 0; margin-top: 0;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
font-size: 1.14em; // ~16px font-size: 1.14em;
font-weight: 500; font-weight: $font-weight-semi-bold;
line-height: $line-height-computed; line-height: $line-height-large;
} }
h4 { h4 {
margin-top: 0; margin-top: 0;
font-size: 1em; font-size: 1em;
font-weight: 500; font-weight: $font-weight-semi-bold;
line-height: $line-height-base;
} }
p { p {
@@ -96,16 +98,25 @@ small {
} }
table { table {
th {
font-weight: $font-weight-bold;
}
th, th,
td { td {
padding: $table-condensed-cell-padding $table-cell-padding; padding: $table-condensed-cell-padding $table-cell-padding;
} }
p {
margin: 0;
}
} }
ul, ul,
ol { ol {
margin-top: 0; margin-top: 0;
margin-bottom: ($line-height-computed / 2); margin-bottom: ($line-height-computed / 2);
padding-left: 1.5em;
ul, ul,
ol { ol {
@@ -148,11 +159,6 @@ hr {
} }
} }
abbr[title] {
border-bottom: 1px dotted $abbr-border-color;
cursor: help;
}
blockquote { blockquote {
margin: 0 0 $line-height-computed; margin: 0 0 $line-height-computed;
padding: floor($line-height-computed / 4) $padding-large-horizontal; padding: floor($line-height-computed / 4) $padding-large-horizontal;

View File

@@ -9,27 +9,24 @@ button {
@include button-size($btn-padding-vertical, $btn-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base); @include button-size($btn-padding-vertical, $btn-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base);
display: inline-block; display: inline-block;
margin-bottom: 0; margin-bottom: 0;
transition: background-color ease-in-out .07s, transition:
border-color ease-in-out .07s, border-color $transition-time ease-in-out,
box-shadow ease-in-out .07s; background-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid; border: 1px solid;
font-weight: $btn-font-weight; font-weight: $btn-font-weight;
text-align: center; text-align: center;
vertical-align: top;
white-space: nowrap; white-space: nowrap;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); // scss-lint:disable DeclarationOrder @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
&:hover, &:hover,
&:focus { &:focus {
outline: 0;
text-decoration: none; text-decoration: none;
} }
&:active {
outline: 0;
}
&.disabled, &.disabled,
&[disabled], &[disabled],
fieldset[disabled] & { fieldset[disabled] & {
@@ -45,17 +42,21 @@ button {
form { form {
input[type="submit"] { input[type="submit"] {
margin-right: 5px; margin-right: 2px;
+ input { + input {
@include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);
} }
+ a { + a {
margin-right: 5px; display: inline-block;
margin-right: 2px;
padding-top: $btn-padding-vertical + 1px;
padding-bottom: $btn-padding-vertical + 1px;
line-height: $line-height-base;
+ a { + a {
margin-left: 5px; margin-left: 2px;
} }
} }
} }
@@ -88,38 +89,57 @@ form[action*="repository/diff"] {
// //
p.buttons, p.buttons,
.other-formats > span, .other-formats > span,
#wiki_add_attachment > p { #wiki_add_attachment > p,
> a { #content > .contextual,
#content > .contextual > span:not(.drdn),
#query_form > .contextual,
#query_form_with_buttons > .contextual {
> a,
> span:not(.drdn) {
display: inline-block; display: inline-block;
margin-right: 1px;
margin-left: 1px;
padding: $btn-padding-vertical $btn-padding-horizontal-small; padding: $btn-padding-vertical $btn-padding-horizontal-small;
border: 1px solid $pagination-border; transition:
border-color $transition-time ease-in-out,
background-color $transition-time ease-in-out,
color $transition-time ease-in-out;
border: 1px solid;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $pagination-bg; font-size: $font-size-base;
&:hover,
&:focus {
border-color: $pagination-hover-border;
outline: 0;
background-color: $pagination-hover-bg;
text-decoration: none;
}
&:active {
outline: 0;
box-shadow: inset 0 3px 4px -2px rgba(#000, .1);
}
&.icon { &.icon {
padding-left: 20px + $btn-padding-horizontal-small; padding-left: 20px + $btn-padding-horizontal-small;
background-position: $btn-padding-horizontal-small 50%; background-position: $btn-padding-horizontal-small 50%;
} }
}
@if $use-font-awesome == false { > a {
&.atom { border-color: $pagination-border;
padding-left: 20px + $btn-padding-horizontal-small; background-color: $pagination-bg;
background-position: $btn-padding-horizontal-small 50%; color: $pagination-color;
&:first-child {
margin-left: 0;
}
&:last-child {
margin-right: 0;
}
&:hover,
&:focus {
border-color: $pagination-hover-border;
background-color: $pagination-hover-bg;
color: $pagination-hover-color;
text-decoration: none;
} }
} }
> span:not(.drdn) {
border-color: $pagination-inactive-border;
background-color: $pagination-inactive-bg;
color: $pagination-inactive-color;
} }
} }
@@ -139,12 +159,23 @@ p.buttons {
margin: $line-height-computed 0 0; margin: $line-height-computed 0 0;
text-align: right; text-align: right;
> span {
margin-right: 1px;
margin-left: 1px;
&:last-child {
margin-right: 0;
}
}
@media screen and (min-width: $redmine-responsive-min) {
.pagination + &, .pagination + &,
#wiki_add_attachment + & { #wiki_add_attachment + & {
margin-top: 0; margin-top: 0;
float: right; float: right;
} }
} }
}
//== Query builder buttons //== Query builder buttons
@@ -152,7 +183,7 @@ p.buttons {
.query-columns { .query-columns {
select { select {
width: auto !important; // scss-lint:disable ImportantRule width: auto !important; // stylelint-disable-line declaration-no-important
min-width: 130px; min-width: 130px;
} }
@@ -166,6 +197,7 @@ p.buttons {
label { label {
display: block; display: block;
margin-bottom: $line-height-computed / 2; margin-bottom: $line-height-computed / 2;
line-height: initial;
} }
} }
@@ -182,7 +214,7 @@ p.buttons {
margin-bottom: 4px; margin-bottom: 4px;
padding-right: 1px; padding-right: 1px;
padding-left: 1px; padding-left: 1px;
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); // scss-lint:disable DeclarationOrder @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);
} }
} }
} }
@@ -193,24 +225,28 @@ p.buttons {
a[data-expands], a[data-expands],
.toggle-multiselect { .toggle-multiselect {
@extend %image-toggle-plus; display: inline-block;
position: relative; position: relative;
top: 3px; top: 3px;
padding: 2px 8px; padding: 10px;
border: 1px solid; border: 1px solid;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-image: inline-svg("plus.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 2px 2px; background-position: 2px 2px;
font-size: 0;
vertical-align: top; vertical-align: top;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); // scss-lint:disable DeclarationOrder @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);
&.icon-only::before {
content: none;
}
} }
a[data-expands] { a[data-expands] {
display: inline-block;
margin-right: 10px; margin-right: 10px;
padding: 10px;
> .toggle-multiselect { > .toggle-multiselect {
padding: 0; padding: 0;
@@ -222,3 +258,8 @@ a[data-expands] {
display: none; display: none;
} }
} }
a.icon-toggle-minus[data-expands],
select[multiple="multiple"] + .toggle-multiselect {
background-image: inline-svg("minus.svg", (path: (fill: $btn-default-icon-color)));
}

View File

@@ -11,7 +11,7 @@ table.cal {
thead th { thead th {
width: 14%; width: 14%;
padding: $table-condensed-cell-padding; padding: $table-condensed-cell-padding;
background-color: $table-bg-hover; background-color: $table-bg-active;
&.week-number { &.week-number {
width: auto; width: auto;
@@ -30,7 +30,7 @@ table.cal {
&.week-number { &.week-number {
border: 0 none; border: 0 none;
background-color: $table-bg-hover; background-color: $table-bg-active;
font-size: 1em; font-size: 1em;
text-align: right; text-align: right;
} }
@@ -42,7 +42,11 @@ table.cal {
} }
&.odd p.day-num { &.odd p.day-num {
color: $gray-light; color: $gray-600;
}
&.nwday {
background: $table-bg-accent;
} }
&.today { &.today {
@@ -59,22 +63,30 @@ table.cal .starting a,
p.cal.legend .starting, p.cal.legend .starting,
table.cal .ending a, table.cal .ending a,
p.cal.legend .ending { p.cal.legend .ending {
padding-left: 20px; @extend %fa-icon;
background-image: url("../../../images/bullet_go.png");
background-repeat: no-repeat; &::before {
background-position: 0 center; content: $fa-var-caret-right;
width: 10px;
text-align: right;
}
} }
table.cal .ending a, table.cal .ending a,
p.cal.legend .ending { p.cal.legend .ending {
padding-left: 20px; &::before {
background-image: url("../../../images/bullet_end.png"); content: $fa-var-caret-left;
text-align: left;
}
} }
table.cal .starting.ending a, table.cal .starting.ending a,
p.cal.legend .starting.ending { p.cal.legend .starting.ending {
padding-left: 20px; &::before {
background-image: url("../../../images/bullet_diamond.png"); content: $fa-var-square;
transform: scale(.6) rotate(45deg);
text-align: center;
}
} }
p.cal.legend { p.cal.legend {

View File

@@ -18,7 +18,7 @@
} }
.debug { .debug {
// scss-lint:disable ImportantRule // stylelint-disable declaration-no-important
background: #00f !important; background: #00f !important;
color: #fff !important; color: #fff !important;
} }

View File

@@ -1,5 +1,20 @@
#main { #main {
@if $flexbox-layout { @if $css-grid-layout {
display: grid;
grid-template-rows: auto 1fr;
@if $sidebar-position == "left" {
grid-template-areas:
"sidebar content"
"footer footer";
grid-template-columns: auto 1fr;
} @else {
grid-template-areas:
"content sidebar"
"footer footer";
grid-template-columns: 1fr auto;
}
} @else if $flexbox-layout {
display: flex; display: flex;
} @else { } @else {
@extend %clearfix; @extend %clearfix;
@@ -14,7 +29,9 @@
#content { #content {
padding: $padding-side; padding: $padding-side;
@if $flexbox-layout { @if $css-grid-layout {
grid-area: content;
} @else if $flexbox-layout {
$side-space: $sidebar-width + $padding-side * 2; $side-space: $sidebar-width + $padding-side * 2;
flex: 1 1 auto; flex: 1 1 auto;
width: calc(100% - #{$side-space}); width: calc(100% - #{$side-space});
@@ -38,7 +55,9 @@
padding: 0; padding: 0;
border: 0 none; border: 0 none;
@if $flexbox-layout { @if $css-grid-layout {
width: 0;
} @else if $flexbox-layout {
flex: 0 0 auto; flex: 0 0 auto;
} @else { } @else {
width: 0; width: 0;
@@ -46,7 +65,10 @@
} }
} }
@if $flexbox-layout { @if $css-grid-layout {
grid-area: sidebar;
width: $sidebar-width-computed;
} @else if $flexbox-layout {
flex: 0 0 $sidebar-width-computed; flex: 0 0 $sidebar-width-computed;
@if $sidebar-position == "left" { @if $sidebar-position == "left" {
@@ -79,7 +101,7 @@
> h3:first-child, > h3:first-child,
> form:first-child > h3 { > form:first-child > h3 {
margin-top: 0; margin-top: $line-height-computed * .25;
} }
ul { ul {
@@ -107,12 +129,14 @@
border-left-width: 3px; border-left-width: 3px;
border-radius: $border-radius-large 0 0 $border-radius-large; border-radius: $border-radius-large 0 0 $border-radius-large;
} @else { } @else {
margin-left: -($sidebar-padding-horizontal);
border-right-width: 3px; border-right-width: 3px;
border-radius: 0 $border-radius-large $border-radius-large 0; border-radius: 0 $border-radius-large $border-radius-large 0;
} }
&:hover { &:hover {
background-color: $sidebar-link-hover-bg; background-color: $sidebar-link-hover-bg;
color: $sidebar-link-hover-text;
text-decoration: none; text-decoration: none;
} }
@@ -127,7 +151,7 @@
border-left-color: $sidebar-link-active-side; border-left-color: $sidebar-link-active-side;
box-shadow: -3px 1px 2px rgba(0, 0, 0, .1); box-shadow: -3px 1px 2px rgba(0, 0, 0, .1);
} @else { } @else {
margin-left: -1px; margin-left: -($sidebar-padding-horizontal + 1px);
border-right-color: $sidebar-link-active-side; border-right-color: $sidebar-link-active-side;
border-left-color: $body-bg; border-left-color: $body-bg;
box-shadow: 3px 1px 2px rgba(0, 0, 0, .1); box-shadow: 3px 1px 2px rgba(0, 0, 0, .1);
@@ -136,6 +160,34 @@
} }
} }
} }
&.pages-hierarchy {
.pages-hierarchy {
margin-left: $sidebar-padding-horizontal + 3px;
border-left: 2px solid $gray-400;
@if $sidebar-position == "right" {
margin-left: 3px;
} @else {
margin-right: 0;
}
li {
> a:not(.icon-only) {
padding-right: $sidebar-padding-horizontal / 2;
padding-left: $sidebar-padding-horizontal / 2;
@if $sidebar-position == "right" {
margin-left: 0;
}
}
.pages-hierarchy {
margin-left: $sidebar-padding-horizontal / 2 + 3px;
}
}
}
}
} }
// Special treatment for anchor tags directly under sidebar tag // Special treatment for anchor tags directly under sidebar tag
@@ -149,14 +201,122 @@
margin-left: 0; margin-left: 0;
} }
} }
// For plugin https://github.com/ledsun/redmine_wiki_page_tree
div.page-tree {
margin: 0;
padding: 0;
.page-tree__title {
margin-left: 0;
}
.page-tree__list {
.page-tree__list {
margin-left: $sidebar-padding-horizontal + 3px;
border-left: 2px solid $gray-400;
@if $sidebar-position == "right" {
margin-left: 3px;
} @else {
margin-right: 0;
}
.page-tree__list {
margin-left: $sidebar-padding-horizontal / 2 + 3px;
}
summary {
padding-left: $sidebar-padding-horizontal + 8px;
@if $sidebar-position == "right" {
margin-left: 0;
}
&::before {
left: 6px;
}
}
}
li {
> a:not(.icon-only) {
padding-right: $sidebar-padding-horizontal / 2;
padding-left: $sidebar-padding-horizontal / 2;
@if $sidebar-position == "right" {
margin-left: 0;
}
&:hover {
text-decoration: underline;
}
}
}
}
details {
summary {
display: block;
position: relative;
padding: 0 $sidebar-padding-horizontal;
padding-left: $sidebar-padding-horizontal * 1.5 + 8px;
@if $sidebar-position == "left" {
border-radius: $border-radius-large 0 0 $border-radius-large;
} @else {
margin-left: -($sidebar-padding-horizontal);
border-radius: 0 $border-radius-large $border-radius-large 0;
}
&::-webkit-details-marker {
display: none;
}
&::before {
content: "";
position: absolute;
top: ($sidebar-padding-vertical + 1px) + ($line-height-computed - 16px) / 2;
left: $sidebar-padding-horizontal / 2 + 6px;
width: 16px;
height: 16px;
background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat;
}
&:hover {
background-color: $sidebar-link-hover-bg;
}
a {
display: inline-block;
padding-top: ($sidebar-padding-vertical + 1px);
padding-bottom: ($sidebar-padding-vertical + 1px);
&:hover {
color: $sidebar-link-hover-text;
text-decoration: underline;
}
}
}
&[open] > summary::before {
transform: rotate(90deg);
}
}
}
} }
#footer { #footer {
margin: 0 $padding-side $line-height-computed; margin: 0 $padding-side $line-height-computed;
padding-top: $line-height-computed; padding-top: $line-height-computed;
border-top: 1px solid $gray-lighter; border-top: 1px solid $gray-400;
color: $gray-light; color: $gray-600;
font-size: $font-size-small; font-size: $font-size-small;
@if $css-grid-layout {
grid-area: footer;
}
} }
@if $fixed-layout { @if $fixed-layout {

View File

@@ -0,0 +1,61 @@
#wrapper {
.context-menu-selection {
&,
> td {
background-color: $brand-primary !important; // stylelint-disable-line declaration-no-important
color: $brand-text !important; // stylelint-disable-line declaration-no-important
}
}
#context-menu {
> ul,
> ul > li > ul {
@include nice-shadow(2);
border: 0 none !important; // stylelint-disable-line declaration-no-important
}
ul {
padding: 3px;
}
li {
padding: 0;
border: 0 none;
border-radius: $border-radius-small;
background: transparent;
&:hover {
background-color: $pagination-hover-bg;
}
}
a {
@extend %fa-icon;
padding: 3px 10px 3px 20px;
border-radius: $border-radius-small;
&::before {
margin-top: 2px;
margin-left: -16px;
float: left;
}
&:hover {
border-color: $pagination-hover-border;
background-color: $pagination-hover-bg;
}
&.disabled {
color: rgba($pagination-color, .5);
}
&.icon-checked {
background: transparent;
}
&.submenu {
background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
}
}
}
}

View File

@@ -31,7 +31,7 @@
&-items { &-items {
max-height: 400px; max-height: 400px;
overflow: auto; overflow: auto;
color: $gray-light; color: $gray-600;
&:empty { &:empty {
border: 0; border: 0;
@@ -40,32 +40,26 @@
&.selection { &.selection {
> a, > a,
> span { > span {
@extend %fa-icon;
&::before { &::before {
content: " "; content: " ";
display: inline-block; display: inline-block;
width: 1em; width: 1em;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
} }
@if $use-font-awesome {
@extend %fa-icon;
}
} }
> .selected::before { > .selected::before {
@if $use-font-awesome {
content: $fa-var-check; content: $fa-var-check;
} @else {
content: "\2713 ";
}
} }
} }
> a, > * {
> span {
display: block; display: block;
margin: 0; margin: 1px;
padding: $btn-padding-vertical $btn-padding-horizontal-small; padding: ($btn-padding-vertical - 1px) ($btn-padding-horizontal-small - 1px);
border-radius: $border-radius-base - 1px;
&.icon { &.icon {
padding-left: 20px + $btn-padding-horizontal-small; padding-left: 20px + $btn-padding-horizontal-small;
@@ -83,10 +77,33 @@
.contextual { .contextual {
.drdn { .drdn {
&.expanded {
> .drdn-trigger {
border-color: $pagination-active-border;
background-color: $pagination-active-bg;
color: $pagination-active-color;
}
}
&-trigger { &-trigger {
padding: $btn-padding-vertical $btn-padding-horizontal-small;
border: 1px solid $pagination-border;
border-radius: $border-radius-base;
background-color: $pagination-bg;
box-shadow: none;
color: $pagination-color;
text-align: center;
> .icon-only::before { > .icon-only::before {
margin: 0 1px; margin: 0 1px;
} }
&:hover,
&:focus {
border-color: $pagination-hover-border;
background-color: $pagination-hover-bg;
color: $pagination-hover-color;
}
} }
&-items { &-items {

View File

@@ -51,7 +51,7 @@ a.collapsible.collapsed,
transition: max-height $collapsible-animation-time ease-out; transition: max-height $collapsible-animation-time ease-out;
> div { > div {
display: block !important; // scss-lint:disable ImportantRule display: block !important; // stylelint-disable-line declaration-no-important
visibility: visible; visibility: visible;
transition: visibility 0s 0s, opacity $collapsible-animation-time; transition: visibility 0s 0s, opacity $collapsible-animation-time;
opacity: 1; opacity: 1;
@@ -91,20 +91,6 @@ a.collapsible.collapsed,
select { select {
font-size: .9em; font-size: .9em;
} }
a {
display: inline-block;
white-space: nowrap;
}
a,
.drdn {
margin-left: $padding-small-vertical;
}
> :first-child {
margin-left: 0;
}
} }
@@ -112,12 +98,14 @@ a.collapsible.collapsed,
// //
.hidden-for-sighted { .hidden-for-sighted {
position: absolute; // stylelint-disable declaration-no-important
top: auto; position: absolute !important;
left: -10000px; top: auto !important;
width: 1px; left: -10000px !important;
height: 1px; width: 1px !important;
overflow: hidden; height: 1px !important;
overflow: hidden !important;
// stylelint-enable declaration-no-important
} }
@@ -188,20 +176,6 @@ a.collapsible.collapsed,
} }
//== Watchers selection list
//
#users_for_watcher {
height: 200px;
overflow: auto;
label {
@include check;
display: block;
}
}
//== Watchers list //== Watchers list
// //
@@ -229,13 +203,18 @@ a.collapsible.collapsed,
background: transparent; background: transparent;
} }
> .icon-only {
&::before {
line-height: inherit;
}
}
> .delete { > .delete {
float: right; float: right;
opacity: .5; opacity: $icon-opacity;
vertical-align: middle;
&:hover { &:hover {
opacity: 1; opacity: $icon-hover-opacity;
} }
} }
@@ -286,7 +265,7 @@ p.subtitle {
margin: $padding-side / -2; margin: $padding-side / -2;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
padding: $padding-side / 2; padding: $padding-side / 2;
outline: 2px dashed $gray-light; outline: 2px dashed $gray-600;
} }
.mypage-box { .mypage-box {
@@ -298,15 +277,15 @@ p.subtitle {
&.ui-sortable-handle { &.ui-sortable-handle {
overflow: hidden; overflow: hidden;
outline: 1px solid $gray-lighter; outline: 1px solid $gray-400;
&:hover { &:hover {
outline: 1px solid $gray-light; outline: 1px solid $gray-600;
} }
} }
&.ui-sortable-placeholder { &.ui-sortable-placeholder {
visibility: visible !important; // scss-lint:disable ImportantRule visibility: visible !important; // stylelint-disable-line declaration-no-important
outline: 1px dashed $highlight-border; outline: 1px dashed $highlight-border;
background: $highlight-bg; background: $highlight-bg;
} }
@@ -351,12 +330,12 @@ a.close-icon {
margin: $padding-side / -2; margin: $padding-side / -2;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
padding: $padding-side / 2; padding: $padding-side / 2;
outline: 2px dashed $gray-light; outline: 2px dashed $gray-600;
} }
.mypage-box { .mypage-box {
> .contextual { > .contextual {
transition: opacity .2s; transition: opacity $transition-time;
opacity: 0; opacity: 0;
} }
@@ -405,7 +384,7 @@ a.close-icon {
th.line-num { th.line-num {
border-color: darken($body-bg, 10%); border-color: darken($body-bg, 10%);
background-color: darken($body-bg, 5%); background-color: darken($body-bg, 5%);
color: $gray; color: $gray-700;
} }
th.line-num, th.line-num,
@@ -499,7 +478,7 @@ ul.projects {
} }
ul.projects { ul.projects {
border-left: 2px solid $gray-lighter; border-left: 2px solid $gray-400;
} }
li.root { li.root {
@@ -515,7 +494,7 @@ ul.projects {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
&.child { &.child {
font-weight: normal; font-weight: $font-weight-normal;
} }
} }
} }
@@ -549,11 +528,11 @@ ul.projects {
tbody tr { tbody tr {
&.subtotal { &.subtotal {
color: $gray; color: $gray-700;
font-style: italic; font-style: italic;
td.hours { td.hours {
color: $gray-light; color: $gray-600;
} }
} }
@@ -586,25 +565,41 @@ ul.projects {
// //
div#roadmap { div#roadmap {
article {
margin-bottom: $line-height-computed;
}
.related-issues { .related-issues {
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
td.checkbox { td.checkbox {
display: none; display: none;
} }
td.assigned_to {
width: 1px;
padding-right: 0;
white-space: nowrap;
}
} }
table.progress { table.progress {
td { td {
height: 16px; height: $progress-height;
} }
+ .percent { + .percent {
position: relative; position: relative;
top: 2px; top: 0;
} }
} }
h2,
h3 {
display: inline;
padding-right: 0;
}
.wiki { .wiki {
h1 { h1 {
&:first-child { &:first-child {
@@ -682,7 +677,7 @@ div#version-summary {
tr.message { tr.message {
&.locked { &.locked {
color: $gray; color: $gray-700;
} }
&.sticky td.subject { &.sticky td.subject {
@@ -736,20 +731,20 @@ div.table-list.boards {
} }
.message { .message {
border: 1px solid $gray-lighter; border: 1px solid $gray-400;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
background: $gray-lightest; background: $gray-100;
> h4, > h4,
> p { > p {
margin-bottom: 0; margin-bottom: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-bottom: 1px solid mix($gray-lighter, $gray-lightest, 50%); border-bottom: 1px solid mix($gray-400, $gray-100, 50%);
color: $gray; color: $gray-700;
font-size: $font-size-list; font-size: $font-size-list;
a { a {
color: $gray-darker; color: $gray-900;
&.user { &.user {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
@@ -766,13 +761,8 @@ div.table-list.boards {
.contextual { .contextual {
position: relative; position: relative;
z-index: 1; z-index: 1;
margin-right: $bubble-padding-vertical;
@if $use-font-awesome {
margin-top: $padding-small-vertical; margin-top: $padding-small-vertical;
} @else { margin-right: $bubble-padding-vertical;
margin-top: $bubble-padding-vertical;
}
a { a {
margin-left: ceil($bubble-padding-vertical / 2); margin-left: ceil($bubble-padding-vertical / 2);
@@ -882,8 +872,7 @@ div.table-list.boards {
header { header {
h3 { h3 {
margin-bottom: .3em; margin-bottom: $line-height-computed / 2;
line-height: 1.2;
> a { > a {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
@@ -893,7 +882,7 @@ div.table-list.boards {
} }
.author { .author {
color: $gray; color: $gray-700;
.user { .user {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
@@ -930,6 +919,7 @@ div.table-list.boards {
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
background: $body-bg; background: $body-bg;
color: $panel-color; color: $panel-color;
font-family: $font-family-monospace;
} }
.diff_out { .diff_out {
@@ -948,6 +938,16 @@ div.table-list.boards {
} }
} }
.text-diff {
.diff_out {
background: $diff-out-bg;
}
.diff_in {
background: $diff-in-bg;
}
}
//== Repository view //== Repository view
// //
@@ -970,18 +970,12 @@ div.table-list.boards {
li > a { li > a {
margin-left: .5em; margin-left: .5em;
@if $use-font-awesome == false {
img {
vertical-align: middle;
}
}
} }
} }
ul.properties { ul.properties {
padding: 0; padding: 0;
color: $gray; color: $gray-700;
font-size: $font-size-small; font-size: $font-size-small;
li { li {
@@ -1026,47 +1020,58 @@ tr.changeset {
font-size: 1em; font-size: 1em;
.change { .change {
background-position: 5px center; margin-left: 8px;
} }
.change-A { color: $changeset-add-color; }
.change-M { color: $changeset-modified-color; }
.change-C { color: $changeset-copied-color; }
.change-R { color: $changeset-renamed-color; }
.change-D { color: $changeset-deleted-color; }
} }
.changeset-changes { .changeset-changes {
.change { .change {
padding-top: $table-condensed-cell-padding; margin-top: $table-condensed-cell-padding;
color: $gray-dark; color: $gray-800;
a {
@include link-variant($gray-dark);
} }
} }
.change-A { #changes-legend > li.change,
&::before { color: $changeset-add-color; } .changeset-changes ul > li.change {
a { @include link-variant($changeset-add-color); } padding-left: 18px;
background: transparent;
background-repeat: no-repeat;
background-position: 0 center;
&.folder {
@extend %fa-icon;
&::before {
content: $fa-var-folder;
top: 0;
margin-right: 0;
margin-left: -18px;
font-size: 1em;
} }
.change-M { &.change-A::before,
&::before { color: $changeset-modified-color; } &.change-M::before {
a { @include link-variant($changeset-modified-color); } content: $fa-var-folder-open;
}
} }
.change-C { &.change-A {
&::before { color: $changeset-copied-color; } background-image: inline-svg("diff-added.svg", (path: (fill: $changeset-added-color)));
a { @include link-variant($changeset-copied-color); }
} }
.change-R { &.change-M {
&::before { color: $changeset-renamed-color; } background-image: inline-svg("diff-modified.svg", (path: (fill: $changeset-modified-color)));
a { @include link-variant($changeset-renamed-color); }
} }
.change-D { &.change-C {
color: $changeset-deleted-color; background-image: inline-svg("diff-copied.svg", (path: (fill: $changeset-copied-color)));
}
&.change-R {
background-image: inline-svg("diff-renamed.svg", (path: (fill: $changeset-renamed-color)));
}
&.change-D {
background-image: inline-svg("diff-deleted.svg", (path: (fill: $changeset-deleted-color)));
} }
} }

View File

@@ -8,6 +8,7 @@
.nodata, .nodata,
.warning, .warning,
.conflict { .conflict {
@extend %fa-icon;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
padding: $padding-large-vertical $padding-large-horizontal; padding: $padding-large-vertical $padding-large-horizontal;
padding-left: $padding-large-horizontal + 8px + 16px; padding-left: $padding-large-horizontal + 8px + 16px;
@@ -16,15 +17,11 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: $padding-large-horizontal 50%; background-position: $padding-large-horizontal 50%;
@if $use-font-awesome {
@extend %fa-icon;
&::before { &::before {
margin-left: -(8px + 16px); margin-left: -(8px + 16px);
float: left; float: left;
line-height: $line-height-computed; line-height: $line-height-computed;
} }
}
> :last-child { > :last-child {
margin-bottom: 0; margin-bottom: 0;
@@ -32,11 +29,10 @@
} }
@mixin flash($color, $background, $border, $link, $icon) { @mixin flash($color, $background, $border, $link, $icon) {
color: $color;
background-color: $background;
border-color: $border; border-color: $border;
background-color: $background;
color: $color;
@if $use-font-awesome {
@if $icon == "true" { @if $icon == "true" {
$icon: $fa-var-check; $icon: $fa-var-check;
} @else if $icon == "warning" { } @else if $icon == "warning" {
@@ -48,9 +44,6 @@
&::before { &::before {
content: $icon; content: $icon;
} }
} @else {
background-image: url(../../../images/#{$icon}.png);
}
a { a {
color: $link; color: $link;
@@ -83,13 +76,11 @@
} }
} }
@if $use-font-awesome {
&::before { &::before {
margin-left: 0; margin-left: 0;
float: none; float: none;
} }
} }
}
#errorExplanation { #errorExplanation {
h2, h2,

View File

@@ -7,8 +7,47 @@ form {
padding: $table-condensed-cell-padding; padding: $table-condensed-cell-padding;
} }
fieldset {
> button,
> input,
> select {
margin-right: 5px;
margin-bottom: $line-height-computed / 2;
}
}
label {
line-height: $input-height-base;
vertical-align: top;
> input[type="checkbox"],
> input[type="radio"] {
margin-top: $check-input-margin-btn-v;
}
}
.box label {
line-height: $line-height-base;
> input[type="checkbox"],
> input[type="radio"] {
margin-top: $check-input-margin-vertical;
}
}
.add-filter label,
.filter label {
line-height: $input-height-base;
}
.contextual > & { .contextual > & {
display: inline-block; display: inline-block;
line-height: $input-height-base;
vertical-align: top;
label {
line-height: inherit;
}
} }
} }
@@ -51,7 +90,10 @@ input[type="password"] {
@extend %form-field; @extend %form-field;
@include form-control-focus; @include form-control-focus;
@include placeholder; @include placeholder;
transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s; transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
vertical-align: top;
&[disabled], &[disabled],
&[readonly], &[readonly],
@@ -74,14 +116,15 @@ textarea {
} }
input[type="search"] { input[type="search"] {
-webkit-appearance: none; -webkit-appearance: none; // stylelint-disable-line property-no-vendor-prefix
} }
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
margin: 4px 5px 0 0; margin: 4px 1px 0 0;
margin-top: 1px \9; // IE8-9 margin-top: 1px \9; // IE8-9
line-height: normal; line-height: normal;
vertical-align: top;
} }
input[type="file"] { input[type="file"] {
@@ -115,6 +158,7 @@ select {
&[multiple], &[multiple],
&[size] { &[size] {
height: auto; height: auto;
min-height: $input-height-base;
} }
&[size="1"] { &[size="1"] {
@@ -122,7 +166,7 @@ select {
} }
option[disabled] { option[disabled] {
color: $gray-lighter; color: $gray-400;
} }
&.expandable { &.expandable {
@@ -130,7 +174,7 @@ select {
} }
&.bool_cf { &.bool_cf {
width: auto !important; // scss-lint:disable ImportantRule width: auto !important; // stylelint-disable-line declaration-no-important
} }
} }
@@ -141,7 +185,7 @@ select {
// Mozilla Firefox // Mozilla Firefox
@-moz-document url-prefix() { @-moz-document url-prefix("") {
select { select {
&[multiple] { &[multiple] {
padding: 0; padding: 0;
@@ -150,7 +194,7 @@ select {
option, option,
optgroup::before { optgroup::before {
padding: $input-padding-vertical $input-padding-horizontal; padding: $input-padding-vertical $input-padding-horizontal;
border-bottom: 1px dotted $gray-lighter; border-bottom: 1px dotted $gray-400;
} }
optgroup > option { optgroup > option {
@@ -170,7 +214,7 @@ select {
// For some reason nested selectors will not work // For some reason nested selectors will not work
select[multiple] option { select[multiple] option {
padding: $input-padding-vertical $input-padding-horizontal; padding: $input-padding-vertical $input-padding-horizontal;
border-bottom: 1px dotted $gray-lighter; border-bottom: 1px dotted $gray-400;
} }
} }
@@ -204,9 +248,9 @@ span.required {
position: relative; position: relative;
top: 3px; top: 3px;
margin-left: -.2em; margin-left: -.2em;
color: #d00; color: $red;
font-size: 1.5em; font-size: 1.5em;
font-weight: normal; font-weight: $font-weight-normal;
line-height: 0; line-height: 0;
} }
@@ -217,7 +261,7 @@ span.required {
em.info { em.info {
display: block; display: block;
padding: 2px 0; padding: 2px 0;
color: $gray; color: $gray-700;
font-size: $font-size-small; font-size: $font-size-small;
font-style: normal; font-style: normal;
} }
@@ -253,10 +297,17 @@ em.info {
margin: 0 0 ($line-height-computed / 2); margin: 0 0 ($line-height-computed / 2);
padding-left: $label-width + $label-space; padding-left: $label-width + $label-space;
clear: left; clear: left;
line-height: $input-height-base;
.jstEditor { .jstEditor {
margin-bottom: 0; margin-bottom: 0;
} }
.bool_cf:not(.check_box_group) {
display: block;
padding-top: $input-padding-vertical + 1px;
line-height: $line-height-base;
}
} }
input, input,
@@ -270,23 +321,17 @@ em.info {
resize: vertical; resize: vertical;
} }
input[type="radio"],
input[type="checkbox"] {
position: relative;
top: 3px;
vertical-align: baseline;
}
span[title] { span[title] {
border-bottom: 1px dotted #aaa; border-bottom: 1px dotted $gray-600;
} }
label { label {
width: $label-width; width: $label-width;
margin-top: $input-padding-vertical + 1px;
margin-bottom: $input-padding-vertical + 1px; margin-bottom: $input-padding-vertical + 1px;
margin-left: -($label-width + $label-space); margin-left: -($label-width + $label-space);
padding-top: $input-padding-vertical + 1px;
float: left; float: left;
line-height: $line-height-base;
text-align: right; text-align: right;
user-select: none; user-select: none;
@@ -301,7 +346,7 @@ em.info {
display: block; display: block;
width: auto; width: auto;
margin-left: 0; margin-left: 0;
padding-left: 16px; padding-left: $check-input-gutter;
float: none; float: none;
text-align: left; text-align: left;
cursor: pointer; cursor: pointer;
@@ -315,20 +360,23 @@ em.info {
padding-left: 34px; padding-left: 34px;
} }
> input[type="radio"], > input[type="checkbox"],
> input[type="checkbox"] { > input[type="radio"] {
top: 1px; margin-top: $check-input-margin-vertical;
}
~ input[type="checkbox"],
~ input[type="radio"] {
margin-top: $check-input-margin-btn-v;
} }
} }
} }
label.inline { label.inline {
display: inline-block; display: inline-block;
margin-right: $padding-base-horizontal; margin-right: $check-input-margin-horizontal;
padding-left: 16px; padding-left: $check-input-gutter;
float: none; float: none;
text-align: left;
cursor: pointer;
&:last-child { &:last-child {
margin-right: 0; margin-right: 0;
@@ -338,8 +386,7 @@ label.inline {
label.inline, label.inline,
label.block { label.block {
> input { > input {
margin-top: .2em; margin-left: -$check-input-gutter;
margin-left: -16px;
float: left; float: left;
} }
} }
@@ -348,7 +395,7 @@ label.block {
//== Hack: align description edit icon with label //== Hack: align description edit icon with label
// //
label[for=issue_description] + a { label[for="issue_description"] + a {
display: inline-block; display: inline-block;
margin-top: $input-padding-vertical + 1px; margin-top: $input-padding-vertical + 1px;
@@ -361,9 +408,7 @@ label[for=issue_description] + a {
//== Hack: better looking filter checkbox in sidebar in projects list //== Hack: better looking filter checkbox in sidebar in projects list
// //
label[for=closed] { label[for="closed"] {
@include check;
display: block;
margin-bottom: $line-height-computed / 2; margin-bottom: $line-height-computed / 2;
} }
@@ -394,7 +439,7 @@ label[for=closed] {
$input-height-large: (ceil($font-size-large-px * $line-height-large) + ($input-padding-large-vertical * 2) + 2); $input-height-large: (ceil($font-size-large-px * $line-height-large) + ($input-padding-large-vertical * 2) + 2);
label[for="issue_subject"] { label[for="issue_subject"] {
margin-top: floor($input-padding-large-vertical * $line-height-large + 1px); padding-top: $input-padding-large-vertical;
} }
#issue_subject { #issue_subject {
@@ -528,36 +573,41 @@ label[for=closed] {
#issue_is_private_wrap, #issue_is_private_wrap,
#all_attributes > p[style] { #all_attributes > p[style] {
margin-right: 0 !important; // scss-lint:disable ImportantRule margin-right: 0 !important; // stylelint-disable-line declaration-no-important
margin-bottom: 0; margin-bottom: 0;
padding-left: 0; padding-left: 0;
float: right; float: right;
input { input {
top: 2px; margin-top: $check-input-margin-btn-v;
margin-right: 3px;
} }
label { label {
display: inline-block !important; // stylelint-disable-line declaration-no-important
margin-right: 0; margin-right: 0;
padding-left: 0; padding-left: 0;
} }
} }
#users_for_watcher,
#watchers_inputs { #watchers_inputs {
display: block; display: block;
max-width: 64em;
max-height: $check-list-max-height; max-height: $check-list-max-height;
margin-bottom: $line-height-computed / 2; margin-bottom: $line-height-computed / 2;
padding-top: $check-list-offset-top;
overflow: auto; overflow: auto;
columns: 18em 3;
label.floating { label {
@include check-list; @include check-list;
} }
} }
#watchers_inputs {
max-width: 64em;
columns: 18em 3;
}
//== List of custom field values //== List of custom field values
// //
@@ -566,13 +616,13 @@ label[for=closed] {
display: block; display: block;
width: 90%; width: 90%;
max-height: $check-list-max-height; max-height: $check-list-max-height;
padding-top: $check-list-offset-top;
overflow-y: auto; overflow-y: auto;
label { label {
@include check-list; @include check-list;
} }
@media screen and (min-width: $redmine-responsive-min) {
// Boolean field displayed as inline radio buttons // Boolean field displayed as inline radio buttons
&.bool_cf { &.bool_cf {
overflow: initial; overflow: initial;
@@ -583,6 +633,7 @@ label[for=closed] {
} }
} }
} }
}
//== Filters //== Filters
@@ -595,14 +646,14 @@ fieldset#filters {
} }
} }
.add-filter {
text-align: right;
}
td { td {
&.field { &.field {
min-width: 180px;
padding-right: $table-cell-padding * 2; padding-right: $table-cell-padding * 2;
white-space: nowrap;
@media screen and (min-width: $screen-sm-min) {
min-width: 180px;
}
} }
&.operator { &.operator {
@@ -625,13 +676,22 @@ fieldset#filters {
&.add-filter { &.add-filter {
padding-top: $table-condensed-cell-padding * 2; padding-top: $table-condensed-cell-padding * 2;
vertical-align: top; text-align: right;
}
input[type="checkbox"],
input[type="radio"] {
margin-top: $check-input-margin-btn-v;
} }
} }
div.add-filter { div.add-filter {
padding-top: $table-condensed-cell-padding; padding-top: $table-condensed-cell-padding;
@media screen and (min-width: $redmine-responsive-min) {
float: right; float: right;
text-align: right;
}
} }
} }
@@ -640,6 +700,36 @@ fieldset#filters {
} }
#activity_scope_form {
li {
> input[type="checkbox"],
> input[type="radio"] {
margin-top: $check-input-margin-btn-v;
}
}
}
#query_form {
p {
input,
select,
label,
.icon,
.icon-only {
vertical-align: middle;
}
}
}
.query_sort_criteria_count {
display: inline-block;
min-width: 1em;
margin-bottom: $line-height-computed / 4;
line-height: $input-height-base;
}
//== Reset label style for trackers selector in custom field editor //== Reset label style for trackers selector in custom field editor
// //
@@ -648,5 +738,6 @@ label.no-css {
margin-left: 0; margin-left: 0;
float: none; float: none;
font-weight: inherit; font-weight: inherit;
line-height: inherit;
text-align: left; text-align: left;
} }

View File

@@ -2,25 +2,109 @@
// Gantt chart // Gantt chart
// -------------------------------------------------- // --------------------------------------------------
div.gantt_content {
overflow: auto;
}
.controller-gantts form + table,
table.gantt-table {
width: 100%;
border-collapse: collapse;
td {
padding: 0;
vertical-align: top;
}
}
.gantt_hdr { .gantt_hdr {
position: absolute; position: absolute;
top: 0; top: 0;
height: 16px; height: 16px;
overflow: hidden; overflow: hidden;
border: 1px solid $gray-lighter; border: 1px solid $gray-500;
border-left-width: 0;
text-align: center; text-align: center;
&[style*="background"] {
background: $gray-200 !important; // stylelint-disable-line declaration-no-important
}
&.nwday { &.nwday {
background-color: $gray-lightest; background-color: $gray-200;
color: $gray-950;
}
#gantt_area & {
border-right-width: 1px;
border-left-width: 0;
}
.gantt_subjects_container:not(.draw_selected_columns) &,
.last_gantt_selected_column & {
z-index: 1;
}
}
.gantt_subjects_container .gantt_subjects {
z-index: 2;
}
.gantt_subjects_column {
.gantt_hdr {
border-left: 1px solid $gray-500 !important; // stylelint-disable-line declaration-no-important
} }
} }
.gantt_subjects { .gantt_subjects {
font-size: $font-size-small; .issue-subject {
&:hover {
background-color: $table-bg-hover;
}
img.icon-gravatar {
float: none;
}
}
}
.gantt_hdr_selected_column_name {
@include text-overflow;
position: absolute;
top: 50%;
width: 100%;
transform: translateY(-50%);
font-size: $font-size-small;
}
td.gantt_selected_column {
width: 60px;
}
td.gantt_selected_column .gantt_hdr,
.gantt_selected_column_container {
width: 60px - 1px;
border-left-width: 0;
}
.gantt_subjects {
position: relative;
z-index: 1;
font-size: $font-size-small;
}
.gantt_selected_column_content {
div {
box-sizing: border-box;
padding-right: $table-condensed-cell-padding;
padding-left: $table-condensed-cell-padding;
}
}
.gantt_subjects,
.gantt_selected_column_content {
div { div {
@include text-overflow; @include text-overflow;
width: 100%;
height: 16px; height: 16px;
line-height: 16px; line-height: 16px;
} }
@@ -118,12 +202,20 @@
.version-behind-schedule, .version-behind-schedule,
.issue-behind-schedule { .issue-behind-schedule {
color: $brand-warning; color: $brand-warning;
.context-menu-selection & {
color: $brand-text;
}
} }
.version-overdue, .version-overdue,
.issue-overdue, .issue-overdue,
.project-overdue { .project-overdue {
color: $brand-danger; color: $brand-danger;
.context-menu-selection & {
color: $brand-text;
}
} }
@@ -137,17 +229,16 @@
&:hover { &:hover {
z-index: 25; z-index: 25;
.tip { span.tip {
display: block; display: block;
} }
} }
.tip { span.tip {
@include nice-shadow(3); @include nice-shadow(3);
display: none; display: none;
position: absolute; position: absolute;
top: 9px; top: 12px;
left: 24px;
width: 270px; width: 270px;
padding: $padding-base-vertical; padding: $padding-base-vertical;
border: $tooltip-border-width solid $tooltip-border; border: $tooltip-border-width solid $tooltip-border;
@@ -158,9 +249,9 @@
} }
@if $sidebar-position == "left" { @if $sidebar-position == "left" {
tr > td:last-child & { .list & {
.tip { span.tip {
right: 2px; right: 0;
left: auto; left: auto;
} }
} }

View File

@@ -1,11 +1,3 @@
$icon-success-color: $brand-success;
$icon-success-hover-color: darken($brand-success, 10%);
$icon-warning-color: $brand-warning;
$icon-warning-hover-color: darken($brand-warning, 10%);
$icon-danger-color: $brand-danger;
$icon-danger-hover-color: darken($brand-danger, 10%);
@if $use-font-awesome {
%fa-icon { %fa-icon {
&::before { &::before {
@include fa-icon; @include fa-icon;
@@ -38,45 +30,11 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
table.list .buttons > a::before { table.list .buttons > a::before {
font-size: $fa-font-size-base; font-size: $fa-font-size-base;
} }
}
//== Context menu
//
#context-menu {
> ul,
> ul > li > ul {
@include nice-shadow(2);
border: 0 none !important; // scss-lint:disable ImportantRule
}
@if $use-font-awesome {
a {
@extend %fa-icon;
&::before {
margin-top: 3px;
margin-left: -16px;
float: left;
}
}
li a.icon-checked {
background: transparent;
}
ul li a.submenu {
@extend %image-arrow-right;
}
}
}
//== Buttons icons //== Buttons icons
// //
@if $use-font-awesome {
.icon { .icon {
@extend %fa-icon; @extend %fa-icon;
padding-left: 20px; padding-left: 20px;
@@ -94,7 +52,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
white-space: nowrap; white-space: nowrap;
@at-root a#{&} { @at-root a#{&} {
// scss-lint:disable ImportantRule // stylelint-disable declaration-no-important
display: inline; display: inline;
width: auto !important; width: auto !important;
height: auto !important; height: auto !important;
@@ -132,9 +90,9 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-stats::before { content: $fa-var-line-chart; } .icon-stats::before { content: $fa-var-line-chart; }
.icon-warning::before { content: $fa-var-warning; } .icon-warning::before { content: $fa-var-warning; }
.icon-error::before { content: $fa-var-exclamation; } .icon-error::before { content: $fa-var-exclamation; }
.icon-fav::before { content: $fa-var-star; color: #ed820c; } .icon-fav::before { content: $fa-var-star; color: $orange; }
.icon-fav-off::before { content: $fa-var-star-o; } .icon-fav-off::before { content: $fa-var-star-o; }
.icon-heart::before { content: $fa-var-heart; color: #eb5286; } .icon-heart::before { content: $fa-var-heart; color: $pink; }
.icon-heart-off::before { content: $fa-var-heart-o; } .icon-heart-off::before { content: $fa-var-heart-o; }
.icon-reload::before { content: $fa-var-refresh; } .icon-reload::before { content: $fa-var-refresh; }
.icon-locked::before { content: $fa-var-lock; } .icon-locked::before { content: $fa-var-lock; }
@@ -194,130 +152,24 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-add-bullet::before { content: $fa-var-plus-circle; } .icon-add-bullet::before { content: $fa-var-plus-circle; }
.icon-shared::before { content: $fa-var-link; } .icon-shared::before { content: $fa-var-link; }
.icon-actions::before { content: $fa-var-ellipsis-h; } .icon-actions::before { content: $fa-var-ellipsis-h; }
} @else { .icon-sort-handle::before { content: $fa-var-arrows-v; }
.icon { .icon-expended::before { content: $fa-var-chevron-down; }
padding-top: 2px; .icon-collapsed::before { content: $fa-var-chevron-right; }
padding-bottom: 3px; .icon-bookmark::before { content: $fa-var-bookmark; }
padding-left: 20px; .icon-bookmark-off::before { content: $fa-var-bookmark-o; }
background-repeat: no-repeat; .icon-sorted-asc::before { content: $fa-var-sort-amount-asc; }
background-position: 0% 50%; .icon-sorted-desc::before { content: $fa-var-sort-amount-desc; }
} .icon-toggle-plus::before { content: $fa-var-plus-square; }
.icon-toggle-minus::before { content: $fa-var-minus-square; }
.icon-only {
padding-left: 16px;
background-repeat: no-repeat;
background-position: 0% 50%;
}
a.icon-only {
display: inline-block;
width: 0;
height: 16px;
padding-top: 0;
padding-bottom: 0;
overflow: hidden;
vertical-align: text-bottom;
&::after {
content: "&nbsp;";
}
}
.icon-add { background-image: url("../../../images/add.png"); }
.icon-edit { background-image: url("../../../images/edit.png"); }
.icon-copy { background-image: url("../../../images/copy.png"); }
.icon-duplicate { background-image: url("../../../images/duplicate.png"); }
.icon-del { background-image: url("../../../images/delete.png"); }
.icon-move { background-image: url("../../../images/move.png"); }
.icon-save { background-image: url("../../../images/save.png"); }
.icon-download { background-image: url("../../../images/download.png"); }
.icon-cancel { background-image: url("../../../images/cancel.png"); }
.icon-multiple { background-image: url("../../../images/table_multiple.png"); }
.icon-folder { background-image: url("../../../images/folder.png"); }
.open .icon-folder { background-image: url("../../../images/folder_open.png"); }
.icon-package { background-image: url("../../../images/package.png"); }
.icon-user { background-image: url("../../../images/user.png"); }
.icon-projects { background-image: url("../../../images/projects.png"); }
.icon-help { background-image: url("../../../images/help.png"); }
.icon-attachment { background-image: url("../../../images/attachment.png"); }
.icon-history { background-image: url("../../../images/history.png"); }
.icon-time-entry { background-image: url("../../../images/time.png"); }
.icon-time { background-image: url("../../../images/time.png"); }
.icon-time-add { background-image: url("../../../images/time_add.png"); }
.icon-stats { background-image: url("../../../images/stats.png"); }
.icon-warning { background-image: url("../../../images/warning.png"); }
.icon-error { background-image: url("../../../images/exclamation.png"); }
.icon-fav { background-image: url("../../../images/fav.png"); }
.icon-fav-off { background-image: url("../../../images/fav_off.png"); }
.icon-reload { background-image: url("../../../images/reload.png"); }
.icon-locked { background-image: url("../../../images/locked.png"); }
.icon-lock { background-image: url("../../../images/locked.png"); }
.icon-unlock { background-image: url("../../../images/unlock.png"); }
.icon-checked { background-image: url("../../../images/true.png"); }
.icon-details { background-image: url("../../../images/zoom_in.png"); }
.icon-report { background-image: url("../../../images/report.png"); }
.icon-comments { background-image: url("../../../images/comment.png"); }
.icon-comment { background-image: url("../../../images/comment.png"); }
.icon-summary { background-image: url("../../../images/lightning.png"); }
.icon-server-authentication { background-image: url("../../../images/server_key.png"); }
.icon-issue { background-image: url("../../../images/ticket.png"); }
.icon-zoom-in { background-image: url("../../../images/zoom_in.png"); }
.icon-zoom-out { background-image: url("../../../images/zoom_out.png"); }
.icon-passwd { background-image: url("../../../images/textfield_key.png"); }
.icon-test { background-image: url("../../../images/bullet_go.png"); }
.icon-magnifier { background-image: url("../../../images/magnifier.png"); }
.icon-email { background-image: url("../../../images/email.png"); }
.icon-email-disabled { background-image: url("../../../images/email_disabled.png"); }
.icon-email-add { background-image: url("../../../images/email_add.png"); }
.icon-move-up { background-image: url("../../../images/1uparrow.png"); }
.icon-move-top { background-image: url("../../../images/2uparrow.png"); }
.icon-move-down { background-image: url("../../../images/1downarrow.png"); }
.icon-move-bottom { background-image: url("../../../images/2downarrow.png"); }
.icon-ok { background-image: url("../../../images/true.png"); }
.icon-not-ok { background-image: url("../../../images/false.png"); }
.icon-link-break { background-image: url("../../../images/link_break.png"); }
.icon-list { background-image: url("../../../images/text_list_bullets.png"); }
.icon-sticky { background-image: url("../../../images/bullet_go.png"); }
.icon-arrow-right { background-image: url("../../../images/bullet_go.png"); }
.icon-close { background-image: url("../../../images/close.png"); }
.icon-close:hover { background-image: url("../../../images/close_hl.png"); }
.icon-settings { background-image: url("../../../images/changeset.png"); }
.icon-group { background-image: url("../../../images/group.png"); }
.icon-groupnonmember { background-image: url("../../../images/group.png"); }
.icon-groupanonymous { background-image: url("../../../images/group.png"); }
.icon-roles { background-image: url("../../../images/database_key.png"); }
.icon-issue-edit { background-image: url("../../../images/ticket_edit.png"); }
.icon-workflows { background-image: url("../../../images/ticket_go.png"); }
.icon-custom-fields { background-image: url("../../../images/textfield.png"); }
.icon-plugins { background-image: url("../../../images/plugin.png"); }
.icon-news { background-image: url("../../../images/news.png"); }
.icon-issue-closed { background-image: url("../../../images/ticket_checked.png"); }
.icon-issue-note { background-image: url("../../../images/ticket_note.png"); }
.icon-changeset { background-image: url("../../../images/changeset.png"); }
.icon-message { background-image: url("../../../images/message.png"); }
.icon-reply { background-image: url("../../../images/comments.png"); }
.icon-wiki-page { background-image: url("../../../images/wiki_edit.png"); }
.icon-document { background-image: url("../../../images/document.png"); }
.icon-project { background-image: url("../../../images/projects.png"); }
.icon-add-bullet { background-image: url("../../../images/bullet_add.png"); }
.icon-shared { background-image: url("../../../images/link.png"); }
}
//== Checkbox toggler //== Checkbox toggler
// //
@if $use-font-awesome {
a.toggle-checkboxes { a.toggle-checkboxes {
@extend %fa-icon; @extend %fa-icon;
&::before { content: $fa-var-check-square-o; } &::before {
} content: $fa-var-check-square-o;
} @else {
a.toggle-checkboxes {
margin-left: 5px;
padding-left: 12px;
background: url("../../../images/toggle_check.png") no-repeat 0% 50%;
} }
} }
@@ -325,22 +177,29 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
//== Colorize some actions //== Colorize some actions
// //
.icon-add, a.icon,
.icon-edit, a.icon-only {
.icon-save, @include link-variant(default);
.icon-checked {
@include link-variant($icon-success-color, $icon-success-hover-color);
} }
.icon-del { .icon-checked {
@include link-variant($icon-danger-color, $icon-danger-hover-color); @include link-variant(success, false);
}
a.icon-add,
a.icon-save,
a.icon-checked {
@include link-variant(success);
}
a.icon-del {
@include link-variant(danger);
} }
//== File types //== File types
// //
@if $use-font-awesome {
.icon-folder, .icon-folder,
.icon-file { .icon-file {
&::before { &::before {
@@ -352,7 +211,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-file { .icon-file {
&::before { &::before {
content: $fa-var-file-o; content: $fa-var-file-o;
color: $gray; color: $gray-700;
} }
&.text-plain::before { content: $fa-var-file-text-o; } &.text-plain::before { content: $fa-var-file-text-o; }
@@ -388,50 +247,36 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
content: $fa-var-file-zip-o; content: $fa-var-file-zip-o;
} }
} }
} @else {
.icon-file {
background-image: url("../../../images/files/default.png");
&.text-plain { background-image: url("../../../images/files/text.png"); } .icon-expended,
&.text-x-c { background-image: url("../../../images/files/c.png"); } .icon-collapsed {
&.text-x-csharp { background-image: url("../../../images/files/csharp.png"); } &::before {
&.text-x-java { background-image: url("../../../images/files/java.png"); } width: 1em;
&.text-x-javascript { background-image: url("../../../images/files/js.png"); } text-align: center;
&.text-x-php { background-image: url("../../../images/files/php.png"); }
&.text-x-ruby { background-image: url("../../../images/files/ruby.png"); }
&.text-xml { background-image: url("../../../images/files/xml.png"); }
&.text-css { background-image: url("../../../images/files/css.png"); }
&.text-html { background-image: url("../../../images/files/html.png"); }
&.application-pdf { background-image: url("../../../images/files/pdf.png"); }
&.image-gif,
&.image-jpeg,
&.image-png,
&.image-tiff {
background-image: url("../../../images/files/image.png");
} }
&.application-zip, &.icon {
&.application-x-gzip { padding-left: 20px;
background-image: url("../../../images/files/zip.png");
} }
&.expander {
background-image: none;
} }
} }
//== Admininistration menu sections //== Administration menu sections
// //
@if $use-font-awesome {
%admin-icon { %admin-icon {
@extend %fa-icon; @extend %fa-icon;
&:hover::before { &:hover::before {
color: $gray-darker; color: $gray-900;
} }
&.selected::before { &.selected::before {
color: $gray-darkest; color: $gray-950;
} }
} }
@@ -452,7 +297,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
margin: 0; margin: 0;
margin-left: -(5px + 20px); margin-left: -(5px + 20px);
padding: 0; padding: 0;
color: $gray; color: $gray-700;
text-align: center; text-align: center;
} }
} }
@@ -539,32 +384,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { content: $fa-var-key; } &::before { content: $fa-var-key; }
} }
} }
} @else {
#admin-menu {
.projects { background-image: url("../../../images/projects.png"); }
.users { background-image: url("../../../images/user.png"); }
.groups { background-image: url("../../../images/group.png"); }
.roles { background-image: url("../../../images/database_key.png"); }
.trackers { background-image: url("../../../images/ticket.png"); }
.issue_statuses { background-image: url("../../../images/ticket_edit.png"); }
.workflows { background-image: url("../../../images/ticket_go.png"); }
.custom_fields { background-image: url("../../../images/textfield.png"); }
.enumerations { background-image: url("../../../images/text_list_bullets.png"); }
.settings { background-image: url("../../../images/changeset.png"); }
.plugins { background-image: url("../../../images/plugin.png"); }
.info { background-image: url("../../../images/help.png"); }
.server_authentication { background-image: url("../../../images/server_key.png"); }
}
}
//== Drag-and-drop sorting //== Drag-and-drop sorting
// //
@if $use-font-awesome {
.sort-handle { .sort-handle {
@extend %fa-icon; @extend %fa-icon;
@include link-variant($icon-success-color, $icon-success-hover-color);
text-align: center; text-align: center;
cursor: move; cursor: move;
@@ -578,21 +404,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { &::before {
content: $fa-var-refresh; content: $fa-var-refresh;
animation: spin 1s linear infinite; animation: spin 1s linear infinite;
color: $gray; color: $gray-700;
}
}
}
} @else {
.sort-handle {
display: inline-block;
width: 16px;
height: 16px;
background: url("../../../images/reorder.png") no-repeat 0 50%;
vertical-align: middle;
cursor: move;
&.ajax-loading {
background-image: url("../../../images/loading.gif");
} }
} }
} }
@@ -601,7 +413,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
//== Headers with icons //== Headers with icons
// //
@if $use-font-awesome { h3.icon,
h3.version, h3.version,
h3.comments, h3.comments,
div.issues h3, div.issues h3,
@@ -609,11 +421,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
div.news h3, div.news h3,
div.projects h3 { div.projects h3 {
@extend %fa-icon; @extend %fa-icon;
color: $gray-900;
&::before { &::before {
width: 1em; width: 1em;
margin-right: .5em; margin-right: .5em;
color: $gray-dark; transform: translateY(-.1em);
color: $gray-700;
text-align: center; text-align: center;
} }
} }
@@ -624,29 +438,11 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
div.members h3::before { content: $fa-var-user; } div.members h3::before { content: $fa-var-user; }
div.news h3::before { content: $fa-var-newspaper-o; } div.news h3::before { content: $fa-var-newspaper-o; }
div.projects h3::before { content: $fa-var-cubes; } div.projects h3::before { content: $fa-var-cubes; }
} @else {
h3.version,
h3.comments,
div.issues h3,
div.members h3,
div.news h3,
div.projects h3 {
padding-left: 20px;
}
h3.version { background: url("../../../images/package.png") no-repeat 0 center; }
h3.comments { background: url("../../../images/comment.png") no-repeat 0 center; }
div.issues h3 { background: url("../../../images/ticket.png") no-repeat 0 center; }
div.members h3 { background: url("../../../images/group.png") no-repeat 0 center; }
div.news h3 { background: url("../../../images/news.png") no-repeat 0 center; }
div.projects h3 { background: url("../../../images/projects.png") no-repeat 0 center; }
}
//== Activity types icons //== Activity types icons
// //
@if $use-font-awesome {
dt { dt {
&.issue, &.issue,
&.issue-edit, &.issue-edit,
@@ -686,41 +482,17 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&.project::before { content: $fa-var-cube; } &.project::before { content: $fa-var-cube; }
&.time-entry::before { content: $fa-var-clock-o; } &.time-entry::before { content: $fa-var-clock-o; }
} }
} @else {
dt {
&.issue { background-image: url("../../../images/ticket.png"); }
&.issue-edit { background-image: url("../../../images/ticket_edit.png"); }
&.issue.closed { background-image: url("../../../images/ticket_checked.png"); }
&.issue-closed { background-image: url("../../../images/ticket_checked.png"); }
&.issue-note { background-image: url("../../../images/ticket_note.png"); }
&.changeset { background-image: url("../../../images/changeset.png"); }
&.news { background-image: url("../../../images/news.png"); }
&.message { background-image: url("../../../images/message.png"); }
&.reply { background-image: url("../../../images/comments.png"); }
&.wiki-page { background-image: url("../../../images/wiki_edit.png"); }
&.attachment { background-image: url("../../../images/attachment.png"); }
&.document { background-image: url("../../../images/document.png"); }
&.project { background-image: url("../../../images/projects.png"); }
&.time-entry { background-image: url("../../../images/time.png"); }
}
}
//== Alternative icons //== Alternative icons
// //
@if $use-font-awesome {
.search_for_watchers > a { .search_for_watchers > a {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(success);
&::before { &::before {
content: $fa-var-plus; content: $fa-var-plus;
color: $icon-success-color;
}
&:hover::before,
&:focus::before {
color: $icon-success-hover-color;
} }
img { img {
@@ -753,15 +525,10 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
#main a.close-icon { #main a.close-icon {
@extend %fa-icon; @extend %fa-icon;
@include link-variant(danger);
width: auto; width: auto;
height: auto; height: auto;
background: transparent; background: transparent;
color: $icon-danger-color;
&:hover,
&:focus {
color: $icon-danger-hover-color;
}
&::before { &::before {
content: $fa-var-remove; content: $fa-var-remove;
@@ -773,13 +540,18 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { &::before {
content: $fa-var-star; content: $fa-var-star;
color: #f6ab02; color: $yellow;
font-size: $font-size-small; font-size: $font-size-small;
} }
} }
.sort { .sort {
@extend %fa-icon-after; @extend %fa-icon-after;
padding-left: 0;
&::before {
content: none;
}
&::after { &::after {
margin-left: .2em; margin-left: .2em;
@@ -815,14 +587,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
a.remove-upload { a.remove-upload {
@extend %fa-icon; @extend %fa-icon;
opacity: .75; @include link-variant(danger);
color: $icon-danger-color; opacity: $icon-opacity;
text-align: center; text-align: center;
&:hover, &:hover,
&:focus { &:focus {
opacity: 1; opacity: $icon-hover-opacity;
color: $icon-danger-hover-color;
text-decoration: none; text-decoration: none;
} }
@@ -842,7 +613,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.message .contextual { .message .contextual {
a { a {
@extend %fa-icon; @extend %fa-icon;
opacity: .5; opacity: .7;
&:hover, &:hover,
&:focus { &:focus {
@@ -856,16 +627,12 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
&:nth-child(2) { &:nth-child(2) {
@include link-variant($icon-success-color, $icon-success-hover-color);
&::before { &::before {
content: $fa-var-pencil; content: $fa-var-pencil;
} }
} }
&:nth-child(3) { &:nth-child(3) {
@include link-variant($icon-danger-color, $icon-danger-hover-color);
&::before { &::before {
content: $fa-var-trash; content: $fa-var-trash;
} }
@@ -884,7 +651,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
&.locked { &.locked {
color: $gray; color: $gray-700;
td.subject { td.subject {
&::before { &::before {
@@ -947,7 +714,6 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.contextual [href*="edit"] { .contextual [href*="edit"] {
@extend %fa-icon; @extend %fa-icon;
@include link-variant($icon-success-color, $icon-success-hover-color);
&::before { &::before {
content: $fa-var-pencil; content: $fa-var-pencil;
@@ -964,12 +730,6 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { &::before {
content: $fa-var-plus; content: $fa-var-plus;
margin-right: .3em; margin-right: .3em;
color: $icon-success-color;
}
&:hover::before,
&:focus::before {
color: $icon-success-hover-color;
} }
} }
@@ -1024,160 +784,20 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
} }
#changes-legend > li.change,
.changeset-changes ul > li.change {
@extend %fa-icon;
background: transparent;
&::before {
content: $fa-var-circle;
position: relative;
top: -.12em;
font-size: .7143em;
}
&.folder::before { content: $fa-var-folder; top: 0; font-size: 1em; }
&.folder.change-A::before { content: $fa-var-folder-open; }
&.folder.change-M::before { content: $fa-var-folder-open; }
&.change-A::before { content: $fa-var-plus-circle; }
&.change-M::before { content: $fa-var-circle; }
&.change-C::before { content: $fa-var-arrow-circle-right; }
&.change-R::before { content: $fa-var-check-circle; }
&.change-D::before { content: $fa-var-minus-circle; }
}
.changeset-changes ul > li.change {
&.folder::before {
top: $table-condensed-cell-padding - 2px;
margin-left: -20px;
}
&::before {
top: $table-condensed-cell-padding;
margin-left: -(20px - $table-condensed-cell-padding);
float: left;
}
}
} @else {
.search_for_watchers > a {
padding-left: 20px;
background: url("../../../images/add.png") no-repeat 0 50%;
}
.atom {
padding: 2px 0 3px 16px;
background: url("../../../images/feed.png") no-repeat 1px 50%;
}
.my-project {
padding-left: 18px;
background: url("../../../images/fav.png") no-repeat left center;
}
.sort {
padding-right: 16px;
background-repeat: no-repeat;
background-position: right center;
&.asc {
background-image: url("../../../images/sort_asc.png");
}
&.desc {
background-image: url("../../../images/sort_desc.png");
}
}
a.remove-upload {
display: inline-block;
padding-left: 16px;
background: url("../../../images/delete.png") no-repeat 1px 50%;
&:hover {
text-decoration: none !important; // scss-lint:disable ImportantRule
}
}
em.info.error {
padding-left: 20px;
background: url("../../../images/exclamation.png") no-repeat 0 50%;
}
tr.message {
&.locked {
color: $gray;
td.subject {
background-image: url("../../../images/locked.png");
}
}
&.sticky td.subject {
background-image: url("../../../images/bullet_go.png");
font-weight: $font-weight-bold;
}
td.subject {
padding-left: 20px + $table-cell-padding;
background-repeat: no-repeat;
background-position: $table-cell-padding ($table-cell-padding - 1px);
}
}
tr.version.shared td.name {
padding-left: 20px;
background: url("../../../images/link.png") no-repeat 0 center;
}
table.boards {
a.board {
padding-left: 20px;
background: url("../../../images/comment.png") no-repeat 0% 50%;
}
}
table.members {
td.name {
padding-left: 20px;
}
td.group,
td.groupnonmember,
td.groupanonymous {
background: url("../../../images/group.png") no-repeat 0% center;
}
}
div.wiki {
.external {
padding-left: 12px;
background-image: url("../../../images/external.png");
background-repeat: no-repeat;
background-position: 0% 60%;
}
}
}
//== Hacks and overrides for Font Awesome //== Hacks and overrides for Font Awesome
// //
@if $use-font-awesome {
// Attachments and watchers delete icon // Attachments and watchers delete icon
.attachments, .attachments,
.watchers { .watchers {
a.delete { a.delete {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(danger);
&::before { &::before {
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
}
&:hover::before,
&:focus::before {
color: $icon-danger-hover-color;
} }
img { img {
@@ -1194,12 +814,6 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { &::before {
content: $fa-var-pencil; content: $fa-var-pencil;
color: $icon-success-color;
}
&:hover::before,
&:focus::before {
color: $icon-success-hover-color;
} }
.icon { .icon {
@@ -1229,16 +843,12 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
&:nth-child(2) { &:nth-child(2) {
@include link-variant($icon-success-color, $icon-success-hover-color);
&::before { &::before {
content: $fa-var-pencil; content: $fa-var-pencil;
} }
} }
&:nth-child(3) { &:nth-child(3) {
@include link-variant($icon-danger-color, $icon-danger-hover-color);
&::before { &::before {
content: $fa-var-trash; content: $fa-var-trash;
} }
@@ -1257,15 +867,10 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
#issue_category_id + a, #issue_category_id + a,
#issue_fixed_version_id + a { #issue_fixed_version_id + a {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(success);
&::before { &::before {
content: $fa-var-plus-square; content: $fa-var-plus-square;
color: $icon-success-color;
}
&:hover::before,
&:focus::before {
color: $icon-success-hover-color;
} }
img { img {
@@ -1277,14 +882,15 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
// jQuery UI datepicker trigger button // jQuery UI datepicker trigger button
img.ui-datepicker-trigger { img.ui-datepicker-trigger {
@extend %image-calendar;
position: relative; position: relative;
top: -1px; top: -1px;
box-sizing: border-box; box-sizing: border-box;
width: 14px; width: 14px;
height: 14px; height: 14px;
padding-left: 14px; padding-left: 14px;
background-image: inline-svg("calendar.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center;
} }
@@ -1292,11 +898,11 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
table.list th.checkbox > a { table.list th.checkbox > a {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(success);
&::before { &::before {
content: $fa-var-check; content: $fa-var-check;
margin-right: 0; margin-right: 0;
color: $icon-success-color;
} }
img { img {
@@ -1312,12 +918,10 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&[href*="edit"]::before { &[href*="edit"]::before {
content: $fa-var-pencil; content: $fa-var-pencil;
color: $icon-success-color;
} }
&[data-method="delete"]::before { &[data-method="delete"]::before {
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
img { img {
@@ -1331,9 +935,12 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.file .buttons > a { .file .buttons > a {
@extend %fa-icon; @extend %fa-icon;
&[data-method="delete"]::before { &[data-method="delete"] {
@include icon-variant(danger);
&::before {
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color; }
} }
img { img {
@@ -1346,11 +953,11 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.delete-commit-keywords { .delete-commit-keywords {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(danger);
font-size: $font-size-base; font-size: $font-size-base;
&::before { &::before {
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
img { img {
@@ -1360,15 +967,14 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.add-commit-keywords { .add-commit-keywords {
@extend %fa-icon; @extend %fa-icon;
@include icon-variant(success);
font-size: $font-size-base; font-size: $font-size-base;
&::before { &::before {
content: $fa-var-plus-square; content: $fa-var-plus-square;
color: $icon-success-color;
} }
img { img {
display: none; display: none;
} }
} }
}

View File

@@ -4,41 +4,5 @@
// ACI = AutoComplete Indicator // ACI = AutoComplete Indicator
%image-aci { %image-aci {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAKBAMAAAAnY0GXAAAAD1BMVEUAAACzs7Ozs7Ozs7Ozs7NJvZFvAAAABHRSTlMA5kpJG2qUMwAAABtJREFUCNdjIBMYCkMRDIg4QhBuAUUhKCIPAAAlaQNk5qF21gAAAABJRU5ErkJggg==); background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAKBAMAAAAnY0GXAAAAD1BMVEUAAACzs7Ozs7Ozs7Ozs7NJvZFvAAAABHRSTlMA5kpJG2qUMwAAABtJREFUCNdjIBMYCkMRDIg4QhBuAUUhKCIPAAAlaQNk5qF21gAAAABJRU5ErkJggg==");
}
%image-arrow-up {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMAgFIFe2wwFmA2CKQAAAArSURBVAjXYyASGBlAGYoKEJpNUAzCKBEUKQDRzIGCgsEgBpOgoKAQA5kAAOOzAuqv1pGxAAAAAElFTkSuQmCC);
}
%image-arrow-right {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAG1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUUeIgAAAACXRSTlMAgF1mUUUMBwa6cf6pAAAAIklEQVQI12PADwJgDBEYQ1ADxhBOgDIEFdBF1GG6EOYQCQC/wwKE7b2bNAAAAABJRU5ErkJggg==);
}
%image-arrow-down {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMAgFIFbDAWVn1ccuIAAAAsSURBVAjXYyANMAkKCgqBGMyOgoLOYKFEQcEEMINVUBSqSlEByjA3YCARAADFOwKnW3vw7AAAAABJRU5ErkJggg==);
}
%image-arrow-left {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMAgF1mUUUMBtml7EIAAAAjSURBVAjXYyAAWGEMRyhdJAih2QyhDCZBhAhcDVwXwhziAACuywJHmKAVPgAAAABJRU5ErkJggg==);
}
%image-arrow-up-white {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAYUlEQVR4Xu2SMQqAMAxFVUxOID2FQ+9R3cRjesX4A5lCoaUFB2nhkeQPLxQyi8jU8xbwYwGBC1CrIIFda4sgKq6vFgS/1eZQI2BwZ/5NlnNJcIAtt8ny04ermx/l4zsYgheccgigTIfmMAAAAABJRU5ErkJggg==);
}
%image-arrow-down-white {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACXRSTlMAgFIFbBZWMTBl3YBFAAAALElEQVQI12MgDTAJCgoKgRjMjoKCzmChQEHBADCDQ1AcqkpRAcowM2AgEQAAvM4CiwrixCQAAAAASUVORK5CYII=);
}
%image-calendar {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOBAMAAADtZjDiAAAAIVBMVEUAAABVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUMftYpAAAACnRSTlMArIDn/dahwzIKIC4f+wAAADxJREFUCNdjYEhJACEGBk8HEGIQXrDYeMFiAYZVK1YB0QKGVSAApBcwMQgwMSDohaKChqKCxItXgc0pAADUBx5bh1ZBCgAAAABJRU5ErkJggg==);
}
%image-toggle-minus {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMAgJsrThgAAAAQSURBVAjXY8AK+D+AEDYAAC8fAf+FxiPoAAAAAElFTkSuQmCC);
}
%image-toggle-plus {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMAgJsrThgAAAAVSURBVAjXY0AGjA1QxP8BiBBcJAAAdjIFBZTfDZQAAAAASUVORK5CYII=);
} }

View File

@@ -3,13 +3,18 @@
// -------------------------------------------------- // --------------------------------------------------
.issue { .issue {
@if not $clean-issues {
&.details { &.details {
margin-bottom: $line-height-computed;
padding: $issue-padding; padding: $issue-padding;
border: 1px solid $issue-border; border: 1px solid $issue-border;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $issue-bg; background-color: $issue-bg;
color: $issue-text; color: $issue-text;
}
}
&.details {
margin-bottom: $line-height-computed;
word-wrap: break-word; word-wrap: break-word;
@if $use-gravatars { @if $use-gravatars {
@@ -67,10 +72,10 @@
> .subject { > .subject {
h3 { h3 {
margin-bottom: .3em; margin-bottom: .3em;
color: $gray-darkest; color: $gray-950;
font-size: $issue-heading-size * 1em; font-size: $issue-heading-size * 1em;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
line-height: 1.2; line-height: 1.1;
} }
p { p {
@@ -84,7 +89,11 @@
} }
> hr { > hr {
@if $clean-issues {
margin: $issue-padding 0;
} @else {
margin: $issue-padding (-$issue-padding); margin: $issue-padding (-$issue-padding);
}
border-top-color: $issue-border; border-top-color: $issue-border;
} }
@@ -94,15 +103,26 @@
} }
> .wiki { > .wiki {
@if $clean-issues {
margin: 0 0 $issue-padding;
} @else {
margin: 0 (-$issue-padding) (-$issue-padding); margin: 0 (-$issue-padding) (-$issue-padding);
padding: $padding-wiki; padding: $padding-wiki;
border-top: 1px solid $issue-border; border-top: 1px solid $issue-border;
background: $body-bg; background: $body-bg;
} }
} }
}
.next-prev-links { .next-prev-links {
color: $gray-light; margin: 0 0 $line-height-computed;
float: none;
color: $gray-600;
@media screen and (min-width: $screen-md-min) {
margin: 0;
float: right;
}
} }
} }
@@ -118,11 +138,12 @@
> tbody > tr { > tbody > tr {
th { th {
font-weight: normal; color: $gray-700;
font-weight: $font-weight-normal;
} }
td { td {
color: $gray-darkest; color: $gray-950;
} }
} }
@@ -160,26 +181,29 @@
margin-top: $issue-attribute-padding-v; margin-top: $issue-attribute-padding-v;
padding: 1px $table-cell-padding; padding: 1px $table-cell-padding;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $brand-primary; background-color: $status-default-bg;
color: $brand-text; color: $status-default-color;
font-size: $font-size-small; font-size: $font-size-small;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
text-align: center; text-align: center;
text-transform: uppercase; text-transform: uppercase;
} }
&.status-1 { @each $status, $status-colors in $status-colors-map {
&.#{$status} {
.attributes td.status, .attributes td.status,
.attribute.status .value { .attribute.status .value {
background-color: $brand-info; background-color: map-get($status-colors, background);
color: map-get($status-colors, color);
}
}
} }
} }
&.closed { @if $priority-icon {
.attributes td.status, .attributes td.priority,
.attribute.status .value { .attribute.priority .value {
background-color: $brand-danger; @include priority-icon-base;
}
} }
} }
@@ -200,6 +224,7 @@
.label { .label {
width: 25%; width: 25%;
float: left; float: left;
color: $gray-700;
@media screen and (min-width: $screen-lg-min) { @media screen and (min-width: $screen-lg-min) {
width: 14em; width: 14em;
@@ -207,7 +232,7 @@
} }
.value { .value {
color: $gray-darkest; color: $gray-950;
@media screen and (min-width: $screen-lg-min) { @media screen and (min-width: $screen-lg-min) {
width: auto; width: auto;
@@ -262,15 +287,15 @@ div.attachments {
} }
.delete { .delete {
opacity: .5; opacity: $icon-opacity;
&:hover { &:hover {
opacity: 1; opacity: $icon-hover-opacity;
} }
} }
span.author { span.author {
color: $gray; color: $gray-700;
font-size: $font-size-small; font-size: $font-size-small;
} }
} }
@@ -285,12 +310,12 @@ div.thumbnails {
a { a {
display: inline-block; display: inline-block;
margin-right: 2px; margin-right: 2px;
border: 1px solid $gray-lighter; border: 1px solid $gray-400;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $body-bg; background-color: $body-bg;
&:hover { &:hover {
border-color: $gray-light; border-color: $gray-600;
} }
} }
@@ -424,16 +449,20 @@ div.thumbnails {
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
font-size: $font-size-list; font-size: $font-size-list;
> .journal-actions > a { > .journal-actions {
opacity: .5; padding-right: $issue-attribute-padding-h;
> a {
opacity: $icon-opacity;
&:hover { &:hover {
opacity: 1; opacity: $icon-hover-opacity;
}
} }
} }
> a.journal-link { > a.journal-link {
color: $gray; color: $gray-700;
&::before { &::before {
content: ""; content: "";
@@ -446,11 +475,11 @@ div.thumbnails {
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-radius: $panel-border-radius $panel-border-radius 0 0; border-radius: $panel-border-radius $panel-border-radius 0 0;
background-color: $issue-bg; background-color: $issue-bg;
color: $gray; color: $gray-700;
font-size: $font-size-list; font-size: $font-size-list;
a { a {
color: $gray-darker; color: $gray-900;
&.user { &.user {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
@@ -458,7 +487,7 @@ div.thumbnails {
} }
.journal-link { .journal-link {
color: $gray; color: $gray-700;
} }
} }
@@ -505,7 +534,7 @@ div.thumbnails {
.details { .details {
margin: 0; margin: 0;
padding: $bubble-padding-vertical 0; padding: $bubble-padding-vertical 0;
padding-left: $bubble-padding-horizontal * 3; padding-left: $bubble-padding-horizontal * 2.5;
list-style: none; list-style: none;
border-top: 1px solid mix($body-bg, $issue-border, 50%); border-top: 1px solid mix($body-bg, $issue-border, 50%);
font-size: $font-size-list; font-size: $font-size-list;
@@ -523,11 +552,11 @@ div.thumbnails {
display: block; display: block;
position: absolute; position: absolute;
top: 5px; top: 5px;
left: -($bubble-padding-horizontal * 1.5 + 6px / 2); left: -($bubble-padding-horizontal + 6px / 2);
width: 6px; width: 6px;
height: 6px; height: 6px;
border-radius: 50%; border-radius: 50%;
background-color: $gray-light; background-color: $gray-600;
} }
} }
@@ -548,15 +577,19 @@ div.thumbnails {
.wiki, .wiki,
form { form {
padding: $issue-padding; padding: $issue-padding;
border-top: 1px solid mix($body-bg, $issue-border, 50%); border-top: 1px solid $issue-border;
} }
form { form {
padding-top: 5px; padding-top: 5px;
background-color: $gray-lightest; background-color: $gray-100;
> p { > p {
margin-bottom: $issue-padding; margin-bottom: $issue-padding;
&:last-child {
margin-bottom: 0;
}
} }
> .wiki { > .wiki {
@@ -637,6 +670,7 @@ span.private {
div.changeset { div.changeset {
margin-top: $line-height-computed / 2 + 2px * 2; margin-top: $line-height-computed / 2 + 2px * 2;
padding: 0;
overflow: hidden; overflow: hidden;
border: 1px solid $issue-border; border: 1px solid $issue-border;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
@@ -651,7 +685,7 @@ span.private {
@include clearfix; @include clearfix;
margin: 0; margin: 0;
padding: $padding-base-vertical $padding-base-horizontal; padding: $padding-base-vertical $padding-base-horizontal;
color: $gray; color: $gray-700;
> a { > a {
font-family: $font-family-monospace; font-family: $font-family-monospace;
@@ -659,7 +693,7 @@ span.private {
} }
.author a { .author a {
color: $gray-darker; color: $gray-900;
&.user { &.user {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;

View File

@@ -282,7 +282,7 @@ img.ui-datepicker-trigger {
&.ui-datepicker-week-col { &.ui-datepicker-week-col {
padding-right: $table-condensed-cell-padding; padding-right: $table-condensed-cell-padding;
color: $gray-light; color: $gray-600;
} }
} }
} }

View File

@@ -6,35 +6,50 @@
#content { #content {
div.jstTabs.tabs { div.jstTabs.tabs {
height: auto; height: auto;
@if $flexbox-layout { @if $flexbox-layout {
@media screen and (max-width: $redmine-responsive-max) { @media screen and (max-width: $redmine-responsive-max) {
clear: both; clear: both;
} }
} }
ul { > ul {
width: 100%; width: 100%;
height: auto; height: auto;
li { > li {
height: auto; height: auto;
margin: 0; margin: 0;
> a {
&:hover,
&:focus {
border-color: darken($tab-hover-border, 3%) darken($tab-hover-border, 3%) $tab-border;
background-color: darken($tab-hover-bg, 3%);
}
&.selected {
border-color: $tab-active-border $tab-active-border $tab-active-bg;
background: $tab-active-bg;
color: $tab-active-text;
&.tab-preview {
border-bottom-color: $wiki-preview-bg;
background-color: $wiki-preview-bg;
}
}
}
@if $flexbox-layout {
align-self: flex-end;
}
&::before { &::before {
content: none; content: none;
} }
&:not(.tab-elements) {
@if $flexbox-layout {
align-self: flex-end;
}
.selected {
border-color: $input-border $input-border $tab-active-bg;
}
}
&.tab-elements { &.tab-elements {
flex: 1;
margin-left: 5px; margin-left: 5px;
} }
} }
@@ -47,7 +62,7 @@
.jstEditor { .jstEditor {
.wiki-preview { .wiki-preview {
padding: $input-padding-vertical $input-padding-horizontal; padding: $panel-body-padding;
border: 1px solid $input-border; border: 1px solid $input-border;
border-radius: $input-border-radius; border-radius: $input-border-radius;
background-color: $wiki-preview-bg; background-color: $wiki-preview-bg;
@@ -61,14 +76,12 @@
div.jstElements { div.jstElements {
@extend %clearfix; @extend %clearfix;
line-height: normal;
.box & { .box & {
display: block;
padding: 0; padding: 0;
button {
margin-right: 2px;
}
.jstSpacer { .jstSpacer {
margin-right: 4px; margin-right: 4px;
} }
@@ -80,36 +93,33 @@ div.jstElements {
float: right; float: right;
} }
} }
@media (min-width: $screen-lg) {
button {
margin-right: 4px;
}
.jstSpacer {
margin-right: 6px;
}
}
} }
button { button {
margin-bottom: 5px; margin-right: 2px;
margin-bottom: 4px;
padding: 0; padding: 0;
background-color: $body-bg; border: 0;
opacity: 1;
background-color: transparent;
box-shadow: none; box-shadow: none;
color: $btn-default-color; color: $gray-800;
vertical-align: top; vertical-align: top;
&::before { &::before {
text-align: center; text-align: center;
} }
&:hover,
&:focus {
background-color: darken($tab-hover-bg, 3%);
color: $gray-900;
} }
} }
@if $use-font-awesome {
.jstElements {
%jstb-icon { %jstb-icon {
@include fa-icon; @include fa-icon;
background: transparent;
background-image: none; background-image: none;
} }
@@ -229,4 +239,3 @@ div.jstElements {
&::before { content: $fa-var-question-circle; } &::before { content: $fa-var-question-circle; }
} }
} }
}

View File

@@ -2,6 +2,11 @@
// Lists // Lists
// -------------------------------------------------- // --------------------------------------------------
table {
border-spacing: 0;
border-collapse: collapse;
}
table.list { table.list {
width: 100%; width: 100%;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
@@ -20,11 +25,12 @@ table.list {
padding: $table-cell-padding; padding: $table-cell-padding;
border: 2px solid $table-border-color; border: 2px solid $table-border-color;
border-width: $table-list-header-border; border-width: $table-list-header-border;
color: $gray; background-color: $body-bg;
color: $gray-700;
vertical-align: bottom; vertical-align: bottom;
a { a {
color: $gray-darker; color: $gray-900;
} }
} }
@@ -32,12 +38,6 @@ table.list {
background-color: $highlight-bg; background-color: $highlight-bg;
} }
@if $table-list-highlight-rows {
> tbody > tr:hover {
background-color: $table-bg-hover;
}
}
td { td {
padding: $table-cell-padding; padding: $table-cell-padding;
border: 1px solid $table-border-color; border: 1px solid $table-border-color;
@@ -45,11 +45,9 @@ table.list {
text-align: center; text-align: center;
vertical-align: top; vertical-align: top;
@if $use-font-awesome {
&.icon { &.icon {
padding-left: $table-cell-padding + 20px; padding-left: $table-cell-padding + 20px;
} }
}
&.id, &.id,
&.parent, &.parent,
@@ -60,7 +58,6 @@ table.list {
&.id { &.id {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
text-align: right;
} }
&.reorder { &.reorder {
@@ -162,11 +159,11 @@ tr.project {
&.archived, &.archived,
&.closed a, &.closed a,
&.archived a { &.archived a {
color: #aaa; color: $gray-600;
} }
&.idnt td.name { &.idnt td.name {
@extend %image-arrow-right; background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-600)));
background-repeat: no-repeat; background-repeat: no-repeat;
} }
@@ -210,10 +207,14 @@ tr.issue {
} }
&.idnt td.subject { &.idnt td.subject {
@extend %image-arrow-right; background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-600)));
background-repeat: no-repeat; background-repeat: no-repeat;
} }
&.overdue td.due_date {
color: $brand-danger;
}
@for $i from 1 through 9 { @for $i from 1 through 9 {
&.idnt-#{$i} td.subject { &.idnt-#{$i} td.subject {
padding-left: $table-cell-padding + 16px * $i; padding-left: $table-cell-padding + 16px * $i;
@@ -223,10 +224,23 @@ tr.issue {
} }
.issues { .issues {
.block_column,
.description, .description,
.last_notes { .last_notes {
padding: $table-cell-padding; padding: 0;
text-align: left; text-align: left;
white-space: normal;
> span {
display: block;
margin-bottom: $line-height-computed / 4;
padding: $table-cell-padding;
font-weight: $font-weight-bold;
}
pre {
white-space: normal;
}
@media screen and (min-width: $screen-sm-min) { @media screen and (min-width: $screen-sm-min) {
> .wiki { > .wiki {
@@ -235,18 +249,14 @@ tr.issue {
overflow: auto; overflow: auto;
} }
} }
pre {
white-space: normal;
}
} }
} }
tr { tr {
span.expander { span.expander {
@extend %image-toggle-plus;
margin-left: 0; margin-left: 0;
padding-left: 8px; padding-left: 8px;
background-image: inline-svg("plus.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
cursor: pointer; cursor: pointer;
@@ -254,7 +264,7 @@ tr {
} }
&.open span.expander { &.open span.expander {
@extend %image-toggle-minus; background-image: inline-svg("minus.svg", (path: (fill: $btn-default-icon-color)));
} }
} }
@@ -266,12 +276,32 @@ td.center {
table-layout: fixed; table-layout: fixed;
} }
.issue-report-graph {
width: 75%;
margin: $line-height-computed auto;
}
.sample-data {
margin: $line-height-computed / 2;
margin-bottom: $line-height-computed;
border: 1px solid $table-border-color;
td {
border: 1px solid $table-border-color;
}
tr:first-child td {
font-weight: $font-weight-bold;
text-align: center;
}
}
tr.builtin td.name { tr.builtin td.name {
font-style: italic; font-style: italic;
} }
tr.entry { tr.entry {
border: 1px solid $gray-lighter; border: 1px solid $gray-400;
td { td {
white-space: nowrap; white-space: nowrap;
@@ -311,28 +341,45 @@ tr.entry {
@if $table-list-color-odd-rows { @if $table-list-color-odd-rows {
table.list:not(.odd-even) tbody tr:nth-child(odd), table.list:not(.odd-even) tbody tr:nth-child(odd),
.odd { .odd {
> td {
background-color: $table-bg-accent; background-color: $table-bg-accent;
} }
} }
}
@if $table-list-color-even-rows { @if $table-list-color-even-rows {
table.list:not(.odd-even) tbody tr:nth-child(even), table.list:not(.odd-even) tbody tr:nth-child(even),
.even { .even {
> td {
background-color: $table-bg-accent; background-color: $table-bg-accent;
} }
} }
}
@if $table-list-highlight-rows {
table.list > tbody > tr:nth-child(n):hover {
background-color: $table-bg-hover;
}
}
//== Priorities //== Priorities
// //
@if $color-priorities { @if $priority-icon {
// scss-lint:disable SpaceAfterComma table.list tbody tr {
@include priority(".priority-lowest", $priority-lowest-bg, $priority-lowest-text, $priority-lowest-link); .priority {
@include priority(".priority-default", $priority-default-bg, $priority-default-text, $priority-default-link); @include priority-icon-base;
@include priority(".priority-high3", $priority-high3-bg, $priority-high3-text, $priority-high3-link); }
@include priority(".priority-high2", $priority-high2-bg, $priority-high2-text, $priority-high2-link); }
@include priority(".priority-highest", $priority-highest-bg, $priority-highest-text, $priority-highest-link);
@each $priority-id, $priority-icon in $priority-icons-map {
@include priority-icon(
".priority-#{$priority-id}",
map-get($priority-icon, color),
map-get($priority-icon, icon)
);
}
} }
@if $color-trackers { @if $color-trackers {
@@ -359,7 +406,7 @@ tr.entry {
a.issue { a.issue {
margin-right: 1px; margin-right: 1px;
padding: $tracker-inline-padding; padding: $tracker-inline-padding;
font-weight: normal; font-weight: $font-weight-normal;
&.closed { &.closed {
position: relative; position: relative;
@@ -375,7 +422,7 @@ tr.entry {
left: 5px; left: 5px;
height: calc(50% - 2px / 2); height: calc(50% - 2px / 2);
transform: rotate(-4deg); transform: rotate(-4deg);
transition: border-color .1s; transition: border-color $transition-time;
border-top: 2px solid rgba($tracker-default-text, .95); border-top: 2px solid rgba($tracker-default-text, .95);
} }
@@ -395,16 +442,6 @@ tr.entry {
} }
} }
@if $colored-issue {
.issue.details a.issue,
.issue.details .wiki a.issue {
&,
&:hover {
color: $tracker-default-text;
}
}
}
@each $tracker-id, $tracker-colors in $tracker-colors-map { @each $tracker-id, $tracker-colors in $tracker-colors-map {
@include tracker( @include tracker(
".tracker-#{$tracker-id}", ".tracker-#{$tracker-id}",
@@ -431,25 +468,13 @@ tr.group {
.toggle-all { .toggle-all {
display: none; display: none;
color: $gray-light; color: $gray-600;
font-weight: normal; font-weight: $font-weight-normal;
} }
&:hover .toggle-all { &:hover .toggle-all {
display: inline; display: inline;
} }
.count {
display: inline-block;
min-width: 1em;
margin: 0 5px;
padding: 1px 4px;
border-radius: $border-radius-small;
background-color: $brand-primary;
color: $brand-text;
font-size: $font-size-small;
text-align: center;
}
} }
.toggle-all:hover { .toggle-all:hover {
@@ -507,7 +532,7 @@ tr.time-entry {
} }
tr.time-entry td.hours { tr.time-entry td.hours {
font-weight: normal; font-weight: $font-weight-normal;
} }
} }
@@ -526,10 +551,10 @@ tr.wiki-page-version {
tr.version { tr.version {
&.closed { &.closed {
color: $gray; color: $gray-700;
a { a {
color: $gray; color: $gray-700;
} }
} }
@@ -568,7 +593,7 @@ tr.user {
&.registered, &.registered,
&.locked a, &.locked a,
&.registered a { &.registered a {
color: $gray-light; color: $gray-600;
} }
} }

View File

@@ -4,7 +4,7 @@
#login-form { #login-form {
box-sizing: border-box; box-sizing: border-box;
margin: $line-height-computed * 2 auto; margin: $line-height-computed * 2 auto $line-height-computed;
label, label,
input:not([type="checkbox"]) { input:not([type="checkbox"]) {
@@ -15,6 +15,7 @@
display: block; display: block;
margin-bottom: $padding-base-vertical; margin-bottom: $padding-base-vertical;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
line-height: inherit;
&[for="autologin"] { &[for="autologin"] {
@include check; @include check;

View File

@@ -1,3 +1,45 @@
//
// Additionals
// https://www.redmine.org/plugins/additionals
// --------------------------------------------------
#sidebar .sidebar-additionals {
ul,
ol {
margin: 0 0 ($line-height-computed / 2);
padding-left: 1.5em;
ul,
ol {
margin-bottom: 0;
}
}
ul {
// stylelint-disable selector-max-compound-selectors
li {
list-style-type: disc;
li {
list-style-type: circle;
li {
list-style-type: square;
}
}
}
}
}
.action-login .login-additionals {
font-size: 1em;
@media screen and (min-width: $login-form-box-breakpoint) {
max-width: $login-form-width;
}
}
// //
// Redmine Backlogs // Redmine Backlogs
// https://github.com/HolonGlobe/redmine_backlogs // https://github.com/HolonGlobe/redmine_backlogs
@@ -63,9 +105,10 @@
} }
} }
@if $use-font-awesome { .contextual {
.icon.icon-heart, .icon-heart,
.icon.icon-heart-off { .icon-heart-off {
margin-left: $padding-small-vertical;
background-image: none; background-image: none;
} }
@@ -90,13 +133,35 @@
} }
} }
#content > .contextual {
> span.heart-link-with-count {
padding: 0;
border: 0;
background: transparent;
> a:first-child {
margin-right: 0;
margin-left: 4px;
padding-right: floor($btn-padding-horizontal-small / 2);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
+ a {
min-width: unset;
margin-left: 0;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}
}
// //
// Redmine Time Tracker // Redmine Time Tracker
// https://github.com/fernandokosh/redmine_time_tracker // https://github.com/fernandokosh/redmine_time_tracker
// -------------------------------------------------- // --------------------------------------------------
@if $use-font-awesome {
.tt_list_button { .tt_list_button {
@extend %fa-icon; @extend %fa-icon;
font-size: $fa-font-size-base; font-size: $fa-font-size-base;
@@ -110,12 +175,7 @@
} }
&.icon-start { &.icon-start {
color: $icon-success-color; @include link-variant(success);
&:hover,
&:focus {
color: $icon-success-color;
}
&::before { &::before {
content: $fa-var-clock-o; content: $fa-var-clock-o;
@@ -123,12 +183,7 @@
} }
&.icon-stop { &.icon-stop {
color: $icon-danger-color; @include link-variant(danger);
&:hover,
&:focus {
color: $icon-danger-color;
}
&::before { &::before {
content: $fa-var-history; content: $fa-var-history;
@@ -143,7 +198,6 @@
#user-time-bookings-list { #user-time-bookings-list {
clear: both; clear: both;
} }
}
// //
@@ -152,7 +206,11 @@
// -------------------------------------------------- // --------------------------------------------------
.controller-agile_charts #main { .controller-agile_charts #main {
@if $flexbox-layout { @if $css-grid-layout {
> div:not(#content):not(#sidebar) {
grid-area: footer;
}
} @else if $flexbox-layout {
flex-wrap: wrap; flex-wrap: wrap;
> #footer { > #footer {
@@ -206,8 +264,9 @@
} }
.select2-selection { .select2-selection {
transition: border-color 50ms ease-in-out, transition:
box-shadow 50ms ease-in-out; border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border-color: $input-border; border-color: $input-border;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
} }
@@ -222,6 +281,26 @@
} }
//
// Redmine Checklists
// https://www.redmineup.com/pages/plugins/checklists
// --------------------------------------------------
#checklist_form_items {
.checklist-item {
display: block;
margin: 0;
padding-top: $check-list-offset-top;
line-height: initial;
&.new {
padding-top: $padding-base-vertical;
line-height: inherit;
}
}
}
// //
// Redmine custom menu // Redmine custom menu
// http://rmplus.pro/en/redmine/plugins/custom_menu // http://rmplus.pro/en/redmine/plugins/custom_menu
@@ -330,12 +409,10 @@
} }
} }
@if $use-font-awesome {
.icon { .icon {
background-image: none; background-image: none;
} }
} }
}
.department.issue.details { .department.issue.details {
> p { > p {
@@ -362,18 +439,12 @@
.icon { .icon {
padding-left: $table-condensed-cell-padding + 20px; padding-left: $table-condensed-cell-padding + 20px;
background-position: $table-condensed-cell-padding $table-condensed-cell-padding;
}
@if $use-font-awesome {
.icon {
background-image: none; background-image: none;
> a { > a {
@extend %fa-icon; @extend %fa-icon;
} }
} }
}
.email { .email {
td a { td a {
@@ -492,14 +563,12 @@
width: 80%; width: 80%;
margin: 0; margin: 0;
@if $use-font-awesome {
a { a {
img { img {
display: none; display: none;
} }
} }
} }
}
.progress { .progress {
width: 20%; width: 20%;
@@ -525,7 +594,6 @@
div.wiking { div.wiking {
&.flash { &.flash {
@if $use-font-awesome {
&.warning, &.warning,
&.notice, &.notice,
&.tip { &.tip {
@@ -537,12 +605,5 @@ div.wiking {
content: $fa-var-lightbulb-o; content: $fa-var-lightbulb-o;
} }
} }
} @else {
&.warning,
&.notice,
&.tip {
background-position: $padding-large-horizontal 50%;
}
}
} }
} }

View File

@@ -24,17 +24,17 @@
#main { #main {
display: block; display: block;
overflow: visible !important; // scss-lint:disable ImportantRule overflow: visible !important; // stylelint-disable-line declaration-no-important
background: #fff; background: $white;
} }
#content { #content {
width: 100%; width: 100%;
margin: 0; margin: 0;
padding: 0; padding: 0;
overflow: visible !important; // scss-lint:disable ImportantRule overflow: visible !important; // stylelint-disable-line declaration-no-important
border: 0; border: 0;
background: #fff; background: $white;
} }
.autoscroll { .autoscroll {
@@ -42,10 +42,10 @@
} }
a { a {
// scss-lint:disable ImportantRule // stylelint-disable declaration-no-important
padding: 0 !important; padding: 0 !important;
background-color: transparent !important; background-color: transparent !important;
color: #000 !important; color: $black !important;
&::before, &::before,
&::after { &::after {
@@ -64,7 +64,7 @@
th, th,
td { td {
border: 1px solid #aaa; border: 1px solid $gray-500;
background-color: transparent; background-color: transparent;
&.buttons { &.buttons {

View File

@@ -4,11 +4,11 @@
table.progress { table.progress {
width: 80px; width: 80px;
margin-top: 1px; margin-top: 3px;
margin-right: 5px; margin-right: 5px;
float: left; float: left;
empty-cells: show; empty-cells: show;
border: 1px solid rgba(#000, .1); border: 0 none;
.version-overview & { .version-overview & {
width: 40em; width: 40em;
@@ -21,20 +21,30 @@ table.progress {
} }
td { td {
height: 12px; height: $progress-height;
padding: 0; padding: 0;
border: 0 none; border: 0 none;
&.closed { &:first-child {
background-color: $progress-bar-success-bg; border-top-left-radius: $progress-height / 2;
border-bottom-left-radius: $progress-height / 2;
}
&:last-child {
border-top-right-radius: $progress-height / 2;
border-bottom-right-radius: $progress-height / 2;
} }
&.done { &.done {
background-color: mix($progress-bar-success-bg, $progress-bg, 50%); background-color: $progress-bar-bg !important; // stylelint-disable-line declaration-no-important
}
&.closed {
background-color: $progress-bar-success-bg !important; // stylelint-disable-line declaration-no-important
} }
&.todo { &.todo {
background-color: $progress-bg; background-color: $progress-bg !important; // stylelint-disable-line declaration-no-important
} }
} }
@@ -53,7 +63,7 @@ p {
margin-top: -4px; margin-top: -4px;
margin-bottom: 0; margin-bottom: 0;
clear: left; clear: left;
color: #777; color: $gray-700;
font-size: 80%; font-size: 80%;
} }
} }

View File

@@ -1,4 +1,8 @@
// scss-lint:disable SelectorDepth .mobile-show {
display: none;
}
// stylelint-disable selector-max-compound-selectors
.theme-Purplemine2 { .theme-Purplemine2 {
@media screen and (max-width: $redmine-responsive-max) { @media screen and (max-width: $redmine-responsive-max) {
.flyout-menu + div { .flyout-menu + div {
@@ -30,30 +34,46 @@
#project-jump { #project-jump {
padding: 0 $responsive-header-height 0 0; padding: 0 $responsive-header-height 0 0;
&.expanded {
.drdn-trigger { .drdn-trigger {
&::before {
padding: 0;
transform: rotate(180deg);
}
}
}
.drdn-trigger {
@include text-overflow;
display: block; display: block;
height: $responsive-header-height; height: $responsive-header-height;
padding: 0 0 0 ($padding-base-horizontal + 30px); padding: 0;
background-color: transparent; background-color: transparent;
box-shadow: none; box-shadow: none;
font-size: $font-size-large;
font-weight: $font-weight-normal;
line-height: $responsive-header-height; line-height: $responsive-header-height;
&::before { &::before {
padding-left: $padding-base-horizontal; @include fa-icon;
font-size: 1.2em; content: $fa-var-chevron-down;
font-weight: normal; position: relative;
line-height: $responsive-header-height * .9; top: -.1em;
width: $responsive-header-height * .75;
padding: 0;
transform: none;
font-size: .8em;
text-align: center;
} }
@if $use-font-awesome {
&::after { &::after {
display: none; display: none;
} }
} }
}
.drdn-content { .drdn-content {
top: $responsive-header-height; top: $responsive-header-height;
font-size: $font-size-base;
} }
} }
} }
@@ -72,6 +92,10 @@
background-color: $flyout-menu-bg; background-color: $flyout-menu-bg;
color: $flyout-menu-text; color: $flyout-menu-text;
.search-magnifier {
left: 18px;
}
&__search { &__search {
height: $responsive-header-height; height: $responsive-header-height;
padding: ($padding-side / 2); padding: ($padding-side / 2);
@@ -83,11 +107,27 @@
} }
} }
&__avatar {
img.gravatar {
top: 0;
}
}
a { a {
&, &,
&:hover, &:hover,
&:focus { &:focus {
color: $flyout-menu-link; color: $flyout-menu-link;
&::before,
span {
color: inherit !important; // stylelint-disable-line declaration-no-important
}
}
&.selected {
background-color: $flyout-menu-link-active-bg;
color: $flyout-menu-link-active;
} }
} }
@@ -102,24 +142,44 @@
a { a {
background-position: 8px center; background-position: 8px center;
@if $use-font-awesome { &.additionals {
&, padding-left: 32px !important; // stylelint-disable-line declaration-no-important
&:hover,
&:focus {
&::before { &::before {
color: $flyout-menu-link; margin-right: $padding-small-vertical;
font-size: $fa-font-size-base;
}
} }
} }
} }
&.selected { #watchers {
background-color: $body-bg; .contextual {
color: $text-color; padding-top: $line-height-computed / 2;
padding-bottom: $line-height-computed / 2;
@if $use-font-awesome {
&::before {
color: $text-color;
} }
.watchers {
li {
margin: ($line-height-computed / 2) 0 0;
padding: 0;
img.gravatar {
top: 0;
}
a {
height: auto;
border-top: 0;
line-height: initial;
}
.delete {
flex: 0 0 24px;
margin-left: auto;
float: none;
text-align: center;
text-overflow: initial;
} }
} }
} }
@@ -175,44 +235,65 @@
p.buttons, p.buttons,
.other-formats > span, .other-formats > span,
#wiki_add_attachment > p, #wiki_add_attachment > p,
#content > .contextual { #content > .contextual,
#content > .contextual > span,
#query_form > .contextual,
#query_form_with_buttons > .contextual {
margin-bottom: $line-height-computed - $padding-small-horizontal; margin-bottom: $line-height-computed - $padding-small-horizontal;
padding: 0; padding: 0;
float: none; float: none;
text-align: left; text-align: left;
a { a {
display: inline-block; padding: $btn-padding-vertical $btn-padding-horizontal-small;
margin: 0 $padding-small-vertical $padding-small-horizontal 0;
padding: ($btn-padding-vertical * 2) $btn-padding-horizontal;
border: 1px solid $pagination-border; border: 1px solid $pagination-border;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $pagination-bg; background-color: $pagination-bg;
background-position: $btn-padding-horizontal center; color: $pagination-color;
font-weight: $btn-font-weight; font-weight: $font-weight-normal;
&:active,
&:hover, &:hover,
&:focus { &:focus {
border-color: $pagination-hover-border; border-color: $pagination-hover-border;
background-color: $pagination-hover-bg; background-color: $pagination-hover-bg;
color: $pagination-hover-color;
text-decoration: none; text-decoration: none;
} }
&:last-child {
margin-right: 0;
}
&.icon { &.icon {
padding-left: 20px + $btn-padding-horizontal; padding-left: 20px + $btn-padding-horizontal-small;
background-position: $btn-padding-horizontal-small 50%;
}
} }
@if $use-font-awesome == false { a,
&.atom { input,
padding-left: 20px + $btn-padding-horizontal; select,
label {
margin-top: 0;
margin-bottom: 5px;
}
label {
display: inline-block;
input[type="checkbox"],
input[type="radio"] {
margin-top: $check-input-margin-btn-v;
} }
} }
} }
#content > .contextual > span {
margin-bottom: 0;
}
#content > .contextual > a,
#content > .contextual .drdn,
p.buttons a {
display: inline-block;
margin: 0 2px 5px 0;
float: none;
} }
// For Redmine 4.0+ // For Redmine 4.0+
@@ -221,24 +302,14 @@
border: 0; border: 0;
.drdn-trigger { .drdn-trigger {
padding: ($btn-padding-vertical * 2) $btn-padding-horizontal; padding: $btn-padding-vertical $btn-padding-horizontal;
border: 1px solid $pagination-border;
border-radius: $border-radius-base;
background-color: $pagination-bg;
&:active,
&:hover,
&:focus {
border-color: $pagination-hover-border;
background-color: $pagination-hover-bg;
text-decoration: none;
}
} }
.drdn-items { .drdn-items {
a { a {
display: block;
margin: 3px 0 0; margin: 3px 0 0;
padding-top: $btn-padding-vertical;
padding-bottom: $btn-padding-vertical;
&:first-child { &:first-child {
margin-top: 0; margin-top: 0;
@@ -261,5 +332,35 @@
float: none; float: none;
} }
} }
#issue-changesets {
div.changeset {
padding: 0;
}
}
#admin-index > #admin-menu li {
padding: 0;
}
}
// Tweaks for smartphones, touchscreens
@media (hover: none) and (pointer: coarse) {
.mobile-toggle-button::after {
margin-top: 0;
}
.query-columns {
span {
display: block;
margin-bottom: $line-height-computed / 2;
}
.buttons {
input[type="button"] {
display: inline-block;
}
}
}
} }
} }

View File

@@ -26,7 +26,7 @@
span.description { span.description {
display: block; display: block;
color: $gray; color: $gray-700;
font-style: italic; font-style: italic;
} }
} }
@@ -44,9 +44,9 @@
h4 { h4 {
margin: 0 0 $line-height-computed; margin: 0 0 $line-height-computed;
padding-bottom: .2em; padding-bottom: .2em;
border-bottom: 1px dotted $gray-light; border-bottom: 1px dotted $gray-600;
font-size: $font-size-h4; font-size: $font-size-h4;
font-weight: normal; font-weight: $font-weight-normal;
} }
dt { dt {
@@ -55,11 +55,11 @@
} }
&.me .time { &.me .time {
border-bottom: 1px solid $gray-lighter; border-bottom: 1px solid $gray-400;
} }
.time { .time {
color: $gray; color: $gray-700;
} }
@if $use-gravatars { @if $use-gravatars {
@@ -105,10 +105,17 @@
input, input,
select { select {
margin-right: 5px; margin-right: 5px;
margin-bottom: $line-height-computed / 2;
} }
label { label {
@include check-inline; @include check-inline;
line-height: $input-height-base;
input[type="checkbox"],
input[type="radio"] {
margin-top: $check-input-margin-btn-v;
}
} }
p:last-child { p:last-child {
@@ -120,9 +127,21 @@
// Search results highlight // Search results highlight
.highlight { .highlight {
background-color: #fe8; background-color: saturate(shade($yellow, 100), 25%);
color: saturate(shade($yellow, 800), 25%);
&.token-1 { background-color: #fba; } &.token-1 {
&.token-2 { background-color: #afb; } background-color: saturate(shade($red, 100), 25%);
&.token-3 { background-color: #aef; } color: saturate(shade($red, 800), 25%);
}
&.token-2 {
background-color: saturate(shade($green, 100), 25%);
color: saturate(shade($green, 800), 25%);
}
&.token-3 {
background-color: saturate(shade($blue, 100), 25%);
color: saturate(shade($blue, 800), 25%);
}
} }

View File

@@ -65,10 +65,10 @@ $tabs-height: $line-height-computed + $tab-padding-vertical * 2 + 1px + 1px;
margin: 0; margin: 0;
padding: 0; padding: 0;
float: left; float: left;
transition: opacity .1s; transition: opacity $transition-time;
border: 0 none; border: 0 none;
border-radius: 0; border-radius: 0;
opacity: .8; opacity: $icon-opacity;
background-color: $body-bg; background-color: $body-bg;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
@@ -76,7 +76,7 @@ $tabs-height: $line-height-computed + $tab-padding-vertical * 2 + 1px + 1px;
&:hover, &:hover,
&:active { &:active {
opacity: 1; opacity: $icon-hover-opacity;
} }
&:active { &:active {
@@ -84,16 +84,16 @@ $tabs-height: $line-height-computed + $tab-padding-vertical * 2 + 1px + 1px;
} }
&.disabled { &.disabled {
opacity: .4; opacity: $icon-opacity / 2;
} }
} }
.tab-left { .tab-left {
@extend %image-arrow-left; background-image: inline-svg("chevron-left.svg", (path: (fill: $btn-default-icon-color)));
} }
.tab-right { .tab-right {
@extend %image-arrow-right; background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
} }
} }
} }
@@ -122,7 +122,7 @@ div.tabs:not(#main-menu) {
&:focus { &:focus {
border-color: $tab-hover-border $tab-hover-border $tab-border; border-color: $tab-hover-border $tab-hover-border $tab-border;
background-color: $tab-hover-bg; background-color: $tab-hover-bg;
color: $link-hover-color; color: $tab-hover-text;
text-decoration: none; text-decoration: none;
} }
@@ -167,7 +167,7 @@ div.tabs:not(#main-menu) {
margin-bottom: 3px; margin-bottom: 3px;
} }
label[for=principal_search] { label[for="principal_search"] {
padding-left: 0; padding-left: 0;
} }
} }

View File

@@ -29,6 +29,7 @@
} }
.top-menu-toggler { .top-menu-toggler {
@extend %fa-icon;
display: block; display: block;
position: absolute; position: absolute;
top: $toggler-position-v; top: $toggler-position-v;
@@ -37,13 +38,10 @@
} @else { } @else {
right: $toggler-position-h; right: $toggler-position-h;
} }
user-select: none;
@if $use-font-awesome {
@extend %fa-icon;
color: mix($top-menu-link, $top-menu-bg, 33%); color: mix($top-menu-link, $top-menu-bg, 33%);
font-size: $fa-font-size-base; font-size: $fa-font-size-base;
line-height: 1; line-height: 1;
user-select: none;
&::before { &::before {
content: $fa-var-caret-square-o-down; content: $fa-var-caret-square-o-down;
@@ -55,29 +53,11 @@
&:active { &:active {
color: mix($top-menu-link-hover, $top-menu-bg, 50%); color: mix($top-menu-link-hover, $top-menu-bg, 50%);
} }
} @else {
@extend %image-arrow-down-white;
width: 15px;
height: 15px;
border-radius: $border-radius-base;
background-repeat: no-repeat;
background-position: center center;
&:hover,
&:focus,
&:active {
background-color: lighten($top-menu-bg, 15%);
}
}
&.expanded { &.expanded {
@if $use-font-awesome {
&::before { &::before {
content: $fa-var-caret-square-o-up; content: $fa-var-caret-square-o-up;
} }
} @else {
@extend %image-arrow-up-white;
}
} }
@media screen and (min-width: $top-menu-collapse-breakpoint) { @media screen and (min-width: $top-menu-collapse-breakpoint) {
@@ -152,11 +132,11 @@
.root { .root {
color: $header-root; color: $header-root;
font-weight: 500; font-weight: $font-weight-semi-bold;
} }
.ancestor { .ancestor {
font-weight: 500; font-weight: $font-weight-semi-bold;
} }
.root, .root,
@@ -182,6 +162,10 @@
color: $header-text; color: $header-text;
} }
> * {
vertical-align: top;
}
form { form {
display: inline-block; display: inline-block;
@@ -204,7 +188,7 @@
color: $input-color; color: $input-color;
&[disabled] { &[disabled] {
color: $gray-lighter; color: $gray-400;
} }
} }
} }
@@ -220,36 +204,25 @@
border-color: $quick-search-dropdown-bg; border-color: $quick-search-dropdown-bg;
background-color: $quick-search-dropdown-bg; background-color: $quick-search-dropdown-bg;
@if $use-font-awesome {
&::after { &::after {
content: $fa-var-caret-up; content: $fa-var-caret-up;
} }
} @else {
@extend %image-arrow-up;
}
} }
} }
.drdn { .drdn {
&-trigger { &-trigger {
@extend %form-field; @extend %form-field;
@extend %fa-icon-after;
min-width: $quick-search-width; min-width: $quick-search-width;
border-color: $quick-search-border; border-color: $quick-search-border;
@if $use-font-awesome {
@extend %fa-icon-after;
&::after { &::after {
content: $fa-var-caret-down; content: $fa-var-caret-down;
position: absolute; position: absolute;
top: ($font-size-base / 2); top: ($font-size-base / 2);
right: $input-padding-horizontal; right: $input-padding-horizontal;
} }
} @else {
@extend %image-arrow-down;
background-repeat: no-repeat;
background-position: right ($input-padding-horizontal / 2) center;
}
} }
&-content { &-content {
@@ -311,6 +284,7 @@
> li { > li {
> a { > a {
height: $tabs-height; height: $tabs-height;
margin: 0;
border: 0 none; border: 0 none;
border-radius: 0; border-radius: 0;
background: transparent; background: transparent;
@@ -328,7 +302,6 @@
> li { > li {
position: relative; position: relative;
margin-right: .5em;
float: left; float: left;
&:hover { &:hover {
@@ -338,14 +311,14 @@
} }
> .menu-children { > .menu-children {
display: block; visibility: visible;
} }
} }
> a { > a {
display: block; display: block;
padding: $main-menu-padding-vertical $main-menu-padding-horizontal; padding: $main-menu-padding-vertical $main-menu-padding-horizontal;
transition: box-shadow .15s; transition: box-shadow $transition-time-long;
color: $main-menu-link; color: $main-menu-link;
line-height: $line-height-computed; line-height: $line-height-computed;
white-space: nowrap; white-space: nowrap;
@@ -357,7 +330,6 @@
&:hover, &:hover,
&:focus { &:focus {
outline: 0 none;
box-shadow: inset 0 (-$main-menu-shadow-width) 0 $main-menu-shadow-hover; box-shadow: inset 0 (-$main-menu-shadow-width) 0 $main-menu-shadow-hover;
text-decoration: none; text-decoration: none;
} }
@@ -367,20 +339,26 @@
border-bottom: 3px solid $main-menu-shadow-active; border-bottom: 3px solid $main-menu-shadow-active;
box-shadow: none; box-shadow: none;
color: $main-menu-link-active; color: $main-menu-link-active;
font-weight: $font-weight-bold; font-weight: $font-weight-semi-bold;
} }
&.new-object { &.new-object {
position: relative; position: relative;
min-width: 1.6em; width: $tabs-height;
margin-right: $main-menu-padding-horizontal;
padding-bottom: $main-menu-padding-vertical - 1px; padding-bottom: $main-menu-padding-vertical - 1px;
border: 1px solid $main-menu-border; border: 1px solid $main-menu-border;
border-width: 0 1px; border-width: 0 1px;
background-color: $main-menu-dropdown-bg; background-color: $main-menu-dropdown-bg;
color: $icon-success-color; font-size: 0;
font-size: 2em;
font-weight: bold; &::before {
@include fa-icon;
content: $fa-var-plus;
font-size: $fa-font-size-base;
line-height: $line-height-computed;
text-align: center; text-align: center;
}
&:hover, &:hover,
&:focus { &:focus {
@@ -397,7 +375,8 @@
.menu-children { .menu-children {
@include nice-shadow(2); @include nice-shadow(2);
display: none; display: block;
visibility: hidden;
position: absolute; position: absolute;
z-index: 1001; z-index: 1001;
min-width: 130px; min-width: 130px;
@@ -405,11 +384,12 @@
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
list-style: none; list-style: none;
transition: visibility 0ms 50ms;
border-radius: 0 0 $border-radius-base $border-radius-base; border-radius: 0 0 $border-radius-base $border-radius-base;
background: $main-menu-dropdown-bg; background: $main-menu-dropdown-bg;
&.visible { &.visible {
display: block; visibility: visible;
} }
a { a {
@@ -420,7 +400,6 @@
&:hover, &:hover,
&:focus { &:focus {
outline: 0 none;
background-color: $component-active-bg; background-color: $component-active-bg;
color: $component-active-color; color: $component-active-color;
text-decoration: none; text-decoration: none;
@@ -433,7 +412,7 @@
} }
.tabs-buttons { .tabs-buttons {
display: none !important; // scss-lint:disable ImportantRule display: none !important; // stylelint-disable-line declaration-no-important
padding-left: 0; padding-left: 0;
border-color: $main-menu-border; border-color: $main-menu-border;
background-color: $main-menu-bg; background-color: $main-menu-bg;
@@ -446,6 +425,6 @@
} }
ul + .tabs-buttons { ul + .tabs-buttons {
display: block !important; // scss-lint:disable ImportantRule display: block !important; // stylelint-disable-line declaration-no-important
} }
} }

View File

@@ -34,7 +34,7 @@ div.wiki {
color: $wiki-text; color: $wiki-text;
line-height: $wiki-line-height; line-height: $wiki-line-height;
//scss-lint:disable SingleLinePerSelector // stylelint-disable selector-list-comma-newline-after
h1, .h1, h1, .h1,
h2, .h2, h2, .h2,
h3, .h3, h3, .h3,
@@ -49,14 +49,14 @@ div.wiki {
h1, .h1 { h1, .h1 {
padding-bottom: .3em; padding-bottom: .3em;
border-bottom: 1px solid $gray-lighter; border-bottom: 1px solid $gray-400;
font-size: $font-size-h1; font-size: $font-size-h1;
line-height: 1.2; line-height: 1.2;
} }
h2, .h2 { h2, .h2 {
padding-bottom: .3em; padding-bottom: .3em;
border-bottom: 1px solid $gray-lighter; border-bottom: 1px solid $gray-400;
font-size: $font-size-h2; font-size: $font-size-h2;
line-height: 1.225; line-height: 1.225;
} }
@@ -75,12 +75,12 @@ div.wiki {
} }
h6, .h6 { h6, .h6 {
color: $gray; color: $gray-700;
font-size: $font-size-h6; font-size: $font-size-h6;
} }
.text-normal { .text-normal {
font-weight: normal; font-weight: $font-weight-normal;
} }
> a:first-child { > a:first-child {
@@ -106,7 +106,7 @@ div.wiki {
width: .7em; width: .7em;
margin-left: -.7em; margin-left: -.7em;
color: $headings-anchor-color-active; color: $headings-anchor-color-active;
font-weight: normal; font-weight: $font-weight-normal;
} }
} }
} }
@@ -127,10 +127,10 @@ div.wiki {
.contextual { .contextual {
a { a {
opacity: .5; opacity: $icon-opacity;
&:hover { &:hover {
opacity: 1; opacity: $icon-hover-opacity;
} }
} }
} }
@@ -179,7 +179,8 @@ div.wiki {
border: 1px solid $table-border-color; border: 1px solid $table-border-color;
} }
.noborder { .noborder,
.wiki-class-noborder {
border: 0 none; border: 0 none;
td, td,
@@ -195,7 +196,7 @@ div.wiki {
code { code {
padding: .2em .33em; padding: .2em .33em;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: rgba(#000, .04); background-color: rgba($gray-500, .3);
font-size: $font-size-small; font-size: $font-size-small;
} }
@@ -205,10 +206,9 @@ div.wiki {
padding: 4px 8px; padding: 4px 8px;
overflow-x: auto; overflow-x: auto;
overflow-y: hidden; overflow-y: hidden;
border: 1px solid #e7e7e7; border: 1px solid rgba($gray-500, .45);
border-radius: $border-radius-base; border-radius: $border-radius-base;
border-color: rgba(#000, .068); background-color: rgba($gray-500, .15);
background-color: rgba(#000, .03);
font-size: $font-size-small; font-size: $font-size-small;
code { code {
@@ -242,7 +242,7 @@ div.wiki {
a { a {
color: $highlight-text; color: $highlight-text;
font-weight: normal; font-weight: $font-weight-normal;
text-decoration: none; text-decoration: none;
&:hover { &:hover {
@@ -275,7 +275,7 @@ div.wiki {
} }
li { li {
// scss-lint:disable SelectorDepth // stylelint-disable selector-max-compound-selectors
margin: 0; margin: 0;
li { li {
@@ -319,9 +319,9 @@ h6 {
position: relative; position: relative;
top: -(1em - $font-size-small); top: -(1em - $font-size-small);
margin-left: 5px; margin-left: 5px;
color: $headings-anchor-color !important; // scss-lint:disable ImportantRule color: $headings-anchor-color !important; // stylelint-disable-line declaration-no-important
font-size: $font-size-small; font-size: $font-size-small;
text-decoration: none !important; // scss-lint:disable ImportantRule text-decoration: none !important; // stylelint-disable-line declaration-no-important
} }
&:hover { &:hover {
@@ -346,7 +346,7 @@ p.footnote {
width: 300px; width: 300px;
margin-top: $line-height-computed; margin-top: $line-height-computed;
padding-top: $line-height-computed / 2; padding-top: $line-height-computed / 2;
border-top: 1px solid $gray-lighter; border-top: 1px solid $gray-400;
} }
+ p.footnote::before { + p.footnote::before {
@@ -354,21 +354,26 @@ p.footnote {
} }
} }
.ltr,
.wiki-class-ltr {
direction: ltr;
}
.rtl,
.wiki-class-rtl {
direction: rtl;
}
.preview { .preview {
margin-top: $line-height-computed; margin-top: $line-height-computed;
padding: $padding-wiki; padding: $padding-wiki;
background-color: #fffbe5; border: 1px solid $gray-400;
background-image: url("../images/draft.png"); background-color: $body-bg;
background-position: center center;
html[lang="pl"] & {
background-image: url("../images/draft-pl.png");
}
} }
#wiki_add_attachment { #wiki_add_attachment {
padding-top: $line-height-computed; padding-top: $line-height-computed;
border-top: 1px solid $gray-lighter; border-top: 1px solid $gray-400;
> p { > p {
margin-bottom: 0; margin-bottom: 0;
@@ -470,7 +475,7 @@ p.footnote {
// Other helper classes // Other helper classes
// see: http://getbootstrap.com/css/#helper-classes // see: http://getbootstrap.com/css/#helper-classes
.text-muted { color: $gray-light; } .text-muted { color: $gray-600; }
.text-primary { color: $brand-primary; } .text-primary { color: $brand-primary; }
.text-success { color: $brand-success; } .text-success { color: $brand-success; }
.text-info { color: $brand-info; } .text-info { color: $brand-info; }

View File

@@ -1,7 +1,4 @@
@if $enable-sidebar-toggler { @if $enable-sidebar-toggler {
$toggler-position-v: 1px;
$toggler-position-h: 1px;
#main { #main {
position: relative; position: relative;
} }
@@ -35,80 +32,51 @@
.sidebar-toggler { .sidebar-toggler {
display: block; display: block;
position: absolute; position: absolute;
top: $toggler-position-v; top: 1px;
width: 14px;
height: 16px;
border: 2px solid $gray-700;
border-radius: $border-radius-base;
background-color: $gray-200;
background-position: center;
line-height: 1;
user-select: none; user-select: none;
@media print { @media print {
display: none; display: none;
} }
@if $use-font-awesome {
@extend %fa-icon;
color: $gray-light;
line-height: 1;
&::before {
margin-right: 0;
}
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: $gray; background-color: $gray-300;
}
} @else {
width: 15px;
height: 15px;
border-radius: $border-radius-base;
background-repeat: no-repeat;
background-position: center center;
&:hover,
&:focus,
&:active {
background-color: $gray-lighter;
}
} }
@if $sidebar-position == "left" { @if $sidebar-position == "left" {
left: $toggler-position-h; left: 0;
background-image: inline-svg("chevron-left.svg", (path: (fill: $gray-700)));
@if $use-font-awesome { @if not $fixed-layout {
&::before { border-left: 0;
content: $fa-var-caret-square-o-left; border-top-left-radius: 0;
border-bottom-left-radius: 0;
} }
} @else { } @else {
@extend %image-arrow-left; right: 0;
} background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-700)));
} @else {
right: $toggler-position-h;
@if $use-font-awesome { @if not $fixed-layout {
&::before { border-right: 0;
content: $fa-var-caret-square-o-right; border-top-right-radius: 0;
} border-bottom-right-radius: 0;
} @else {
@extend %image-arrow-right;
} }
} }
&.sidebar-hidden { &.sidebar-hidden {
@if $sidebar-position == "left" { @if $sidebar-position == "left" {
@if $use-font-awesome { background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-700)));
&::before {
content: $fa-var-caret-square-o-right;
}
} @else { } @else {
@extend %image-arrow-right; background-image: inline-svg("chevron-left.svg", (path: (fill: $gray-700)));
}
} @else {
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-left;
}
} @else {
@extend %image-arrow-left;
}
} }
} }
} }

View File

@@ -1,162 +1,116 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
// /* Document
// 1. Set default font family to sans-serif. ========================================================================== */
// 2. Prevent iOS text size adjust after orientation change, without disabling
// user zoom. /**
// * 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html { html {
font-family: sans-serif; // 1 line-height: 1.15; /* 1 */
-ms-text-size-adjust: 100%; // 2 -webkit-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; // 2
} }
// /* Sections
// Remove default margin. ========================================================================== */
//
/**
* Remove the margin in all browsers.
*/
body { body {
margin: 0; margin: 0;
} }
// HTML5 display definitions /**
// ========================================================================== * Render the `main` element consistently in IE.
*/
// main {
// Correct `block` display not defined for any HTML5 element in IE 8/9.
// Correct `block` display not defined for `details` or `summary` in IE 10/11
// and Firefox.
// Correct `block` display not defined for `main` in IE 11.
//
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block; display: block;
} }
// /* Grouping content
// 1. Correct `inline-block` display not defined in IE 8/9. ========================================================================== */
// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
//
audio, /**
canvas, * 1. Add the correct box sizing in Firefox.
progress, * 2. Show the overflow in Edge and IE.
video { */
display: inline-block; // 1
vertical-align: baseline; // 2 hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
} }
// /**
// Prevent modern browsers from displaying `audio` without controls. * 1. Correct the inheritance and scaling of font size in all browsers.
// Remove excess height in iOS 5 devices. * 2. Correct the odd `em` font sizing in all browsers.
// */
audio:not([controls]) { pre {
display: none; font-family: monospace, monospace; /* 1 */
height: 0; font-size: 1em; /* 2 */
} }
// /* Text-level semantics
// Address `[hidden]` styling not present in IE 8/9/10. ========================================================================== */
// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
//
[hidden], /**
template { * Remove the gray background on active links in IE 10.
display: none; */
}
// Links
// ==========================================================================
//
// Remove the gray background color from active links in IE 10.
//
a { a {
background-color: transparent; background-color: transparent;
} }
// /**
// Improve readability when focused and also mouse hovered in all browsers. * 1. Remove the bottom border in Chrome 57-
// * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
a:active,
a:hover {
outline: 0;
}
// Text-level semantics
// ==========================================================================
//
// Address styling not present in IE 8/9/10/11, Safari, and Chrome.
//
abbr[title] { abbr[title] {
border-bottom: 1px dotted; border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
} }
// /**
// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. * Add the correct font weight in Chrome, Edge, and Safari.
// */
b, b,
strong { strong {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
} }
// /**
// Address styling not present in Safari and Chrome. * 1. Correct the inheritance and scaling of font size in all browsers.
// * 2. Correct the odd `em` font sizing in all browsers.
*/
dfn { code,
font-style: italic; kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
} }
// /**
// Address variable `h1` font-size and margin within `section` and `article` * Add the correct font size in all browsers.
// contexts in Firefox 4+, Safari, and Chrome. */
//
h1 {
font-size: 2em;
margin: 0.67em 0;
}
//
// Address styling not present in IE 8/9.
//
mark {
background: #ff0;
color: #000;
}
//
// Address inconsistent and variable font size in all browsers.
//
small { small {
font-size: 80%; font-size: 80%;
} }
// /**
// Prevent `sub` and `sup` affecting `line-height` in all browsers. * Prevent `sub` and `sup` elements from affecting the line height in
// * all browsers.
*/
sub, sub,
sup { sup {
@@ -166,262 +120,220 @@ sup {
vertical-align: baseline; vertical-align: baseline;
} }
sup {
top: -0.5em;
}
sub { sub {
bottom: -0.25em; bottom: -0.25em;
} }
// Embedded content sup {
// ========================================================================== top: -0.5em;
}
// /* Embedded content
// Remove border when inside `a` element in IE 8/9/10. ========================================================================== */
//
/**
* Remove the border on images inside links in IE 10.
*/
img { img {
border: 0; border-style: none;
} }
// /* Forms
// Correct overflow not hidden in IE 9/10/11. ========================================================================== */
//
svg:not(:root) { /**
overflow: hidden; * 1. Change the font styles in all browsers.
} * 2. Remove the margin in Firefox and Safari.
*/
// Grouping content
// ==========================================================================
//
// Address margin not present in IE 8/9 and Safari.
//
figure {
margin: 1em 40px;
}
//
// Address differences between Firefox and other browsers.
//
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
//
// Contain overflow in all browsers.
//
pre {
overflow: auto;
}
//
// Address odd `em`-unit font size rendering in all browsers.
//
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
// Forms
// ==========================================================================
//
// Known limitation: by default, Chrome and Safari on OS X allow very limited
// styling of `select`, unless a `border` property is set.
//
//
// 1. Correct color not being inherited.
// Known issue: affects color of disabled elements.
// 2. Correct font properties not being inherited.
// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
//
button, button,
input, input,
optgroup, optgroup,
select, select,
textarea { textarea {
color: inherit; // 1 font-family: inherit; /* 1 */
font: inherit; // 2 font-size: 100%; /* 1 */
margin: 0; // 3 line-height: 1.15; /* 1 */
margin: 0; /* 2 */
} }
// /**
// Address `overflow` set to `hidden` in IE 8/9/10/11. * Show the overflow in IE.
// * 1. Show the overflow in Edge.
*/
button { button,
input { /* 1 */
overflow: visible; overflow: visible;
} }
// /**
// Address inconsistent `text-transform` inheritance for `button` and `select`. * Remove the inheritance of text transform in Edge, Firefox, and IE.
// All other form control elements do not inherit `text-transform` values. * 1. Remove the inheritance of text transform in Firefox.
// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. */
// Correct `select` style inheritance in Firefox.
//
button, button,
select { select { /* 1 */
text-transform: none; text-transform: none;
} }
// /**
// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * Correct the inability to style clickable types in iOS and Safari.
// and `video` controls. */
// 2. Correct inability to style clickable `input` types in iOS.
// 3. Improve usability and consistency of cursor style between image-type
// `input` and others.
//
button, button,
html input[type="button"], // 1 [type="button"],
input[type="reset"], [type="reset"],
input[type="submit"] { [type="submit"] {
-webkit-appearance: button; // 2 -webkit-appearance: button;
cursor: pointer; // 3
} }
// /**
// Re-set default cursor for disabled elements. * Remove the inner border and padding in Firefox.
// */
button[disabled],
html input[disabled] {
cursor: default;
}
//
// Remove inner padding and border in Firefox 4+.
//
button::-moz-focus-inner, button::-moz-focus-inner,
input::-moz-focus-inner { [type="button"]::-moz-focus-inner,
border: 0; [type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0; padding: 0;
} }
// /**
// Address Firefox 4+ setting `line-height` on `input` using `!important` in * Restore the focus styles unset by the previous rule.
// the UA stylesheet. */
//
input { button:-moz-focusring,
line-height: normal; [type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
} }
// /**
// It's recommended that you don't attempt to style these elements. * Correct the padding in Firefox.
// Firefox's implementation doesn't respect box-sizing, padding, or width. */
//
// 1. Address box sizing set to `content-box` in IE 8/9/10.
// 2. Remove excess padding in IE 8/9/10.
//
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; // 1
padding: 0; // 2
}
//
// Fix the cursor style for Chrome's increment/decrement buttons. For certain
// `font-size` values of the `input`, it causes the cursor style of the
// decrement button to change from `default` to `text`.
//
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
//
// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
// 2. Address `box-sizing` set to `border-box` in Safari and Chrome
// (include `-moz` to future-proof).
//
input[type="search"] {
-webkit-appearance: textfield; // 1
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; // 2
box-sizing: content-box;
}
//
// Remove inner padding and search cancel button in Safari and Chrome on OS X.
// Safari (but not Chrome) clips the cancel button when the search input has
// padding (and `textfield` appearance).
//
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
//
// Define consistent border, margin, and padding.
//
fieldset { fieldset {
border: 1px solid #c0c0c0; padding: 0.35em 0.75em 0.625em;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
} }
// /**
// 1. Correct `color` not being inherited in IE 8/9/10/11. * 1. Correct the text wrapping in Edge and IE.
// 2. Remove padding so people aren't caught out if they zero out fieldsets. * 2. Correct the color inheritance from `fieldset` elements in IE.
// * 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend { legend {
border: 0; // 1 box-sizing: border-box; /* 1 */
padding: 0; // 2 color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
} }
// /**
// Remove default vertical scrollbar in IE 8/9/10/11. * Add the correct vertical alignment in Chrome, Firefox, and Opera.
// */
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea { textarea {
overflow: auto; overflow: auto;
} }
// /**
// Don't inherit the `font-weight` (applied by a rule above). * 1. Add the correct box sizing in IE 10.
// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. * 2. Remove the padding in IE 10.
// */
optgroup { [type="checkbox"],
font-weight: $font-weight-bold; [type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
} }
// Tables /**
// ========================================================================== * Correct the cursor style of increment and decrement buttons in Chrome.
*/
// [type="number"]::-webkit-inner-spin-button,
// Remove most spacing between table cells. [type="number"]::-webkit-outer-spin-button {
// height: auto;
table {
border-collapse: collapse;
border-spacing: 0;
} }
td, /**
th { * 1. Correct the odd appearance in Chrome and Safari.
padding: 0; * 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
} }

View File

@@ -796,3 +796,4 @@ $fa-var-yoast: "\f2b1";
$fa-var-youtube: "\f167"; $fa-var-youtube: "\f167";
$fa-var-youtube-play: "\f16a"; $fa-var-youtube-play: "\f16a";
$fa-var-youtube-square: "\f166"; $fa-var-youtube-square: "\f166";

View File

@@ -1,9 +1,9 @@
// Button sizes // Button sizes
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { @mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
padding: $padding-vertical $padding-horizontal; padding: $padding-vertical $padding-horizontal;
border-radius: $border-radius;
font-size: $font-size; font-size: $font-size;
line-height: $line-height; line-height: $line-height;
border-radius: $border-radius;
} }
@mixin button-variant($color, $bg, $border) { @mixin button-variant($color, $bg, $border) {

View File

@@ -2,6 +2,6 @@
@mixin center-block() { @mixin center-block() {
display: block; display: block;
margin-left: auto;
margin-right: auto; margin-right: auto;
margin-left: auto;
} }

View File

@@ -44,8 +44,9 @@
@extend %clearfix; @extend %clearfix;
position: relative; position: relative;
padding-left: $check-input-gutter; padding-left: $check-input-gutter;
text-align: left;
font-weight: $font-weight-normal; font-weight: $font-weight-normal;
line-height: $line-height-base;
text-align: left;
input[type="checkbox"], input[type="checkbox"],
input[type="radio"] { input[type="radio"] {
@@ -66,10 +67,12 @@
@include check; @include check;
display: block; display: block;
width: auto; width: auto;
margin: $btn-padding-vertical 0; margin: 0;
padding-top: $check-list-offset-top;
padding-bottom: $check-list-offset-top;
float: none; float: none;
@media screen and (min-width: $screen-sm-min) { @media screen and (min-width: $screen-sm-min) {
margin: 0; padding-bottom: 0;
} }
} }

View File

@@ -1,146 +1,23 @@
// Priority highlight // Priority icon
@mixin priority($parent, $background, $color, $link) { @mixin priority-icon-base() {
@if lightness($background) < 85% { &::before {
$background: lighten($background, 6%); content: "\00a0";
} display: inline-block;
width: $priority-icon-size;
$border-color: darken(desaturate($background, 30%), 13.5%); margin-right: $priority-icon-space;
background-repeat: no-repeat;
table.list:not(.odd-even) tbody tr#{$parent} { background-position: center center;
@if $table-list-color-odd-rows { background-size: $priority-icon-size;
&:nth-child(odd) {
background: darken($background, $table-accent-factor * 100%);
} }
} }
@if $table-list-color-even-rows { @mixin priority-icon($parent, $color, $icon) {
&:nth-child(even) { table.list tbody tr#{$parent} .priority,
background: darken($background, $table-accent-factor * 100%); .issue.details#{$parent} .attributes td.priority,
} .issue.details#{$parent} .attribute.priority .value {
} &::before {
} background-image: inline-svg($icon, (path: (fill: $color)));
tr#{$parent} {
background: $background;
@if ".priority-default" == $parent {
color: $color;
} @else {
color: darken($color, 10%);
}
@if $table-list-color-odd-rows {
&.odd {
background: darken($background, $table-accent-factor * 100%);
}
}
@if $table-list-color-even-rows {
&.even {
background: darken($background, $table-accent-factor * 100%);
}
}
td {
border-color: $border-color;
}
a {
color: $link;
&:hover {
color: darken($link, 10%);
}
}
}
@if $table-list-highlight-rows {
table.list > tbody > tr#{$parent}:hover {
background: darken($background, $table-hover-factor * 100%);
}
@if $table-list-color-odd-rows {
&.odd {
background: darken($background, ($table-accent-factor + $table-hover-factor) * 100%);
}
}
@if $table-list-color-even-rows {
&.even {
background: darken($background, ($table-accent-factor + $table-hover-factor) * 100%);
}
}
}
@if $colored-issue {
.issue.details#{$parent} {
color: $color;
@if ".priority-default" == $parent {
$border-color: $issue-border;
background: $issue-bg;
} @else {
background: $background;
}
&,
hr {
border-color: $border-color;
}
a {
color: $link;
&:hover {
color: darken($link, 10%);
}
}
.next-prev-links {
color: mix($color, $gray-light, 25%);
}
> .description > .wiki {
border-top-color: $border-color;
}
.wiki {
a {
color: $link-color;
text-decoration: none;
&:hover,
&:focus {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
}
&.new {
color: $brand-danger;
}
}
}
> .attachments {
span.author {
color: mix($color, $gray, 25%);
}
}
> .description + .attachments {
border-top-color: lighten($border-color, 5%);
@if ".priority-default" == $parent {
background-color: lighten($issue-bg, 1.5%);
} @else {
background-color: lighten($background, 5%);
}
}
.list td {
border-bottom-color: $border-color;
}
} }
} }
} }
@@ -185,14 +62,4 @@
color: mix($color, $background, 50%); color: mix($color, $background, 50%);
} }
} }
@if $colored-issue {
.issue.details a#{$parent},
.issue.details .wiki a#{$parent} {
&,
&:hover {
color: $color;
}
}
}
} }

View File

@@ -1,10 +1,29 @@
// Link variant // Link variant
@mixin link-variant($default-color, $hover-color: darken($default-color, 10%)) { @mixin link-variant($variant, $focus-hover: true) {
color: $default-color; $colors: map-get($icon-color-map, $variant);
color: map-get($colors, normal);
@if $focus-hover {
&:focus,
&:hover {
color: map-get($colors, hover);
}
}
}
@mixin icon-variant($variant) {
$colors: map-get($icon-color-map, $variant);
&::before {
color: map-get($colors, normal);
}
&:focus, &:focus,
&:hover { &:hover {
color: $hover-color; &::before {
color: map-get($colors, hover);
}
} }
} }

View File

@@ -4,15 +4,15 @@
$shadow: none; $shadow: none;
@if ($depth == 1) { @if ($depth == 1) {
$shadow: 0 1px 3px rgba(#000, .12), 0 1px 2px rgba(#000, .24); $shadow: 0 1px 2px rgba(#000, .25);
} @else if ($depth == 2) { } @else if ($depth == 2) {
$shadow: 0 3px 6px rgba(#000, .16), 0 3px 6px rgba(#000, .23); $shadow: 0 5px 8px -2px rgba(#000, .25), 0 1px 2px rgba(#000, .3);
} @else if ($depth == 3) { } @else if ($depth == 3) {
$shadow: 0 10px 18px rgba(#000, .19), 0 6px 8px rgba(#000, .23); $shadow: 0 8px 16px -3px rgba(#000, .25), 0 2px 4px rgba(#000, .3);
} @else if ($depth == 4) { } @else if ($depth == 4) {
$shadow: 0 14px 28px rgba(#000, .25), 0 10px 10px rgba(#000, .22); $shadow: 0 14px 24px -4px rgba(#000, .25), 0 3px 10px rgba(#000, .3);
} @else if ($depth == 5) { } @else if ($depth == 5) {
$shadow: 0 19px 38px rgba(#000, .3), 0 15px 12px rgba(#000, .22); $shadow: 0 20px 32px -2px rgba(#000, .25), 0 4px 12px rgba(#000, .3);
} }
box-shadow: $shadow; box-shadow: $shadow;

View File

@@ -10,7 +10,7 @@ body {
height: 100%; height: 100%;
margin: 0; margin: 0;
padding: 0; padding: 0;
background-color: mix($gray-lighter, $header-bg, 70%); background-color: mix($gray-400, $header-bg, 70%);
color: $text-color; color: $text-color;
font-family: $font-family-base; font-family: $font-family-base;
font-size: $font-size-base; font-size: $font-size-base;
@@ -67,7 +67,9 @@ input.editor,
@include placeholder; @include placeholder;
height: $input-height-base; height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal; padding: $input-padding-vertical $input-padding-horizontal;
transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s; transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid $input-border; border: 1px solid $input-border;
border-radius: $input-border-radius; border-radius: $input-border-radius;
background-color: $input-bg; background-color: $input-bg;
@@ -90,7 +92,9 @@ button.ui-multiselect {
height: $input-height-base; height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal; padding: $input-padding-vertical $input-padding-horizontal;
overflow: hidden; overflow: hidden;
transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s; transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid $input-border; border: 1px solid $input-border;
background: $input-bg; background: $input-bg;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
@@ -168,6 +172,10 @@ button.ui-multiselect {
.links { .links {
float: right; float: right;
input {
vertical-align: initial;
}
a { a {
padding-left: 5px; padding-left: 5px;
cursor: pointer; cursor: pointer;
@@ -294,7 +302,7 @@ ul.ui-sortable {
.rb-sortable-disabled, .rb-sortable-disabled,
.ui-sortable-disabled { .ui-sortable-disabled {
opacity: .5; opacity: .5;
background-color: $gray-lighter; background-color: $gray-400;
} }
.w-rb-header-collapsed { .w-rb-header-collapsed {

View File

@@ -1,4 +1,4 @@
// scss-lint:disable Comment // stylelint-disable comment-whitespace-inside, no-duplicate-selectors
@import "../common"; @import "../common";
/* /*
@@ -66,7 +66,7 @@
----------------------------------*/ ----------------------------------*/
.ui-state-disabled { .ui-state-disabled {
cursor: default !important; // scss-lint:disable ImportantRule cursor: default !important; // stylelint-disable-line declaration-no-important
} }
/* Icons /* Icons
@@ -158,7 +158,7 @@
background: $component-bg; background: $component-bg;
box-shadow: none; box-shadow: none;
color: $component-color; color: $component-color;
font-weight: normal; font-weight: $font-weight-normal;
} }
.ui-state-default a, .ui-state-default a,
@@ -177,7 +177,7 @@
border: 1px solid $component-active-border; border: 1px solid $component-active-border;
background: $component-active-bg; background: $component-active-bg;
color: $component-active-color; color: $component-active-color;
font-weight: normal; font-weight: $font-weight-normal;
.ui-icon { .ui-icon {
background-image: url("../images/ui-icons_ffffff_256x240.png"); background-image: url("../images/ui-icons_ffffff_256x240.png");
@@ -202,7 +202,7 @@
border: 1px solid $component-active-border; border: 1px solid $component-active-border;
background: $component-active-bg; background: $component-active-bg;
color: $component-active-color; color: $component-active-color;
font-weight: normal; font-weight: $font-weight-normal;
} }
.ui-state-active a, .ui-state-active a,
@@ -222,24 +222,24 @@
.ui-state-highlight, .ui-state-highlight,
.ui-widget-content .ui-state-highlight { .ui-widget-content .ui-state-highlight {
border: 1px solid #fcefa1; border: 1px solid shade($yellow, 600);
background: #fbf9ee; background: shade($yellow, 200);
color: #363636; color: shade($yellow, 800);
a { a {
color: #363636; color: shade($yellow, 800);
} }
} }
.ui-state-error, .ui-state-error,
.ui-widget-content .ui-state-error { .ui-widget-content .ui-state-error {
border: 1px solid #cd0a0a; border: 1px solid $red;
background: #fef1ec; background: shade($red, 50);
color: #cd0a0a; color: $red;
a { a {
color: #cd0a0a; color: $red;
} }
} }
@@ -251,7 +251,7 @@
.ui-priority-secondary, .ui-priority-secondary,
.ui-widget-content .ui-priority-secondary { .ui-widget-content .ui-priority-secondary {
opacity: .7; opacity: .7;
font-weight: normal; font-weight: $font-weight-normal;
} }
.ui-state-disabled, .ui-state-disabled,
@@ -521,7 +521,7 @@
.ui-widget-overlay { .ui-widget-overlay {
opacity: .3; opacity: .3;
background: #000; background: $black;
} }
.ui-widget-shadow { .ui-widget-shadow {
@@ -529,7 +529,7 @@
padding: 8px; padding: 8px;
border-radius: 8px; border-radius: 8px;
opacity: .3; opacity: .3;
background: #aaa; background: $gray-600;
} }
/* Resizable /* Resizable
@@ -631,7 +631,7 @@
} }
.ui-accordion-header-active { .ui-accordion-header-active {
border-bottom: 0 !important; // scss-lint:disable ImportantRule border-bottom: 0 !important; // stylelint-disable-line declaration-no-important
} }
.ui-accordion-header a { .ui-accordion-header a {
@@ -734,7 +734,7 @@
overflow: visible; overflow: visible;
zoom: 1; zoom: 1;
text-align: center; text-align: center;
text-decoration: none !important; // scss-lint:disable ImportantRule text-decoration: none !important; // stylelint-disable-line declaration-no-important
cursor: pointer; cursor: pointer;
} }
@@ -1007,7 +1007,7 @@ button.ui-button::-moz-focus-inner {
padding: 0; padding: 0;
float: left; float: left;
list-style: none; list-style: none;
border-bottom: 0 !important; // scss-lint:disable ImportantRule border-bottom: 0 !important; // stylelint-disable-line declaration-no-important
white-space: nowrap; white-space: nowrap;
a { a {
@@ -1048,7 +1048,7 @@ button.ui-button::-moz-focus-inner {
} }
.ui-tabs-hide { .ui-tabs-hide {
display: none !important; // scss-lint:disable ImportantRule display: none !important; // stylelint-disable-line declaration-no-important
} }
} }
@@ -1083,7 +1083,7 @@ button.ui-button::-moz-focus-inner {
background: $body-bg; background: $body-bg;
box-shadow: none; box-shadow: none;
color: $component-color; color: $component-color;
font-weight: normal; font-weight: $font-weight-normal;
a, a,
a:link, a:link,
@@ -1098,7 +1098,7 @@ button.ui-button::-moz-focus-inner {
border: 1px solid $component-active-border; border: 1px solid $component-active-border;
background: $component-active-bg; background: $component-active-bg;
color: $component-active-color; color: $component-active-color;
font-weight: normal; font-weight: $font-weight-normal;
} }
.ui-datepicker-prev, .ui-datepicker-prev,

View File

@@ -11,13 +11,13 @@
.ui-multiselect-single .ui-multiselect-checkboxes { .ui-multiselect-single .ui-multiselect-checkboxes {
input { input {
position: absolute !important; // scss-lint:disable ImportantRule position: absolute !important; // stylelint-disable-line declaration-no-important
top: auto !important; // scss-lint:disable ImportantRule top: auto !important; // stylelint-disable-line declaration-no-important
left: -9999px; left: -9999px;
} }
label { label {
padding: 5px !important; // scss-lint:disable ImportantRule padding: 5px !important; // stylelint-disable-line declaration-no-important
} }
} }
@@ -71,10 +71,6 @@
top: 0; top: 0;
margin: 3px 0 0 -20px; margin: 3px 0 0 -20px;
float: left; float: left;
&:focus {
outline: none;
}
} }
label { label {

View File

@@ -22,16 +22,13 @@
word-wrap: break-word; word-wrap: break-word;
} }
.ui-tooltip-tip {
border-color: $tooltip-border;
background-color: $tooltip-bg;
}
.ui-tooltip-tip { .ui-tooltip-tip {
position: absolute; position: absolute;
z-index: 10; z-index: 10;
margin: 0 auto; margin: 0 auto;
overflow: hidden; overflow: hidden;
border: 0 none; border: 0 none;
border-color: $tooltip-border;
background: transparent; background: transparent;
background-color: $tooltip-bg;
} }

View File

@@ -160,7 +160,7 @@ $story-sp-input-width: 50px;
position: relative; position: relative;
margin: 0 0 ($padding-side / 2); margin: 0 0 ($padding-side / 2);
border-radius: $border-radius-large $border-radius-large 0 0; border-radius: $border-radius-large $border-radius-large 0 0;
background-color: $gray-lightest; background-color: $gray-100;
@media screen and (min-width: $screen-md-min) { @media screen and (min-width: $screen-md-min) {
margin: 0 0 $padding-side; margin: 0 0 $padding-side;
@@ -189,9 +189,10 @@ $story-sp-input-width: 50px;
&:focus { &:focus {
border-color: lighten($header-bg, 25%); border-color: lighten($header-bg, 25%);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2), box-shadow:
inset 0 1px 3px rgba(0, 0, 0, .2),
0 0 0 1px lighten($header-bg, 25%); 0 0 0 1px lighten($header-bg, 25%);
color: $gray-darkest; color: $gray-950;
} }
} }
@@ -279,7 +280,7 @@ $story-sp-input-width: 50px;
$name-width-minus: $header-right-width-wider + 35px; $name-width-minus: $header-right-width-wider + 35px;
position: relative; position: relative;
width: calc(100% - #{$name-width-minus}) !important; // scss-lint:disable ImportantRule width: calc(100% - #{$name-width-minus}) !important; // stylelint-disable-line declaration-no-important
min-width: 128px; min-width: 128px;
margin-left: $header-line-height - 2px; margin-left: $header-line-height - 2px;
float: left; float: left;
@@ -341,7 +342,7 @@ $story-sp-input-width: 50px;
box-shadow: 0 2px 1px rgba(#000, .1); box-shadow: 0 2px 1px rgba(#000, .1);
a { a {
color: $gray-darker; color: $gray-900;
} }
} }
@@ -434,7 +435,7 @@ $story-sp-input-width: 50px;
.placeholder { .placeholder {
min-height: ($line-height-computed + $table-condensed-cell-padding * 2); min-height: ($line-height-computed + $table-condensed-cell-padding * 2);
background-color: $gray; background-color: $gray-700;
} }
} }
@@ -442,14 +443,14 @@ $story-sp-input-width: 50px;
display: block; display: block;
margin: 0; margin: 0;
padding: 0 $table-condensed-cell-padding; padding: 0 $table-condensed-cell-padding;
border-top: 1px solid $gray-lighter; border-top: 1px solid $gray-400;
background-color: $body-bg; background-color: $body-bg;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
cursor: move; cursor: move;
&:nth-child(2n) { &:nth-child(2n) {
background-color: $gray-lightest; background-color: $gray-100;
} }
&:hover { &:hover {
@@ -458,7 +459,7 @@ $story-sp-input-width: 50px;
&.saving { &.saving {
background-image: url("images/ajax.gif"); background-image: url("images/ajax.gif");
color: $gray-light; color: $gray-600;
} }
&.error { &.error {
@@ -485,8 +486,8 @@ $story-sp-input-width: 50px;
background-color: $tracker-default-bg; background-color: $tracker-default-bg;
color: $tracker-default-text; color: $tracker-default-text;
} @else { } @else {
background-color: darken($gray-lightest, 3%); background-color: darken($gray-100, 3%);
color: $gray-dark; color: $gray-800;
} }
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
text-align: right; text-align: right;
@@ -497,16 +498,16 @@ $story-sp-input-width: 50px;
@if $color-trackers { @if $color-trackers {
color: mix($tracker-default-text, $tracker-default-bg, 50%); color: mix($tracker-default-text, $tracker-default-bg, 50%);
} @else { } @else {
color: $gray-light; color: $gray-600;
} }
font-weight: normal; font-weight: $font-weight-normal;
} }
&:hover { &:hover {
@if $color-trackers { @if $color-trackers {
background-color: darken($tracker-default-bg, 10%); background-color: darken($tracker-default-bg, 10%);
} @else { } @else {
background-color: $gray-lighter; background-color: $gray-400;
} }
text-decoration: none; text-decoration: none;
} }
@@ -592,9 +593,10 @@ $story-sp-input-width: 50px;
&:focus { &:focus {
border-color: darken($highlight-border, 15%); border-color: darken($highlight-border, 15%);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), box-shadow:
inset 0 1px 2px rgba(0, 0, 0, .075),
0 0 5px rgba(darken($highlight-border, 15%), .5); 0 0 5px rgba(darken($highlight-border, 15%), .5);
color: $gray-darkest; color: $gray-950;
} }
} }
@@ -643,7 +645,7 @@ $story-sp-input-width: 50px;
&.subject { &.subject {
$subject-width-minus: $story-status-input-width + $story-sp-input-width + 5px * 2; $subject-width-minus: $story-status-input-width + $story-sp-input-width + 5px * 2;
width: calc(100% - #{$subject-width-minus}) !important; // scss-lint:disable ImportantRule width: calc(100% - #{$subject-width-minus}) !important; // stylelint-disable-line declaration-no-important
height: 60px; height: 60px;
float: left; float: left;
overflow: auto; overflow: auto;
@@ -755,7 +757,8 @@ $story-sp-input-width: 50px;
@include button-size($input-padding-vertical, $input-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base); @include button-size($input-padding-vertical, $input-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base);
display: inline-block; display: inline-block;
margin-bottom: 0; margin-bottom: 0;
transition: background-color ease-in-out .07s, transition:
background-color ease-in-out .07s,
border-color ease-in-out .07s, border-color ease-in-out .07s,
box-shadow ease-in-out .07s; box-shadow ease-in-out .07s;
border: 1px solid; border: 1px solid;
@@ -821,7 +824,7 @@ $story-sp-input-width: 50px;
#show_completed_sprints { #show_completed_sprints {
margin-left: $padding-side / 2; margin-left: $padding-side / 2;
color: $gray-darkest; color: $gray-950;
cursor: pointer; cursor: pointer;
} }

View File

@@ -86,7 +86,7 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
} }
.board { .board {
border: 1px solid $gray; border: 1px solid $gray-700;
border-top: 0 none; border-top: 0 none;
background-color: $body-bg; background-color: $body-bg;
color: $text-color; color: $text-color;
@@ -141,7 +141,7 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
} }
.story { .story {
color: $gray-darker; color: $gray-900;
.id { .id {
margin-bottom: 5px; margin-bottom: 5px;
@@ -157,11 +157,11 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
.remaininghours { .remaininghours {
margin-left: 4px; margin-left: 4px;
float: right; float: right;
font-weight: normal; font-weight: $font-weight-normal;
} }
a { a {
color: $gray-darkest; color: $gray-950;
font-size: $font-size-small-px; font-size: $font-size-small-px;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
} }
@@ -226,8 +226,8 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
float: left; float: left;
border: 0 none; border: 0 none;
border-radius: $border-radius-large; border-radius: $border-radius-large;
background-color: $gray-lighter; background-color: $gray-400;
color: $gray-darker; color: $gray-900;
font-size: 10px; font-size: 10px;
line-height: 1.3; line-height: 1.3;
cursor: move; cursor: move;
@@ -259,7 +259,7 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
} }
a { a {
color: $gray-darkest; color: $gray-950;
} }
} }

File diff suppressed because one or more lines are too long

1
svg/calendar.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="880.5 896.5 16 16"><path fill="red" d="M882.5 910.5h2.3v-2.3h-2.3v2.3zm2.8 0h2.5v-2.3h-2.5v2.3zm-2.8-2.8h2.3v-2.5h-2.3v2.5zm2.8 0h2.5v-2.5h-2.5v2.5zm-2.8-3h2.3v-2.2h-2.3v2.3zm5.8 5.8h2.5v-2.3h-2.5v2.3zm-3-5.8h2.5v-2.2h-2.5v2.3zm6 5.8h2.2v-2.3h-2.3v2.3zm-3-2.8h2.5v-2.5h-2.5v2.5zm-2.8-6.7v-2.3-.1l-.2-.1h-.7l-.1.2v2.5H885.5l.1-.2zm5.8 6.8h2.2v-2.5h-2.3v2.5zm-3-3h2.5v-2.3h-2.5v2.3zm3 0h2.2v-2.3h-2.3v2.3zm.2-3.8v-2.3-.1l-.2-.1h-.7l-.1.2v2.5H891.5l.1-.2zm3-.5v10c0 .3-.1.5-.3.7s-.4.3-.7.3h-11c-.3 0-.5-.1-.7-.3s-.3-.4-.3-.7v-10c0-.3.1-.5.3-.7s.4-.3.7-.3h1v-.8c0-.3.1-.6.4-.8s.5-.4.8-.4h.5c.4 0 .7.1 1 .4s.3.5.3.8v.8h3v-.8c0-.3.1-.6.4-.8s.5-.4.8-.4h.5c.4 0 .7.1 1 .4s.3.5.3.8v.8h1c.3 0 .5.1.7.3s.3.4.3.7z"/></svg>

After

Width:  |  Height:  |  Size: 782 B

1
svg/chevron-left.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="red" d="M8.996 12.659l-3.5-4a1.002 1.002 0 0 1 0-1.317l3.5-4a1 1 0 1 1 1.503 1.317L7.576 8l2.924 3.342a1 1 0 1 1-1.504 1.317z"/></svg>

After

Width:  |  Height:  |  Size: 209 B

1
svg/chevron-right.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="red" d="M6.25 13a1 1 0 0 1-.752-1.658L8.422 8 5.499 4.659a1 1 0 1 1 1.503-1.317l3.5 4c.329.377.329.94 0 1.317l-3.5 4A.993.993 0 0 1 6.25 13z"/></svg>

After

Width:  |  Height:  |  Size: 225 B

1
svg/diff-added.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="-14.5 16.5 14 14"><path fill="red" d="M-1.5 16.5h-12c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-12c0-.55-.45-1-1-1zm0 13h-12v-12h12v12zm-7-5h-3v-2h3v-3h2v3h3v2h-3v3h-2v-3z"/></svg>

After

Width:  |  Height:  |  Size: 264 B

1
svg/diff-copied.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="-7.5 8.5 14 14"><path fill="red" d="M5.5 8.5h-12c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-12c0-.55-.45-1-1-1zm0 13h-12v-12h12v12z"/><path fill="red" d="M4 13l-6 6-3-3 1.5-1.5L-2 16l4.5-4.5z"/></svg>

After

Width:  |  Height:  |  Size: 284 B

1
svg/diff-deleted.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="-7.5 9.5 14 14"><path fill="red" d="M5.5 9.5h-12c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-12c0-.55-.45-1-1-1zm0 13h-12v-12h12v12zm-2-5h-8v-2h8v2z"/></svg>

After

Width:  |  Height:  |  Size: 240 B

1
svg/diff-modified.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="-14.5 16.5 14 14"><path fill="red" d="M-1.5 16.5h-12c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-12c0-.55-.45-1-1-1zm0 13h-12v-12h12v12zm-9-6c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"/></svg>

After

Width:  |  Height:  |  Size: 285 B

1
svg/diff-renamed.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="-7.5 9.5 14 14"><path fill="red" d="M-1.5 17.5h-3v-2h3v-3l5 4-5 4v-3zm8-7v12c0 .55-.45 1-1 1h-12c-.55 0-1-.45-1-1v-12c0-.55.45-1 1-1h12c.55 0 1 .45 1 1zm-1 0h-12v12h12v-12z"/></svg>

After

Width:  |  Height:  |  Size: 253 B

1
svg/minus.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="red" d="M4 7h8v2H4z"/></svg>

After

Width:  |  Height:  |  Size: 104 B

1
svg/plus.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="-1 -1 16 16"><path fill="red" d="M11 6H8V3H6v3H3v2h3v3h2V8h3z"/></svg>

After

Width:  |  Height:  |  Size: 143 B

1
svg/priority-blocker.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M7 1.25C3.829 1.25 1.25 3.829 1.25 7S3.829 12.75 7 12.75s5.75-2.579 5.75-5.75S10.171 1.25 7 1.25zM10.5 8h-7a1 1 0 1 1 0-2h7a1 1 0 1 1 0 2z"/></svg>

After

Width:  |  Height:  |  Size: 230 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M11.6 4.2l-4-3a.999.999 0 0 0-1.2 0l-4 3A1 1 0 0 0 2 5v7a1.001 1.001 0 0 0 1.6.8L7 10.25l3.4 2.55a.995.995 0 0 0 1.047.095c.339-.17.553-.516.553-.895V5a1 1 0 0 0-.4-.8z"/></svg>

After

Width:  |  Height:  |  Size: 260 B

1
svg/priority-high.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M10.999 9.5a.996.996 0 0 1-.599-.2L7 6.75 3.6 9.3a1 1 0 0 1-1.2-1.6l4-3a.996.996 0 0 1 1.2 0l4 3a.999.999 0 0 1-.601 1.8z"/></svg>

After

Width:  |  Height:  |  Size: 213 B

1
svg/priority-highest.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><g fill="red"><path d="M10.999 7a.994.994 0 0 1-.599-.2L7 4.25 3.6 6.8a1 1 0 0 1-1.2-1.6l4-3a.995.995 0 0 1 1.199 0l4 3a.998.998 0 0 1 .2 1.399.992.992 0 0 1-.8.401z"/><path opacity=".7" d="M10.999 12a.994.994 0 0 1-.599-.2L7 9.25 3.6 11.8a1 1 0 0 1-1.2-1.599l4-3a.995.995 0 0 1 1.199 0l4 3a.998.998 0 0 1-.6 1.799z"/></g></svg>

After

Width:  |  Height:  |  Size: 392 B

1
svg/priority-low.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M7 9.5a.995.995 0 0 1-.6-.2l-4-3a1 1 0 0 1 1.2-1.6L7 7.25l3.4-2.55a1 1 0 0 1 1.2 1.599l-4 3A.99.99 0 0 1 7 9.5z"/></svg>

After

Width:  |  Height:  |  Size: 203 B

1
svg/priority-lowest.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><g fill="red"><path d="M7 12a.995.995 0 0 1-.6-.2l-4-3a1 1 0 0 1 1.2-1.6L7 9.75l3.4-2.55a1 1 0 0 1 1.2 1.599l-4 3A.99.99 0 0 1 7 12z"/><path opacity=".7" d="M7 7a.995.995 0 0 1-.6-.2l-4-3a1 1 0 0 1 1.2-1.6L7 4.75l3.4-2.55a1 1 0 0 1 1.2 1.599l-4 3A.99.99 0 0 1 7 7z"/></g></svg>

After

Width:  |  Height:  |  Size: 341 B

1
svg/priority-major.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M11.707 5.293l-4-4a.999.999 0 0 0-1.414 0l-4 4a.999.999 0 1 0 1.414 1.414L6 4.414V12a1 1 0 1 0 2 0V4.414l2.293 2.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414z"/></svg>

After

Width:  |  Height:  |  Size: 255 B

1
svg/priority-medium.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M11.5 6h-9a1 1 0 1 1 0-2h9a1 1 0 1 1 0 2zM11.5 10h-9a1 1 0 1 1 0-2h9a1 1 0 1 1 0 2z"/></svg>

After

Width:  |  Height:  |  Size: 175 B

1
svg/priority-minor.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M11.707 7.293a.999.999 0 0 0-1.414 0L8 9.586V2a1 1 0 1 0-2 0v7.586L3.707 7.293a.999.999 0 1 0-1.414 1.414l4 4a.997.997 0 0 0 1.414 0l4-4a.999.999 0 0 0 0-1.414z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

1
svg/priority-trivial.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="red" d="M7 13c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM7 3C4.794 3 3 4.794 3 7s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4z"/></svg>

After

Width:  |  Height:  |  Size: 216 B