titon-toolkit 1.0.5 → 1.1.0.rc.1

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/changelog.md +70 -30
  3. data/readme.md +5 -5
  4. data/roadmap.md +19 -7
  5. data/scss/toolkit.scss +3 -1
  6. data/scss/toolkit/_common.scss +21 -3
  7. data/scss/toolkit/components/accordion.scss +1 -4
  8. data/scss/toolkit/components/blackout.scss +10 -0
  9. data/scss/toolkit/components/breadcrumb.scss +1 -4
  10. data/scss/toolkit/components/button-group.scss +7 -6
  11. data/scss/toolkit/components/button.scss +7 -3
  12. data/scss/toolkit/components/carousel.scss +1 -3
  13. data/scss/toolkit/components/{dropdown.scss → drop.scss} +31 -21
  14. data/scss/toolkit/components/flyout.scss +1 -3
  15. data/scss/toolkit/components/grid.scss +5 -0
  16. data/scss/toolkit/components/icon.scss +5 -26
  17. data/scss/toolkit/components/input-group.scss +1 -1
  18. data/scss/toolkit/components/input.scss +31 -1
  19. data/scss/toolkit/components/loader.scss +163 -0
  20. data/scss/toolkit/components/mask.scss +35 -0
  21. data/scss/toolkit/components/matrix.scss +2 -5
  22. data/scss/toolkit/components/modal.scss +1 -1
  23. data/scss/toolkit/components/pagination.scss +2 -5
  24. data/scss/toolkit/components/progress.scss +1 -1
  25. data/scss/toolkit/components/showcase.scss +3 -3
  26. data/scss/toolkit/components/table.scss +4 -0
  27. data/scss/toolkit/components/tabs.scss +2 -2
  28. data/scss/toolkit/components/type-ahead.scss +2 -4
  29. data/scss/toolkit/effects/oval.scss +3 -3
  30. data/scss/toolkit/effects/pill.scss +6 -6
  31. data/scss/toolkit/effects/skew.scss +6 -6
  32. data/scss/toolkit/effects/visual.scss +1 -1
  33. data/scss/toolkit/layout/base.scss +2 -2
  34. data/scss/toolkit/layout/form.scss +0 -1
  35. data/scss/toolkit/mixins/_grid.scss +0 -1
  36. data/scss/toolkit/mixins/_layout.scss +16 -8
  37. data/scss/toolkit/themes/titon.scss +34 -11
  38. data/version.md +1 -1
  39. metadata +21 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 465c8929ea57b9d8d367f8fdec89404c25417434
4
- data.tar.gz: e7bef8a168aaa03e9488d12913652db9e1ac0930
3
+ metadata.gz: aae25f90f5eaa6402a4548c1d0b03a40c8b042dd
4
+ data.tar.gz: e1901069a5fd1c06d6fb96331398d7f5ca9473c8
5
5
  SHA512:
6
- metadata.gz: 3df1b925b85d5e6aecafe6d3796b7d034b612026a5607ddca771ae3db01f33ecb8fc713ecbfd5482ff997226556d3c39d664df441dd9952473bfa55f89fdb4c1
7
- data.tar.gz: 734ef63a3a2a1b9b44964b8b1d362279a08812844d3f477a89b99a99dc7c4817757b3d670a81055afec4f6e38803758fccf73fc56a97419b0b851a75d64a8590
6
+ metadata.gz: 69e04e2be50296e1991ecb8c592c9d1c3fe15e4093c5a3452ad139a6c850efe3b9abf97663f57ef640b964e6db87a5c2cc2781a5bf7c583533cb9901e9405ecb
7
+ data.tar.gz: da9a3ccd9ff1eae0b872410c410c68baa35f81a4f7c8e084b81998f702c2d4313249d8f4ced7ae82815fdf0b5316c46c1ee3ef3010226517d0e393bff154ab65
data/changelog.md CHANGED
@@ -1,33 +1,73 @@
1
1
  # Changelog #
2
2
 
3
- ### 1.0.5 ###
4
- * Added `composer.json` allowing the project to be installed via Composer
5
- * Fixed a prototype inheritance bug that caused Popovers to trigger Tooltips that capture all click events
6
- * Updated `hover` modes to default to click on touch devices; will pass-through to anchor link on second click
3
+ Older versions can be found in the documentation changelogs.
7
4
 
