tao_ui 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +20 -0
- data/Rakefile +20 -0
- data/lib/assets/icons/Loading.svg +19 -0
- data/lib/assets/javascripts/tao/ui/icons/basic.coffee +4 -0
- data/lib/assets/javascripts/tao/ui/icons/index.coffee +20 -0
- data/lib/assets/javascripts/tao/ui/index.coffee +4 -0
- data/lib/assets/javascripts/tao/ui/mobile/index.coffee +4 -0
- data/lib/assets/stylesheets/tao/ui/_custom.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/_globals.scss +3 -0
- data/lib/assets/stylesheets/tao/ui/_mixins.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/_variables.scss +3 -0
- data/lib/assets/stylesheets/tao/ui/basic.scss +154 -0
- data/lib/assets/stylesheets/tao/ui/buttons.scss +63 -0
- data/lib/assets/stylesheets/tao/ui/code.scss +56 -0
- data/lib/assets/stylesheets/tao/ui/icons.scss +18 -0
- data/lib/assets/stylesheets/tao/ui/index.scss +6 -0
- data/lib/assets/stylesheets/tao/ui/mixins/_base.scss +6 -0
- data/lib/assets/stylesheets/tao/ui/mixins/_buttons.scss +42 -0
- data/lib/assets/stylesheets/tao/ui/mobile/_custom.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/mobile/_globals.scss +3 -0
- data/lib/assets/stylesheets/tao/ui/mobile/_mixins.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/mobile/_variables.scss +3 -0
- data/lib/assets/stylesheets/tao/ui/mobile/basic.scss +24 -0
- data/lib/assets/stylesheets/tao/ui/mobile/buttons.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/mobile/code.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/mobile/icons.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/mobile/index.scss +6 -0
- data/lib/assets/stylesheets/tao/ui/mobile/mixins/_base.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/mobile/mixins/_buttons.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/mobile/tables.scss +2 -0
- data/lib/assets/stylesheets/tao/ui/mobile/variables/_base.scss +11 -0
- data/lib/assets/stylesheets/tao/ui/mobile/variables/_buttons.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/mobile/variables/_tables.scss +1 -0
- data/lib/assets/stylesheets/tao/ui/tables.scss +46 -0
- data/lib/assets/stylesheets/tao/ui/variables/_base.scss +44 -0
- data/lib/assets/stylesheets/tao/ui/variables/_buttons.scss +84 -0
- data/lib/assets/stylesheets/tao/ui/variables/_tables.scss +2 -0
- data/lib/generators/tao/icons/USAGE +8 -0
- data/lib/generators/tao/icons/icons_generator.rb +46 -0
- data/lib/generators/tao/icons/templates/icons.coffee.erb +3 -0
- data/lib/tao_ui/components/icon_component.rb +31 -0
- data/lib/tao_ui/components.rb +6 -0
- data/lib/tao_ui/engine.rb +8 -0
- data/lib/tao_ui/version.rb +3 -0
- data/lib/tao_ui.rb +5 -0
- data/vendor/assets/stylesheets/normalize.css +427 -0
- metadata +139 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0d4d901b1597816e397750ba39e8ef3a0e632318
|
4
|
+
data.tar.gz: 44086ffcac375f165bb49f5538ebb07fc041fa56
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bd5083c5fb220186472ce6219971275b860a887642ba562e38d8b82bee0478418d986205d6f0fd98aff4aa342279fdf707fd2d6b90ae3f9f5c4c668978f49321
|
7
|
+
data.tar.gz: d8e3171e35d58959cb777404aa167c6cff5292c94fe0c14778d70f6f2d41441cfe62aba9eef2a45424aafa56ee0021f7852823192ca41c2cb6bfda374f13ca85
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2017 彩程设计
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Tao UI
|
2
|
+
|
3
|
+
Tao UI provide basic global styles and related tools for [Tao](https://github.com/mycolorway/tao_on_rails) project.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
Add this line to your application's Gemfile:
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
gem 'tao_ui'
|
10
|
+
```
|
11
|
+
|
12
|
+
And then execute:
|
13
|
+
```bash
|
14
|
+
$ bundle
|
15
|
+
```
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
```bash
|
19
|
+
$ gem install tao_ui
|
20
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rake/testtask"
|
3
|
+
require 'rdoc/task'
|
4
|
+
|
5
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
6
|
+
rdoc.rdoc_dir = 'rdoc'
|
7
|
+
rdoc.title = 'TaoUi'
|
8
|
+
rdoc.options << '--line-numbers'
|
9
|
+
rdoc.rdoc_files.include('README.md')
|
10
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
Rake::TestTask.new(:test) do |t|
|
15
|
+
t.libs << "test"
|
16
|
+
t.libs << "lib"
|
17
|
+
t.pattern = 'test/**/*_test.rb'
|
18
|
+
end
|
19
|
+
|
20
|
+
task default: :test
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<!-- Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch -->
|
4
|
+
<title>Loading</title>
|
5
|
+
<desc>Created with Sketch.</desc>
|
6
|
+
<defs></defs>
|
7
|
+
<g id="zhiren_icon" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
8
|
+
<g id="Main" fill="#4A4A4A">
|
9
|
+
<rect id="Path" opacity="0.5" x="9" y="0" width="2" height="6" rx="1"></rect>
|
10
|
+
<rect id="Path" opacity="0.600000024" transform="translate(14.828427, 4.828427) rotate(45.000000) translate(-14.828427, -4.828427) " x="13.8284271" y="1.82842712" width="2" height="6" rx="1"></rect>
|
11
|
+
<rect id="Path" opacity="0.400000006" transform="translate(4.828427, 4.828427) scale(-1, 1) rotate(45.000000) translate(-4.828427, -4.828427) " x="3.82842712" y="1.82842712" width="2" height="6" rx="1"></rect>
|
12
|
+
<rect id="Path" opacity="0.200000003" transform="translate(4.828427, 14.828427) rotate(45.000000) translate(-4.828427, -14.828427) " x="3.82842712" y="11.8284271" width="2" height="6" rx="1"></rect>
|
13
|
+
<rect id="Rectangle-24" opacity="0.300000012" x="0" y="9" width="6" height="2" rx="1"></rect>
|
14
|
+
<rect id="Rectangle-24" opacity="0.699999988" x="14" y="9" width="6" height="2" rx="1"></rect>
|
15
|
+
<rect id="Rectangle-24" opacity="0.05" transform="translate(14.828427, 14.828427) rotate(45.000000) translate(-14.828427, -14.828427) " x="11.8284271" y="13.8284271" width="6" height="2" rx="1"></rect>
|
16
|
+
<rect id="Combined-Shape" opacity="0.100000001" x="9" y="14" width="2" height="6" rx="1"></rect>
|
17
|
+
</g>
|
18
|
+
</g>
|
19
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
Tao.icons += '''
|
2
|
+
<symbol id="icon-loading" viewBox="0 0 20 20" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main"><rect class="Path" opacity="0.5" x="9" y="0" width="2" height="6" rx="1"/><rect class="Path" opacity="0.600000024" transform="translate(14.828427, 4.828427) rotate(45.000000) translate(-14.828427, -4.828427) " x="13.8284271" y="1.82842712" width="2" height="6" rx="1"/><rect class="Path" opacity="0.400000006" transform="translate(4.828427, 4.828427) scale(-1, 1) rotate(45.000000) translate(-4.828427, -4.828427) " x="3.82842712" y="1.82842712" width="2" height="6" rx="1"/><rect class="Path" opacity="0.200000003" transform="translate(4.828427, 14.828427) rotate(45.000000) translate(-4.828427, -14.828427) " x="3.82842712" y="11.8284271" width="2" height="6" rx="1"/><rect class="Rectangle-24" opacity="0.300000012" x="0" y="9" width="6" height="2" rx="1"/><rect class="Rectangle-24" opacity="0.699999988" x="14" y="9" width="6" height="2" rx="1"/><rect class="Rectangle-24" opacity="0.05" transform="translate(14.828427, 14.828427) rotate(45.000000) translate(-14.828427, -14.828427) " x="11.8284271" y="13.8284271" width="6" height="2" rx="1"/><rect class="Combined-Shape" opacity="0.100000001" x="9" y="14" width="2" height="6" rx="1"/></g></g></symbol>
|
3
|
+
|
4
|
+
'''
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#= require_self
|
2
|
+
#= require ./basic
|
3
|
+
|
4
|
+
Tao.ui =
|
5
|
+
|
6
|
+
icons: ''
|
7
|
+
|
8
|
+
iconTag: (name, attributes={}) ->
|
9
|
+
$("<svg><use xlink:href=\"#icon-#{name}\"/></svg>")
|
10
|
+
.attr attributes
|
11
|
+
.addClass "icon icon-#{name}"
|
12
|
+
|
13
|
+
Tao.Application.initializer 'icons', (app) ->
|
14
|
+
app.on 'page-load', (page) ->
|
15
|
+
return if $('#tao-icons').length > 0
|
16
|
+
document.body.insertAdjacentHTML 'afterbegin', """
|
17
|
+
<svg id="tao-icons" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none">
|
18
|
+
#{Tao.ui.icons}
|
19
|
+
</svg>
|
20
|
+
"""
|
@@ -0,0 +1 @@
|
|
1
|
+
// override this file in project
|
@@ -0,0 +1,154 @@
|
|
1
|
+
@import 'tao/ui/globals';
|
2
|
+
|
3
|
+
html {
|
4
|
+
box-sizing: border-box;
|
5
|
+
height: 100%;
|
6
|
+
font-size: 16px;
|
7
|
+
-webkit-text-size-adjust: 100%;
|
8
|
+
-ms-text-size-adjust: 100%;
|
9
|
+
-ms-overflow-style: scrollbar;
|
10
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
11
|
+
|
12
|
+
*, *:before, *:after {
|
13
|
+
box-sizing: inherit;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
body {
|
18
|
+
height: 100%;
|
19
|
+
margin: 0;
|
20
|
+
padding: 0;
|
21
|
+
font-size: $font-size;
|
22
|
+
font-family: "Helvetica Neue", "PingFang SC", "Microsoft Yahei", 微软雅黑, STXihei, 华文细黑, sans-serif;
|
23
|
+
line-height: $default-line-height;
|
24
|
+
color: $text-color;
|
25
|
+
fill: $text-color;
|
26
|
+
background-color: $white-color;
|
27
|
+
}
|
28
|
+
|
29
|
+
small,
|
30
|
+
.small {
|
31
|
+
font-size: $font-size-s;
|
32
|
+
font-weight: normal;
|
33
|
+
}
|
34
|
+
|
35
|
+
.x-small {
|
36
|
+
font-size: $font-size-xs;
|
37
|
+
font-weight: normal;
|
38
|
+
}
|
39
|
+
|
40
|
+
big,
|
41
|
+
.big,
|
42
|
+
.large {
|
43
|
+
font-size: $font-size-l;
|
44
|
+
}
|
45
|
+
|
46
|
+
mark,
|
47
|
+
.mark {
|
48
|
+
padding: 0.2em;
|
49
|
+
background-color: yellow;
|
50
|
+
}
|
51
|
+
|
52
|
+
a {
|
53
|
+
color: $link-color;
|
54
|
+
fill: $link-color;
|
55
|
+
text-decoration: none;
|
56
|
+
background-color: transparent; // Remove the gray background on active links in IE 10.
|
57
|
+
-webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
|
58
|
+
|
59
|
+
@if not $mobile {
|
60
|
+
&:hover {
|
61
|
+
color: $link-hover-color;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
&.warn {
|
66
|
+
color: $red-color;
|
67
|
+
fill: $red-color;
|
68
|
+
|
69
|
+
@if not $mobile {
|
70
|
+
&:hover {
|
71
|
+
color: lighten($red-color, 10%);
|
72
|
+
fill: lighten($red-color, 10%);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
&.disabled {
|
78
|
+
color: $lightest-grey-color;
|
79
|
+
fill: $lightest-grey-color;
|
80
|
+
cursor: not-allowed;;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
a:not([href]):not([tabindex]) {
|
85
|
+
color: inherit;
|
86
|
+
fill: inherit;
|
87
|
+
|
88
|
+
@if not $mobile {
|
89
|
+
&:hover {
|
90
|
+
color: inherit;
|
91
|
+
fill: inherit;
|
92
|
+
}
|
93
|
+
|
94
|
+
&:focus {
|
95
|
+
outline: 0;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
h1, h2, h3, h4, h5, h6,
|
101
|
+
.h1, .h2, .h3, .h4, .h5, .h6 {
|
102
|
+
margin-top: 1.5em;
|
103
|
+
margin-bottom: 1em;
|
104
|
+
line-height: $default-line-height;
|
105
|
+
color: $black-color;
|
106
|
+
|
107
|
+
&:first-child {
|
108
|
+
margin-top: 0;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
h1, .h1 { font-size: $font-size-h1; }
|
113
|
+
h2, .h2 { font-size: $font-size-h2; }
|
114
|
+
h3, .h3 { font-size: $font-size-h3; }
|
115
|
+
h4, .h4 { font-size: $font-size-h4; }
|
116
|
+
h5, .h5 { font-size: $font-size-h5; }
|
117
|
+
h6, .h6 { font-size: $font-size-h6; }
|
118
|
+
|
119
|
+
|
120
|
+
hr {
|
121
|
+
margin-top: 1em;
|
122
|
+
margin-bottom: 1em;
|
123
|
+
border: 0;
|
124
|
+
border-top: 1px solid $border-color;
|
125
|
+
}
|
126
|
+
|
127
|
+
p {
|
128
|
+
line-height: 2.0;
|
129
|
+
margin: 0 0 1em 0;
|
130
|
+
}
|
131
|
+
|
132
|
+
ul, ol {
|
133
|
+
margin: 0 0 1em 0;
|
134
|
+
padding: 0 0 0 2em;
|
135
|
+
|
136
|
+
li {
|
137
|
+
line-height: 2.0
|
138
|
+
}
|
139
|
+
|
140
|
+
ul, ol {
|
141
|
+
margin-bottom: 0;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
145
|
+
blockquote {
|
146
|
+
margin: 0 0 1em 0;
|
147
|
+
padding: 0.5em 1em;
|
148
|
+
color: $light-grey-color;
|
149
|
+
border-left: 0.25em solid $border-color;
|
150
|
+
|
151
|
+
*:last-child {
|
152
|
+
margin-bottom: 0;
|
153
|
+
}
|
154
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
@import 'tao/ui/globals';
|
2
|
+
|
3
|
+
.button {
|
4
|
+
display: inline-flex;
|
5
|
+
align-items: center;
|
6
|
+
justify-content: center;
|
7
|
+
padding: $button-padding;
|
8
|
+
font-size: $button-font-size;
|
9
|
+
line-height: $button-line-height;
|
10
|
+
border-radius: $border-radius-s;
|
11
|
+
cursor: pointer;
|
12
|
+
text-decoration: none;
|
13
|
+
text-align: center;
|
14
|
+
vertical-align: middle;
|
15
|
+
white-space: nowrap;
|
16
|
+
user-select: none;
|
17
|
+
transition: background 200ms, color 200ms, fill 200ms, border-color 200ms, box-shadow 200ms;
|
18
|
+
@include button-colors($default-button-colors);
|
19
|
+
|
20
|
+
.icon {
|
21
|
+
width: 1em;
|
22
|
+
height: 1em;
|
23
|
+
margin: 0 0.4em 0 0;
|
24
|
+
}
|
25
|
+
|
26
|
+
&:focus, &.focus {
|
27
|
+
outline: none;
|
28
|
+
}
|
29
|
+
|
30
|
+
@if not $mobile {
|
31
|
+
&:hover {
|
32
|
+
text-decoration: none;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
&.disabled,
|
37
|
+
&[disabled] {
|
38
|
+
cursor: not-allowed;
|
39
|
+
}
|
40
|
+
|
41
|
+
&.button-warning {
|
42
|
+
@include button-colors($warning-button-colors);
|
43
|
+
}
|
44
|
+
|
45
|
+
&.button-primary {
|
46
|
+
@include button-colors($primary-button-colors);
|
47
|
+
}
|
48
|
+
|
49
|
+
&.button-primary-warning {
|
50
|
+
@include button-colors($primary-warning-button-colors);
|
51
|
+
}
|
52
|
+
|
53
|
+
&.button-small {
|
54
|
+
padding: $small-button-padding;
|
55
|
+
font-size: $small-button-font-size;
|
56
|
+
line-height: $small-button-line-height;
|
57
|
+
}
|
58
|
+
|
59
|
+
&.button-block {
|
60
|
+
display: flex;
|
61
|
+
width: 100%;
|
62
|
+
}
|
63
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
@import 'tao/ui/globals';
|
2
|
+
|
3
|
+
// Inline and block code styles
|
4
|
+
code,
|
5
|
+
kbd,
|
6
|
+
pre,
|
7
|
+
samp {
|
8
|
+
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
9
|
+
}
|
10
|
+
|
11
|
+
code {
|
12
|
+
padding: 0.2em 0.4em;
|
13
|
+
font-size: 85%;
|
14
|
+
background-color: $lighter-grey-bg-color;
|
15
|
+
border-radius: $border-radius;
|
16
|
+
word-wrap: break-word;
|
17
|
+
|
18
|
+
a > & {
|
19
|
+
padding: 0;
|
20
|
+
color: inherit;
|
21
|
+
background-color: inherit;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
kbd {
|
26
|
+
padding: 0.2em 0.4em;
|
27
|
+
font-size: 85%;
|
28
|
+
background-color: $lighter-grey-bg-color;
|
29
|
+
border-radius: $border-radius;
|
30
|
+
|
31
|
+
kbd {
|
32
|
+
padding: 0;
|
33
|
+
font-size: 100%;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
pre {
|
38
|
+
display: block;
|
39
|
+
margin-top: 0;
|
40
|
+
margin-bottom: 1em;
|
41
|
+
padding: 1.5em;
|
42
|
+
font-size: 85%;
|
43
|
+
background-color: $lighter-grey-bg-color;
|
44
|
+
overflow: auto;
|
45
|
+
border-radius: $border-radius;
|
46
|
+
white-space: pre-wrap;
|
47
|
+
|
48
|
+
code {
|
49
|
+
padding: 0;
|
50
|
+
font-size: inherit;
|
51
|
+
color: inherit;
|
52
|
+
background-color: transparent;
|
53
|
+
border-radius: 0;
|
54
|
+
word-wrap: normal;
|
55
|
+
}
|
56
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
@import 'tao/ui/globals';
|
2
|
+
|
3
|
+
@keyframes spin {
|
4
|
+
from { transform:rotate(0deg); }
|
5
|
+
to { transform:rotate(360deg); }
|
6
|
+
}
|
7
|
+
|
8
|
+
.icon {
|
9
|
+
display: inline-block;
|
10
|
+
width: 1em;
|
11
|
+
height: 1em;
|
12
|
+
vertical-align: middle;
|
13
|
+
fill: inherit;
|
14
|
+
|
15
|
+
&.spin {
|
16
|
+
animation: spin 1s infinite linear;
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
@mixin button-colors($colors) {
|
3
|
+
$normal-colors: map-get($colors, 'normal');
|
4
|
+
background: map-get($normal-colors, 'bg');
|
5
|
+
border: 1px solid map-get($normal-colors, 'border');
|
6
|
+
color: map-get($normal-colors, 'text');
|
7
|
+
fill: map-get($normal-colors, 'text');
|
8
|
+
|
9
|
+
|
10
|
+
@if not $mobile {
|
11
|
+
&:focus, &.focus {
|
12
|
+
box-shadow: 0px 0px 0 2px rgba(map-get($normal-colors, 'border'), 0.5);
|
13
|
+
}
|
14
|
+
|
15
|
+
&:hover {
|
16
|
+
$hover-colors: map-get($colors, 'hover');
|
17
|
+
background: map-get($hover-colors, 'bg');
|
18
|
+
border: 1px solid map-get($hover-colors, 'border');
|
19
|
+
color: map-get($hover-colors, 'text');
|
20
|
+
fill: map-get($hover-colors, 'text');
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
&:active {
|
25
|
+
$active-colors: map-get($colors, 'active');
|
26
|
+
background: map-get($active-colors, 'bg');
|
27
|
+
border: 1px solid map-get($active-colors, 'border');
|
28
|
+
color: map-get($active-colors, 'text');
|
29
|
+
fill: map-get($active-colors, 'text');
|
30
|
+
box-shadow: 0px 0px 0 2px rgba(map-get($active-colors, 'border'), 0.5);
|
31
|
+
}
|
32
|
+
|
33
|
+
&.disabled,
|
34
|
+
&[disabled] {
|
35
|
+
$disable-colors: map-get($colors, 'disable');
|
36
|
+
background: map-get($disable-colors, 'bg');
|
37
|
+
border: 1px solid map-get($disable-colors, 'border');
|
38
|
+
color: map-get($disable-colors, 'text');
|
39
|
+
fill: map-get($disable-colors, 'text');
|
40
|
+
box-shadow: none;
|
41
|
+
}
|
42
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
// override this file in project
|
@@ -0,0 +1,24 @@
|
|
1
|
+
@import 'tao/ui/mobile/globals';
|
2
|
+
@import 'tao/ui/basic';
|
3
|
+
|
4
|
+
// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
|
5
|
+
//
|
6
|
+
// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
|
7
|
+
// DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
|
8
|
+
// However, they DO support removing the click delay via `touch-action: manipulation`.
|
9
|
+
// See:
|
10
|
+
// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch
|
11
|
+
// * http://caniuse.com/#feat=css-touch-action
|
12
|
+
// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
|
13
|
+
|
14
|
+
a,
|
15
|
+
area,
|
16
|
+
button,
|
17
|
+
[role="button"],
|
18
|
+
input,
|
19
|
+
label,
|
20
|
+
select,
|
21
|
+
summary,
|
22
|
+
textarea {
|
23
|
+
touch-action: manipulation;
|
24
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
@import 'tao/ui/mixins/base';
|
@@ -0,0 +1 @@
|
|
1
|
+
@import 'tao/ui/mixins/buttons';
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
$mobile: true !default;
|
3
|
+
|
4
|
+
$font-size-h1: 1.375rem !default;
|
5
|
+
$font-size-h2: 1.25rem !default;
|
6
|
+
$font-size-h3: 1.125rem !default;
|
7
|
+
$font-size-h4: 1rem !default;
|
8
|
+
$font-size-h5: 0.875rem !default;
|
9
|
+
$font-size-h6: 0.75rem !default;
|
10
|
+
|
11
|
+
@import 'tao/ui/variables/base';
|
@@ -0,0 +1 @@
|
|
1
|
+
@import 'tao/ui/variables/buttons';
|
@@ -0,0 +1 @@
|
|
1
|
+
@import 'tao/ui/variables/tables';
|
@@ -0,0 +1,46 @@
|
|
1
|
+
@import 'tao/ui/globals';
|
2
|
+
|
3
|
+
table.table {
|
4
|
+
width: 100%;
|
5
|
+
max-width: 100%;
|
6
|
+
border-collapse: collapse;
|
7
|
+
|
8
|
+
th {
|
9
|
+
border-top: 1px solid $table-border-color;
|
10
|
+
border-bottom: 1px solid $table-border-color;
|
11
|
+
padding: 0.875rem 0.625rem;
|
12
|
+
font-size: $font-size-xs;
|
13
|
+
font-weight: normal;
|
14
|
+
line-height: 1.125;
|
15
|
+
color: $lighter-grey-color;
|
16
|
+
text-align: left;
|
17
|
+
}
|
18
|
+
|
19
|
+
td {
|
20
|
+
border-bottom: 1px solid $table-border-color;
|
21
|
+
padding: 1.125rem 0.625rem;
|
22
|
+
line-height: 1.125;
|
23
|
+
text-align: left;
|
24
|
+
}
|
25
|
+
|
26
|
+
th.align-left,
|
27
|
+
td.align-left {
|
28
|
+
text-align: left;
|
29
|
+
}
|
30
|
+
|
31
|
+
th.align-right,
|
32
|
+
td.align-right {
|
33
|
+
text-align: right;
|
34
|
+
}
|
35
|
+
|
36
|
+
th.align-center,
|
37
|
+
td.align-center {
|
38
|
+
text-align: center;
|
39
|
+
}
|
40
|
+
|
41
|
+
@if not $mobile {
|
42
|
+
tbody tr:hover {
|
43
|
+
background-color: $table-row-hover-color;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|