active_frontend 13.3.0 → 14.0.0

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 (221) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.fasterer.yml +19 -0
  4. data/.reek +27 -0
  5. data/.rubocop.yml +38 -0
  6. data/.scss-lint.yml +27 -0
  7. data/Rakefile +1 -1
  8. data/active_frontend.gemspec +21 -18
  9. data/app/.DS_Store +0 -0
  10. data/app/assets/.DS_Store +0 -0
  11. data/app/assets/fonts/.DS_Store +0 -0
  12. data/app/assets/fonts/dripicons/.DS_Store +0 -0
  13. data/app/assets/fonts/dripicons/dripicons.woff +0 -0
  14. data/app/assets/fonts/fakt-pro/.DS_Store +0 -0
  15. data/app/assets/fonts/fakt-pro/fakt-pro-bold.woff +0 -0
  16. data/app/assets/fonts/fakt-pro/fakt-pro-normal.woff +0 -0
  17. data/app/assets/fonts/fakt-pro/fakt-pro-semibold.woff +0 -0
  18. data/app/assets/fonts/fakt-pro/fakt-pro-semilight.woff +0 -0
  19. data/app/assets/fonts/fakt-soft-pro/.DS_Store +0 -0
  20. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-bold.woff +0 -0
  21. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-normal.woff +0 -0
  22. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-semibold.woff +0 -0
  23. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-semilight.woff +0 -0
  24. data/app/assets/images/.DS_Store +0 -0
  25. data/app/assets/images/.keep +0 -0
  26. data/app/assets/images/placeholders/.DS_Store +0 -0
  27. data/app/assets/images/placeholders/camera-large.png +0 -0
  28. data/app/assets/images/placeholders/camera-small.png +0 -0
  29. data/app/assets/images/placeholders/camera.png +0 -0
  30. data/app/assets/images/placeholders/document-large.png +0 -0
  31. data/app/assets/images/placeholders/document-small.png +0 -0
  32. data/app/assets/images/placeholders/document.png +0 -0
  33. data/app/assets/images/placeholders/photo-large.png +0 -0
  34. data/app/assets/images/placeholders/{picture-small.png → photo-small.png} +0 -0
  35. data/app/assets/images/placeholders/photo.png +0 -0
  36. data/app/assets/images/placeholders/store-large.png +0 -0
  37. data/app/assets/images/placeholders/store-small.png +0 -0
  38. data/app/assets/images/placeholders/store.png +0 -0
  39. data/app/assets/images/placeholders/user-large.png +0 -0
  40. data/app/assets/images/placeholders/user-small.png +0 -0
  41. data/app/assets/images/placeholders/user.png +0 -0
  42. data/app/helpers/active_frontend_helper.rb +22 -37
  43. data/lib/.DS_Store +0 -0
  44. data/lib/active_frontend.rb +3 -4
  45. data/lib/active_frontend/.DS_Store +0 -0
  46. data/lib/active_frontend/version.rb +1 -1
  47. data/lib/generators/active_frontend/install_generator.rb +3 -3
  48. data/lib/generators/active_frontend/templates/install.js +35 -30
  49. data/lib/generators/active_frontend/templates/install.scss +55 -58
  50. data/vendor/.DS_Store +0 -0
  51. data/vendor/assets/.DS_Store +0 -0
  52. data/vendor/assets/javascripts/.DS_Store +0 -0
  53. data/vendor/assets/javascripts/active_frontend.js +35 -30
  54. data/vendor/assets/javascripts/base/_affix.js +170 -0
  55. data/vendor/assets/javascripts/base/_alert.js +80 -0
  56. data/vendor/assets/javascripts/base/_animation.js +106 -0
  57. data/vendor/assets/javascripts/base/_button.js +123 -0
  58. data/vendor/assets/javascripts/base/_carousel.js +237 -0
  59. data/vendor/assets/javascripts/base/_collapse.js +200 -0
  60. data/vendor/assets/javascripts/base/_colorpicker.js +147 -0
  61. data/vendor/assets/javascripts/base/_datepicker.js +1411 -0
  62. data/vendor/assets/javascripts/base/_dropdown.js +154 -0
  63. data/vendor/assets/javascripts/base/_filepicker.js +235 -0
  64. data/vendor/assets/javascripts/base/_hoverdown.js +116 -0
  65. data/vendor/assets/javascripts/base/_layout.js +126 -0
  66. data/vendor/assets/javascripts/base/_list.js +103 -0
  67. data/vendor/assets/javascripts/{_modal.js → base/_modal.js} +170 -167
  68. data/vendor/assets/javascripts/base/_popover.js +101 -0
  69. data/vendor/assets/javascripts/base/_scrollspy.js +161 -0
  70. data/vendor/assets/javascripts/base/_switch.js +160 -0
  71. data/vendor/assets/javascripts/base/_tab.js +139 -0
  72. data/vendor/assets/javascripts/base/_table.js +224 -0
  73. data/vendor/assets/javascripts/base/_timeago.js +270 -0
  74. data/vendor/assets/javascripts/base/_timepicker.js +541 -0
  75. data/vendor/assets/javascripts/base/_tooltip.js +525 -0
  76. data/vendor/assets/javascripts/base/_tour.js +268 -0
  77. data/vendor/assets/javascripts/base/_transition.js +52 -0
  78. data/vendor/assets/javascripts/base/_typeahead.js +362 -0
  79. data/vendor/assets/javascripts/extensions/_calendar.js +4709 -0
  80. data/vendor/assets/javascripts/extensions/_chart.js +9371 -0
  81. data/vendor/assets/javascripts/extensions/_map.js +2153 -0
  82. data/vendor/assets/stylesheets/.DS_Store +0 -0
  83. data/vendor/assets/stylesheets/{_mixin.scss → _utility.scss} +96 -10
  84. data/vendor/assets/stylesheets/_variable.scss +201 -19
  85. data/vendor/assets/stylesheets/active_frontend.scss +55 -58
  86. data/vendor/assets/stylesheets/blocks/_anchor.scss +15 -0
  87. data/vendor/assets/stylesheets/blocks/_button.scss +278 -0
  88. data/vendor/assets/stylesheets/blocks/_code.scss +144 -0
  89. data/vendor/assets/stylesheets/blocks/_common.scss +127 -0
  90. data/vendor/assets/stylesheets/blocks/_form.scss +508 -0
  91. data/vendor/assets/stylesheets/blocks/_icon.scss +359 -0
  92. data/vendor/assets/stylesheets/blocks/_list.scss +76 -0
  93. data/vendor/assets/stylesheets/blocks/_multimedia.scss +62 -0
  94. data/vendor/assets/stylesheets/blocks/_reset.scss +179 -0
  95. data/vendor/assets/stylesheets/blocks/_table.scss +211 -0
  96. data/vendor/assets/stylesheets/blocks/_typography.scss +204 -0
  97. data/vendor/assets/stylesheets/components/_ad.scss +78 -0
  98. data/vendor/assets/stylesheets/components/_affix.scss +14 -0
  99. data/vendor/assets/stylesheets/components/_alert.scss +50 -0
  100. data/vendor/assets/stylesheets/components/_animation.scss +1670 -0
  101. data/vendor/assets/stylesheets/components/_breadcrumb.scss +17 -0
  102. data/vendor/assets/stylesheets/components/_calendar.scss +213 -0
  103. data/vendor/assets/stylesheets/components/_card.scss +30 -0
  104. data/vendor/assets/stylesheets/components/_carousel.scss +135 -0
  105. data/vendor/assets/stylesheets/components/_chart.scss +10 -0
  106. data/vendor/assets/stylesheets/components/_collapse.scss +17 -0
  107. data/vendor/assets/stylesheets/components/_colorpicker.scss +38 -0
  108. data/vendor/assets/stylesheets/components/_datepicker.scss +80 -0
  109. data/vendor/assets/stylesheets/components/_dropmenu.scss +151 -0
  110. data/vendor/assets/stylesheets/components/_footer.scss +11 -0
  111. data/vendor/assets/stylesheets/components/_grid.scss +144 -0
  112. data/vendor/assets/stylesheets/components/_header.scss +99 -0
  113. data/vendor/assets/stylesheets/components/_label_and_badge.scss +57 -0
  114. data/vendor/assets/stylesheets/components/_layout.scss +63 -0
  115. data/vendor/assets/stylesheets/components/_map.scss +14 -0
  116. data/vendor/assets/stylesheets/components/_milestone.scss +49 -0
  117. data/vendor/assets/stylesheets/components/_missive.scss +40 -0
  118. data/vendor/assets/stylesheets/components/_modal.scss +126 -0
  119. data/vendor/assets/stylesheets/components/_nav_and_tab.scss +202 -0
  120. data/vendor/assets/stylesheets/components/_navbar.scss +66 -0
  121. data/vendor/assets/stylesheets/components/_pagination.scss +79 -0
  122. data/vendor/assets/stylesheets/components/_placeholder.scss +23 -0
  123. data/vendor/assets/stylesheets/components/_popover.scss +167 -0
  124. data/vendor/assets/stylesheets/components/_progress.scss +62 -0
  125. data/vendor/assets/stylesheets/components/_sidebar.scss +74 -0
  126. data/vendor/assets/stylesheets/components/_spinner.scss +83 -0
  127. data/vendor/assets/stylesheets/components/_switch.scss +150 -0
  128. data/vendor/assets/stylesheets/components/_timepicker.scss +30 -0
  129. data/vendor/assets/stylesheets/components/_tooltip.scss +93 -0
  130. data/vendor/assets/stylesheets/components/_transition.scss +12 -0
  131. data/vendor/assets/stylesheets/components/_typeahead.scss +18 -0
  132. metadata +150 -94
  133. data/app/assets/fonts/gotham/gotham-bold.woff +0 -0
  134. data/app/assets/fonts/gotham/gotham-book.woff +0 -0
  135. data/app/assets/fonts/gotham/gotham-light.woff +0 -0
  136. data/app/assets/fonts/gotham/gotham-medium.woff +0 -0
  137. data/app/assets/fonts/gotham/gotham-rounded-bold.woff +0 -0
  138. data/app/assets/fonts/gotham/gotham-rounded-book.woff +0 -0
  139. data/app/assets/fonts/gotham/gotham-rounded-light.woff +0 -0
  140. data/app/assets/fonts/gotham/gotham-rounded-medium.woff +0 -0
  141. data/app/assets/images/placeholders/archive-large.png +0 -0
  142. data/app/assets/images/placeholders/archive-small.png +0 -0
  143. data/app/assets/images/placeholders/archive.png +0 -0
  144. data/app/assets/images/placeholders/picture-large.png +0 -0
  145. data/app/assets/images/placeholders/picture.png +0 -0
  146. data/vendor/assets/javascripts/_affix.js +0 -153
  147. data/vendor/assets/javascripts/_alert.js +0 -85
  148. data/vendor/assets/javascripts/_animation.js +0 -103
  149. data/vendor/assets/javascripts/_button.js +0 -107
  150. data/vendor/assets/javascripts/_carousel.js +0 -228
  151. data/vendor/assets/javascripts/_chart.js +0 -3742
  152. data/vendor/assets/javascripts/_collapse.js +0 -202
  153. data/vendor/assets/javascripts/_color_picker.js +0 -108
  154. data/vendor/assets/javascripts/_date_picker.js +0 -1650
  155. data/vendor/assets/javascripts/_dropdown.js +0 -156
  156. data/vendor/assets/javascripts/_file_input.js +0 -71
  157. data/vendor/assets/javascripts/_hoverdown.js +0 -109
  158. data/vendor/assets/javascripts/_inputmask.js +0 -341
  159. data/vendor/assets/javascripts/_loader.js +0 -361
  160. data/vendor/assets/javascripts/_map.js +0 -2401
  161. data/vendor/assets/javascripts/_popover.js +0 -99
  162. data/vendor/assets/javascripts/_scrollspy.js +0 -163
  163. data/vendor/assets/javascripts/_slider.js +0 -1572
  164. data/vendor/assets/javascripts/_sort.js +0 -1432
  165. data/vendor/assets/javascripts/_swoggle.js +0 -415
  166. data/vendor/assets/javascripts/_tab.js +0 -146
  167. data/vendor/assets/javascripts/_tablespy.js +0 -1883
  168. data/vendor/assets/javascripts/_time_ago.js +0 -206
  169. data/vendor/assets/javascripts/_time_picker.js +0 -1088
  170. data/vendor/assets/javascripts/_tooltip.js +0 -504
  171. data/vendor/assets/javascripts/_transition.js +0 -50
  172. data/vendor/assets/javascripts/_typeahead.js +0 -366
  173. data/vendor/assets/stylesheets/_ad.scss +0 -63
  174. data/vendor/assets/stylesheets/_affix.scss +0 -14
  175. data/vendor/assets/stylesheets/_alert.scss +0 -114
  176. data/vendor/assets/stylesheets/_animation.scss +0 -1370
  177. data/vendor/assets/stylesheets/_breadcrumb.scss +0 -100
  178. data/vendor/assets/stylesheets/_button.scss +0 -386
  179. data/vendor/assets/stylesheets/_canvas.scss +0 -182
  180. data/vendor/assets/stylesheets/_carousel.scss +0 -158
  181. data/vendor/assets/stylesheets/_chart.scss +0 -15
  182. data/vendor/assets/stylesheets/_code.scss +0 -150
  183. data/vendor/assets/stylesheets/_collapse.scss +0 -14
  184. data/vendor/assets/stylesheets/_color.scss +0 -55
  185. data/vendor/assets/stylesheets/_colorpicker.scss +0 -63
  186. data/vendor/assets/stylesheets/_datepicker.scss +0 -122
  187. data/vendor/assets/stylesheets/_dropdown.scss +0 -248
  188. data/vendor/assets/stylesheets/_footer.scss +0 -71
  189. data/vendor/assets/stylesheets/_form.scss +0 -661
  190. data/vendor/assets/stylesheets/_grid.scss +0 -184
  191. data/vendor/assets/stylesheets/_header.scss +0 -156
  192. data/vendor/assets/stylesheets/_icon.scss +0 -362
  193. data/vendor/assets/stylesheets/_image.scss +0 -33
  194. data/vendor/assets/stylesheets/_label_and_badge.scss +0 -104
  195. data/vendor/assets/stylesheets/_link.scss +0 -55
  196. data/vendor/assets/stylesheets/_list.scss +0 -122
  197. data/vendor/assets/stylesheets/_loader.scss +0 -71
  198. data/vendor/assets/stylesheets/_map.scss +0 -44
  199. data/vendor/assets/stylesheets/_missive.scss +0 -74
  200. data/vendor/assets/stylesheets/_modal.scss +0 -204
  201. data/vendor/assets/stylesheets/_nav_and_tab.scss +0 -230
  202. data/vendor/assets/stylesheets/_navbar.scss +0 -73
  203. data/vendor/assets/stylesheets/_pagination.scss +0 -79
  204. data/vendor/assets/stylesheets/_panel.scss +0 -80
  205. data/vendor/assets/stylesheets/_placeholder.scss +0 -63
  206. data/vendor/assets/stylesheets/_popover.scss +0 -128
  207. data/vendor/assets/stylesheets/_progress.scss +0 -86
  208. data/vendor/assets/stylesheets/_reset.scss +0 -140
  209. data/vendor/assets/stylesheets/_sidebar.scss +0 -148
  210. data/vendor/assets/stylesheets/_slider.scss +0 -151
  211. data/vendor/assets/stylesheets/_spinner.scss +0 -572
  212. data/vendor/assets/stylesheets/_subheader.scss +0 -112
  213. data/vendor/assets/stylesheets/_swoggle.scss +0 -120
  214. data/vendor/assets/stylesheets/_table.scss +0 -210
  215. data/vendor/assets/stylesheets/_timepicker.scss +0 -77
  216. data/vendor/assets/stylesheets/_toolbar.scss +0 -130
  217. data/vendor/assets/stylesheets/_tooltip.scss +0 -105
  218. data/vendor/assets/stylesheets/_transition.scss +0 -11
  219. data/vendor/assets/stylesheets/_trunk.scss +0 -147
  220. data/vendor/assets/stylesheets/_typeahead.scss +0 -18
  221. data/vendor/assets/stylesheets/_typography.scss +0 -233