8
- ### 1.0.4 ###
9
- * Added `.vertical-center` class
10
- * Added `!important` to Responsive display properties
11
- * Changed `.arrow` classes to use the `bigtriangleup` entity
12
- * Removed Responsive conditionals to allow all classes
13
- * Updated `pre code` to display block
14
-
15
- ### 1.0.3 ###
16
- * Changed default Tooltip position to `topCenter`
17
- * Removed `stopPropagation()` calls
18
-
19
- ### 1.0.2 ###
20
- * Changed bower package name
21
- * Fixed Modal not loading the correct content
22
- * Updated MooTools to not use `$` functions
23
-
24
- ### 1.0.1 ###
25
- * Added variables for prefixing classes with vendor names and state prefixes
26
- * Added missing Input component to manifest
27
- * Fixed incorrect methods being called in jQuery Modal
28
- * Fixed a Modal bug where switching between AJAX and DOM loading caused issues
29
- * Updated Matrix deferred loading to render immediately if no images are found
30
- * Updated Modal target reading by swapping href to last
31
-
32
- ### 1.0.0 ###
33
- * Released! Aww yiisss
5
+ ### 1.1.0 ###
6
+ * Added a `Loader` component - displays loading animations using purely CSS
7
+ * Added a `Mask` component - masks an element with a transparent overlay
8
+ * Added a `clickout` event type that triggers when a click happens outside of an element
9
+ * Added `reset-list()` and `position-center()` mixins
10
+ * Added no conflict resolution through a component creation method
11
+ * Added a `--demo` parameter to Grunt that builds files for demo purposes
12
+ * Improved the Grunt build process
13
+ * Refactored `debounce()` and `throttle()` methods
14
+ * Replaced Toolkit `ie8` and `ie9` flags with `hasTransform` and `hasTransition` feature flags
15
+ * Renamed `Titon.js` to `Toolkit.js`
16
+ * jQuery
17
+ * Prototype inheritance has been rewritten and improved
18
+ * New properties `component` and `version` have been added to all components
19
+ * Namespaced element events are now triggered in the format of `<event>.toolkit.<component>`
20
+ * Component
21
+ * Added `process()` to handle non-HTML AJAX responses
22
+ * Added `onProcess` option event
23
+ * Updated `requestData()` to call `position()` for HTML responses and `process()` for non-HTML
24
+ * Updated `requestData()` to accept an object of options as the 1st argument
25
+ * Updated `fireEvent()` to trigger namespaced element events (jQuery only)
26
+ * Blackout
27
+ * Rewritten to be a singleton to differ from the new `Mask` component
28
+ * Added `Loader` support for in-between states
29
+ * Added `showLoader()` and `hideLoader()` methods that toggle the loader
30
+ * Added `Toolkit.Blackout.factory()` to return the single instance
31
+ * Added a `count` property that records how many times the blackout has been opened to allow for multiple components to display
32
+ * Added a `loader` option that determines which loader class to render
33
+ * Added a `loaderMessage` option that displays a loading message while the blackout is loading
34
+ * Added a `waveCount` option that determines how many bars to display in wave loaders
35
+ * Dropdown
36
+ * Renamed component to `Drop`
37
+ * Renamed modifiers to `drop--down`, `drop--up`, `drop--left`, and `drop--right`
38
+ * Replaced alignment classes with a single `reverse-align` class
39
+ * Grid
40
+ * Added an `.end` class that can be used on the last `.col` for justification
41
+ * Updated `$grid-columns-medium` from 8 to 9
42
+ * Input
43
+ * Has been split up into 3 sub-components: `Radio`, `Checkbox`, and `Select`
44
+ * Added new jQuery methods `radio()`, `checkbox()`, and `select()` (primary `input()` method still exists and triggers all 3)
45
+ * Added custom drop down support that replaces the native drop downs (requires the `Drop` component)
46
+ * Added multiple select support (only possible when native is disabled)
47
+ * Added a `copyClasses` option that will copy classes from the form element to the custom one
48
+ * Added a `native` option that opens native drop downs instead of custom drop downs
49
+ * Added a `hideFirst` option that hides the first select option
50
+ * Added a `hideSelected` option that hides the currently selected option
51
+ * Added a `multipleFormat` option that describes the label format for multi-selects
52
+ * Added a `countMessage` option that defines the message to use when format is count
53
+ * Added a `listLimit` option that limits the number of items in the multiple message
54
+ * Added a `arrowContent` option that renders the contents of a select arrow
55
+ * Added a `getDefaultLabel` option that displays the default label for multi-selects
56
+ * Added a `getOptionLabel` option that displays custom titles for options
57
+ * Added a `getDescription` option that allows for option descriptions
58
+ * Modal
59
+ * Multiple modals can now be opened at the same time (requires separate modal instances)
60
+ * Added file uploading support for form submissions (requires the browser `FormData` API)
61
+ * Added a `stopScroll` option that freezes the scrollbar while the modal is open
62
+ * Refactored to handle the `Blackout` changes
63
+ * Removed the `showLoading` option in favor of the `Blackout` loader
64
+ * Showcase
65
+ * Added a `stopScroll` option that freezes the scrollbar while the showcase is open
66
+ * Refactored to handle the `Blackout` changes
67
+ * Updated gutter detection to include the showcase padding
68
+ * Popover & Tooltip
69
+ * Fixed a bug where the title was not being displaying during an AJAX load
70
+ * Added a `loadingMessage` option to use during AJAX loading
71
+ * Updated default `position` to `topCenter`
72
+ * TypeAhead
73
+ * Added `cycle` event
data/readme.md CHANGED
@@ -6,7 +6,7 @@
6
6
  \/_/ \/_____/\/_____/\/_____/\/_/\/_/ \/_/ \/_/
