@transferwise/neptune-css 0.0.0-experimental-1181467
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -0
- package/README.md +45 -0
- package/dist/css/accordion.css +1 -0
- package/dist/css/alerts.css +1 -0
- package/dist/css/background.css +1 -0
- package/dist/css/badge.css +1 -0
- package/dist/css/border-radius.css +1 -0
- package/dist/css/breadcrumbs.css +1 -0
- package/dist/css/button-groups.css +1 -0
- package/dist/css/buttons.css +1 -0
- package/dist/css/chevron.css +1 -0
- package/dist/css/circles.css +1 -0
- package/dist/css/close.css +1 -0
- package/dist/css/column-layout.css +1 -0
- package/dist/css/currency-flags.css +1 -0
- package/dist/css/decision.css +1 -0
- package/dist/css/dropdowns.css +1 -0
- package/dist/css/droppable.css +1 -0
- package/dist/css/flex.css +1 -0
- package/dist/css/footer.css +1 -0
- package/dist/css/grid.css +1 -0
- package/dist/css/input-groups.css +1 -0
- package/dist/css/link-callout.css +1 -0
- package/dist/css/list-group.css +1 -0
- package/dist/css/loaders.css +1 -0
- package/dist/css/media.css +1 -0
- package/dist/css/modals.css +1 -0
- package/dist/css/navbar-base.css +1 -0
- package/dist/css/navbar.css +1 -0
- package/dist/css/navs.css +1 -0
- package/dist/css/neptune-addons.css +1 -0
- package/dist/css/neptune-core.css +1 -0
- package/dist/css/neptune-social-media.css +1 -0
- package/dist/css/neptune.css +1 -0
- package/dist/css/panels.css +1 -0
- package/dist/css/popovers.css +1 -0
- package/dist/css/process.css +1 -0
- package/dist/css/progress-bars.css +1 -0
- package/dist/css/ring.css +1 -0
- package/dist/css/select.css +1 -0
- package/dist/css/sequences.css +1 -0
- package/dist/css/table.css +1 -0
- package/dist/css/tick.css +1 -0
- package/dist/css/tooltip.css +1 -0
- package/dist/css/utilities.css +1 -0
- package/dist/css/wells.css +1 -0
- package/dist/fonts/TW-Averta-Bold.woff +0 -0
- package/dist/fonts/TW-Averta-Bold.woff2 +0 -0
- package/dist/fonts/TW-Averta-Regular.woff +0 -0
- package/dist/fonts/TW-Averta-Regular.woff2 +0 -0
- package/dist/fonts/TW-Averta-Semibold.woff +0 -0
- package/dist/fonts/TW-Averta-Semibold.woff2 +0 -0
- package/dist/fonts/TransferWise-IconFont.svg +81 -0
- package/dist/fonts/TransferWise-IconFont.woff +0 -0
- package/dist/fonts/WorldwiseSans-Heavy.woff2 +0 -0
- package/dist/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
- package/dist/img/bg-dark.svg +31 -0
- package/dist/img/bg-light.svg +26 -0
- package/dist/less/legacy-variables.less +1299 -0
- package/dist/less/neptune-tokens.less +272 -0
- package/dist/less/zindex.less +17 -0
- package/dist/props/custom-media.css +9 -0
- package/dist/props/legacy-custom-props.css +69 -0
- package/dist/props/neptune-tokens.css +150 -0
- package/package.json +59 -0
- package/scripts/neptune-css-upgrader.js +106 -0
- package/src/fonts/TW-Averta-Bold.woff +0 -0
- package/src/fonts/TW-Averta-Bold.woff2 +0 -0
- package/src/fonts/TW-Averta-Regular.woff +0 -0
- package/src/fonts/TW-Averta-Regular.woff2 +0 -0
- package/src/fonts/TW-Averta-Semibold.woff +0 -0
- package/src/fonts/TW-Averta-Semibold.woff2 +0 -0
- package/src/fonts/TransferWise-IconFont.svg +81 -0
- package/src/fonts/TransferWise-IconFont.woff +0 -0
- package/src/fonts/WorldwiseSans-Heavy.woff2 +0 -0
- package/src/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
- package/src/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
- package/src/img/bg-dark.svg +31 -0
- package/src/img/bg-light.svg +26 -0
- package/src/less/accordion.less +15 -0
- package/src/less/addons/_background-utilities.less +82 -0
- package/src/less/addons/_border.less +3 -0
- package/src/less/addons/_display-utilities.less +159 -0
- package/src/less/addons/_spacing-utilities.less +49 -0
- package/src/less/addons/_utilities.less +147 -0
- package/src/less/alerts.less +253 -0
- package/src/less/background.less +24 -0
- package/src/less/badge.less +85 -0
- package/src/less/border-radius.less +3 -0
- package/src/less/breadcrumbs.less +27 -0
- package/src/less/button-groups.less +424 -0
- package/src/less/buttons.less +714 -0
- package/src/less/chevron.less +39 -0
- package/src/less/circles.less +223 -0
- package/src/less/close.less +48 -0
- package/src/less/column-layout.less +167 -0
- package/src/less/components/_component-animations.less +43 -0
- package/src/less/core/_fonts.less +97 -0
- package/src/less/core/_scaffolding.less +473 -0
- package/src/less/core/_typography-utilities.less +269 -0
- package/src/less/core/_typography.less +794 -0
- package/src/less/currency-flags.less +41 -0
- package/src/less/decision.less +98 -0
- package/src/less/dropdowns.less +374 -0
- package/src/less/droppable.less +280 -0
- package/src/less/flex.less +113 -0
- package/src/less/footer.less +113 -0
- package/src/less/forms/bootstrap-forms.less +1227 -0
- package/src/less/forms/checkbox-radio.less +303 -0
- package/src/less/grid.less +187 -0
- package/src/less/input-groups.less +299 -0
- package/src/less/link-callout.less +17 -0
- package/src/less/list-group.less +260 -0
- package/src/less/loaders.less +91 -0
- package/src/less/media.less +61 -0
- package/src/less/mixins/_alerts.less +35 -0
- package/src/less/mixins/_arrows.less +52 -0
- package/src/less/mixins/_border-radius.less +11 -0
- package/src/less/mixins/_buttons.less +82 -0
- package/src/less/mixins/_center-block.less +7 -0
- package/src/less/mixins/_circle.less +11 -0
- package/src/less/mixins/_clearfix.less +23 -0
- package/src/less/mixins/_flex.less +105 -0
- package/src/less/mixins/_forms.less +128 -0
- package/src/less/mixins/_grid-framework.less +104 -0
- package/src/less/mixins/_grid.less +158 -0
- package/src/less/mixins/_hide-text.less +20 -0
- package/src/less/mixins/_links.less +7 -0
- package/src/less/mixins/_list-group.less +23 -0
- package/src/less/mixins/_logical-properties-IE-friendly.less +381 -0
- package/src/less/mixins/_logical-properties-modern-browsers.less +226 -0
- package/src/less/mixins/_logical-properties.less +5 -0
- package/src/less/mixins/_nav-vertical-align.less +10 -0
- package/src/less/mixins/_panels.less +23 -0
- package/src/less/mixins/_physical-properties.less +110 -0
- package/src/less/mixins/_reset-text.less +22 -0
- package/src/less/mixins/_sequence.less +203 -0
- package/src/less/mixins/_spacing.less +122 -0
- package/src/less/mixins/_tab-focus.less +5 -0
- package/src/less/mixins/_table-row.less +47 -0
- package/src/less/mixins/_text-emphasis.less +39 -0
- package/src/less/mixins/_theming.less +7 -0
- package/src/less/modals.less +239 -0
- package/src/less/navbar-base.less +1333 -0
- package/src/less/navbar.less +106 -0
- package/src/less/navs.less +341 -0
- package/src/less/neptune-addons.less +4 -0
- package/src/less/neptune-core.less +4 -0
- package/src/less/neptune-social-media.less +57 -0
- package/src/less/neptune.bundle.less +44 -0
- package/src/less/panels.less +410 -0
- package/src/less/popovers.less +381 -0
- package/src/less/process.less +395 -0
- package/src/less/progress-bars.less +70 -0
- package/src/less/ring.less +51 -0
- package/src/less/select.less +88 -0
- package/src/less/sequences.less +515 -0
- package/src/less/table.less +385 -0
- package/src/less/tick.less +37 -0
- package/src/less/tooltip.less +132 -0
- package/src/less/utilities.less +153 -0
- package/src/less/wells.less +37 -0
- package/src/props/custom-media.css +9 -0
- package/src/props/legacy-custom-props.css +69 -0
- package/src/props/neptune-tokens.css +11 -0
- package/src/variables/legacy-variables.less +1299 -0
- package/src/variables/neptune-tokens.less +12 -0
- package/src/variables/zindex.less +17 -0
- package/upgrades/scripts/2021-11-v11-v12.js +61 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import (reference) "./_logical-properties.less";
|
|
2
|
+
@import (reference) "./_arrows.less";
|
|
3
|
+
|
|
4
|
+
.alert-variant(@background; @text-color; @text-hover) {
|
|
5
|
+
background-color: @background;
|
|
6
|
+
color: @text-color;
|
|
7
|
+
|
|
8
|
+
a,
|
|
9
|
+
b,
|
|
10
|
+
strong,
|
|
11
|
+
.close,
|
|
12
|
+
.alert-link,
|
|
13
|
+
.icon {
|
|
14
|
+
color: @text-color;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
a:hover,
|
|
18
|
+
a:focus,
|
|
19
|
+
.alert-link:hover,
|
|
20
|
+
.alert-link:focus,
|
|
21
|
+
.close:hover,
|
|
22
|
+
.close:focus {
|
|
23
|
+
color: @text-hover;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.alert-arrow(@size: 10px) {
|
|
28
|
+
position: relative;
|
|
29
|
+
.arrow-pointer(@size);
|
|
30
|
+
|
|
31
|
+
&::before {
|
|
32
|
+
clip-path: polygon(0% 0%, 0 100%, 100% 0);
|
|
33
|
+
}
|
|
34
|
+
.arrow-positions(@size);
|
|
35
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
@import (reference) "../mixins/_logical-properties.less";
|
|
2
|
+
|
|
3
|
+
.arrow(@size: 10px) {
|
|
4
|
+
position: relative;
|
|
5
|
+
.arrow-pointer(@size);
|
|
6
|
+
.arrow-positions(@size);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.arrow-pointer(@size: 10px) {
|
|
10
|
+
&::before {
|
|
11
|
+
content: " ";
|
|
12
|
+
position: absolute;
|
|
13
|
+
display: block;
|
|
14
|
+
width: @size;
|
|
15
|
+
height: @size;
|
|
16
|
+
.left((2 * @size));
|
|
17
|
+
|
|
18
|
+
top: (@size / -2);
|
|
19
|
+
transform: rotate(45deg);
|
|
20
|
+
background-color: inherit;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.arrow-positions(@size: 10px) {
|
|
25
|
+
&.arrow-center::before {
|
|
26
|
+
.left(50%);
|
|
27
|
+
|
|
28
|
+
.margin(left, (@size / -2));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.arrow-top::before {
|
|
32
|
+
top: (@size / -2);
|
|
33
|
+
bottom: auto;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&.arrow-left::before {
|
|
37
|
+
.left((2 * @size));
|
|
38
|
+
|
|
39
|
+
.right(auto);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&.arrow-right::before {
|
|
43
|
+
.left(auto);
|
|
44
|
+
|
|
45
|
+
.right((2 * @size));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&.arrow-bottom::before {
|
|
49
|
+
top: auto;
|
|
50
|
+
bottom: (@size / -2);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Mixins to generate button styles and state variations
|
|
2
|
+
.button-variant(
|
|
3
|
+
@color;
|
|
4
|
+
@color-hover;
|
|
5
|
+
@background;
|
|
6
|
+
@background-hover;
|
|
7
|
+
@background-active;
|
|
8
|
+
@border;
|
|
9
|
+
@border-hover;
|
|
10
|
+
@border-active;
|
|
11
|
+
@dropdown-background: @background;
|
|
12
|
+
@color-active: @color-hover) {
|
|
13
|
+
color: @color;
|
|
14
|
+
background-color: @background;
|
|
15
|
+
border-color: @border;
|
|
16
|
+
transition: color, background-color 0.15s ease-in-out;
|
|
17
|
+
|
|
18
|
+
&:not(.disabled, :disabled):hover {
|
|
19
|
+
color: @color-hover;
|
|
20
|
+
background-color: @background-hover;
|
|
21
|
+
border-color: @border-hover;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&:not(.disabled, :disabled):active,
|
|
25
|
+
&:not(.disabled, :disabled).active,
|
|
26
|
+
.open > .dropdown-toggle& {
|
|
27
|
+
color: @color-active;
|
|
28
|
+
background-color: @background-active;
|
|
29
|
+
border-color: @border-active;
|
|
30
|
+
|
|
31
|
+
&:not(.disabled, :disabled):hover {
|
|
32
|
+
color: @color-active;
|
|
33
|
+
background-color: @background-active;
|
|
34
|
+
border-color: @border-active;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&:not(.disabled, :disabled).active,
|
|
39
|
+
.open > .dropdown-toggle& {
|
|
40
|
+
background-image: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.badge {
|
|
44
|
+
color: @background;
|
|
45
|
+
background-color: @color;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.button-size(@padding; @font-size; @line-height; @border-radius: 9999px; @min-height: 0) {
|
|
50
|
+
padding: @padding;
|
|
51
|
+
font-size: @font-size;
|
|
52
|
+
line-height: @line-height;
|
|
53
|
+
border-radius: @border-radius;
|
|
54
|
+
// TODO: Remove min-height in The Future
|
|
55
|
+
min-height: @min-height;
|
|
56
|
+
|
|
57
|
+
.dropdown-menu {
|
|
58
|
+
> li > a {
|
|
59
|
+
font-size: @font-size;
|
|
60
|
+
line-height: @line-height;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// @TODO Deprecate
|
|
66
|
+
.button-outline(@color, @active, @inverse) {
|
|
67
|
+
.button-variant(
|
|
68
|
+
@color;
|
|
69
|
+
@inverse;
|
|
70
|
+
transparent;
|
|
71
|
+
@color;
|
|
72
|
+
@active;
|
|
73
|
+
@color;
|
|
74
|
+
@color;
|
|
75
|
+
@active;
|
|
76
|
+
#FFF
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.btn-sm {
|
|
81
|
+
height: 32px;
|
|
82
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Clearfix
|
|
2
|
+
//
|
|
3
|
+
// For modern browsers
|
|
4
|
+
// 1. The space content is one way to avoid an Opera bug when the
|
|
5
|
+
// contenteditable attribute is included anywhere else in the document.
|
|
6
|
+
// Otherwise it causes space to appear at the top and bottom of elements
|
|
7
|
+
// that are clearfixed.
|
|
8
|
+
// 2. The use of `table` rather than `block` is only necessary if using
|
|
9
|
+
// `:before` to contain the top-margins of child elements.
|
|
10
|
+
//
|
|
11
|
+
// Source: http://nicolasgallagher.com/micro-clearfix-hack/
|
|
12
|
+
|
|
13
|
+
.clearfix() {
|
|
14
|
+
&::before,
|
|
15
|
+
&::after {
|
|
16
|
+
content: " "; // 1
|
|
17
|
+
display: table; // 2
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&::after {
|
|
21
|
+
clear: both;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
.flex-properties(@break-point) {
|
|
2
|
+
.d-flex@{break-point} {
|
|
3
|
+
display: flex;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.d-inline-flex@{break-point} {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.flex-column@{break-point} {
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.flex-row@{break-point} {
|
|
15
|
+
flex-direction: row;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.justify-content-start@{break-point} {
|
|
19
|
+
justify-content: flex-start;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.justify-content-end@{break-point} {
|
|
23
|
+
justify-content: flex-end;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.justify-content-center@{break-point} {
|
|
27
|
+
justify-content: center;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.justify-content-between@{break-point} {
|
|
31
|
+
justify-content: space-between;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.justify-content-around@{break-point} {
|
|
35
|
+
justify-content: space-around;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.align-items-start@{break-point} {
|
|
39
|
+
align-items: flex-start;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.align-items-end@{break-point} {
|
|
43
|
+
align-items: flex-end;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.align-items-center@{break-point} {
|
|
47
|
+
align-items: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.align-items-baseline@{break-point} {
|
|
51
|
+
align-items: baseline;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.align-items-stretch@{break-point} {
|
|
55
|
+
align-items: stretch;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.align-self-start@{break-point} {
|
|
59
|
+
align-self: flex-start;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.align-self-end@{break-point} {
|
|
63
|
+
align-self: flex-end;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.align-self-center@{break-point} {
|
|
67
|
+
align-self: center;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.align-self-baseline@{break-point} {
|
|
71
|
+
align-self: baseline;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.align-self-stretch@{break-point} {
|
|
75
|
+
align-self: stretch;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.flex-nowrap@{break-point} {
|
|
79
|
+
flex-wrap: nowrap;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.flex-wrap@{break-point} {
|
|
83
|
+
flex-wrap: wrap;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.order-0@{break-point} {
|
|
87
|
+
order: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.order-1@{break-point} {
|
|
91
|
+
order: 1;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.order-2@{break-point} {
|
|
95
|
+
order: 2;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.order-3@{break-point} {
|
|
99
|
+
order: 3;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.flex-grow-1@{break-point} {
|
|
103
|
+
flex-grow: 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@import (reference) "../core/_typography.less";
|
|
2
|
+
|
|
3
|
+
// Form validation states
|
|
4
|
+
|
|
5
|
+
.form-control-validation(@text-color; @border-color; @border-hover;) {
|
|
6
|
+
border-color: @border-color !important;
|
|
7
|
+
|
|
8
|
+
// Color the label and help text
|
|
9
|
+
.control-label,
|
|
10
|
+
.radio,
|
|
11
|
+
.checkbox,
|
|
12
|
+
.radio-inline,
|
|
13
|
+
.checkbox-inline,
|
|
14
|
+
&.radio label,
|
|
15
|
+
&.checkbox label,
|
|
16
|
+
&.radio-inline label,
|
|
17
|
+
&.checkbox-inline label,
|
|
18
|
+
.radio label,
|
|
19
|
+
.checkbox label,
|
|
20
|
+
.radio-inline label,
|
|
21
|
+
.checkbox-inline label,
|
|
22
|
+
.input-group-addon {
|
|
23
|
+
color: @text-color !important;
|
|
24
|
+
border-color: @border-color !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Set the border and box shadow on specific inputs to match
|
|
28
|
+
.form-control,
|
|
29
|
+
.btn-input,
|
|
30
|
+
.btn-input:not(.disabled, :disabled):focus,
|
|
31
|
+
.btn-input:not(.disabled, :disabled):hover,
|
|
32
|
+
.input-group-addon,
|
|
33
|
+
.alert {
|
|
34
|
+
border-color: @border-color !important;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:active,
|
|
38
|
+
&:focus,
|
|
39
|
+
&:focus-within {
|
|
40
|
+
.form-control,
|
|
41
|
+
&.radio label,
|
|
42
|
+
&.checkbox label,
|
|
43
|
+
.btn-input,
|
|
44
|
+
.input-group-addon,
|
|
45
|
+
.input-group .form-control:focus,
|
|
46
|
+
.alert {
|
|
47
|
+
border-color: @border-hover !important;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&:not(.disabled, :disabled):hover {
|
|
52
|
+
&.radio label,
|
|
53
|
+
&.checkbox label,
|
|
54
|
+
.btn-input,
|
|
55
|
+
.alert {
|
|
56
|
+
border-color: @border-hover !important;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Optional feedback icon
|
|
61
|
+
.form-control-feedback {
|
|
62
|
+
color: @text-color;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.radio,
|
|
66
|
+
&.checkbox {
|
|
67
|
+
> label {
|
|
68
|
+
&:not(.disabled, :disabled) {
|
|
69
|
+
border-color: @border-color;
|
|
70
|
+
color: var(--color-content-primary);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&:not(.disabled, :disabled):hover,
|
|
74
|
+
&:focus-within {
|
|
75
|
+
border-color: @border-hover !important;
|
|
76
|
+
|
|
77
|
+
.tw-checkbox-button,
|
|
78
|
+
.tw-radio-button {
|
|
79
|
+
border-color: @border-hover !important;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.tw-checkbox-button,
|
|
85
|
+
.tw-radio-button {
|
|
86
|
+
border-color: @border-color;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Form control focus state
|
|
92
|
+
//
|
|
93
|
+
// Generate a customized focus state and for any input with the specified color,
|
|
94
|
+
// which defaults to the `var(--color-interactive-secondary-active)` CSS custom prop.
|
|
95
|
+
//
|
|
96
|
+
// We highly encourage you to not customize the default value, but instead use
|
|
97
|
+
// this to tweak colors on an as-needed basis. This aesthetic change is based on
|
|
98
|
+
// WebKit's default styles, but applicable to a wider range of browsers. Its
|
|
99
|
+
// usability and accessibility should be taken into account with any change.
|
|
100
|
+
//
|
|
101
|
+
// Example usage: change the default blue border and shadow to white for better
|
|
102
|
+
// contrast against a dark gray background.
|
|
103
|
+
.form-control-focus(@color: var(--color-interactive-primary)) {
|
|
104
|
+
&:not(.disabled, :disabled):focus {
|
|
105
|
+
border-color: @color;
|
|
106
|
+
outline: 0;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Form control sizing
|
|
111
|
+
//
|
|
112
|
+
// Relative text size, padding, and border-radii changes for form controls. For
|
|
113
|
+
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
|
114
|
+
// element gets special love because it's special, and that's a fact!
|
|
115
|
+
.input-size(@input-height; @input-padding; @border-radius) {
|
|
116
|
+
min-height: @input-height;
|
|
117
|
+
padding: @input-padding;
|
|
118
|
+
border-radius: @border-radius;
|
|
119
|
+
|
|
120
|
+
select& {
|
|
121
|
+
min-height: @input-height;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
textarea&,
|
|
125
|
+
select[multiple]& {
|
|
126
|
+
height: auto;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
@import (reference) "_logical-properties.less";
|
|
2
|
+
|
|
3
|
+
// Framework grid generation
|
|
4
|
+
//
|
|
5
|
+
// Used only by Bootstrap to generate the correct number of grid classes given
|
|
6
|
+
// any value of `@grid-columns`.
|
|
7
|
+
|
|
8
|
+
.make-grid-columns() {
|
|
9
|
+
// Common styles for all sizes of grid columns, widths 1-12
|
|
10
|
+
.col(@index) {
|
|
11
|
+
// initial
|
|
12
|
+
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}, .col-xl-@{index}";
|
|
13
|
+
.col((@index + 1), @item);
|
|
14
|
+
}
|
|
15
|
+
.col(@index, @list) when (@index =< @grid-columns) {
|
|
16
|
+
// general; "=<" isn't a typo
|
|
17
|
+
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}, .col-xl-@{index}";
|
|
18
|
+
.col((@index + 1), ~"@{list}, @{item}");
|
|
19
|
+
}
|
|
20
|
+
.col(@index, @list) when (@index > @grid-columns) {
|
|
21
|
+
// terminal
|
|
22
|
+
@{list} {
|
|
23
|
+
position: relative;
|
|
24
|
+
// Prevent columns from collapsing when empty
|
|
25
|
+
min-height: 1px;
|
|
26
|
+
// Inner gutter via padding
|
|
27
|
+
padding-left: ceil((@grid-gutter-width / 2));
|
|
28
|
+
padding-right: floor((@grid-gutter-width / 2));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
.col(1); // kickstart it
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.float-grid-columns(@class) {
|
|
35
|
+
.col(@index) {
|
|
36
|
+
// initial
|
|
37
|
+
@item: ~".col-@{class}-@{index}";
|
|
38
|
+
.col((@index + 1), @item);
|
|
39
|
+
}
|
|
40
|
+
.col(@index, @list) when (@index =< @grid-columns) {
|
|
41
|
+
// general
|
|
42
|
+
@item: ~".col-@{class}-@{index}";
|
|
43
|
+
.col((@index + 1), ~"@{list}, @{item}");
|
|
44
|
+
}
|
|
45
|
+
.col(@index, @list) when (@index > @grid-columns) {
|
|
46
|
+
// terminal
|
|
47
|
+
@{list} {
|
|
48
|
+
.float(left);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
.col(1); // kickstart it
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
|
|
55
|
+
.col-@{class}-@{index} {
|
|
56
|
+
width: percentage((@index / @grid-columns));
|
|
57
|
+
|
|
58
|
+
.row-equal-height & {
|
|
59
|
+
/* stylelint-disable-next-line function-calc-no-unspaced-operator */
|
|
60
|
+
width: calc(percentage((@index / @grid-columns)) ~"- 0.5px");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
|
|
65
|
+
.col-@{class}-push-@{index} {
|
|
66
|
+
.left(percentage((@index / @grid-columns)));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
|
|
70
|
+
.col-@{class}-push-0 {
|
|
71
|
+
.left(auto);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
|
|
75
|
+
.col-@{class}-pull-@{index} {
|
|
76
|
+
.right(percentage((@index / @grid-columns)));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
|
|
80
|
+
.col-@{class}-pull-0 {
|
|
81
|
+
.right(auto);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
.calc-grid-column(@index, @class, @type) when (@type = offset) {
|
|
85
|
+
.col-@{class}-offset-@{index} {
|
|
86
|
+
.margin(left, percentage((@index / @grid-columns)));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Basic looping in LESS
|
|
91
|
+
.loop-grid-columns(@index, @class, @type) when (@index >= 0) {
|
|
92
|
+
.calc-grid-column(@index, @class, @type);
|
|
93
|
+
// next iteration
|
|
94
|
+
.loop-grid-columns((@index - 1), @class, @type);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Create grid for specific class
|
|
98
|
+
.make-grid(@class) {
|
|
99
|
+
.float-grid-columns(@class);
|
|
100
|
+
.loop-grid-columns(@grid-columns, @class, width);
|
|
101
|
+
.loop-grid-columns(@grid-columns, @class, pull);
|
|
102
|
+
.loop-grid-columns(@grid-columns, @class, push);
|
|
103
|
+
.loop-grid-columns(@grid-columns, @class, offset);
|
|
104
|
+
}
|