titon-toolkit 1.0.0.rc1 → 1.0.0.rc.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/readme.md +17 -10
- data/roadmap.md +25 -0
- data/scss/toolkit/_common.scss +18 -12
- data/scss/toolkit/components/breadcrumbs.scss +2 -2
- data/scss/toolkit/components/icon.scss +2 -0
- data/scss/toolkit/components/pagination.scss +14 -12
- data/scss/toolkit/components/pin.scss +6 -2
- data/scss/toolkit/layout/responsive.scss +13 -1
- data/scss/toolkit/layout/typography.scss +2 -0
- data/scss/toolkit/mixins/_grid.scss +28 -3
- data/scss/toolkit/mixins/_layout.scss +28 -0
- data/scss/toolkit/mixins/_responsive.scss +9 -0
- data/version.md +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc30641f32e37d76624fe6ad5b150e5813da1286
|
4
|
+
data.tar.gz: 2611239a2d146aa078fee9fd5f9c1f4c581a1c07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21871c29c0afb5e6f976fefa941547429220db7ab65ce79ed5f74504aca057dbb7012c6d1075026f3865d25f40ec24a49a044808797e44ad8356860336e19ab0
|
7
|
+
data.tar.gz: 1f7851607db03b0070ef94f2c91566377e37df6915f8ad205235d8fdbe0aa6fa387cbf3519c7d37cc495573e7d436f1cfe25dcca23e503c5be209aa74f35048c
|
data/readme.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Toolkit v1.0.0
|
1
|
+
# Toolkit v1.0.0 RC2 #
|
2
2
|
|
3
3
|
Titon Toolkit is a collection of very powerful user-interface components and utility classes.
|
4
4
|
Each component represents encapsulated HTML, CSS and JS functionality for role specific page elements.
|
@@ -6,11 +6,22 @@ Each component represents encapsulated HTML, CSS and JS functionality for role s
|
|
6
6
|
Titon makes use of the latest and greatest technology. This includes CSS3 for animation (fade, slide, etc),
|
7
7
|
Sass for CSS pre-processing, and Grunt for task and package management.
|
8
8
|
|
9
|
+
#### Why Toolkit? ####
|
10
|
+
|
11
|
+
Toolkit was built from the ground up with the following concepts and philosophies in mind.
|
12
|
+
If any of these concepts align with your thought process or your projects requirements, than Toolkit is right for you.
|
13
|
+
|
14
|
+
* Mobile first design philosophy
|
15
|
+
* Progressive enhancement and graceful degradation
|
16
|
+
* Cascading CSS inheritance
|
17
|
+
* Configuration over convention
|
18
|
+
* Responsive and fluid as first class
|
19
|
+
* Relative scaling with `em` and `rem`
|
20
|
+
* Animations and transitions purely with CSS
|
21
|
+
|
9
22
|
#### Demo ####
|
10
23
|
A temporary demo can be found here: http://titon.io/toolkit
|
11
24
|
|
12
|
-
It's literally the examples folder within this repository.
|
13
|
-
|
14
25
|
#### Requirements ####
|
15
26
|
* **HTML5**
|
16
27
|
* **CSS3**
|
@@ -22,7 +33,7 @@ It's literally the examples folder within this repository.
|
|
22
33
|
* More/Element.Shortcuts
|
23
34
|
* More/Element.Measure
|
24
35
|
* More/Drag (optional for Modal)
|
25
|
-
* More/Element.Event.Pseudos (for Tooltip)
|
36
|
+
* More/Element.Event.Pseudos (for LazyLoad, Pin, Stalker, Tooltip)
|
26
37
|
|
27
38
|
#### Browser Support ####
|
28
39
|
|
@@ -63,6 +74,7 @@ Furthermore, the following Toolkit components do not work in IE8: Input, Matrix.
|
|
63
74
|
* `Pin` - Pin an element in a container that stays within the viewport while scrolling
|
64
75
|
* `Popover` - Displays dynamic notification elements over an element
|
65
76
|
* `Showcase` - Provides a lightbox style image gallery
|
77
|
+
* `Stalker` - Monitors the scroll of an element and notifies a target when a marker is reached
|
66
78
|
* `Tabs` - Provides tabbed support to an element containing navigation tabs and sections
|
67
79
|
* `Tooltip` - Displays dynamic tooltips over an element or the mouse cursor
|
68
80
|
* `TypeAhead` - Displays a list of possible options below an input while typing
|
@@ -108,9 +120,4 @@ Titon also provides classes that build upon MooTools itself. These classes do no
|
|
108
120
|
## Known Issues ##
|
109
121
|
* Zepto is currently not supported (too different of an API)
|
110
122
|
* Slide in modal animations do not work correctly in Chrome/IE
|
111
|
-
* Flip modal animations do not work in Opera
|
112
|
-
|
113
|
-
## To Do ##
|
114
|
-
* Guide component
|
115
|
-
* Marquee component
|
116
|
-
* Custom inputs component
|
123
|
+
* Flip modal animations do not work in Opera
|
data/roadmap.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Toolkit Roadmap #
|
2
|
+
|
3
|
+
All releases will contain bug fixing and polishing for current features.
|
4
|
+
|
5
|
+
### 1.1.0 - December 2013 ###
|
6
|
+
* Guide - A component that displays introduction guides (popovers) in a sequential order. Useful for show casing new features and functionality.
|
7
|
+
* Divider - A component for dividing content horizontally or vertically.
|
8
|
+
|
9
|
+
### 1.2.0 - January 2014 ###
|
10
|
+
* Marquee - A component that displays multiple slides at once and allows for cycling through a variable amount. A sister component to the carousel.
|
11
|
+
* Mask - A component that will mask a target element with a blackout.
|
12
|
+
|
13
|
+
### 1.3.0 - February 2014 ###
|
14
|
+
* Step - A component that highlights a step in a series of consecutive steps (represented by an arrow based navigation).
|
15
|
+
* Dialog - A component that prompts the user for an action. Sister to the modal component.
|
16
|
+
|
17
|
+
### 2.0.0 - TBD ###
|
18
|
+
* Remove the MooTools port.
|
19
|
+
* Drop IE 8/9 support and upgrade to jQuery 2.
|
20
|
+
* Replace JS option callbacks with namespaced element events.
|
21
|
+
* Refactor the JS component layer and reduce complex implementation.
|
22
|
+
* Move component options from the jQuery plugin to the Toolkit component.
|
23
|
+
* Separate component transitions into a stand alone layer that can be used anywhere.
|
24
|
+
* Refactor in-between loading states. Possibly into a new component? CSS or JS based?
|
25
|
+
* Replace examples with unit tests.
|
data/scss/toolkit/_common.scss
CHANGED
@@ -1,15 +1,4 @@
|
|
1
1
|
|
2
|
-
//-------------------- Imports --------------------//
|
3
|
-
|
4
|
-
@import "mixins/layout";
|
5
|
-
@import "mixins/grid";
|
6
|
-
@import "mixins/responsive";
|
7
|
-
@import "compass/css3/box-sizing";
|
8
|
-
@import "compass/css3/images";
|
9
|
-
@import "compass/css3/transition";
|
10
|
-
@import "compass/css3/transform";
|
11
|
-
@import "compass/css3/filter";
|
12
|
-
|
13
2
|
//-------------------- Compass --------------------//
|
14
3
|
|
15
4
|
$experimental-support-for-mozilla: true !default;
|
@@ -33,6 +22,9 @@ $foreground-color: #2d2d2d !default;
|
|
33
22
|
|
34
23
|
//-------------------- Sizes --------------------//
|
35
24
|
|
25
|
+
$base-size: 14px !default;
|
26
|
+
$base-size-width: ($base-size * 100) / 1px;
|
27
|
+
|
36
28
|
$padding: .75rem !default;
|
37
29
|
$margin: 1.25rem !default;
|
38
30
|
|
@@ -132,4 +124,18 @@ $grid-columns-small: 6 !default;
|
|
132
124
|
|
133
125
|
$grid-columns-desktop: 12 !default;
|
134
126
|
$grid-columns-tablet: 6 !default;
|
135
|
-
$grid-columns-mobile: 3 !default;
|
127
|
+
$grid-columns-mobile: 3 !default;
|
128
|
+
|
129
|
+
$grid-width: 100% !default;
|
130
|
+
$grid-gutter: 0 !default;
|
131
|
+
|
132
|
+
//-------------------- Imports --------------------//
|
133
|
+
|
134
|
+
@import "mixins/layout";
|
135
|
+
@import "mixins/grid";
|
136
|
+
@import "mixins/responsive";
|
137
|
+
@import "compass/css3/box-sizing";
|
138
|
+
@import "compass/css3/images";
|
139
|
+
@import "compass/css3/transition";
|
140
|
+
@import "compass/css3/transform";
|
141
|
+
@import "compass/css3/filter";
|
@@ -10,26 +10,27 @@
|
|
10
10
|
display: block;
|
11
11
|
margin: $margin 0;
|
12
12
|
|
13
|
-
ul,
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
ul, ol {
|
14
|
+
margin: 0;
|
15
|
+
padding: 0;
|
16
|
+
|
17
|
+
@include clear-fix;
|
17
18
|
}
|
18
19
|
|
19
20
|
li {
|
21
|
+
position: relative;
|
22
|
+
list-style: none;
|
20
23
|
float: left;
|
21
24
|
margin-right: $padding / 2;
|
22
25
|
|
23
|
-
|
24
|
-
|
26
|
+
> a {
|
27
|
+
display: block;
|
25
28
|
}
|
26
29
|
|
27
30
|
&.is-active {
|
28
31
|
z-index: 1;
|
29
32
|
}
|
30
33
|
}
|
31
|
-
|
32
|
-
@include clear-fix;
|
33
34
|
}
|
34
35
|
|
35
36
|
//-------------------- Modifiers --------------------//
|
@@ -40,10 +41,11 @@
|
|
40
41
|
margin-right: 0;
|
41
42
|
|
42
43
|
&:first-child { margin-left: 0; }
|
44
|
+
|
43
45
|
&:hover,
|
44
|
-
|
46
|
+
> a:hover { z-index: 1; }
|
45
47
|
|
46
|
-
|
48
|
+
> a {
|
47
49
|
margin: 0;
|
48
50
|
border-radius: 0;
|
49
51
|
}
|
@@ -54,12 +56,12 @@
|
|
54
56
|
border-radius: $round;
|
55
57
|
}
|
56
58
|
|
57
|
-
li:first-child
|
59
|
+
li:first-child > a {
|
58
60
|
border-top-left-radius: $round;
|
59
61
|
border-bottom-left-radius: $round;
|
60
62
|
}
|
61
63
|
|
62
|
-
li:last-child
|
64
|
+
li:last-child > a {
|
63
65
|
border-top-right-radius: $round;
|
64
66
|
border-bottom-right-radius: $round;
|
65
67
|
}
|
@@ -6,6 +6,10 @@
|
|
6
6
|
|
7
7
|
@import "../common";
|
8
8
|
|
9
|
-
.pin {
|
10
|
-
@include transition(top 1s, right .5s, left .5s);
|
9
|
+
.pin.sticky {
|
10
|
+
@include transition(top 1s ease-in-out, right .5s ease-in-out, left .5s ease-in-out);
|
11
|
+
}
|
12
|
+
|
13
|
+
.pin.slide {
|
14
|
+
@include transition(top .5s linear, right .5s linear, left .5s linear);
|
11
15
|
}
|
@@ -12,6 +12,7 @@ img, video, canvas {
|
|
12
12
|
height: auto;
|
13
13
|
}
|
14
14
|
|
15
|
+
.show-retina,
|
15
16
|
.show-print { display: none; }
|
16
17
|
|
17
18
|
@if $responsive-size == "device" or $responsive-size == "both" {
|
@@ -72,7 +73,18 @@ img, video, canvas {
|
|
72
73
|
}
|
73
74
|
|
74
75
|
// Type states
|
76
|
+
@include if-retina {
|
77
|
+
.hide-retina { display: none; }
|
78
|
+
.show-retina { display: block; }
|
79
|
+
tr.show-retina { display: table-row; }
|
80
|
+
td.show-retina,
|
81
|
+
th.show-retina { display: table-cell; }
|
82
|
+
}
|
83
|
+
|
75
84
|
@media print {
|
76
|
-
.show-print { display: block; }
|
77
85
|
.hide-print { display: none; }
|
86
|
+
.show-print { display: block; }
|
87
|
+
tr.show-print { display: table-row; }
|
88
|
+
td.show-print,
|
89
|
+
th.show-print { display: table-cell; }
|
78
90
|
}
|
@@ -1,14 +1,31 @@
|
|
1
1
|
|
2
|
+
//$gutter-width: if($grid-gutter, to-percent($grid-gutter), 0);
|
3
|
+
|
2
4
|
// Calculate a width using a grid cell
|
3
5
|
@function grid-span($columns, $n) {
|
4
|
-
|
6
|
+
$row-width: 100%;
|
7
|
+
|
8
|
+
// If a gutter is set, remove width based on the sum of the gutter columns
|
9
|
+
/*@if $grid-gutter {
|
10
|
+
$row-width: $row-width - ($gutter-width * ($columns - 1));
|
11
|
+
}*/
|
12
|
+
|
13
|
+
// The column width should span a division of the total width
|
14
|
+
$span-width: ($row-width / $columns) * $n;
|
15
|
+
|
16
|
+
// If a gutter is set, increase the column width to fill in the missing gaps
|
17
|
+
/*@if $grid-gutter and $n > 1 {
|
18
|
+
$span-width: $span-width + (($n - 1) * $gutter-width);
|
19
|
+
}*/
|
20
|
+
|
21
|
+
@return $span-width;
|
5
22
|
}
|
6
23
|
|
7
24
|
// Styles for the row containing the columns
|
8
25
|
@mixin grid-row() {
|
9
26
|
text-align: left;
|
10
|
-
width:
|
11
|
-
max-width:
|
27
|
+
width: $grid-width;
|
28
|
+
max-width: $grid-width;
|
12
29
|
|
13
30
|
@include clear-fix;
|
14
31
|
}
|
@@ -18,4 +35,12 @@
|
|
18
35
|
position: relative;
|
19
36
|
min-height: 1px;
|
20
37
|
float: left;
|
38
|
+
|
39
|
+
/*@if $grid-gutter {
|
40
|
+
margin-right: $gutter-width;
|
41
|
+
|
42
|
+
&:last-child {
|
43
|
+
margin-right: 0;
|
44
|
+
}
|
45
|
+
}*/
|
21
46
|
}
|
@@ -76,4 +76,32 @@
|
|
76
76
|
|
77
77
|
@function white($opacity){
|
78
78
|
@return rgba(255, 255, 255, $opacity);
|
79
|
+
}
|
80
|
+
|
81
|
+
//-------------------- Conversions --------------------//
|
82
|
+
|
83
|
+
// Remove the unit and return the integer
|
84
|
+
@function strip-unit($value) {
|
85
|
+
@return ($value / ($value * 0 + 1));
|
86
|
+
}
|
87
|
+
|
88
|
+
// Convert a unit value to a percentage while using $base-size as the reference
|
89
|
+
@function to-percent($from) {
|
90
|
+
$from-unit: unit($from);
|
91
|
+
$value: $from;
|
92
|
+
|
93
|
+
@if $from-unit == '%' {
|
94
|
+
@return $from;
|
95
|
+
|
96
|
+
} @else if $from-unit == 'px' {
|
97
|
+
// Do nothing
|
98
|
+
|
99
|
+
} @else if $from-unit == 'em' or $from-unit == 'rem' {
|
100
|
+
$value: (strip-unit($from) * strip-unit($base-size)) * 1px;
|
101
|
+
|
102
|
+
} @else {
|
103
|
+
@warn 'Unknown conversion unit type.';
|
104
|
+
}
|
105
|
+
|
106
|
+
@return percentage(($value / $base-size) / 100);
|
79
107
|
}
|
@@ -29,6 +29,15 @@
|
|
29
29
|
}
|
30
30
|
}
|
31
31
|
|
32
|
+
@mixin if-retina {
|
33
|
+
@media
|
34
|
+
only screen and (-webkit-min-device-pixel-ratio: 2),
|
35
|
+
only screen and (-moz-min-device-pixel-ratio: 2),
|
36
|
+
only screen and (min-device-pixel-ratio: 2) {
|
37
|
+
@content;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
32
41
|
// Either support desktop-first or mobile-first responsive pattern
|
33
42
|
@mixin do-responsive($desktop, $mobile) {
|
34
43
|
@if $responsive-design == "desktop" {
|
data/version.md
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0-
|
1
|
+
1.0.0-rc.2
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: titon-toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titon
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sass
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- scss/toolkit.scss
|
93
93
|
- license.md
|
94
94
|
- readme.md
|
95
|
+
- roadmap.md
|
95
96
|
- version.md
|
96
97
|
homepage: http://titon.io
|
97
98
|
licenses:
|