Compare commits

...

11 Commits

Author SHA1 Message Date
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
41 changed files with 3542 additions and 302 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
/src/sass/_custom-variables.scss
/.sublime-grunt.cache
/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: 7
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
node_js:
- 8
- 10
cache:
directories:
- node_modules
before_install:
- rvm install 2.2
- rvm use 2.2 --fuzzy
install:
- gem install scss_lint
- npm install
script:
- npm run lint --silent

View File

@@ -56,6 +56,14 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
## Changelog
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

2826
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@
"build": "grunt",
"watch": "grunt watch",
"lint:js": "standard",
"lint:sass": "scss-lint",
"lint:sass": "stylelint src/sass/**/*.scss",
"lint": "npm run -S lint:js && npm run -S lint:sass"
},
"dependencies": {
@@ -35,7 +35,10 @@
"sass-inline-svg": "^1.2.0"
},
"devDependencies": {
"standard": "^12.0.1"
"standard": "^12.0.1",
"stylelint": "^10.0.1",
"stylelint-order": "^3.0.0",
"stylelint-scss": "^3.6.1"
},
"standard": {
"globals": [

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 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{border-color:#d1d3e0;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

View File

@@ -2,6 +2,7 @@
// Variables
// --------------------------------------------------
// stylelint-disable indentation
//== Some key attributes
//

View File

@@ -106,12 +106,17 @@ table {
td {
padding: $table-condensed-cell-padding $table-cell-padding;
}
p {
margin: 0;
}
}
ul,
ol {
margin-top: 0;
margin-bottom: ($line-height-computed / 2);
padding-left: 1.5em;
ul,
ol {
@@ -143,13 +148,13 @@ samp {
}
hr {
margin-top: $line-height-computed;
margin-top: $line-height-computed;
margin-bottom: $line-height-computed;
border: 0;
border-top: 1px solid $hr-border;
li & {
margin-top: $line-height-computed / 2;
margin-top: $line-height-computed / 2;
margin-bottom: $line-height-computed / 2;
}
}
@@ -159,11 +164,11 @@ blockquote {
padding: floor($line-height-computed / 4) $padding-large-horizontal;
border-left: 4px solid $blockquote-border-color;
>:first-child {
> :first-child {
margin-top: 0;
}
>:last-child {
> :last-child {
margin-bottom: 0;
}
}

View File

@@ -9,9 +9,10 @@ button {
@include button-size($btn-padding-vertical, $btn-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base);
display: inline-block;
margin-bottom: 0;
transition: border-color $transition-time ease-in-out,
background-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
transition:
border-color $transition-time ease-in-out,
background-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid;
font-weight: $btn-font-weight;
text-align: center;
@@ -19,7 +20,7 @@ button {
white-space: nowrap;
cursor: pointer;
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,
&:focus {
@@ -99,9 +100,10 @@ p.buttons,
margin-right: 1px;
margin-left: 1px;
padding: $btn-padding-vertical $btn-padding-horizontal-small;
transition: border-color $transition-time ease-in-out,
background-color $transition-time ease-in-out,
color $transition-time ease-in-out;
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;
font-size: $font-size-base;
@@ -181,7 +183,7 @@ p.buttons {
.query-columns {
select {
width: auto !important; // scss-lint:disable ImportantRule
width: auto !important; // stylelint-disable-line declaration-no-important
min-width: 130px;
}
@@ -211,7 +213,7 @@ p.buttons {
margin-bottom: 4px;
padding-right: 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);
}
}
}
@@ -235,7 +237,7 @@ a[data-expands],
vertical-align: top;
cursor: pointer;
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);
}
a[data-expands] {

View File

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

View File

@@ -4,12 +4,14 @@
grid-template-rows: auto 1fr;
@if $sidebar-position == "left" {
grid-template-areas: "sidebar content"
"footer footer";
grid-template-areas:
"sidebar content"
"footer footer";
grid-template-columns: auto 1fr;
} @else {
grid-template-areas: "content sidebar"
"footer footer";
grid-template-areas:
"content sidebar"
"footer footer";
grid-template-columns: 1fr auto;
}
} @else if $flexbox-layout {
@@ -158,6 +160,36 @@
}
}
}
&.pages-hierarchy {
.pages-hierarchy {
margin-left: $sidebar-padding-horizontal + 3px;
border-left: 2px solid $gray-400;
@if $sidebar-position == "right" {
margin-left: 3px;
}
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;
}
}
@if $sidebar-position == "left" {
margin-right: 0;
}
}
}
}
// Special treatment for anchor tags directly under sidebar tag

View File

@@ -2,8 +2,8 @@
.context-menu-selection {
&,
> td {
background-color: $brand-primary !important; // scss-lint:disable ImportantRule
color: $brand-text !important; // scss-lint:disable ImportantRule
background-color: $brand-primary !important; // stylelint-disable-line declaration-no-important
color: $brand-text !important; // stylelint-disable-line declaration-no-important
}
}
@@ -11,7 +11,7 @@
> ul,
> ul > li > ul {
@include nice-shadow(2);
border: 0 none !important; // scss-lint:disable ImportantRule
border: 0 none !important; // stylelint-disable-line declaration-no-important
}
ul {

View File

@@ -25,9 +25,9 @@ a.collapsible,
height: 0;
margin-right: 3px;
transform: rotate(0);
border-top: 6px solid;
border-top: 6px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
border-left: 4px solid transparent;
vertical-align: middle;
@if $collapsible-animation-time > 0 {
@@ -51,7 +51,7 @@ a.collapsible.collapsed,
transition: max-height $collapsible-animation-time ease-out;
> div {
display: block !important; // scss-lint:disable ImportantRule
display: block !important; // stylelint-disable-line declaration-no-important
visibility: visible;
transition: visibility 0s 0s, opacity $collapsible-animation-time;
opacity: 1;
@@ -136,7 +136,7 @@ a.collapsible.collapsed,
}
&:last-child,
>:last-child {
> :last-child {
margin-bottom: 0;
}
@@ -283,7 +283,7 @@ p.subtitle {
}
&.ui-sortable-placeholder {
visibility: visible !important; // scss-lint:disable ImportantRule
visibility: visible !important; // stylelint-disable-line declaration-no-important
outline: 1px dashed $highlight-border;
background: $highlight-bg;
}

View File

@@ -23,21 +23,21 @@
line-height: $line-height-computed;
}
>:last-child {
> :last-child {
margin-bottom: 0;
}
}
@mixin flash($color, $background, $border, $link, $icon) {
color: $color;
background-color: $background;
border-color: $border;
background-color: $background;
color: $color;
@if $icon == "true" {
$icon: $fa-var-check;
} @elseif $icon == "warning" {
} @else if $icon == "warning" {
$icon: $fa-var-warning;
} @elseif $icon == "exclamation" {
} @else if $icon == "exclamation" {
$icon: $fa-var-exclamation-circle;
}

View File

@@ -76,8 +76,9 @@ input[type="password"] {
@extend %form-field;
@include form-control-focus;
@include placeholder;
transition: border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
vertical-align: top;
&[disabled],
@@ -101,7 +102,7 @@ textarea {
}
input[type="search"] {
-webkit-appearance: none;
-webkit-appearance: none; // stylelint-disable-line property-no-vendor-prefix
}
input[type="radio"],
@@ -159,7 +160,7 @@ select {
}
&.bool_cf {
width: auto !important; // scss-lint:disable ImportantRule
width: auto !important; // stylelint-disable-line declaration-no-important
}
}
@@ -170,7 +171,7 @@ select {
// Mozilla Firefox
@-moz-document url-prefix() {
@-moz-document url-prefix("") {
select {
&[multiple] {
padding: 0;
@@ -380,7 +381,7 @@ label.block {
//== Hack: align description edit icon with label
//
label[for=issue_description] + a {
label[for="issue_description"] + a {
display: inline-block;
margin-top: $input-padding-vertical + 1px;
@@ -558,7 +559,7 @@ label[for="closed"] {
#issue_is_private_wrap,
#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;
padding-left: 0;
float: right;
@@ -569,7 +570,7 @@ label[for="closed"] {
}
label {
display: inline-block !important; // scss-lint:disable ImportantRule
display: inline-block !important; // stylelint-disable-line declaration-no-important
margin-right: 0;
padding-left: 0;
}

View File

@@ -137,17 +137,16 @@
&:hover {
z-index: 25;
.tip {
span.tip {
display: block;
}
}
.tip {
span.tip {
@include nice-shadow(3);
display: none;
position: absolute;
top: 9px;
left: 24px;
top: 12px;
width: 270px;
padding: $padding-base-vertical;
border: $tooltip-border-width solid $tooltip-border;
@@ -158,9 +157,9 @@
}
@if $sidebar-position == "left" {
tr > td:last-child & {
.tip {
right: 2px;
.list & {
span.tip {
right: 0;
left: auto;
}
}

View File

@@ -52,7 +52,7 @@ table.list .buttons > a::before {
white-space: nowrap;
@at-root a#{&} {
// scss-lint:disable ImportantRule
// stylelint-disable declaration-no-important
display: inline;
width: auto !important;
height: auto !important;

View File

@@ -4,5 +4,5 @@
// ACI = AutoComplete Indicator
%image-aci {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAKBAMAAAAnY0GXAAAAD1BMVEUAAACzs7Ozs7Ozs7Ozs7NJvZFvAAAABHRSTlMA5kpJG2qUMwAAABtJREFUCNdjIBMYCkMRDIg4QhBuAUUhKCIPAAAlaQNk5qF21gAAAABJRU5ErkJggg==);
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAKBAMAAAAnY0GXAAAAD1BMVEUAAACzs7Ozs7Ozs7Ozs7NJvZFvAAAABHRSTlMA5kpJG2qUMwAAABtJREFUCNdjIBMYCkMRDIg4QhBuAUUhKCIPAAAlaQNk5qF21gAAAABJRU5ErkJggg==");
}

View File

@@ -25,6 +25,7 @@ table.list {
padding: $table-cell-padding;
border: 2px solid $table-border-color;
border-width: $table-list-header-border;
background-color: $body-bg;
color: $gray-700;
vertical-align: bottom;
@@ -386,7 +387,7 @@ tr.entry {
right: 5px;
bottom: 0;
left: 5px;
height: calc(50% - 2px/2);
height: calc(50% - 2px / 2);
transform: rotate(-4deg);
transition: border-color $transition-time;
border-top: 2px solid rgba($tracker-default-text, .95);

View File

@@ -4,7 +4,7 @@
#login-form {
box-sizing: border-box;
margin: $line-height-computed * 2 auto;
margin: $line-height-computed * 2 auto $line-height-computed;
label,
input:not([type="checkbox"]) {

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
// https://github.com/HolonGlobe/redmine_backlogs
@@ -222,8 +264,9 @@
}
.select2-selection {
transition: border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border-color: $input-border;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
}

View File

@@ -24,7 +24,7 @@
#main {
display: block;
overflow: visible !important; // scss-lint:disable ImportantRule
overflow: visible !important; // stylelint-disable-line declaration-no-important
background: $white;
}
@@ -32,7 +32,7 @@
width: 100%;
margin: 0;
padding: 0;
overflow: visible !important; // scss-lint:disable ImportantRule
overflow: visible !important; // stylelint-disable-line declaration-no-important
border: 0;
background: $white;
}
@@ -42,7 +42,7 @@
}
a {
// scss-lint:disable ImportantRule
// stylelint-disable declaration-no-important
padding: 0 !important;
background-color: transparent !important;
color: $black !important;

View File

@@ -36,15 +36,15 @@ table.progress {
}
&.done {
background-color: $progress-bar-bg !important; // scss-lint:disable ImportantRule
background-color: $progress-bar-bg !important; // stylelint-disable-line declaration-no-important
}
&.closed {
background-color: $progress-bar-success-bg !important; // scss-lint:disable ImportantRule
background-color: $progress-bar-success-bg !important; // stylelint-disable-line declaration-no-important
}
&.todo {
background-color: $progress-bg !important; // scss-lint:disable ImportantRule
background-color: $progress-bg !important; // stylelint-disable-line declaration-no-important
}
}

View File

@@ -1,4 +1,4 @@
// scss-lint:disable SelectorDepth
// stylelint-disable selector-max-compound-selectors
.theme-Purplemine2 {
@media screen and (max-width: $redmine-responsive-max) {
.flyout-menu + div {

View File

@@ -167,7 +167,7 @@ div.tabs:not(#main-menu) {
margin-bottom: 3px;
}
label[for=principal_search] {
label[for="principal_search"] {
padding-left: 0;
}
}

View File

@@ -412,7 +412,7 @@
}
.tabs-buttons {
display: none !important; // scss-lint:disable ImportantRule
display: none !important; // stylelint-disable-line declaration-no-important
padding-left: 0;
border-color: $main-menu-border;
background-color: $main-menu-bg;
@@ -425,6 +425,6 @@
}
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;
line-height: $wiki-line-height;
//scss-lint:disable SingleLinePerSelector
// stylelint-disable selector-list-comma-newline-after
h1, .h1,
h2, .h2,
h3, .h3,
@@ -111,16 +111,16 @@ div.wiki {
}
}
>:last-child {
> :last-child {
margin-bottom: 0;
}
blockquote {
>:first-child {
> :first-child {
margin-top: 0;
}
>:last-child {
> :last-child {
margin-bottom: 0;
}
}
@@ -274,7 +274,7 @@ div.wiki {
}
li {
// scss-lint:disable SelectorDepth
// stylelint-disable selector-max-compound-selectors
margin: 0;
li {
@@ -318,9 +318,9 @@ h6 {
position: relative;
top: -(1em - $font-size-small);
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;
text-decoration: none !important; // scss-lint:disable ImportantRule
text-decoration: none !important; // stylelint-disable-line declaration-no-important
}
&:hover {
@@ -343,7 +343,7 @@ p.footnote {
content: "";
display: block;
width: 300px;
margin-top: $line-height-computed;
margin-top: $line-height-computed;
padding-top: $line-height-computed / 2;
border-top: 1px solid $gray-400;
}

View File

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

View File

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

View File

@@ -44,9 +44,9 @@
@extend %clearfix;
position: relative;
padding-left: $check-input-gutter;
font-weight: $font-weight-normal;
line-height: $line-height-base;
text-align: left;
font-weight: $font-weight-normal;
input[type="checkbox"],
input[type="radio"] {

View File

@@ -3,12 +3,12 @@
@mixin img-retina($file-2x, $width-1x, $height-1x) {
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2 / 1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
background-image: url("#{$file-2x}");
background-size: $width-1x $height-1x;
}

View File

@@ -5,13 +5,13 @@
@if ($depth == 1) {
$shadow: 0 1px 2px rgba(#000, .25);
} @elseif ($depth == 2) {
} @else if ($depth == 2) {
$shadow: 0 5px 8px -2px rgba(#000, .25), 0 1px 2px rgba(#000, .3);
} @elseif ($depth == 3) {
} @else if ($depth == 3) {
$shadow: 0 8px 16px -3px rgba(#000, .25), 0 2px 4px rgba(#000, .3);
} @elseif ($depth == 4) {
} @else if ($depth == 4) {
$shadow: 0 14px 24px -4px rgba(#000, .25), 0 3px 10px rgba(#000, .3);
} @elseif ($depth == 5) {
} @else if ($depth == 5) {
$shadow: 0 20px 32px -2px rgba(#000, .25), 0 4px 12px rgba(#000, .3);
}

View File

@@ -67,8 +67,9 @@ input.editor,
@include placeholder;
height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal;
transition: border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid $input-border;
border-radius: $input-border-radius;
background-color: $input-bg;
@@ -91,8 +92,9 @@ button.ui-multiselect {
height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal;
overflow: hidden;
transition: border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
transition:
border-color $transition-time ease-in-out,
box-shadow $transition-time ease-in-out;
border: 1px solid $input-border;
background: $input-bg;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
@@ -254,7 +256,7 @@ ul.ui-sortable {
.ui-tooltip {
.ui-tooltip-content {
hr {
margin-top: $line-height-computed / 2;
margin-top: $line-height-computed / 2;
margin-bottom: $line-height-computed / 2;
border: 0;
border-top: 1px solid $hr-border;

View File

@@ -1,4 +1,4 @@
// scss-lint:disable Comment
// stylelint-disable comment-whitespace-inside, no-duplicate-selectors
@import "../common";
/*
@@ -66,7 +66,7 @@
----------------------------------*/
.ui-state-disabled {
cursor: default !important; // scss-lint:disable ImportantRule
cursor: default !important; // stylelint-disable-line declaration-no-important
}
/* Icons
@@ -631,7 +631,7 @@
}
.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 {
@@ -734,7 +734,7 @@
overflow: visible;
zoom: 1;
text-align: center;
text-decoration: none !important; // scss-lint:disable ImportantRule
text-decoration: none !important; // stylelint-disable-line declaration-no-important
cursor: pointer;
}
@@ -1007,7 +1007,7 @@ button.ui-button::-moz-focus-inner {
padding: 0;
float: left;
list-style: none;
border-bottom: 0 !important; // scss-lint:disable ImportantRule
border-bottom: 0 !important; // stylelint-disable-line declaration-no-important
white-space: nowrap;
a {
@@ -1048,7 +1048,7 @@ button.ui-button::-moz-focus-inner {
}
.ui-tabs-hide {
display: none !important; // scss-lint:disable ImportantRule
display: none !important; // stylelint-disable-line declaration-no-important
}
}
@@ -1361,7 +1361,7 @@ button.ui-button::-moz-focus-inner {
}
}
/* Progressbar
/* Progressbar
----------------------------------*/
.ui-progressbar {

View File

@@ -11,13 +11,13 @@
.ui-multiselect-single .ui-multiselect-checkboxes {
input {
position: absolute !important; // scss-lint:disable ImportantRule
top: auto !important; // scss-lint:disable ImportantRule
position: absolute !important; // stylelint-disable-line declaration-no-important
top: auto !important; // stylelint-disable-line declaration-no-important
left: -9999px;
}
label {
padding: 5px !important; // scss-lint:disable ImportantRule
padding: 5px !important; // stylelint-disable-line declaration-no-important
}
}

View File

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

View File

@@ -189,8 +189,9 @@ $story-sp-input-width: 50px;
&:focus {
border-color: lighten($header-bg, 25%);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2),
0 0 0 1px lighten($header-bg, 25%);
box-shadow:
inset 0 1px 3px rgba(0, 0, 0, .2),
0 0 0 1px lighten($header-bg, 25%);
color: $gray-950;
}
}
@@ -279,7 +280,7 @@ $story-sp-input-width: 50px;
$name-width-minus: $header-right-width-wider + 35px;
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;
margin-left: $header-line-height - 2px;
float: left;
@@ -592,8 +593,9 @@ $story-sp-input-width: 50px;
&:focus {
border-color: darken($highlight-border, 15%);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075),
0 0 5px rgba(darken($highlight-border, 15%), .5);
box-shadow:
inset 0 1px 2px rgba(0, 0, 0, .075),
0 0 5px rgba(darken($highlight-border, 15%), .5);
color: $gray-950;
}
}
@@ -643,7 +645,7 @@ $story-sp-input-width: 50px;
&.subject {
$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;
float: left;
overflow: auto;
@@ -755,9 +757,10 @@ $story-sp-input-width: 50px;
@include button-size($input-padding-vertical, $input-padding-horizontal, $font-size-base, $line-height-base, $border-radius-base);
display: inline-block;
margin-bottom: 0;
transition: background-color ease-in-out .07s,
border-color ease-in-out .07s,
box-shadow ease-in-out .07s;
transition:
background-color ease-in-out .07s,
border-color ease-in-out .07s,
box-shadow ease-in-out .07s;
border: 1px solid;
font-weight: $btn-font-weight;
text-align: center;

File diff suppressed because one or more lines are too long