7
7
  ```
8
8
 
9
- # Toolkit v1.0.5 #
9
+ # Toolkit v1.1.0-rc.1 #
10
10
  Titon Toolkit is a collection of very powerful user interface components and utility classes.
11
11
  Each component represents encapsulated HTML, CSS, and JavaScript functionality for role specific page elements.
12
12
 
@@ -18,7 +18,7 @@ Sass for CSS pre-processing, and Grunt for task and package management.
18
18
  * [Components](http://titon.io/toolkit#components)
19
19
 
20
20
  ## Learn More ##
21
- * [Getting Started](https://github.com/titon/toolkit/blob/master/docs/pages/en/setup/getting-started.md)
22
- * [Downloading & Installing](https://github.com/titon/toolkit/blob/master/docs/pages/en/setup/installing.md)
23
- * [Custom Builds](https://github.com/titon/toolkit/blob/master/docs/pages/en/setup/custom-builds.md)
24
- * [Browser Compatibility](https://github.com/titon/toolkit/blob/master/docs/pages/en/support/compatibility.md)
21
+ * [Getting Started](https://github.com/titon/toolkit/blob/master/docs/en/setup/getting-started.md)
22
+ * [Downloading & Installing](https://github.com/titon/toolkit/blob/master/docs/en/setup/installing.md)
23
+ * [Custom Builds](https://github.com/titon/toolkit/blob/master/docs/en/setup/custom-builds.md)
24
+ * [Browser Compatibility](https://github.com/titon/toolkit/blob/master/docs/en/support/compatibility.md)
data/roadmap.md CHANGED
@@ -3,23 +3,35 @@
3
3
  All releases will contain bug fixing and polishing for current features.
4
4
 
5
5
  ### 1.1.0 ###
6
- * Marquee - A component that displays multiple slides at once and allows for cycling through a variable amount. A sister component to the carousel.
7
6
  * Mask - A component that will mask a target element with a blackout.
8
- * Improvements for Input by adding custom select dropdowns and multi-select support
7
+ * Loader - CSS based loaders and spinners.
8
+ * Improvements for Input by adding custom select dropdowns and multi-select support.
9
9
 
10
10
  ### 1.2.0 ###
11
+ * Marquee - A component that displays multiple slides at once and allows for cycling through a variable amount. A sister component to the carousel.
11
12
  * Step - A component that highlights a step in a series of consecutive steps (represented by an arrow based navigation).
12
13
  * Dialog - A component that prompts the user for an action. Sister to the modal component.
14
+ * Add support for large modals that need to be scrolled.
13
15
 
14
16
  ### 1.3.0 ###
17
+ * Toast - A component to display toast notifications
15
18
  * Guide - A component that displays introduction guides (popovers) in a sequential order. Useful for show casing new features and functionality.
16
19
  * Divider - A component for dividing content horizontally or vertically.
17
20
 
18
21
  ### 2.0.0 ###
19
22
  * Remove the MooTools port.
20
- * Drop IE 8/9 support and upgrade to jQuery 2.
21
- * Replace JS option callbacks with namespaced element events.
22
- * Refactor the JS component layer and reduce complex implementation.
23
+ * Drop IE8 support and upgrade to jQuery 2.
23
24
  * 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.
25
+ * Replace examples with unit tests.
26
+ * Add deferred/promise integration.
27
+ * Inherit options at runtime through data attributes.
28
+ * Add aria attributes where applicable.
29
+ * Remove jQuery mobile dependency for touch events.
30
+ * Updated to use AMD.
31
+ * Optimize classes for smaller filesize.
32
+ * Switch to Gulp.
33
+ * Improved event binding within the component class.
34
+ * Rework cookie management.
35
+
36
+ ### 3.0.0 ###
37
+ * Remove jQuery dependency and go straight vanilla?
data/scss/toolkit.scss CHANGED
@@ -18,11 +18,12 @@
18
18
  @import "toolkit/components/breadcrumb";
19
19
  @import "toolkit/components/button";
20
20
  @import "toolkit/components/button-group";
21
- @import "toolkit/components/dropdown";
21
+ @import "toolkit/components/drop";
22
22
  @import "toolkit/components/icon";
23
23
  @import "toolkit/components/input";
24
24
  @import "toolkit/components/input-group";
25
25
  @import "toolkit/components/label";
26
+ @import "toolkit/components/loader";
26
27
  @import "toolkit/components/notice";
27
28
  @import "toolkit/components/pagination";
28
29
  @import "toolkit/components/progress";
@@ -35,6 +36,7 @@
35
36
  @import "toolkit/components/flyout";
36
37
  @import "toolkit/components/lazy-load";
37
38
  @import "toolkit/components/matrix";
39
+ @import "toolkit/components/mask";
38
40
  @import "toolkit/components/modal";
39
41
  @import "toolkit/components/pin";
40
42
  @import "toolkit/components/popover";
@@ -17,6 +17,11 @@ $state-has-prefix: "has-";
17
17
  $size-small-class: "small";
18
18
  $size-medium-class: "medium";
19
19
  $size-large-class: "large";
20
+ $shape-square-class: "square";
21
+ $shape-round-class: "round";
22
+ $shape-oval-class: "oval";
23
+ $shape-pill-class: "pill";
24
+ $shape-skew-class: "skew";
20
25
 
21
26
  //-------------------- Colors --------------------//
22
27
 
@@ -95,8 +100,9 @@ $skew-reverse: $skew-y $skew-x;
95
100
 
96
101
  $default-opacity: .5 !default;
97
102
  $disabled-opacity: $default-opacity !default;
98
- $blackout-opacity: $default-opacity !default;
103
+ $blackout-opacity: .85 !default;
99
104
  $carousel-opacity: $default-opacity !default;
105
+ $mask-opacity: .85 !default;
100
106
  $showcase-opacity: $default-opacity !default;
101
107
 
102
108
  //-------------------- Transitions --------------------//
@@ -108,6 +114,7 @@ $carousel-transition: 1s !default;
108
114
  $dropdown-transition: $default-transition !default;
109
115
  $flyout-transition: $default-transition !default;
110
116
  $lazyLoad-transition: $default-transition !default;
117
+ $mask-transition: $default-transition !default;
111
118
  $matrix-transition: $default-transition !default;
112
119
  $modal-transition: $default-transition !default;
113
120
  $progress-transition: $default-transition !default;
@@ -137,7 +144,7 @@ $breakpoint-large: 1440px !default;
137
144
  //-------------------- Grid --------------------//
138
145
 
139
146
  $grid-columns-large: 12 !default;
140
- $grid-columns-medium: 8 !default;
147
+ $grid-columns-medium: 9 !default;
141
148
  $grid-columns-small: 6 !default;
142
149
 
143
150
  $grid-columns-desktop: 12 !default;
@@ -147,6 +154,16 @@ $grid-columns-mobile: 3 !default;
147
154
  $grid-width: 100% !default;
148
155
  $grid-gutter: false !default;
149
156
 
157
+ //-------------------- Loader --------------------//
158
+
159
+ $loader-type: "all" !default;
160
+ $loader-color: #000 !default;
161
+ $loader-wave-count: 10 !default;
162
+ $loader-spinner-count: 5 !default;
163
+ $loader-bar-width: 0.65rem !default;
164
+ $loader-bar-height: 2.5rem !default;
165
+ $loader-bubble-size: 1.5rem !default;
166
+
150
167
  //-------------------- Imports --------------------//
151
168
 
152
169
  @import "mixins/helper";
@@ -159,4 +176,5 @@ $grid-gutter: false !default;
159
176
  @import "compass/css3/images";
160
177
  @import "compass/css3/transition";
161
178
  @import "compass/css3/transform";
162
- @import "compass/css3/filter";
179
+ @import "compass/css3/filter";
180
+ @import "animation";
@@ -7,10 +7,7 @@
7
7
  @import "../common";
8
8
 
9
9
  .#{$vendor-prefix}accordion {
10
- list-style: none;
11
- text-align: left;
12
- margin: 0;
13
- padding: 0;
10
+ @include reset-list;
14
11
  }
15
12
 
16
13
  .#{$vendor-prefix}accordion-head {
@@ -17,4 +17,14 @@
17
17
  visibility: hidden;
18
18
  background: black($blackout-opacity);
19
19
  @include transition(all $blackout-transition);
20
+
21
+ .#{$vendor-prefix}loader {
22
+ opacity: 1;
23
+ color: #fff;
24
+ @include position-center;
25
+ @include transition(all $blackout-transition);
26
+
27
+ > span,
28
+ .spinner > span { background: #fff !important; }
29
+ }
20
30
  }
@@ -12,15 +12,12 @@
12
12
  background: $gray;
13
13
 
14
14
  ul, ol {
15
- margin: 0;
16
- padding: 0;
17
-
15
+ @include reset-list;
18
16
  @include clear-fix;
19
17
  }
20
18
 
21
19
  li {
22
20
  position: relative;
23
- list-style: none;
24
21
  float: left;
25
22
 
26
23
  &:last-child {
@@ -24,6 +24,7 @@
24
24
 
25
25
  .#{$vendor-prefix}button-group {
26
26
  @include reset-inline-block;
27
+ @include reset-list;
27
28
  white-space: nowrap;
28
29
 
29
30
  > li,
@@ -48,7 +49,7 @@
48
49
  }
49
50
  }
50
51
 
51
- &.round {
52
+ &.#{$shape-round-class} {
52
53
  border-radius: $round;
53
54
 
54
55
  @include button-group-first-child {
@@ -88,14 +89,14 @@
88
89
  &:hover { z-index: 1; }
89
90
  }
90
91
 
91
- &.round,
92
- &.pill,
93
- &.skew,
94
- &.skew-reverse {
92
+ &.#{$shape-round-class},
93
+ &.#{$shape-pill-class},
94
+ &.#{$shape-skew-class},
95
+ &.#{$shape-skew-class}-reverse {
95
96
  .#{$vendor-prefix}button { border-radius: 0; }
96
97
  }
97
98
 
98
- &.round {
99
+ &.#{$shape-round-class} {
99
100
  @include button-group-first-child {
100
101
  border-top-left-radius: $round;
101
102
  border-top-right-radius: $round;
@@ -8,20 +8,24 @@
8
8
 
9
9
  .#{$vendor-prefix}button {
10
10
  @include reset-inline-block;
11
- @include size-medium;
11
+ border: 0;
12
+ margin: 0;
13
+ padding: 0;
12
14
  cursor: pointer;
13
15
  text-align: center;
14
16
  font-weight: normal;
15
17
  line-height: normal;
16
18
  white-space: nowrap;
19
+ text-decoration: none;
17
20
  background: $gray;
21
+ @include size-medium;
18
22
 
19
23
  @include is-small(true, true) { @include size-small; }
20
24
  @include is-medium(true, true) { @include size-medium; }
21
25
  @include is-large(true, true) { @include size-large; }
22
26
 
23
- &.round { border-radius: $round; }
24
- &.square { border-radius: 0; }
27
+ &.#{$shape-round-class} { border-radius: $round; }
28
+ &.#{$shape-square-class} { border-radius: 0; }
25
29
 
26
30
  @include is-disabled {
27
31
  cursor: not-allowed;
@@ -21,10 +21,8 @@
21
21
  position: relative;
22
22
 
23
23
  ul {
24
+ @include reset-list;
24
25
  position: absolute;
25
- list-style: none;
26
- margin: 0;
27
- padding: 0;
28
26
  top: 0;
29
27
  left: 0;
30
28
  @include transition(left $carousel-transition, top $carousel-transition);
@@ -6,7 +6,10 @@
6
6
 
7
7
  @import "../common";
8
8
 
9
- .#{$vendor-prefix}dropdown {
9
+ .#{$vendor-prefix}drop--down,
10
+ .#{$vendor-prefix}drop--up,
11
+ .#{$vendor-prefix}drop--left,
12
+ .#{$vendor-prefix}drop--right {
10
13
  display: none;
11
14
  text-align: left;
12
15
  position: absolute;
@@ -20,8 +23,9 @@
20
23
  visibility: hidden;
21
24
  @include transition(opacity .3s);
22
25
 
23
- // Nested dropdowns
24
- .#{$vendor-prefix}dropdown {
26
+ // Nested
27
+ .#{$vendor-prefix}drop--down,
28
+ .#{$vendor-prefix}drop--up {
25
29
  display: block;
26
30
  top: 0;
27
31
  left: 90%;
@@ -29,6 +33,12 @@
29
33
  @include transition(left .3s, opacity .3s);
30
34
  }
31
35
 
36
+ // Apply to self
37
+ &,
38
+ ul {
39
+ @include reset-list;
40
+ }
41
+
32
42
  li {
33
43
  position: relative;
34
44
 
@@ -50,7 +60,8 @@
50
60
  &:hover {
51
61
  > a { background: $gray-lightest; }
52
62
 
53
- .#{$vendor-prefix}dropdown {
63
+ .#{$vendor-prefix}drop--down,
64
+ .#{$vendor-prefix}drop--up {
54
65
  visibility: visible;
55
66
  opacity: 1;
56
67
  left: 100%;
@@ -64,46 +75,45 @@
64
75
  }
65
76
  }
66
77
 
67
- .#{$vendor-prefix}dropdown,
68
- .#{$vendor-prefix}dropdown ul {
69
- list-style: none;
70
- margin: 0;
71
- padding: 0;
72
- }
73
-
74
- .#{$vendor-prefix}dropdown-divider {
78
+ .#{$vendor-prefix}drop-divider {
75
79
  margin: ($margin / 2) 0;
76
80
  border-top: 1px solid $gray-dark;
77
81
  }
78
82
 
79
- .#{$vendor-prefix}dropdown-heading {
83
+ .#{$vendor-prefix}drop-heading {
80
84
  padding: $small-padding;
81
85
  background-color: $gray-dark;
82
86
  }
83
87
 
84
88
  //-------------------- Modifiers --------------------//
85
89
 
86
- .#{$vendor-prefix}dropdown.on-top {
90
+ .#{$vendor-prefix}drop--up {
87
91
  top: auto;
88
92
  bottom: 100%;
89
93
  }
90
94
 
91
- .#{$vendor-prefix}dropdown.on-right {
95
+ .#{$vendor-prefix}drop--right {
92
96
  top: auto;
93
97
  left: 100%;
94
98
  }
95
99
 
96
- .#{$vendor-prefix}dropdown.on-left {
100
+ .#{$vendor-prefix}drop--left {
97
101
  top: auto;
98
102
  left: auto;
99
103
  right: 100%;
100
104
  }
101
105
 
102
- .#{$vendor-prefix}dropdown.push-over {
103
- left: auto;
104
- right: 0;
106
+ .#{$vendor-prefix}drop--right,
107
+ .#{$vendor-prefix}drop--left {
108
+ &.reverse-align {
109
+ bottom: 0;
110
+ }
105
111
  }
106
112
 
107
- .#{$vendor-prefix}dropdown.pull-up {
108
- bottom: 0;
113
+ .#{$vendor-prefix}drop--down,
114
+ .#{$vendor-prefix}drop--up {
115
+ &.reverse-align {
116
+ left: auto;
117
+ right: 0;
118
+ }
109
119
  }