@@ -1,153 +0,0 @@
1
- +function ($) {
2
- 'use strict';
3
-
4
- // AFFIX CLASS DEFINITION
5
- // ======================
6
-
7
- var Affix = function (element, options) {
8
- this.options = $.extend({}, Affix.DEFAULTS, options)
9
-
10
- this.$target = $(this.options.target)
11
- .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
12
- .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
13
-
14
- this.$element = $(element)
15
- this.affixed = null
16
- this.unpin = null
17
- this.pinnedOffset = null
18
-
19
- this.checkPosition()
20
- }
21
-
22
- Affix.VERSION = '3.3.6'
23
-
24
- Affix.RESET = 'affix affix-top affix-bottom'
25
-
26
- Affix.DEFAULTS = {
27
- offset: 0,
28
- target: window
29
- }
30
-
31
- Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
32
- var scrollTop = this.$target.scrollTop()
33
- var position = this.$element.offset()
34
- var targetHeight = this.$target.height()
35
-
36
- if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
37
-
38
- if (this.affixed == 'bottom') {
39
- if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
40
- return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
41
- }
42
-
43
- var initializing = this.affixed == null
44
- var colliderTop = initializing ? scrollTop : position.top
45
- var colliderHeight = initializing ? targetHeight : height
46
-
47
- if (offsetTop != null && scrollTop <= offsetTop) return 'top'
48
- if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
49
-
50
- return false
51
- }
52
-
53
- Affix.prototype.getPinnedOffset = function () {
54
- if (this.pinnedOffset) return this.pinnedOffset
55
- this.$element.removeClass(Affix.RESET).addClass('affix')
56
- var scrollTop = this.$target.scrollTop()
57
- var position = this.$element.offset()
58
- return (this.pinnedOffset = position.top - scrollTop)
59
- }
60
-
61
- Affix.prototype.checkPositionWithEventLoop = function () {
62
- setTimeout($.proxy(this.checkPosition, this), 1)
63
- }
64
-
65
- Affix.prototype.checkPosition = function () {
66
- if (!this.$element.is(':visible')) return
67
-
68
- var height = this.$element.height()
69
- var offset = this.options.offset
70
- var offsetTop = offset.top
71
- var offsetBottom = offset.bottom
72
- var scrollHeight = Math.max($(document).height(), $(document.body).height())
73
-
74
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
75
- if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
76
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
77
-
78
- var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
79
-
80
- if (this.affixed != affix) {
81
- if (this.unpin != null) this.$element.css('top', '')
82
-
83
- var affixType = 'affix' + (affix ? '-' + affix : '')
84
- var e = $.Event(affixType + '.bs.affix')
85
-
86
- this.$element.trigger(e)
87
-
88
- if (e.isDefaultPrevented()) return
89
-
90
- this.affixed = affix
91
- this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
92
-
93
- this.$element
94
- .removeClass(Affix.RESET)
95
- .addClass(affixType)
96
- .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
97
- }
98
-
99
- if (affix == 'bottom') {
100
- this.$element.offset({
101
- top: scrollHeight - height - offsetBottom
102
- })
103
- }
104
- }
105
-
106
-
107
- // AFFIX PLUGIN DEFINITION
108
- // =======================
109
-
110
- function Plugin(option) {
111
- return this.each(function () {
112
- var $this = $(this)
113
- var data = $this.data('bs.affix')
114
- var options = typeof option == 'object' && option
115
-
116
- if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
117
- if (typeof option == 'string') data[option]()
118
- })
119
- }
120
-
121
- var old = $.fn.affix
122
-
123
- $.fn.affix = Plugin
124
- $.fn.affix.Constructor = Affix
125
-
126
-
127
- // AFFIX NO CONFLICT
128
- // =================
129
-
130
- $.fn.affix.noConflict = function () {
131
- $.fn.affix = old
132
- return this
133
- }
134
-
135
-
136
- // AFFIX DATA-API
137
- // ==============
138
-
139
- $(window).on('load', function () {
140
- $('[data-spy="affix"]').each(function () {
141
- var $spy = $(this)
142
- var data = $spy.data()
143
-
144
- data.offset = data.offset || {}
145
-
146
- if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
147
- if (data.offsetTop != null) data.offset.top = data.offsetTop
148
-
149
- Plugin.call($spy, data)
150
- })
151
- })
152
-
153
- }(jQuery);
@@ -1,85 +0,0 @@
1
- +function ($) {
2
- 'use strict';
3
-
4
- // ALERT CLASS DEFINITION
5
- // ======================
6
-
7
- var dismiss = '[data-dismiss="alert"]'
8
- var Alert = function (el) {
9
- $(el).on('click', dismiss, this.close)
10
- }
11
-
12
- Alert.VERSION = '3.3.6'
13
-
14
- Alert.TRANSITION_DURATION = 150
15
-
16
- Alert.prototype.close = function (e) {
17
- var $this = $(this)
18
- var selector = $this.attr('data-target')
19
-
20
- if (!selector) {
21
- selector = $this.attr('href')
22
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
23
- }
24
-
25
- var $parent = $(selector)
26
-
27
- if (e) e.preventDefault()
28
-
29
- if (!$parent.length) {
30
- $parent = $this.closest('.alert')
31
- }
32
-
33
- $parent.trigger(e = $.Event('close.bs.alert'))
34
-
35
- if (e.isDefaultPrevented()) return
36
-
37
- $parent.removeClass('in')
38
-
39
- function removeElement() {
40
- // detach from parent, fire event then clean up data
41
- $parent.detach().trigger('closed.bs.alert').remove()
42
- }
43
-
44
- $.support.transition && $parent.hasClass('fade') ?
45
- $parent
46
- .one('bsTransitionEnd', removeElement)
47
- .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
48
- removeElement()
49
- }
50
-
51
-
52
- // ALERT PLUGIN DEFINITION
53
- // =======================
54
-
55
- function Plugin(option) {
56
- return this.each(function () {
57
- var $this = $(this)
58
- var data = $this.data('bs.alert')
59
-
60
- if (!data) $this.data('bs.alert', (data = new Alert(this)))
61
- if (typeof option == 'string') data[option].call($this)
62
- })
63
- }
64
-
65
- var old = $.fn.alert
66
-
67
- $.fn.alert = Plugin
68
- $.fn.alert.Constructor = Alert
69
-
70
-
71
- // ALERT NO CONFLICT
72
- // =================
73
-
74
- $.fn.alert.noConflict = function () {
75
- $.fn.alert = old
76
- return this
77
- }
78
-
79
-
80
- // ALERT DATA-API
81
- // ==============
82
-
83
- $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
84
-
85
- }(jQuery);
@@ -1,103 +0,0 @@
1
- +function ($) {
2
- 'use strict';
3
-
4
- // ANIMATION CLASS DEFINITION
5
- // ==========================
6
-
7
- var Animation = function (element, options) {
8
- this.options = $.extend({}, options)
9
- this.$element = $(element)
10
- };
11
-
12
- Animation.VERSION = '3.3.6'
13
-
14
- Animation.TRANSITION_END = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'
15
-
16
- $.fn.extend({
17
- animation: function(effect, options) {
18
- var addClass, animation, callback, complete, init, removeClass, setDelay, setDuration, settings, unhide;
19
-
20
- settings = {
21
- effect: effect,
22
- delay: '0s',
23
- klass: 'animation animation-',
24
- infinite: false,
25
- callback: options,
26
- duration: '1s',
27
- debug: false
28
- };
29
-
30
- settings = $.extend(settings, options);
31
- init = function(element) {
32
- return animation(element);
33
- };
34
-
35
- animation = function(element) {
36
- if (settings.infinite === true) {
37
- settings.klass += ' infinite';
38
- };
39
-
40
- setDelay(element);
41
- setDuration(element);
42
- unhide(element);
43
- addClass(element);
44
- return complete(element);
45
- };
46
-
47
- addClass = function(element) {
48
- return element.addClass(settings.klass + settings.effect);
49
- };
50
-
51
- unhide = function(element) {
52
- if (element.css('visibility') === 'hidden') {
53
- element.css('visibility', 'visible');
54
- };
55
- if (element.is(':hidden')) {
56
- return element.show();
57
- };
58
- };
59
-
60
- removeClass = function(element) {
61
- return element.removeClass(settings.klass + settings.effect);
62
- };
63
-
64
- setDelay = function(element) {
65
- return element.css({
66
- '-webkit-animation-delay' : settings.delay,
67
- '-moz-animation-delay' : settings.delay,
68
- '-o-animation-delay' : settings.delay,
69
- 'animation-delay' : settings.delay
70
- });
71
- };
72
-
73
- setDuration = function(element) {
74
- return element.css({
75
- '-webkit-animation-duration' : settings.duration,
76
- '-moz-animation-duration' : settings.duration,
77
- '-o-animation-duration' : settings.duration,
78
- 'animation-duration' : settings.duration
79
- });
80
- };
81
-
82
- callback = function(element) {
83
- if (settings.infinite === false) {
84
- removeClass(element);
85
- };
86
- if (typeof settings.callback === 'function') {
87
- return settings.callback.call(element);
88
- };
89
- };
90
-
91
- complete = function(element) {
92
- return element.one(Animation.TRANSITION_END, function() {
93
- return callback(element);
94
- });
95
- };
96
-
97
- return this.each(function() {
98
- return init($(this));
99
- });
100
- }
101
- });
102
-
103
- }(jQuery);
@@ -1,107 +0,0 @@
1
- +function ($) {
2
- 'use strict';
3
-
4
- // BUTTON PUBLIC CLASS DEFINITION
5
- // ==============================
6
-
7
- var Button = function (element, options) {
8
- this.$element = $(element)
9
- this.options = $.extend({}, Button.DEFAULTS, options)
10
- this.isLoading = false
11
- }
12
-
13
- Button.VERSION = '3.3.6'
14
-
15
- Button.DEFAULTS = {
16
- loadingText: 'loading...'
17
- }
18
-
19
- Button.prototype.setState = function (state) {
20
- var d = 'disabled'
21
- var $el = this.$element
22
- var val = $el.is('input') ? 'val' : 'html'
23
- var data = $el.data()
24
-
25
- state = state + 'Text'
26
-
27
- if (data.resetText == null) $el.data('resetText', $el[val]())
28
-
29
- // push to event loop to allow forms to submit
30
- setTimeout($.proxy(function () {
31
- $el[val](data[state] == null ? this.options[state] : data[state])
32
-
33
- if (state == 'loadingText') {
34
- this.isLoading = true
35
- $el.addClass(d).attr(d, d)
36
- } else if (this.isLoading) {
37
- this.isLoading = false
38
- $el.removeClass(d).removeAttr(d)
39
- }
40
- }, this), 0)
41
- }
42
-
43
- Button.prototype.toggle = function () {
44
- var changed = true
45
- var $parent = this.$element.closest('[data-toggle="buttons"]')
46
-
47
- if ($parent.length) {
48
- var $input = this.$element.find('input')
49
- if ($input.prop('type') == 'radio') {
50
- if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
51
- else $parent.find('.active').removeClass('active')
52
- }
53
- if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
54
- } else {
55
- this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
56
- }
57
-
58
- if (changed) this.$element.toggleClass('active')
59
- }
60
-
61
-
62
- // BUTTON PLUGIN DEFINITION
63
- // ========================
64
-
65
- function Plugin(option) {
66
- return this.each(function () {
67
- var $this = $(this)
68
- var data = $this.data('bs.button')
69
- var options = typeof option == 'object' && option
70
-
71
- if (!data) $this.data('bs.button', (data = new Button(this, options)))
72
-
73
- if (option == 'toggle') data.toggle()
74
- else if (option) data.setState(option)
75
- })
76
- }
77
-
78
- var old = $.fn.button
79
-
80
- $.fn.button = Plugin
81
- $.fn.button.Constructor = Button
82
-
83
-
84
- // BUTTON NO CONFLICT
85
- // ==================
86
-
87
- $.fn.button.noConflict = function () {
88
- $.fn.button = old
89
- return this
90
- }
91
-
92
-
93
- // BUTTON DATA-API
94
- // ===============
95
-
96
- $(document)
97
- .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
98
- var $btn = $(e.target)
99
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
100
- Plugin.call($btn, 'toggle')
101
- e.preventDefault()
102
- })
103
- .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
104
- $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
105
- })
106
-
107
- }(jQuery);