izimodal 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 02ea3bc1c9e43547fcdcd2c7a4fca8aa4cd396b9
4
+ data.tar.gz: 61b8b2e4c02d0a79f34204ffc8121d74750c0329
5
+ SHA512:
6
+ metadata.gz: 76ed500d4c24fd93af64c2d6b58ab0dc9455446f5f912e497a4c631ba8ab250c9a5cc88453471ee1747469163357c690644c70da8d74420d38daea2cd7a7e73f
7
+ data.tar.gz: e86241b8221e7efb1aca4c27e2f470758793e3e399600194c73abb1d023e8fd176e72cbf7e5c57d271069a1a108574195d79b7a7227e37ee394b4838845b610e
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .idea/
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.2.3
5
+ before_install: gem install bundler -v 1.12.1
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in izimodal.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # Izimodal
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/izimodal`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'izimodal'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install izimodal
22
+
23
+ ## Usage Rails
24
+
25
+ gem 'izimodal'
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/izimodal.
36
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
10
+ task :default => :test
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "izimodal"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/izimodal.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'izimodal/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "izimodal"
8
+ spec.version = Izimodal::VERSION
9
+ spec.authors = ["elitenomad"]
10
+ spec.email = ["stalin.pranava@gmail.com"]
11
+
12
+ spec.summary = %q{Rails gem for Elegant, responsive, flexible and lightweight modal plugin with jQuery Library.}
13
+ spec.description = %q{Please refer https://github.com/dolce/iziModal for documentation}
14
+ spec.homepage = "http://rubygems.org/gems/iziModal"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.12"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "minitest", "~> 5.0"
24
+ end
data/lib/izimodal.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "izimodal/version"
2
+
3
+ module Izimodal
4
+ class Engine < ::Rails::Engine
5
+
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ module Izimodal
2
+ VERSION = "1.2.0"
3
+ end
@@ -0,0 +1,582 @@
1
+ /*
2
+ * iziModal | v1.2.0
3
+ * http://izimodal.marcelodolce.com
4
+ * by Marcelo Dolce.
5
+ */
6
+ (function($){
7
+
8
+ "use strict";
9
+
10
+ var PLUGIN_NAME = 'iziModal';
11
+
12
+ var STATES = {
13
+ CLOSING: 'closing',
14
+ CLOSED: 'closed',
15
+ OPENING: 'opening',
16
+ OPENED: 'opened',
17
+ DESTROYED: 'destroyed'
18
+ };
19
+
20
+ function whichAnimationEvent(){
21
+ var t,
22
+ el = document.createElement("fakeelement");
23
+
24
+ var animations = {
25
+ "animation" : "animationend",
26
+ "OAnimation" : "oAnimationEnd",
27
+ "MozAnimation" : "animationend",
28
+ "WebkitAnimation": "webkitAnimationEnd"
29
+ };
30
+ for (t in animations){
31
+ if (el.style[t] !== undefined){
32
+ return animations[t];
33
+ }
34
+ }
35
+ }
36
+ var animationEvent = whichAnimationEvent();
37
+
38
+ var isMobile = false;
39
+ if (/Mobi/.test(navigator.userAgent)) {
40
+ isMobile = true;
41
+ }
42
+
43
+ var iziModal = function (element, options) {
44
+ this.init(element, options);
45
+ };
46
+
47
+ iziModal.prototype = {
48
+
49
+ constructor: iziModal,
50
+
51
+ init: function (element, options) {
52
+
53
+ var that = this;
54
+
55
+ this.$element = $(element);
56
+ this.id = this.$element.attr('id');
57
+ this.state = STATES.CLOSED;
58
+ this.options = options;
59
+ this.timer = null;
60
+ this.timerTimeout = null;
61
+ this.isFullscreen = false;
62
+ this.headerHeight = 0;
63
+ this.$header = $('<div class="'+PLUGIN_NAME+'-header"><h2 class="'+PLUGIN_NAME+'-header-title">' + options.title + '</h2><p class="'+PLUGIN_NAME+'-header-subtitle">' + options.subtitle + '</p><a href="javascript:void(0)" class="'+PLUGIN_NAME+'-button '+PLUGIN_NAME+'-button-close" data-'+PLUGIN_NAME+'-close></a></div>');
64
+ this.$overlay = $('<div class="'+PLUGIN_NAME+'-overlay" style="background-color:'+options.overlayColor+'"></div>');
65
+
66
+ if (options.fullscreen === true) {
67
+ this.$header.append('<a href="javascript:void(0)" class="'+PLUGIN_NAME+'-button '+PLUGIN_NAME+'-button-fullscreen" data-'+PLUGIN_NAME+'-fullscreen></a>');
68
+ this.$header.css('padding-right', '76px');
69
+ }
70
+
71
+ if (options.timeoutProgressbar === true && !isNaN(options.timeout) && options.timeout !== false && options.timeout !== 0) {
72
+ this.$header.prepend('<div class="'+PLUGIN_NAME+'-progressbar"><div style="background-color:'+options.timeoutProgressbarColor+'"></div></div>');
73
+ }
74
+
75
+ if (options.subtitle === '') {
76
+ this.$header.addClass(PLUGIN_NAME+'-noSubtitle');
77
+ }
78
+
79
+ if (options.iframe === true) {
80
+ this.$element.html('<div class="'+PLUGIN_NAME+'-wrap"><div class="'+PLUGIN_NAME+'-content '+PLUGIN_NAME+'-content-loader"><iframe class="'+PLUGIN_NAME+'-iframe"></iframe>' + this.$element.html() + "</div></div>");
81
+
82
+ if (options.iframeHeight !== null) {
83
+ this.$element.find('.'+PLUGIN_NAME+'-iframe').css('height', options.iframeHeight);
84
+ }
85
+
86
+ } else {
87
+ this.$element.html('<div class="'+PLUGIN_NAME+'-wrap"><div class="'+PLUGIN_NAME+'-content">' + this.$element.html() + '</div></div>');
88
+ }
89
+
90
+ $(document.body).find('style[rel='+this.id+']').remove();
91
+
92
+ if(typeof options.padding !== 'undefined' || options.padding !== 0)
93
+ this.$element.find('.'+PLUGIN_NAME+'-content').css('padding', options.padding);
94
+
95
+
96
+ if (options.title !== "" || options.subtitle !== "") {
97
+
98
+ if (options.headerColor !== null) {
99
+ this.$element.css('border-bottom', '3px solid ' + options.headerColor + '');
100
+ this.$header.css('background', this.options.headerColor);
101
+ }
102
+ if (options.iconClass !== null) {
103
+ this.$header.prepend('<i class="'+PLUGIN_NAME+'-header-icon ' + options.iconClass + '"></i>');
104
+ this.$header.find("."+PLUGIN_NAME+'-header-icon').css('color', options.iconColor);
105
+ }
106
+ this.$element.prepend(this.$header);
107
+ }
108
+
109
+ var separators = /%|px|em|cm/,
110
+ wClear = String(options.width).split(separators),
111
+ w = String(options.width),
112
+ medida = "px";
113
+ wClear = String(wClear).split(",")[0];
114
+
115
+ if(isNaN(options.width)){
116
+ if( String(options.width).indexOf("%") != -1){
117
+ medida = "%";
118
+ } else {
119
+ medida = w.slice("-2");
120
+ }
121
+ }
122
+
123
+ this.$element.css({
124
+ 'margin-left': -(wClear / 2) + medida,
125
+ 'max-width': parseInt(wClear) + medida
126
+ });
127
+
128
+ this.mediaQueries = '<style rel="' + this.id + '">@media handheld, only screen and (max-width: ' + wClear + 'px) { #' + this.$element[0].id + '{ width: 100% !important; max-width: 100% !important; margin-left: 0 !important; left: 0 !important; } }</style>';
129
+ $(document.body).append(this.mediaQueries);
130
+
131
+ this.$element.addClass(PLUGIN_NAME + " " + options.theme);
132
+
133
+ if(options.openFullscreen === true){
134
+ that.isFullscreen = true;
135
+ that.$element.addClass('isFullscreen');
136
+ }
137
+
138
+ // Adjusting vertical positioning
139
+ this.$element.css('margin-top', parseInt(-(this.$element.innerHeight() / 2)) + 'px');
140
+
141
+ if(this.$element.find('.'+PLUGIN_NAME+'-header').length){
142
+ this.$element.css('overflow', 'hidden');
143
+ }
144
+
145
+ // Close when button pressed
146
+ this.$element.on('click', '[data-'+PLUGIN_NAME+'-close]', function (e) {
147
+ e.preventDefault();
148
+ that.close();
149
+ });
150
+
151
+ // Expand when button pressed
152
+ this.$element.on('click', '[data-'+PLUGIN_NAME+'-fullscreen]', function (e) {
153
+ e.preventDefault();
154
+ if(that.isFullscreen === true){
155
+ that.isFullscreen = false;
156
+ that.$element.removeClass('isFullscreen');
157
+ } else {
158
+ that.isFullscreen = true;
159
+ that.$element.addClass('isFullscreen');
160
+ }
161
+ });
162
+ },
163
+
164
+ toggle: function () {
165
+
166
+ if(this.state == STATES.OPENED){
167
+ this.close();
168
+ }
169
+ if(this.state == STATES.CLOSED){
170
+ this.open();
171
+ }
172
+
173
+ },
174
+
175
+ open: function (param) {
176
+
177
+ var that = this;
178
+
179
+ if (param && typeof(param) === "function") {
180
+ param(that);
181
+ }
182
+
183
+ if(this.options.iframe === true){
184
+
185
+ var href = null;
186
+ if(this.options.iframeURL !== null){
187
+ href = this.options.iframeURL;
188
+ } else {
189
+ try {
190
+ href = param.target.href;
191
+ if(href !== undefined){
192
+ href = param.target.href;
193
+ }
194
+ } catch(e) {
195
+ console.warn(e);
196
+ }
197
+ }
198
+ this.$element.find('.'+PLUGIN_NAME+'-iframe').attr('src', href);
199
+ }
200
+
201
+ this.$element.trigger(STATES.OPENING);
202
+ this.state = STATES.OPENING;
203
+
204
+ // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Opening...');
205
+
206
+ if (this.options.bodyOverflow || isMobile){
207
+ $(document.body).css('overflow', 'hidden');
208
+ }
209
+
210
+ if (that.options.onOpening && typeof(that.options.onOpening) === "function") {
211
+ that.options.onOpening(this);
212
+ }
213
+
214
+ function opened(){
215
+ that.$element.trigger(STATES.OPENED);
216
+ that.state = STATES.OPENED;
217
+
218
+ // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Opened.');
219
+
220
+ if (that.options.onOpened && typeof(that.options.onOpened) === "function") {
221
+ that.options.onOpened(that);
222
+ }
223
+ }
224
+
225
+ this.$overlay.appendTo('body');
226
+
227
+ if (this.options.transitionInOverlay) {
228
+ this.$overlay.addClass(this.options.transitionInOverlay);
229
+ }
230
+
231
+ if (this.options.transitionInModal !== '') {
232
+
233
+ this.$element.addClass(this.options.transitionInModal).show();
234
+
235
+ this.$element.find('.'+PLUGIN_NAME+'-wrap').one(animationEvent, function () {
236
+
237
+ that.$element.removeClass(that.options.transitionInModal);
238
+ that.$overlay.removeClass(that.options.transitionInOverlay);
239
+
240
+ opened();
241
+ });
242
+
243
+ } else {
244
+ this.$element.show();
245
+ opened();
246
+ }
247
+
248
+ if (this.options.timeout !== false && !isNaN(this.options.timeout) && this.options.timeout !== false && this.options.timeout !== 0) {
249
+
250
+ if (this.options.timeoutProgressbar === true) {
251
+
252
+ var progressBar = {
253
+ hideEta: null,
254
+ maxHideTime: null,
255
+ el: this.$element.find('.'+PLUGIN_NAME+'-progressbar > div'),
256
+ updateProgress: function()
257
+ {
258
+ var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100;
259
+ progressBar.el.width(percentage + '%');
260
+ if(percentage < 0){
261
+ that.close();
262
+ }
263
+ }
264
+ };
265
+ if (this.options.timeout > 0) {
266
+ progressBar.maxHideTime = parseFloat(this.options.timeout);
267
+ progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
268
+ this.timerTimeout = setInterval(progressBar.updateProgress, 10);
269
+ }
270
+
271
+ } else {
272
+
273
+ this.timerTimeout = setTimeout(function(){
274
+ that.close();
275
+ }, that.options.timeout);
276
+ }
277
+ }
278
+
279
+ // Close on overlay click
280
+ if (this.options.overlayClose && !this.$element.hasClass(this.options.transitionOutModal)) {
281
+ that.$overlay.click(function () {
282
+ that.close();
283
+ });
284
+ }
285
+
286
+ if (this.options.focusInput){
287
+ that.$element.find(':input:not(button):enabled:visible:first').focus(); // Focus on the first field
288
+ }
289
+
290
+ (function updateTimer(){
291
+ that.recalculateLayout();
292
+ that.timer = setTimeout(updateTimer, 200);
293
+ })();
294
+
295
+ // Close when the Escape key is pressed
296
+ $(document).keydown(function (e) {
297
+ if (that.options.closeOnEscape && e.keyCode === 27) {
298
+ that.close();
299
+ }
300
+ });
301
+
302
+ },
303
+
304
+ close: function (param) {
305
+
306
+ var that = this;
307
+
308
+ if (param && typeof(param) === "function") {
309
+ param(that);
310
+ }
311
+
312
+ $(document).off("keydown");
313
+
314
+ this.state = STATES.CLOSING;
315
+ this.$element.trigger(STATES.CLOSING);
316
+ // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Closing...');
317
+
318
+ clearTimeout(this.timer);
319
+ clearTimeout(this.timerTimeout);
320
+
321
+ if (that.options.onClosing && typeof(that.options.onClosing) === "function") {
322
+ that.options.onClosing(this);
323
+ }
324
+
325
+ function closed(){
326
+
327
+ if (that.options.iframe === true) {
328
+ that.$element.find('.'+PLUGIN_NAME+'-iframe').attr('src', "");
329
+ }
330
+
331
+ if (that.options.bodyOverflow || isMobile){
332
+ $(document.body).css('overflow', 'initial');
333
+ }
334
+
335
+ $(document.body).removeClass(PLUGIN_NAME+'-attached');
336
+
337
+ that.$element.trigger(STATES.CLOSED);
338
+ that.state = STATES.CLOSED;
339
+
340
+ // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Closed.');
341
+
342
+ if (that.options.onClosed && typeof(that.options.onClosed) === "function") {
343
+ that.options.onClosed(that);
344
+ }
345
+ }
346
+
347
+ if (this.options.transitionOutModal !== '') {
348
+
349
+ this.$element.attr('class', PLUGIN_NAME + " " + this.options.transitionOutModal + " " + this.options.theme + " " + String((this.isFullscreen === true) ? 'isFullscreen' : ''));
350
+ this.$overlay.attr('class', PLUGIN_NAME + "-overlay " + this.options.transitionOutOverlay);
351
+
352
+ this.$element.one(animationEvent, function () {
353
+
354
+ if( that.$element.hasClass(that.options.transitionOutModal) ){
355
+
356
+ that.$element.removeClass(that.options.transitionOutModal).hide();
357
+ that.$overlay.removeClass(that.options.transitionOutOverlay).remove();
358
+
359
+ closed();
360
+ }
361
+ });
362
+ }
363
+ else {
364
+ this.$element.hide();
365
+ this.$overlay.remove();
366
+
367
+ closed();
368
+ }
369
+ },
370
+
371
+ destroy: function () {
372
+ var e = $.Event('destroy');
373
+
374
+ this.$element.trigger(e);
375
+
376
+ $(document).off("keydown");
377
+
378
+ clearTimeout(this.timer);
379
+ clearTimeout(this.timerTimeout);
380
+
381
+ if (this.options.iframe === true) {
382
+ this.$element.find('.'+PLUGIN_NAME+'-iframe').remove();
383
+ }
384
+ this.$element.html(this.$element.find('.'+PLUGIN_NAME+'-content').html());
385
+
386
+ $(document.body).find('style[rel='+this.id+']').remove();
387
+
388
+ this.$element.off('click', '[data-'+PLUGIN_NAME+'-close]');
389
+
390
+ this.$element
391
+ .off('.'+PLUGIN_NAME)
392
+ .removeData(PLUGIN_NAME)
393
+ .attr('style', '');
394
+
395
+ this.$overlay.remove();
396
+ this.$element.trigger(STATES.DESTROYED);
397
+ this.$element = null;
398
+ },
399
+
400
+ getState: function(){
401
+
402
+ console.info(this.state);
403
+
404
+ return this.state;
405
+ },
406
+
407
+ setTitle: function(title){
408
+
409
+ if (this.options.title !== null) {
410
+
411
+ this.$header.find('.'+PLUGIN_NAME+'-header-title').html(title);
412
+
413
+ this.options.title = title;
414
+ }
415
+ },
416
+
417
+ setSubtitle: function(subtitle){
418
+
419
+ if (this.options.subtitle !== null) {
420
+
421
+ this.$header.find('.'+PLUGIN_NAME+'-header-subtitle').html(subtitle);
422
+
423
+ this.options.subtitle = subtitle;
424
+ }
425
+ },
426
+
427
+ setIconClass: function(iconClass){
428
+
429
+ if (this.options.iconClass !== null) {
430
+
431
+ this.$header.find('.'+PLUGIN_NAME+'-header-icon').attr('class', PLUGIN_NAME+'-header-icon ' + iconClass);
432
+
433
+ this.options.iconClass = iconClass;
434
+ }
435
+ },
436
+
437
+ setHeaderColor: function(headerColor){
438
+
439
+ if (this.options.headerColor !== null) {
440
+ this.$element.css('border-bottom', '3px solid ' + headerColor + '');
441
+ this.$header.css('background', headerColor);
442
+
443
+ this.options.headerColor = headerColor;
444
+ }
445
+ },
446
+
447
+ startLoading: function(){
448
+ if( !this.$element.find('.'+PLUGIN_NAME+'-loader').length ){
449
+ this.$element.append('<div class="'+PLUGIN_NAME+'-loader '+this.options.transitionInOverlay+'"></div>');
450
+ }
451
+ },
452
+
453
+ stopLoading: function(){
454
+ var that = this;
455
+ this.$element.find('.'+PLUGIN_NAME+'-loader').removeClass(this.options.transitionInOverlay).addClass(this.options.transitionOutOverlay);
456
+ this.$element.find('.'+PLUGIN_NAME+'-loader').one(animationEvent, function () {
457
+ that.$element.find('.'+PLUGIN_NAME+'-loader').removeClass(that.options.transitionOutOverlay).remove();
458
+ });
459
+ },
460
+
461
+ recalculateLayout: function(){
462
+
463
+ if(this.$element.find('.'+PLUGIN_NAME+'-header').length){
464
+ this.headerHeight = parseInt(this.$element.find('.'+PLUGIN_NAME+'-header').innerHeight()) + 2/*border bottom of modal*/;
465
+ this.$element.css('overflow', 'hidden');
466
+ }
467
+
468
+ var windowHeight = $(window).height(),
469
+ contentHeight = this.$element.find('.'+PLUGIN_NAME+'-content')[0].scrollHeight,
470
+ modalMargin = parseInt(-((this.$element.innerHeight() + 1) / 2)) + 'px';
471
+
472
+ if(this.state == STATES.OPENED || this.state == STATES.OPENING){
473
+
474
+ if (this.options.iframe === true) {
475
+
476
+ // Se a altura da janela é menor que o modal com iframe
477
+ if(windowHeight < (this.options.iframeHeight + this.headerHeight) || this.isFullscreen === true){
478
+
479
+ $(document.body).addClass(PLUGIN_NAME+'-attached');
480
+
481
+ this.$element.find('.'+PLUGIN_NAME+'-iframe').css({
482
+ 'height': parseInt(windowHeight - this.headerHeight) + 'px',
483
+ });
484
+
485
+ } else {
486
+ $(document.body).removeClass(PLUGIN_NAME+'-attached');
487
+
488
+ this.$element.find('.'+PLUGIN_NAME+'-iframe').css({
489
+ 'height': parseInt(this.options.iframeHeight) + 'px',
490
+ });
491
+ }
492
+
493
+ } else {
494
+
495
+ if (windowHeight > (contentHeight + this.headerHeight)) {
496
+ $(document.body).removeClass(PLUGIN_NAME+'-attached');
497
+ this.$element.find('.'+PLUGIN_NAME+'-wrap').css({'height': 'auto'});
498
+ }
499
+
500
+ if (this.$element.innerHeight() > windowHeight || this.$element.innerHeight() < contentHeight) {
501
+ $(document.body).addClass(PLUGIN_NAME+'-attached');
502
+
503
+ this.$element.find('.'+PLUGIN_NAME+'-wrap').css({
504
+ 'height': parseInt(windowHeight - this.headerHeight) + 'px',
505
+ });
506
+ }
507
+
508
+ var scrollTop = this.$element.find('.'+PLUGIN_NAME+'-wrap').scrollTop(),
509
+ internoHeight = this.$element.find('.'+PLUGIN_NAME+'-content').innerHeight(),
510
+ externoHeight = this.$element.find('.'+PLUGIN_NAME+'-wrap').innerHeight();
511
+
512
+ if ((externoHeight + scrollTop) < (internoHeight - 50)) {
513
+ this.$element.addClass('hasScroll');
514
+ } else {
515
+ this.$element.removeClass('hasScroll');
516
+ }
517
+
518
+ }
519
+ }
520
+
521
+ // Corrige margin-top caso o modal sofra alterações na altura de seu conteúdo
522
+ if (this.$element.css('margin-top') != modalMargin && this.$element.css('margin-top') != "0px") {
523
+ this.$element.css('margin-top', modalMargin);
524
+ }
525
+ }
526
+
527
+ };
528
+
529
+ $.fn[PLUGIN_NAME] = function (option, args) {
530
+ return this.each(function () {
531
+ var $this = $(this),
532
+ data = $this.data(PLUGIN_NAME),
533
+ options = $.extend({}, $.fn.iziModal.defaults, $this.data(), typeof option == 'object' && option);
534
+
535
+ if (!data && (!option || typeof option == 'object')){
536
+ $this.data(PLUGIN_NAME, (data = new iziModal(this, options)));
537
+ }
538
+ if (typeof option == 'string' && typeof data != 'undefined'){
539
+ data[option].apply(data, [].concat(args));
540
+ }
541
+ else if (options.autoOpen){ // Automatically open the modal if autoOpen setted true
542
+ data.open();
543
+ }
544
+ });
545
+ };
546
+
547
+ $.fn[PLUGIN_NAME].defaults = {
548
+ title: '',
549
+ subtitle: '',
550
+ theme: '',
551
+ headerColor: '#88A0B9',
552
+ overlayColor: 'rgba(0, 0, 0, 0.4)',
553
+ iconColor: '',
554
+ iconClass: null,
555
+ width: 600,
556
+ padding: 0,
557
+ iframe: false,
558
+ iframeHeight: 400,
559
+ iframeURL: null,
560
+ overlayClose: true,
561
+ closeOnEscape: true,
562
+ bodyOverflow: false,
563
+ focusInput: true,
564
+ autoOpen: false,
565
+ fullscreen: false,
566
+ openFullscreen: false,
567
+ timeout: false,
568
+ timeoutProgressbar: false,
569
+ timeoutProgressbarColor: 'rgba(255,255,255,0.5)',
570
+ transitionInModal: 'transitionIn',
571
+ transitionOutModal: 'transitionOut',
572
+ transitionInOverlay: 'fadeIn',
573
+ transitionOutOverlay: 'fadeOut',
574
+ onOpening: function() {},
575
+ onOpened: function() {},
576
+ onClosing: function() {},
577
+ onClosed: function() {}
578
+ };
579
+
580
+ $.fn[PLUGIN_NAME].Constructor = iziModal;
581
+
582
+ }).call(this, window.jQuery);
@@ -0,0 +1,468 @@
1
+ /*
2
+ * iziModal | v1.2.0
3
+ * http://izimodal.marcelodolce.com
4
+ * by Marcelo Dolce.
5
+ */
6
+ .iziModal {
7
+ display: none;
8
+ position: fixed;
9
+ width: 100%;
10
+ left: 50%;
11
+ top: 50%;
12
+ z-index:999;
13
+ background: #FFF;
14
+ border-radius: 3px;
15
+ box-shadow: 0 0 8px rgba(0,0,0,.3);
16
+ transition: margin-top 0.3s ease;
17
+ }
18
+ .iziModal.isFullscreen{
19
+ margin-top: 0 !important;
20
+ margin-left: 0 !important;
21
+ max-width: 100% !important;
22
+ left: 0;
23
+ right: 0;
24
+ top: 0;
25
+ bottom: 0;
26
+ }
27
+ .iziModal *{
28
+ -webkit-font-smoothing: antialiased;
29
+ }
30
+ .iziModal::after{
31
+ content: '';
32
+ width: 100%;
33
+ height: 0px;
34
+ opacity: 0;
35
+ position: absolute;
36
+ left: 0;
37
+ bottom: 0;
38
+ z-index: 1;
39
+ background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 100%);
40
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.35)));
41
+ background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%);
42
+ background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%);
43
+ background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%);
44
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%);
45
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#59000000',GradientType=0 );
46
+ transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
47
+ pointer-events: none;
48
+ }
49
+ .iziModal.hasScroll::after{
50
+ height: 50px;
51
+ opacity: 1;
52
+ }
53
+ .iziModal .iziModal-progressbar{
54
+ position: absolute;
55
+ left: 0;
56
+ top: 0px;
57
+ width: 100%;
58
+ z-index: 1;
59
+ }
60
+ .iziModal .iziModal-progressbar > div{
61
+ height: 2px;
62
+ width: 100%;
63
+ }
64
+ .iziModal .iziModal-button{
65
+ display: block;
66
+ position: absolute;
67
+ top: 16px;
68
+ z-index: 2;
69
+ outline: none;
70
+ height: 34px;
71
+ width: 34px;
72
+ padding: 0;
73
+ margin: 0;
74
+ opacity: 0.5;
75
+ border-radius: 50%;
76
+ transition: transform 0.5s cubic-bezier(.16,.81,.32,1), opacity 0.5s ease;
77
+ background-size: 67% !important;
78
+ }
79
+ .iziModal .iziModal-button-close{
80
+ right: 10px;
81
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==') no-repeat 50% 50%;
82
+ }
83
+ .iziModal .iziModal-button-fullscreen{
84
+ right: 44px;
85
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=') no-repeat 50% 50%;
86
+ }
87
+ .iziModal.isFullscreen .iziModal-button-fullscreen{
88
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC') no-repeat 50% 50%;
89
+ }
90
+ .iziModal .iziModal-button-close:hover{
91
+ transform: rotate(180deg);
92
+ }
93
+ .iziModal .iziModal-button:hover{
94
+ opacity: 1;
95
+ }
96
+ .iziModal .iziModal-header {
97
+ background: #88A0B9;
98
+ padding: 14px 40px 15px 18px;
99
+ border-radius: 3px 3px 0 0;
100
+ box-shadow: inset 0 -10px 15px -12px rgba(0, 0, 0, 0.3);
101
+ overflow: hidden;
102
+ position: relative;
103
+ z-index: 10;
104
+ }
105
+ .iziModal .iziModal-header-icon{
106
+ font-size: 40px;
107
+ color: rgba(255, 255, 255, 0.5);
108
+ padding: 0 15px 0 0;
109
+ margin: 0;
110
+ float: left;
111
+ }
112
+ .iziModal .iziModal-header-title {
113
+ color: #FFF;
114
+ font-size: 18px;
115
+ font-weight: 600;
116
+ line-height: 1.3;
117
+ }
118
+ .iziModal .iziModal-header-subtitle {
119
+ color: rgba(255, 255, 255, 0.6);
120
+ font-size: 12px;
121
+ line-height: 1.4;
122
+ }
123
+ .iziModal .iziModal-header-title, .iziModal .iziModal-header-subtitle{
124
+ display: block;
125
+ margin: 0;
126
+ padding: 0;
127
+ font-family: Arial;
128
+ white-space: nowrap;
129
+ overflow: hidden;
130
+ text-overflow: ellipsis;
131
+ }
132
+
133
+ .iziModal .iziModal-header.iziModal-noSubtitle{
134
+ height: auto;
135
+ padding: 10px 40px 12px 15px;
136
+ }
137
+ .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{
138
+ font-size: 23px;
139
+ padding-right: 13px;
140
+ }
141
+ .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title{
142
+ font-size: 15px;
143
+ margin: 3px 0 0 0;
144
+ font-weight: 400;
145
+ }
146
+
147
+ .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button{
148
+ top: 6px;
149
+ }
150
+
151
+ /* LIGHT THEME */
152
+ .iziModal.light .iziModal-header{
153
+ box-shadow: none;
154
+ }
155
+ .iziModal.light .iziModal-header-icon{
156
+ color: rgba(0, 0, 0, 0.5);
157
+ }
158
+ .iziModal.light .iziModal-header-title{
159
+ color: #000;
160
+ }
161
+ .iziModal.light .iziModal-header-subtitle{
162
+ color: rgba(0, 0, 0, 0.6);
163
+ }
164
+ .iziModal.light .iziModal-button-close{
165
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkE1NUVGQzY0RTg0MTFFNjgwMThFMEM4NEIwQ0IyNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkE1NUVGQzc0RTg0MTFFNjgwMThFMEM4NEIwQ0IyNzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQTU1RUZDNDRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNTRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkJcqVgAAAPwSURBVHjazJlbSFRBGMdnzwrWliGs0a5FFpEJEmUZlVqED93oClkRhd2I7KV6KCKwh4IoeqmXSrpfqMzA1CjrQbpoSRkVJZgQ2U2FFKTLirbr9v/ab+Eke3Znzp7V/eAHsuvZ+Z1zZuab+cZWUlIioohhYDaYB2aCiWAUGMLfe0EH+AhegcfgCWhVaaS3t1dkZWWJ3NxckWBSNBusA4tY0m7wf/T7LoZubAdoY/Hr4C74o9KwpiiaC6rAc7AbZISRNQo3WANugxegENisFnaCU/xklqg0ECGmgIvgIb81S4TzwFOw3cQbkY25/DB2Riu8HjwA6SL2MRQc5zdpNyO8BVzhHxrIoDd5lQestDANirNi8GItP2kp4WngvBj82Ar2RBKmRHAZOER8xGGQE064GGSK+AnqxydBYihhSgK7RPwFzdXbQgnv099JmKDUWsDz8z0TAp/BSjAH1Ehesxck6YXHsoRMHAS3QB03XKEg2wIWcFquBZtAt8R1Y8AqvfBqhYHm1f3dw1OgjPQnXiw16T7rA/5IF9rtdtHe3l7o8/n+CdO6YJnCUyrm/q4iTbIL+8km8oByyAh3dHTM6uzsTCfhCWCqgjB1n2oF6RYD2VKwVLZRr9eb2Nramq/xOjVJceCkSUq3hOgGQdnlKg3abDbR1taWR8IzTE434aSreVdhiWywW3R1dWWS8KQo5kgj6QLOUJbIBp+wx+MZrfEOQFgs/YsHmiWywcAsMUKzaPmYxklgcojvaHxURisbvPFY7SBiFppkppFJCvngbYjvfvI8X2FBOz0arw2ile0/zw7nbmImI4abKX6Q8HuLZWmAlfHGNcMqab/fLxwOxzeNawNWypby56m8mrNEmtYRycnJjST8jPuZVbL62WCcVdL0hN1udy0JfwCvFdezMrJ6aaOMWCW99UhI6ElNTa3ReHlXqSB8yEQGM8qIVGvzyHSHlJSUeqfT2Rych2/KXKjbZ5nJYGkhuocmU/YiYZfLdYnWE5ruNZdJCh/g1T8VBssVMxh1j/tgBW+xLkhm2q+8y/nvaR3hAkakfZ1b4eaM1tPlitccDU4M+tTcxLWteIs34IxRXYIGVGMcydL+sYgHaEjh3yJQYPbEifB+zhNha2svweY4kKVi5LFItbVglHIxbrDihgiUXYWsMMU5sMGi5adKnBaBQrpPVZiCCsvzQfMAiHZzba/ISFZGWHBJKYfvvC9GsnS+QeccJ2R2HDLRyXdOP3pHprykMMduFIGDyQbVdYFM1HG1Jpv72WIROFhUie/gEbjGN690sGj2JLSBoXlyOleP6KhhPBipS+8+fjtfwDtQLwKHku1mX8lfAQYAM3EFUIL3dLAAAAAASUVORK5CYII=') no-repeat 50% 50%;
166
+ }
167
+ .iziModal.light .iziModal-button-fullscreen{
168
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REE4NTUwNjQ0RTg0MTFFNjk0NDdFREY2NkNDOTg2MEQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REE4NTUwNjU0RTg0MTFFNjk0NDdFREY2NkNDOTg2MEQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQTg1NTA2MjRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2MzRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po+ysbQAAAQZSURBVHjaxJlrSBRRFMfvjhvS4mpRLZbbAywrrKDoTVlJkRVJH8r6Umj1oRdlD3pARF+iqAiKHhiVUUIvKuiNZFmUveghUiQ9iLBwy1XLUjBd+5/2TAzD7GNm5+offrgOM7P/uXPuOfeedRQUFIgY5AKjQQb/HQA8wA0U8Av4wUfwAtwHZXwsarW0tIjs7Gzh9XqF06JRMrcAZLHJUPdxM/1AJtgAPoG74AwoAQEzX6yYNDoJ3ABPwFowOIzZUCLzeaAYPAI5Mgz3BIWgFMwQ9one1Dk2P9Quw1k8ErlCnqaBh2BZrIZXgmugr5AvivUjYD9wWDG8CRwEcaJ9tRqcDOVNCTOyu0THaREPVlSGKZ4OiI7XcpCvP6hPSR7OBvoH2QluRfiCQfyg8Taa3s2F5mkow3tAisGFx7hahRNVsS2cZ+1SJ56I40CzPiQmcOyEKsHR3DwgITRGgCVGMbwtxhv3AImS4nmzoigJWsP0FFMt3mw2KOfi0l2G27a2tj5+v3+u1vDCcMk6gt6AzqCPrHSB0RWVlZW5gUDgn2FXjOuDD2Ayj7IUxcXFCYzw2JqamjQyPAr0N3G9g5eKCZpjX8FMmaaxJo6vqqrKVHh0IpXfP7r/z4LLHAp6069kGHY4HMLn82WoIxxJKbqlpoMn6QUD0xReP2SERX19fToVjrQozj8P3msMq9lgFpueB5r42HTdQ9g2wo2NjSlOLseR1I0xkmp6MX8+HkPGCavW1tZEp27yWBUZfS0rD2urqWJhXxdKss3+L82/JX/HAzCGQyXmqHByjyBBkllawc0BdZol4hLdObVUfdlDfISJ16BEsWyMRdvZrKqlupFex+vogZxeq8OsJ4TL5fKR4eeSDXfVHSPTJ/jzY/Cd33IF+BzqRrSOcLvdb8nwPYmGqYV1BXQxMJ1vYFAJZ9jj8ZQpvAWpkmiaNgZXdabbeDv/xUSlC3i93hKFg75EcqYg09dBssWCIZKSkiqSk5PL1Vdwuh1S6HgR7MeZFoVDampqkdPpbFE3oaXgJRguyewacJPfppV1RD3CoUgb5K1ghySzAZ5474TJvrBGhzHK1fpZeUkE+7ayKmpU2zeDY5QQ9hr1JejkVeBZlNt6MzsUaqX6IpxH/YxUg+P52uLjNNhQ0sQosNkw9YC/RTiP0p5bHwrgYrhWFekoSBfBLqJdojVCb5PX3DbKKqFii048JTpOVLJz1PZUNIZpZudxX6u9Vcwbgjqzs5dMrwDrjZ5Ukg5xJ6k2lnSzD0zRrGdl6BOYz1mq2Y78WMbrgVXc6bFLfi5YI3lnbltCV5sph7h8L+Yi02RlLcNr8I1gGNhqpgJa+SW0QQS79IW8W6DO0UQwBPQCSSLYK1bN/eSdRKUIdjjviODPuJZ6yX8FGACUZPJdQCCcXAAAAABJRU5ErkJggg==') no-repeat 50% 50%;
169
+ }
170
+ .iziModal.light.isFullscreen .iziModal-button-fullscreen{
171
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkVFMTJGMTc0RTg1MTFFNkI3N0Q5NDFFMzMyQ0YwRDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkVFMTJGMTg0RTg1MTFFNkI3N0Q5NDFFMzMyQ0YwRDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRUUxMkYxNTRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxNjRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pic44WUAAAQNSURBVHjaxJlbjAthFMe/Tmet1HbrQaooVpbNuse6BHFdJCuoF8ELcXlxD3F9EJeIRBAJcVsvBIkQlwfXiGVJrFusiERUQohGlC3rttbqdv2PnspkzLQzNdM5yS9NZzrT/5ye75zznboqKyvFf5gHDAGj+LUH8AMvkMA3EAMvQS24BWr4mGGLx+MiFAqJYDAo5CyFkriZoIJF6t3HyxSBcrAKvAI3wAlQBRJmvlgyKXQ0uATugRWgZxqxekbi54Kr4A6YbofgDuAwqAYThXVGv9RJFt/XKsEV7Ik5wj6bAG6DBf8reDG4ALoK+41i/QDYDVzZCF4L9gK3yK0tA0f0tElpPLtNOGez2VmGBFM87dG5UTSHoheC5ZkE+zkbaD3IZtBL78ltsu2cSf6aOofuAJ00LtzEgsmW8usSxfn3XM0EX9/ZIsF5vBCHgSa1h0dw7KgtwXlSaUsVnqbzk/mmxBjw1UIvl4H5WiGxIU0mOQ0GaIg+yOffKI5/AI0Wh8Y6SZIKlILpKcanuaAjl+QyjYVB131UhZnLSrUtLS1dYrHYNKXgWQa+JAAuani6KhVfdhm8K8Lh8JxEIvFHsMdEfxDgfmJ4LpOy2+0W8PDQurq6EhI8GHQ3eC3l4RdgYK4rCXri/EgkUi7zqjZSfuMgBO47UfpcLpeIRqOjUh4WBgW/dapWU1jU19f3JsElRh8S/DLwue92ebihoaGTzOXYiLXiNFadLgOB/qCtHaKbm5sLSXCBCQ9vZJyyPCmLfZ2jJnPMFdh0/+dUVjOUajdvFkYYiQqZZwR2Caat/DkDnysxIhgL76ukaAvtsJ8m1kemfkJ4PJ4oCX5oZxtgouSnNeojvF7vM7rhTYfWTz63rTWqzYCuYL/fXyPxBREHBP/isRU1/a0NVLpEMBiskriXrXJAMO1UaNa2xUDBED6f70kgEHicirFjORJJI6/2qmMbMommcCguLj4uy3I8JZjK7SM7qqnq/WqRHHsVmRGNdFaPcDiuXMV04602CG6nel8IuoHL4t/xF4k+pXOf/fDyO/U2/6xIzm3HWih4AW8OGnlnM46Pl7Jo2um85mM+Dc8LTgg7teYSLZxeHvDNrbA2YKrOOZotXxHJ6ehncF49NGGj6c8nvcT+VCQH1bmyUo7pWp3SvB+cyVSJDgn92ZpdmaObxvFrWs7TK530waMOdpF3RfKvhCajgimpz+W5Vq6NxmKTlHFrtDkh0YvASrsHJQrbB6aoJkmmu6ldnOrs3N5TTzGDs1STFe1fDa/iJTxIscpiXLAGpSkaWQlOdVf0k9FsbR4XmR9ZlmvqwdeAfmC9MPHPaDb/hNLs9zBTypOjkaCPSE45qWLlKcR9AVRWw5xzr3PeTWTzk/wWYAB1l+9AcaBNPAAAAABJRU5ErkJggg==') no-repeat 50% 50%;
172
+ }
173
+
174
+
175
+ .iziModal .iziModal-loader{
176
+ background: #FFF url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%;
177
+ position: absolute;
178
+ left: 0;
179
+ right: 0;
180
+ top: 0;
181
+ bottom: 0;
182
+ z-index: 9;
183
+ }
184
+
185
+ .iziModal .iziModal-content-loader{
186
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%;
187
+ }
188
+
189
+ .iziModal .iziModal-content:before,
190
+ .iziModal .iziModal-content:after { content:''; display:table }
191
+ .iziModal .iziModal-content:after { clear:both }
192
+ .iziModal .iziModal-content{ zoom:1 }
193
+ .iziModal .iziModal-wrap{
194
+ position: relative;
195
+ transition: height 0.3s ease;
196
+ }
197
+ .iziModal .iziModal-iframe{
198
+ width: 100%;
199
+ margin-bottom: -4px;
200
+ transition: height 0.3s ease;
201
+ }
202
+ .iziModal-overlay{
203
+ display: block;
204
+ position: fixed;
205
+ /*background: rgba(0, 0, 0, 0.4);*/
206
+ z-index: 998;
207
+ top: 0;
208
+ left: 0;
209
+ height: 100%;
210
+ width: 100%;
211
+ }
212
+
213
+ body.iziModal-attached{
214
+ overflow: hidden;
215
+ }
216
+ body.iziModal-attached .iziModal{
217
+ border-radius: 0;
218
+ }
219
+ body.iziModal-attached .iziModal-header{
220
+ border-radius: 0;
221
+ }
222
+ body.iziModal-attached .iziModal-wrap{
223
+ overflow-y: auto;
224
+ overflow-x: hidden;
225
+ }
226
+
227
+ /**
228
+ * ANIMATIONS
229
+ */
230
+
231
+ .iziModal.transitionIn .iziModal-header{
232
+ -webkit-animation: slideDown 0.7s cubic-bezier(0.7,0,0.3,1); /* both */
233
+ -moz-animation: slideDown 0.7s cubic-bezier(0.7,0,0.3,1); /* both */
234
+ animation: slideDown 0.7s cubic-bezier(0.7,0,0.3,1); /* both */
235
+ }
236
+ .iziModal.transitionIn .iziModal-header .iziModal-header-icon {
237
+ -webkit-animation: revealIn 1s cubic-bezier(.16,.81,.32,1) both;
238
+ -moz-animation: revealIn 1s cubic-bezier(.16,.81,.32,1) both;
239
+ animation: revealIn 1s cubic-bezier(.16,.81,.32,1) both;
240
+ }
241
+ .iziModal.transitionIn .iziModal-header .iziModal-header-title, .iziModal.transitionIn .iziModal-header .iziModal-header-subtitle {
242
+ -webkit-animation: slideIn 1s cubic-bezier(.16,.81,.32,1) both;
243
+ -moz-animation: slideIn 1s cubic-bezier(.16,.81,.32,1) both;
244
+ animation: slideIn 1s cubic-bezier(.16,.81,.32,1) both;
245
+ }
246
+
247
+ .iziModal.transitionIn .iziModal-header .iziModal-button{
248
+ -webkit-animation: revealIn 1.2s cubic-bezier(0.7,0,0.3,1);
249
+ -moz-animation: revealIn 1.2s cubic-bezier(0.7,0,0.3,1);
250
+ animation: revealIn 1.2s cubic-bezier(0.7,0,0.3,1);
251
+ }
252
+
253
+ .iziModal.transitionIn .iziModal-iframe, .iziModal.transitionIn .iziModal-wrap{
254
+ -webkit-animation: fadeIn 2s;
255
+ -moz-animation: fadeIn 2s;
256
+ animation: fadeIn 2s;
257
+ }
258
+ .iziModal.transitionIn .iziModal-header {
259
+ -webkit-animation-delay: 0.0s;
260
+ -moz-animation: 0.0s;
261
+ animation-delay: 0.0s;
262
+ }
263
+ .iziModal.transitionIn .iziModal-header .iziModal-header-icon,
264
+ .iziModal.transitionIn .iziModal-header .iziModal-header-title {
265
+ -webkit-animation-delay: 0.4s;
266
+ -moz-animation: 0.4s;
267
+ animation-delay: 0.4s;
268
+ }
269
+ .iziModal.transitionIn .iziModal-header .iziModal-header-subtitle {
270
+ -webkit-animation-delay: 0.5s;
271
+ -moz-animation: 0.5s;
272
+ animation-delay: 0.5s;
273
+ }
274
+ .fadeOut {
275
+ -webkit-animation: fadeOut 0.5s;
276
+ -moz-animation: fadeOut 0.5s;
277
+ animation: fadeOut 0.5s;
278
+ }
279
+ .fadeIn {
280
+ -webkit-animation: fadeIn 0.5s;
281
+ -moz-animation: fadeIn 0.5s;
282
+ animation: fadeIn 0.5s;
283
+ }
284
+ .transitionIn{
285
+ -webkit-animation: transitionIn 0.5s ease;
286
+ -moz-animation: transitionIn 0.5s ease;
287
+ animation: transitionIn 0.5s ease;
288
+ }
289
+ .transitionOut{
290
+ -webkit-animation: transitionOut 0.5s cubic-bezier(.16,.81,.32,1);
291
+ -moz-animation: transitionOut 0.5s cubic-bezier(.16,.81,.32,1);
292
+ animation: transitionOut 0.5s cubic-bezier(.16,.81,.32,1);
293
+ }
294
+
295
+ @-webkit-keyframes fadeOut {
296
+ 0% {opacity: 1;}
297
+ 100% {opacity: 0;}
298
+ }
299
+ @-moz-keyframes fadeOut {
300
+ 0% {opacity: 1;}
301
+ 100% {opacity: 0;}
302
+ }
303
+ @keyframes fadeOut {
304
+ 0% {opacity: 1;}
305
+ 100% {opacity: 0;}
306
+ }
307
+
308
+ @-webkit-keyframes fadeIn {
309
+ 0% {opacity: 0;}
310
+ 100% {opacity: 1;}
311
+ }
312
+ @-moz-keyframes fadeIn {
313
+ 0% {opacity: 0;}
314
+ 100% {opacity: 1;}
315
+ }
316
+ @keyframes fadeIn {
317
+ 0% {opacity: 0;}
318
+ 100% {opacity: 1;}
319
+ }
320
+
321
+ @-webkit-keyframes slideIn {
322
+ 0% {
323
+ opacity: 0;
324
+ -webkit-transform: translateX(50px);
325
+ }
326
+ 100% {
327
+ opacity: 1;
328
+ -webkit-transform: translateX(0);
329
+ }
330
+ }
331
+ @-moz-keyframes slideIn {
332
+ 0% {
333
+ opacity: 0;
334
+ -moz-transform: translateX(50px);
335
+ }
336
+ 100% {
337
+ opacity: 1;
338
+ -moz-transform: translateX(0);
339
+ }
340
+ }
341
+ @keyframes slideIn {
342
+ 0% {
343
+ opacity: 0;
344
+ transform: translateX(50px);
345
+ }
346
+ 100% {
347
+ opacity: 1;
348
+ transform: translateX(0);
349
+ }
350
+ }
351
+
352
+ @-webkit-keyframes transitionIn {
353
+ 0% {
354
+ opacity: 0;
355
+ transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg );
356
+ }
357
+ 100% {
358
+ opacity: 1;
359
+ transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 );
360
+ }
361
+ }
362
+ @-moz-keyframes transitionIn {
363
+ 0% {
364
+ opacity: 0;
365
+ transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg );
366
+ }
367
+ 100% {
368
+ opacity: 1;
369
+ transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 );
370
+ }
371
+ }
372
+ @keyframes transitionIn {
373
+ 0% {
374
+ opacity: 0;
375
+ /*transform: translateY(-20px) perspective( 600px ) rotateX( 10deg );*/
376
+ transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg );
377
+ }
378
+ 100% {
379
+ opacity: 1;
380
+ /*transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); */
381
+ transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 );
382
+ }
383
+ }
384
+
385
+ @-webkit-keyframes transitionOut {
386
+ 0% {
387
+ opacity: 1;
388
+ transform: scale(1);
389
+ }
390
+ 100% {
391
+ opacity: 0;
392
+ transform: scale(0.9);
393
+ }
394
+ }
395
+ @-moz-keyframes transitionOut {
396
+ 0% {
397
+ opacity: 1;
398
+ transform: scale(1);
399
+ }
400
+ 100% {
401
+ opacity: 0;
402
+ transform: scale(0.9);
403
+ }
404
+ }
405
+ @keyframes transitionOut {
406
+ 0% {
407
+ opacity: 1;
408
+ /*transform: translateY(0) perspective( 600px ) rotateX( 0 ); */
409
+ transform: scale(1);
410
+ }
411
+ 100% {
412
+ opacity: 0;
413
+ /*transform: translateY(10px) perspective( 600px ) rotateX( 10deg ); */
414
+ transform: scale(0.9);
415
+ }
416
+ }
417
+
418
+ @-webkit-keyframes slideDown {
419
+ 0% { opacity: 0; -webkit-transform: scale(1,0) translateY(-40px); -webkit-transform-origin: center top; }
420
+ }
421
+ @-moz-keyframes slideDown {
422
+ 0% { opacity: 0; -moz-transform: scale(1,0) translateY(-40px); -moz-transform-origin: center top; }
423
+ }
424
+ @keyframes slideDown {
425
+ 0% { opacity: 0; transform: scale(1,0) translateY(-40px); transform-origin: center top; }
426
+ }
427
+
428
+
429
+ @-webkit-keyframes revealIn {
430
+ 0% { opacity: 0; -webkit-transform: scale3d(0.3,0.3,1); }
431
+ }
432
+ @-moz-keyframes revealIn {
433
+ 0% { opacity: 0; -moz-transform: scale3d(0.3,0.3,1); }
434
+ }
435
+ @keyframes revealIn {
436
+ 0% { opacity: 0; transform: scale3d(0.3,0.3,1); }
437
+ }
438
+
439
+ /**
440
+ * SCROLL
441
+ */
442
+
443
+ .iziModal ::-webkit-scrollbar {
444
+ overflow: visible;
445
+ height: 7px;
446
+ width: 7px;
447
+ }
448
+ .iziModal ::-webkit-scrollbar-thumb {
449
+ background-color: rgba(0,0,0,.2);
450
+ background-clip: padding-box;
451
+ border: solid transparent;
452
+ border-width: 0px;
453
+ min-height: 28px;
454
+ padding: 100px 0 0;
455
+ box-shadow: inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07);
456
+ }
457
+ .iziModal ::-webkit-scrollbar-thumb:active {
458
+ background-color: rgba(0,0,0,.4);
459
+ }
460
+ .iziModal ::-webkit-scrollbar-button {
461
+ height: 0;
462
+ width: 0;
463
+ }
464
+ .iziModal ::-webkit-scrollbar-track {
465
+ background-clip: padding-box;
466
+ border: solid transparent;
467
+ border-width: 0 0 0 2px;
468
+ }
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: izimodal
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ platform: ruby
6
+ authors:
7
+ - elitenomad
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-07-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ description: Please refer https://github.com/dolce/iziModal for documentation
56
+ email:
57
+ - stalin.pranava@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".travis.yml"
64
+ - Gemfile
65
+ - README.md
66
+ - Rakefile
67
+ - bin/console
68
+ - bin/setup
69
+ - izimodal.gemspec
70
+ - lib/izimodal.rb
71
+ - lib/izimodal/version.rb
72
+ - vendor/assets/javascripts/iziModal.js
73
+ - vendor/assets/stylesheets/iziModal.css
74
+ homepage: http://rubygems.org/gems/iziModal
75
+ licenses: []
76
+ metadata: {}
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubyforge_project:
93
+ rubygems_version: 2.4.5.1
94
+ signing_key:
95
+ specification_version: 4
96
+ summary: Rails gem for Elegant, responsive, flexible and lightweight modal plugin
97
+ with jQuery Library.
98
+ test_files: []