_out('/Mask ['.$trns.']');
- }
- if(isset($info['smask']))
- $this->_out('/SMask '.($this->n+1).' 0 R');
- $this->_out('/Length '.strlen($info['data']).'>>');
- $this->_putstream($info['data']);
- $this->_out('endobj');
- // Soft mask
- if(isset($info['smask']))
- {
- $dp = '/Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns '.$info['w'];
- $smask = array('w'=>$info['w'], 'h'=>$info['h'], 'cs'=>'DeviceGray', 'bpc'=>8, 'f'=>$info['f'], 'dp'=>$dp, 'data'=>$info['smask']);
- $this->_putimage($smask);
- }
- // Palette
- if($info['cs']=='Indexed')
- {
- $filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
- $pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal'];
- $this->_newobj();
- $this->_out('<<'.$filter.'/Length '.strlen($pal).'>>');
- $this->_putstream($pal);
- $this->_out('endobj');
- }
-}
-
-function _putxobjectdict()
-{
- foreach($this->images as $image)
- $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
-}
-
-function _putresourcedict()
-{
- $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
- $this->_out('/Font <<');
- foreach($this->fonts as $font)
- $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
- $this->_out('>>');
- $this->_out('/XObject <<');
- $this->_putxobjectdict();
- $this->_out('>>');
-}
-
-function _putresources()
-{
- $this->_putfonts();
- $this->_putimages();
- // Resource dictionary
- $this->offsets[2] = strlen($this->buffer);
- $this->_out('2 0 obj');
- $this->_out('<<');
- $this->_putresourcedict();
- $this->_out('>>');
- $this->_out('endobj');
-}
-
-function _putinfo()
-{
- $this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
- if(!empty($this->title))
- $this->_out('/Title '.$this->_textstring($this->title));
- if(!empty($this->subject))
- $this->_out('/Subject '.$this->_textstring($this->subject));
- if(!empty($this->author))
- $this->_out('/Author '.$this->_textstring($this->author));
- if(!empty($this->keywords))
- $this->_out('/Keywords '.$this->_textstring($this->keywords));
- if(!empty($this->creator))
- $this->_out('/Creator '.$this->_textstring($this->creator));
- $this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
-}
-
-function _putcatalog()
-{
- $this->_out('/Type /Catalog');
- $this->_out('/Pages 1 0 R');
- if($this->ZoomMode=='fullpage')
- $this->_out('/OpenAction [3 0 R /Fit]');
- elseif($this->ZoomMode=='fullwidth')
- $this->_out('/OpenAction [3 0 R /FitH null]');
- elseif($this->ZoomMode=='real')
- $this->_out('/OpenAction [3 0 R /XYZ null null 1]');
- elseif(!is_string($this->ZoomMode))
- $this->_out('/OpenAction [3 0 R /XYZ null null '.sprintf('%.2F',$this->ZoomMode/100).']');
- if($this->LayoutMode=='single')
- $this->_out('/PageLayout /SinglePage');
- elseif($this->LayoutMode=='continuous')
- $this->_out('/PageLayout /OneColumn');
- elseif($this->LayoutMode=='two')
- $this->_out('/PageLayout /TwoColumnLeft');
-}
-
-function _putheader()
-{
- $this->_out('%PDF-'.$this->PDFVersion);
-}
-
-function _puttrailer()
-{
- $this->_out('/Size '.($this->n+1));
- $this->_out('/Root '.$this->n.' 0 R');
- $this->_out('/Info '.($this->n-1).' 0 R');
-}
-
-function _enddoc()
-{
- $this->_putheader();
- $this->_putpages();
- $this->_putresources();
- // Info
- $this->_newobj();
- $this->_out('<<');
- $this->_putinfo();
- $this->_out('>>');
- $this->_out('endobj');
- // Catalog
- $this->_newobj();
- $this->_out('<<');
- $this->_putcatalog();
- $this->_out('>>');
- $this->_out('endobj');
- // Cross-ref
- $o = strlen($this->buffer);
- $this->_out('xref');
- $this->_out('0 '.($this->n+1));
- $this->_out('0000000000 65535 f ');
- for($i=1;$i<=$this->n;$i++)
- $this->_out(sprintf('%010d 00000 n ',$this->offsets[$i]));
- // Trailer
- $this->_out('trailer');
- $this->_out('<<');
- $this->_puttrailer();
- $this->_out('>>');
- $this->_out('startxref');
- $this->_out($o);
- $this->_out('%%EOF');
- $this->state = 3;
-}
-// End of class
-}
-
-// Handle special IE contype request
-if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
-{
- header('Content-Type: application/pdf');
- exit;
-}
-
-?>
diff --git a/lib/fpdf/makefont/cp1250.map b/lib/fpdf/makefont/cp1250.map
deleted file mode 100755
index ec110af..0000000
--- a/lib/fpdf/makefont/cp1250.map
+++ /dev/null
@@ -1,251 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!89 U+2030 perthousand
-!8A U+0160 Scaron
-!8B U+2039 guilsinglleft
-!8C U+015A Sacute
-!8D U+0164 Tcaron
-!8E U+017D Zcaron
-!8F U+0179 Zacute
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!99 U+2122 trademark
-!9A U+0161 scaron
-!9B U+203A guilsinglright
-!9C U+015B sacute
-!9D U+0165 tcaron
-!9E U+017E zcaron
-!9F U+017A zacute
-!A0 U+00A0 space
-!A1 U+02C7 caron
-!A2 U+02D8 breve
-!A3 U+0141 Lslash
-!A4 U+00A4 currency
-!A5 U+0104 Aogonek
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+015E Scedilla
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+017B Zdotaccent
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+02DB ogonek
-!B3 U+0142 lslash
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+0105 aogonek
-!BA U+015F scedilla
-!BB U+00BB guillemotright
-!BC U+013D Lcaron
-!BD U+02DD hungarumlaut
-!BE U+013E lcaron
-!BF U+017C zdotaccent
-!C0 U+0154 Racute
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+0102 Abreve
-!C4 U+00C4 Adieresis
-!C5 U+0139 Lacute
-!C6 U+0106 Cacute
-!C7 U+00C7 Ccedilla
-!C8 U+010C Ccaron
-!C9 U+00C9 Eacute
-!CA U+0118 Eogonek
-!CB U+00CB Edieresis
-!CC U+011A Ecaron
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+010E Dcaron
-!D0 U+0110 Dcroat
-!D1 U+0143 Nacute
-!D2 U+0147 Ncaron
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+0150 Ohungarumlaut
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+0158 Rcaron
-!D9 U+016E Uring
-!DA U+00DA Uacute
-!DB U+0170 Uhungarumlaut
-!DC U+00DC Udieresis
-!DD U+00DD Yacute
-!DE U+0162 Tcommaaccent
-!DF U+00DF germandbls
-!E0 U+0155 racute
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+0103 abreve
-!E4 U+00E4 adieresis
-!E5 U+013A lacute
-!E6 U+0107 cacute
-!E7 U+00E7 ccedilla
-!E8 U+010D ccaron
-!E9 U+00E9 eacute
-!EA U+0119 eogonek
-!EB U+00EB edieresis
-!EC U+011B ecaron
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+010F dcaron
-!F0 U+0111 dcroat
-!F1 U+0144 nacute
-!F2 U+0148 ncaron
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+0151 ohungarumlaut
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+0159 rcaron
-!F9 U+016F uring
-!FA U+00FA uacute
-!FB U+0171 uhungarumlaut
-!FC U+00FC udieresis
-!FD U+00FD yacute
-!FE U+0163 tcommaaccent
-!FF U+02D9 dotaccent
diff --git a/lib/fpdf/makefont/cp1251.map b/lib/fpdf/makefont/cp1251.map
deleted file mode 100755
index de6a198..0000000
--- a/lib/fpdf/makefont/cp1251.map
+++ /dev/null
@@ -1,255 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0402 afii10051
-!81 U+0403 afii10052
-!82 U+201A quotesinglbase
-!83 U+0453 afii10100
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!88 U+20AC Euro
-!89 U+2030 perthousand
-!8A U+0409 afii10058
-!8B U+2039 guilsinglleft
-!8C U+040A afii10059
-!8D U+040C afii10061
-!8E U+040B afii10060
-!8F U+040F afii10145
-!90 U+0452 afii10099
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!99 U+2122 trademark
-!9A U+0459 afii10106
-!9B U+203A guilsinglright
-!9C U+045A afii10107
-!9D U+045C afii10109
-!9E U+045B afii10108
-!9F U+045F afii10193
-!A0 U+00A0 space
-!A1 U+040E afii10062
-!A2 U+045E afii10110
-!A3 U+0408 afii10057
-!A4 U+00A4 currency
-!A5 U+0490 afii10050
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+0401 afii10023
-!A9 U+00A9 copyright
-!AA U+0404 afii10053
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+0407 afii10056
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+0406 afii10055
-!B3 U+0456 afii10103
-!B4 U+0491 afii10098
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+0451 afii10071
-!B9 U+2116 afii61352
-!BA U+0454 afii10101
-!BB U+00BB guillemotright
-!BC U+0458 afii10105
-!BD U+0405 afii10054
-!BE U+0455 afii10102
-!BF U+0457 afii10104
-!C0 U+0410 afii10017
-!C1 U+0411 afii10018
-!C2 U+0412 afii10019
-!C3 U+0413 afii10020
-!C4 U+0414 afii10021
-!C5 U+0415 afii10022
-!C6 U+0416 afii10024
-!C7 U+0417 afii10025
-!C8 U+0418 afii10026
-!C9 U+0419 afii10027
-!CA U+041A afii10028
-!CB U+041B afii10029
-!CC U+041C afii10030
-!CD U+041D afii10031
-!CE U+041E afii10032
-!CF U+041F afii10033
-!D0 U+0420 afii10034
-!D1 U+0421 afii10035
-!D2 U+0422 afii10036
-!D3 U+0423 afii10037
-!D4 U+0424 afii10038
-!D5 U+0425 afii10039
-!D6 U+0426 afii10040
-!D7 U+0427 afii10041
-!D8 U+0428 afii10042
-!D9 U+0429 afii10043
-!DA U+042A afii10044
-!DB U+042B afii10045
-!DC U+042C afii10046
-!DD U+042D afii10047
-!DE U+042E afii10048
-!DF U+042F afii10049
-!E0 U+0430 afii10065
-!E1 U+0431 afii10066
-!E2 U+0432 afii10067
-!E3 U+0433 afii10068
-!E4 U+0434 afii10069
-!E5 U+0435 afii10070
-!E6 U+0436 afii10072
-!E7 U+0437 afii10073
-!E8 U+0438 afii10074
-!E9 U+0439 afii10075
-!EA U+043A afii10076
-!EB U+043B afii10077
-!EC U+043C afii10078
-!ED U+043D afii10079
-!EE U+043E afii10080
-!EF U+043F afii10081
-!F0 U+0440 afii10082
-!F1 U+0441 afii10083
-!F2 U+0442 afii10084
-!F3 U+0443 afii10085
-!F4 U+0444 afii10086
-!F5 U+0445 afii10087
-!F6 U+0446 afii10088
-!F7 U+0447 afii10089
-!F8 U+0448 afii10090
-!F9 U+0449 afii10091
-!FA U+044A afii10092
-!FB U+044B afii10093
-!FC U+044C afii10094
-!FD U+044D afii10095
-!FE U+044E afii10096
-!FF U+044F afii10097
diff --git a/lib/fpdf/makefont/cp1252.map b/lib/fpdf/makefont/cp1252.map
deleted file mode 100755
index dd490e5..0000000
--- a/lib/fpdf/makefont/cp1252.map
+++ /dev/null
@@ -1,251 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!83 U+0192 florin
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!88 U+02C6 circumflex
-!89 U+2030 perthousand
-!8A U+0160 Scaron
-!8B U+2039 guilsinglleft
-!8C U+0152 OE
-!8E U+017D Zcaron
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!98 U+02DC tilde
-!99 U+2122 trademark
-!9A U+0161 scaron
-!9B U+203A guilsinglright
-!9C U+0153 oe
-!9E U+017E zcaron
-!9F U+0178 Ydieresis
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+00D0 Eth
-!D1 U+00D1 Ntilde
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+00DD Yacute
-!DE U+00DE Thorn
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+00F0 eth
-!F1 U+00F1 ntilde
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+00FD yacute
-!FE U+00FE thorn
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/cp1253.map b/lib/fpdf/makefont/cp1253.map
deleted file mode 100755
index 4bd826f..0000000
--- a/lib/fpdf/makefont/cp1253.map
+++ /dev/null
@@ -1,239 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!83 U+0192 florin
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!89 U+2030 perthousand
-!8B U+2039 guilsinglleft
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!99 U+2122 trademark
-!9B U+203A guilsinglright
-!A0 U+00A0 space
-!A1 U+0385 dieresistonos
-!A2 U+0386 Alphatonos
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+2015 afii00208
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+0384 tonos
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+0388 Epsilontonos
-!B9 U+0389 Etatonos
-!BA U+038A Iotatonos
-!BB U+00BB guillemotright
-!BC U+038C Omicrontonos
-!BD U+00BD onehalf
-!BE U+038E Upsilontonos
-!BF U+038F Omegatonos
-!C0 U+0390 iotadieresistonos
-!C1 U+0391 Alpha
-!C2 U+0392 Beta
-!C3 U+0393 Gamma
-!C4 U+0394 Delta
-!C5 U+0395 Epsilon
-!C6 U+0396 Zeta
-!C7 U+0397 Eta
-!C8 U+0398 Theta
-!C9 U+0399 Iota
-!CA U+039A Kappa
-!CB U+039B Lambda
-!CC U+039C Mu
-!CD U+039D Nu
-!CE U+039E Xi
-!CF U+039F Omicron
-!D0 U+03A0 Pi
-!D1 U+03A1 Rho
-!D3 U+03A3 Sigma
-!D4 U+03A4 Tau
-!D5 U+03A5 Upsilon
-!D6 U+03A6 Phi
-!D7 U+03A7 Chi
-!D8 U+03A8 Psi
-!D9 U+03A9 Omega
-!DA U+03AA Iotadieresis
-!DB U+03AB Upsilondieresis
-!DC U+03AC alphatonos
-!DD U+03AD epsilontonos
-!DE U+03AE etatonos
-!DF U+03AF iotatonos
-!E0 U+03B0 upsilondieresistonos
-!E1 U+03B1 alpha
-!E2 U+03B2 beta
-!E3 U+03B3 gamma
-!E4 U+03B4 delta
-!E5 U+03B5 epsilon
-!E6 U+03B6 zeta
-!E7 U+03B7 eta
-!E8 U+03B8 theta
-!E9 U+03B9 iota
-!EA U+03BA kappa
-!EB U+03BB lambda
-!EC U+03BC mu
-!ED U+03BD nu
-!EE U+03BE xi
-!EF U+03BF omicron
-!F0 U+03C0 pi
-!F1 U+03C1 rho
-!F2 U+03C2 sigma1
-!F3 U+03C3 sigma
-!F4 U+03C4 tau
-!F5 U+03C5 upsilon
-!F6 U+03C6 phi
-!F7 U+03C7 chi
-!F8 U+03C8 psi
-!F9 U+03C9 omega
-!FA U+03CA iotadieresis
-!FB U+03CB upsilondieresis
-!FC U+03CC omicrontonos
-!FD U+03CD upsilontonos
-!FE U+03CE omegatonos
diff --git a/lib/fpdf/makefont/cp1254.map b/lib/fpdf/makefont/cp1254.map
deleted file mode 100755
index 829473b..0000000
--- a/lib/fpdf/makefont/cp1254.map
+++ /dev/null
@@ -1,249 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!83 U+0192 florin
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!88 U+02C6 circumflex
-!89 U+2030 perthousand
-!8A U+0160 Scaron
-!8B U+2039 guilsinglleft
-!8C U+0152 OE
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!98 U+02DC tilde
-!99 U+2122 trademark
-!9A U+0161 scaron
-!9B U+203A guilsinglright
-!9C U+0153 oe
-!9F U+0178 Ydieresis
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+011E Gbreve
-!D1 U+00D1 Ntilde
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+0130 Idotaccent
-!DE U+015E Scedilla
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+011F gbreve
-!F1 U+00F1 ntilde
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+0131 dotlessi
-!FE U+015F scedilla
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/cp1255.map b/lib/fpdf/makefont/cp1255.map
deleted file mode 100755
index 079e10c..0000000
--- a/lib/fpdf/makefont/cp1255.map
+++ /dev/null
@@ -1,233 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!83 U+0192 florin
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!88 U+02C6 circumflex
-!89 U+2030 perthousand
-!8B U+2039 guilsinglleft
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!98 U+02DC tilde
-!99 U+2122 trademark
-!9B U+203A guilsinglright
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+20AA afii57636
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00D7 multiply
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD sfthyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 middot
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00F7 divide
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+05B0 afii57799
-!C1 U+05B1 afii57801
-!C2 U+05B2 afii57800
-!C3 U+05B3 afii57802
-!C4 U+05B4 afii57793
-!C5 U+05B5 afii57794
-!C6 U+05B6 afii57795
-!C7 U+05B7 afii57798
-!C8 U+05B8 afii57797
-!C9 U+05B9 afii57806
-!CB U+05BB afii57796
-!CC U+05BC afii57807
-!CD U+05BD afii57839
-!CE U+05BE afii57645
-!CF U+05BF afii57841
-!D0 U+05C0 afii57842
-!D1 U+05C1 afii57804
-!D2 U+05C2 afii57803
-!D3 U+05C3 afii57658
-!D4 U+05F0 afii57716
-!D5 U+05F1 afii57717
-!D6 U+05F2 afii57718
-!D7 U+05F3 gereshhebrew
-!D8 U+05F4 gershayimhebrew
-!E0 U+05D0 afii57664
-!E1 U+05D1 afii57665
-!E2 U+05D2 afii57666
-!E3 U+05D3 afii57667
-!E4 U+05D4 afii57668
-!E5 U+05D5 afii57669
-!E6 U+05D6 afii57670
-!E7 U+05D7 afii57671
-!E8 U+05D8 afii57672
-!E9 U+05D9 afii57673
-!EA U+05DA afii57674
-!EB U+05DB afii57675
-!EC U+05DC afii57676
-!ED U+05DD afii57677
-!EE U+05DE afii57678
-!EF U+05DF afii57679
-!F0 U+05E0 afii57680
-!F1 U+05E1 afii57681
-!F2 U+05E2 afii57682
-!F3 U+05E3 afii57683
-!F4 U+05E4 afii57684
-!F5 U+05E5 afii57685
-!F6 U+05E6 afii57686
-!F7 U+05E7 afii57687
-!F8 U+05E8 afii57688
-!F9 U+05E9 afii57689
-!FA U+05EA afii57690
-!FD U+200E afii299
-!FE U+200F afii300
diff --git a/lib/fpdf/makefont/cp1257.map b/lib/fpdf/makefont/cp1257.map
deleted file mode 100755
index 2f2ecfa..0000000
--- a/lib/fpdf/makefont/cp1257.map
+++ /dev/null
@@ -1,244 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!89 U+2030 perthousand
-!8B U+2039 guilsinglleft
-!8D U+00A8 dieresis
-!8E U+02C7 caron
-!8F U+00B8 cedilla
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!99 U+2122 trademark
-!9B U+203A guilsinglright
-!9D U+00AF macron
-!9E U+02DB ogonek
-!A0 U+00A0 space
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00D8 Oslash
-!A9 U+00A9 copyright
-!AA U+0156 Rcommaaccent
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00C6 AE
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00F8 oslash
-!B9 U+00B9 onesuperior
-!BA U+0157 rcommaaccent
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00E6 ae
-!C0 U+0104 Aogonek
-!C1 U+012E Iogonek
-!C2 U+0100 Amacron
-!C3 U+0106 Cacute
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+0118 Eogonek
-!C7 U+0112 Emacron
-!C8 U+010C Ccaron
-!C9 U+00C9 Eacute
-!CA U+0179 Zacute
-!CB U+0116 Edotaccent
-!CC U+0122 Gcommaaccent
-!CD U+0136 Kcommaaccent
-!CE U+012A Imacron
-!CF U+013B Lcommaaccent
-!D0 U+0160 Scaron
-!D1 U+0143 Nacute
-!D2 U+0145 Ncommaaccent
-!D3 U+00D3 Oacute
-!D4 U+014C Omacron
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+0172 Uogonek
-!D9 U+0141 Lslash
-!DA U+015A Sacute
-!DB U+016A Umacron
-!DC U+00DC Udieresis
-!DD U+017B Zdotaccent
-!DE U+017D Zcaron
-!DF U+00DF germandbls
-!E0 U+0105 aogonek
-!E1 U+012F iogonek
-!E2 U+0101 amacron
-!E3 U+0107 cacute
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+0119 eogonek
-!E7 U+0113 emacron
-!E8 U+010D ccaron
-!E9 U+00E9 eacute
-!EA U+017A zacute
-!EB U+0117 edotaccent
-!EC U+0123 gcommaaccent
-!ED U+0137 kcommaaccent
-!EE U+012B imacron
-!EF U+013C lcommaaccent
-!F0 U+0161 scaron
-!F1 U+0144 nacute
-!F2 U+0146 ncommaaccent
-!F3 U+00F3 oacute
-!F4 U+014D omacron
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+0173 uogonek
-!F9 U+0142 lslash
-!FA U+015B sacute
-!FB U+016B umacron
-!FC U+00FC udieresis
-!FD U+017C zdotaccent
-!FE U+017E zcaron
-!FF U+02D9 dotaccent
diff --git a/lib/fpdf/makefont/cp1258.map b/lib/fpdf/makefont/cp1258.map
deleted file mode 100755
index fed915f..0000000
--- a/lib/fpdf/makefont/cp1258.map
+++ /dev/null
@@ -1,247 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!82 U+201A quotesinglbase
-!83 U+0192 florin
-!84 U+201E quotedblbase
-!85 U+2026 ellipsis
-!86 U+2020 dagger
-!87 U+2021 daggerdbl
-!88 U+02C6 circumflex
-!89 U+2030 perthousand
-!8B U+2039 guilsinglleft
-!8C U+0152 OE
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!98 U+02DC tilde
-!99 U+2122 trademark
-!9B U+203A guilsinglright
-!9C U+0153 oe
-!9F U+0178 Ydieresis
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+0102 Abreve
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+0300 gravecomb
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+0110 Dcroat
-!D1 U+00D1 Ntilde
-!D2 U+0309 hookabovecomb
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+01A0 Ohorn
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+01AF Uhorn
-!DE U+0303 tildecomb
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+0103 abreve
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+0301 acutecomb
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+0111 dcroat
-!F1 U+00F1 ntilde
-!F2 U+0323 dotbelowcomb
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+01A1 ohorn
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+01B0 uhorn
-!FE U+20AB dong
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/cp874.map b/lib/fpdf/makefont/cp874.map
deleted file mode 100755
index 1006e6b..0000000
--- a/lib/fpdf/makefont/cp874.map
+++ /dev/null
@@ -1,225 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+20AC Euro
-!85 U+2026 ellipsis
-!91 U+2018 quoteleft
-!92 U+2019 quoteright
-!93 U+201C quotedblleft
-!94 U+201D quotedblright
-!95 U+2022 bullet
-!96 U+2013 endash
-!97 U+2014 emdash
-!A0 U+00A0 space
-!A1 U+0E01 kokaithai
-!A2 U+0E02 khokhaithai
-!A3 U+0E03 khokhuatthai
-!A4 U+0E04 khokhwaithai
-!A5 U+0E05 khokhonthai
-!A6 U+0E06 khorakhangthai
-!A7 U+0E07 ngonguthai
-!A8 U+0E08 chochanthai
-!A9 U+0E09 chochingthai
-!AA U+0E0A chochangthai
-!AB U+0E0B sosothai
-!AC U+0E0C chochoethai
-!AD U+0E0D yoyingthai
-!AE U+0E0E dochadathai
-!AF U+0E0F topatakthai
-!B0 U+0E10 thothanthai
-!B1 U+0E11 thonangmonthothai
-!B2 U+0E12 thophuthaothai
-!B3 U+0E13 nonenthai
-!B4 U+0E14 dodekthai
-!B5 U+0E15 totaothai
-!B6 U+0E16 thothungthai
-!B7 U+0E17 thothahanthai
-!B8 U+0E18 thothongthai
-!B9 U+0E19 nonuthai
-!BA U+0E1A bobaimaithai
-!BB U+0E1B poplathai
-!BC U+0E1C phophungthai
-!BD U+0E1D fofathai
-!BE U+0E1E phophanthai
-!BF U+0E1F fofanthai
-!C0 U+0E20 phosamphaothai
-!C1 U+0E21 momathai
-!C2 U+0E22 yoyakthai
-!C3 U+0E23 roruathai
-!C4 U+0E24 ruthai
-!C5 U+0E25 lolingthai
-!C6 U+0E26 luthai
-!C7 U+0E27 wowaenthai
-!C8 U+0E28 sosalathai
-!C9 U+0E29 sorusithai
-!CA U+0E2A sosuathai
-!CB U+0E2B hohipthai
-!CC U+0E2C lochulathai
-!CD U+0E2D oangthai
-!CE U+0E2E honokhukthai
-!CF U+0E2F paiyannoithai
-!D0 U+0E30 saraathai
-!D1 U+0E31 maihanakatthai
-!D2 U+0E32 saraaathai
-!D3 U+0E33 saraamthai
-!D4 U+0E34 saraithai
-!D5 U+0E35 saraiithai
-!D6 U+0E36 sarauethai
-!D7 U+0E37 saraueethai
-!D8 U+0E38 sarauthai
-!D9 U+0E39 sarauuthai
-!DA U+0E3A phinthuthai
-!DF U+0E3F bahtthai
-!E0 U+0E40 saraethai
-!E1 U+0E41 saraaethai
-!E2 U+0E42 saraothai
-!E3 U+0E43 saraaimaimuanthai
-!E4 U+0E44 saraaimaimalaithai
-!E5 U+0E45 lakkhangyaothai
-!E6 U+0E46 maiyamokthai
-!E7 U+0E47 maitaikhuthai
-!E8 U+0E48 maiekthai
-!E9 U+0E49 maithothai
-!EA U+0E4A maitrithai
-!EB U+0E4B maichattawathai
-!EC U+0E4C thanthakhatthai
-!ED U+0E4D nikhahitthai
-!EE U+0E4E yamakkanthai
-!EF U+0E4F fongmanthai
-!F0 U+0E50 zerothai
-!F1 U+0E51 onethai
-!F2 U+0E52 twothai
-!F3 U+0E53 threethai
-!F4 U+0E54 fourthai
-!F5 U+0E55 fivethai
-!F6 U+0E56 sixthai
-!F7 U+0E57 seventhai
-!F8 U+0E58 eightthai
-!F9 U+0E59 ninethai
-!FA U+0E5A angkhankhuthai
-!FB U+0E5B khomutthai
diff --git a/lib/fpdf/makefont/iso-8859-1.map b/lib/fpdf/makefont/iso-8859-1.map
deleted file mode 100755
index 61740a3..0000000
--- a/lib/fpdf/makefont/iso-8859-1.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+00D0 Eth
-!D1 U+00D1 Ntilde
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+00DD Yacute
-!DE U+00DE Thorn
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+00F0 eth
-!F1 U+00F1 ntilde
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+00FD yacute
-!FE U+00FE thorn
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/iso-8859-11.map b/lib/fpdf/makefont/iso-8859-11.map
deleted file mode 100755
index 9168812..0000000
--- a/lib/fpdf/makefont/iso-8859-11.map
+++ /dev/null
@@ -1,248 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+0E01 kokaithai
-!A2 U+0E02 khokhaithai
-!A3 U+0E03 khokhuatthai
-!A4 U+0E04 khokhwaithai
-!A5 U+0E05 khokhonthai
-!A6 U+0E06 khorakhangthai
-!A7 U+0E07 ngonguthai
-!A8 U+0E08 chochanthai
-!A9 U+0E09 chochingthai
-!AA U+0E0A chochangthai
-!AB U+0E0B sosothai
-!AC U+0E0C chochoethai
-!AD U+0E0D yoyingthai
-!AE U+0E0E dochadathai
-!AF U+0E0F topatakthai
-!B0 U+0E10 thothanthai
-!B1 U+0E11 thonangmonthothai
-!B2 U+0E12 thophuthaothai
-!B3 U+0E13 nonenthai
-!B4 U+0E14 dodekthai
-!B5 U+0E15 totaothai
-!B6 U+0E16 thothungthai
-!B7 U+0E17 thothahanthai
-!B8 U+0E18 thothongthai
-!B9 U+0E19 nonuthai
-!BA U+0E1A bobaimaithai
-!BB U+0E1B poplathai
-!BC U+0E1C phophungthai
-!BD U+0E1D fofathai
-!BE U+0E1E phophanthai
-!BF U+0E1F fofanthai
-!C0 U+0E20 phosamphaothai
-!C1 U+0E21 momathai
-!C2 U+0E22 yoyakthai
-!C3 U+0E23 roruathai
-!C4 U+0E24 ruthai
-!C5 U+0E25 lolingthai
-!C6 U+0E26 luthai
-!C7 U+0E27 wowaenthai
-!C8 U+0E28 sosalathai
-!C9 U+0E29 sorusithai
-!CA U+0E2A sosuathai
-!CB U+0E2B hohipthai
-!CC U+0E2C lochulathai
-!CD U+0E2D oangthai
-!CE U+0E2E honokhukthai
-!CF U+0E2F paiyannoithai
-!D0 U+0E30 saraathai
-!D1 U+0E31 maihanakatthai
-!D2 U+0E32 saraaathai
-!D3 U+0E33 saraamthai
-!D4 U+0E34 saraithai
-!D5 U+0E35 saraiithai
-!D6 U+0E36 sarauethai
-!D7 U+0E37 saraueethai
-!D8 U+0E38 sarauthai
-!D9 U+0E39 sarauuthai
-!DA U+0E3A phinthuthai
-!DF U+0E3F bahtthai
-!E0 U+0E40 saraethai
-!E1 U+0E41 saraaethai
-!E2 U+0E42 saraothai
-!E3 U+0E43 saraaimaimuanthai
-!E4 U+0E44 saraaimaimalaithai
-!E5 U+0E45 lakkhangyaothai
-!E6 U+0E46 maiyamokthai
-!E7 U+0E47 maitaikhuthai
-!E8 U+0E48 maiekthai
-!E9 U+0E49 maithothai
-!EA U+0E4A maitrithai
-!EB U+0E4B maichattawathai
-!EC U+0E4C thanthakhatthai
-!ED U+0E4D nikhahitthai
-!EE U+0E4E yamakkanthai
-!EF U+0E4F fongmanthai
-!F0 U+0E50 zerothai
-!F1 U+0E51 onethai
-!F2 U+0E52 twothai
-!F3 U+0E53 threethai
-!F4 U+0E54 fourthai
-!F5 U+0E55 fivethai
-!F6 U+0E56 sixthai
-!F7 U+0E57 seventhai
-!F8 U+0E58 eightthai
-!F9 U+0E59 ninethai
-!FA U+0E5A angkhankhuthai
-!FB U+0E5B khomutthai
diff --git a/lib/fpdf/makefont/iso-8859-15.map b/lib/fpdf/makefont/iso-8859-15.map
deleted file mode 100755
index 6c2b571..0000000
--- a/lib/fpdf/makefont/iso-8859-15.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+20AC Euro
-!A5 U+00A5 yen
-!A6 U+0160 Scaron
-!A7 U+00A7 section
-!A8 U+0161 scaron
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+017D Zcaron
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+017E zcaron
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+0152 OE
-!BD U+0153 oe
-!BE U+0178 Ydieresis
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+00D0 Eth
-!D1 U+00D1 Ntilde
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+00DD Yacute
-!DE U+00DE Thorn
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+00F0 eth
-!F1 U+00F1 ntilde
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+00FD yacute
-!FE U+00FE thorn
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/iso-8859-16.map b/lib/fpdf/makefont/iso-8859-16.map
deleted file mode 100755
index 202c8fe..0000000
--- a/lib/fpdf/makefont/iso-8859-16.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+0104 Aogonek
-!A2 U+0105 aogonek
-!A3 U+0141 Lslash
-!A4 U+20AC Euro
-!A5 U+201E quotedblbase
-!A6 U+0160 Scaron
-!A7 U+00A7 section
-!A8 U+0161 scaron
-!A9 U+00A9 copyright
-!AA U+0218 Scommaaccent
-!AB U+00AB guillemotleft
-!AC U+0179 Zacute
-!AD U+00AD hyphen
-!AE U+017A zacute
-!AF U+017B Zdotaccent
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+010C Ccaron
-!B3 U+0142 lslash
-!B4 U+017D Zcaron
-!B5 U+201D quotedblright
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+017E zcaron
-!B9 U+010D ccaron
-!BA U+0219 scommaaccent
-!BB U+00BB guillemotright
-!BC U+0152 OE
-!BD U+0153 oe
-!BE U+0178 Ydieresis
-!BF U+017C zdotaccent
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+0102 Abreve
-!C4 U+00C4 Adieresis
-!C5 U+0106 Cacute
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+0110 Dcroat
-!D1 U+0143 Nacute
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+0150 Ohungarumlaut
-!D6 U+00D6 Odieresis
-!D7 U+015A Sacute
-!D8 U+0170 Uhungarumlaut
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+0118 Eogonek
-!DE U+021A Tcommaaccent
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+0103 abreve
-!E4 U+00E4 adieresis
-!E5 U+0107 cacute
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+0111 dcroat
-!F1 U+0144 nacute
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+0151 ohungarumlaut
-!F6 U+00F6 odieresis
-!F7 U+015B sacute
-!F8 U+0171 uhungarumlaut
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+0119 eogonek
-!FE U+021B tcommaaccent
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/iso-8859-2.map b/lib/fpdf/makefont/iso-8859-2.map
deleted file mode 100755
index 65ae09f..0000000
--- a/lib/fpdf/makefont/iso-8859-2.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+0104 Aogonek
-!A2 U+02D8 breve
-!A3 U+0141 Lslash
-!A4 U+00A4 currency
-!A5 U+013D Lcaron
-!A6 U+015A Sacute
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+0160 Scaron
-!AA U+015E Scedilla
-!AB U+0164 Tcaron
-!AC U+0179 Zacute
-!AD U+00AD hyphen
-!AE U+017D Zcaron
-!AF U+017B Zdotaccent
-!B0 U+00B0 degree
-!B1 U+0105 aogonek
-!B2 U+02DB ogonek
-!B3 U+0142 lslash
-!B4 U+00B4 acute
-!B5 U+013E lcaron
-!B6 U+015B sacute
-!B7 U+02C7 caron
-!B8 U+00B8 cedilla
-!B9 U+0161 scaron
-!BA U+015F scedilla
-!BB U+0165 tcaron
-!BC U+017A zacute
-!BD U+02DD hungarumlaut
-!BE U+017E zcaron
-!BF U+017C zdotaccent
-!C0 U+0154 Racute
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+0102 Abreve
-!C4 U+00C4 Adieresis
-!C5 U+0139 Lacute
-!C6 U+0106 Cacute
-!C7 U+00C7 Ccedilla
-!C8 U+010C Ccaron
-!C9 U+00C9 Eacute
-!CA U+0118 Eogonek
-!CB U+00CB Edieresis
-!CC U+011A Ecaron
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+010E Dcaron
-!D0 U+0110 Dcroat
-!D1 U+0143 Nacute
-!D2 U+0147 Ncaron
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+0150 Ohungarumlaut
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+0158 Rcaron
-!D9 U+016E Uring
-!DA U+00DA Uacute
-!DB U+0170 Uhungarumlaut
-!DC U+00DC Udieresis
-!DD U+00DD Yacute
-!DE U+0162 Tcommaaccent
-!DF U+00DF germandbls
-!E0 U+0155 racute
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+0103 abreve
-!E4 U+00E4 adieresis
-!E5 U+013A lacute
-!E6 U+0107 cacute
-!E7 U+00E7 ccedilla
-!E8 U+010D ccaron
-!E9 U+00E9 eacute
-!EA U+0119 eogonek
-!EB U+00EB edieresis
-!EC U+011B ecaron
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+010F dcaron
-!F0 U+0111 dcroat
-!F1 U+0144 nacute
-!F2 U+0148 ncaron
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+0151 ohungarumlaut
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+0159 rcaron
-!F9 U+016F uring
-!FA U+00FA uacute
-!FB U+0171 uhungarumlaut
-!FC U+00FC udieresis
-!FD U+00FD yacute
-!FE U+0163 tcommaaccent
-!FF U+02D9 dotaccent
diff --git a/lib/fpdf/makefont/iso-8859-4.map b/lib/fpdf/makefont/iso-8859-4.map
deleted file mode 100755
index a7d87bf..0000000
--- a/lib/fpdf/makefont/iso-8859-4.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+0104 Aogonek
-!A2 U+0138 kgreenlandic
-!A3 U+0156 Rcommaaccent
-!A4 U+00A4 currency
-!A5 U+0128 Itilde
-!A6 U+013B Lcommaaccent
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+0160 Scaron
-!AA U+0112 Emacron
-!AB U+0122 Gcommaaccent
-!AC U+0166 Tbar
-!AD U+00AD hyphen
-!AE U+017D Zcaron
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+0105 aogonek
-!B2 U+02DB ogonek
-!B3 U+0157 rcommaaccent
-!B4 U+00B4 acute
-!B5 U+0129 itilde
-!B6 U+013C lcommaaccent
-!B7 U+02C7 caron
-!B8 U+00B8 cedilla
-!B9 U+0161 scaron
-!BA U+0113 emacron
-!BB U+0123 gcommaaccent
-!BC U+0167 tbar
-!BD U+014A Eng
-!BE U+017E zcaron
-!BF U+014B eng
-!C0 U+0100 Amacron
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+012E Iogonek
-!C8 U+010C Ccaron
-!C9 U+00C9 Eacute
-!CA U+0118 Eogonek
-!CB U+00CB Edieresis
-!CC U+0116 Edotaccent
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+012A Imacron
-!D0 U+0110 Dcroat
-!D1 U+0145 Ncommaaccent
-!D2 U+014C Omacron
-!D3 U+0136 Kcommaaccent
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+0172 Uogonek
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+0168 Utilde
-!DE U+016A Umacron
-!DF U+00DF germandbls
-!E0 U+0101 amacron
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+012F iogonek
-!E8 U+010D ccaron
-!E9 U+00E9 eacute
-!EA U+0119 eogonek
-!EB U+00EB edieresis
-!EC U+0117 edotaccent
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+012B imacron
-!F0 U+0111 dcroat
-!F1 U+0146 ncommaaccent
-!F2 U+014D omacron
-!F3 U+0137 kcommaaccent
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+0173 uogonek
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+0169 utilde
-!FE U+016B umacron
-!FF U+02D9 dotaccent
diff --git a/lib/fpdf/makefont/iso-8859-5.map b/lib/fpdf/makefont/iso-8859-5.map
deleted file mode 100755
index f9cd4ed..0000000
--- a/lib/fpdf/makefont/iso-8859-5.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+0401 afii10023
-!A2 U+0402 afii10051
-!A3 U+0403 afii10052
-!A4 U+0404 afii10053
-!A5 U+0405 afii10054
-!A6 U+0406 afii10055
-!A7 U+0407 afii10056
-!A8 U+0408 afii10057
-!A9 U+0409 afii10058
-!AA U+040A afii10059
-!AB U+040B afii10060
-!AC U+040C afii10061
-!AD U+00AD hyphen
-!AE U+040E afii10062
-!AF U+040F afii10145
-!B0 U+0410 afii10017
-!B1 U+0411 afii10018
-!B2 U+0412 afii10019
-!B3 U+0413 afii10020
-!B4 U+0414 afii10021
-!B5 U+0415 afii10022
-!B6 U+0416 afii10024
-!B7 U+0417 afii10025
-!B8 U+0418 afii10026
-!B9 U+0419 afii10027
-!BA U+041A afii10028
-!BB U+041B afii10029
-!BC U+041C afii10030
-!BD U+041D afii10031
-!BE U+041E afii10032
-!BF U+041F afii10033
-!C0 U+0420 afii10034
-!C1 U+0421 afii10035
-!C2 U+0422 afii10036
-!C3 U+0423 afii10037
-!C4 U+0424 afii10038
-!C5 U+0425 afii10039
-!C6 U+0426 afii10040
-!C7 U+0427 afii10041
-!C8 U+0428 afii10042
-!C9 U+0429 afii10043
-!CA U+042A afii10044
-!CB U+042B afii10045
-!CC U+042C afii10046
-!CD U+042D afii10047
-!CE U+042E afii10048
-!CF U+042F afii10049
-!D0 U+0430 afii10065
-!D1 U+0431 afii10066
-!D2 U+0432 afii10067
-!D3 U+0433 afii10068
-!D4 U+0434 afii10069
-!D5 U+0435 afii10070
-!D6 U+0436 afii10072
-!D7 U+0437 afii10073
-!D8 U+0438 afii10074
-!D9 U+0439 afii10075
-!DA U+043A afii10076
-!DB U+043B afii10077
-!DC U+043C afii10078
-!DD U+043D afii10079
-!DE U+043E afii10080
-!DF U+043F afii10081
-!E0 U+0440 afii10082
-!E1 U+0441 afii10083
-!E2 U+0442 afii10084
-!E3 U+0443 afii10085
-!E4 U+0444 afii10086
-!E5 U+0445 afii10087
-!E6 U+0446 afii10088
-!E7 U+0447 afii10089
-!E8 U+0448 afii10090
-!E9 U+0449 afii10091
-!EA U+044A afii10092
-!EB U+044B afii10093
-!EC U+044C afii10094
-!ED U+044D afii10095
-!EE U+044E afii10096
-!EF U+044F afii10097
-!F0 U+2116 afii61352
-!F1 U+0451 afii10071
-!F2 U+0452 afii10099
-!F3 U+0453 afii10100
-!F4 U+0454 afii10101
-!F5 U+0455 afii10102
-!F6 U+0456 afii10103
-!F7 U+0457 afii10104
-!F8 U+0458 afii10105
-!F9 U+0459 afii10106
-!FA U+045A afii10107
-!FB U+045B afii10108
-!FC U+045C afii10109
-!FD U+00A7 section
-!FE U+045E afii10110
-!FF U+045F afii10193
diff --git a/lib/fpdf/makefont/iso-8859-7.map b/lib/fpdf/makefont/iso-8859-7.map
deleted file mode 100755
index e163796..0000000
--- a/lib/fpdf/makefont/iso-8859-7.map
+++ /dev/null
@@ -1,250 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+2018 quoteleft
-!A2 U+2019 quoteright
-!A3 U+00A3 sterling
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AF U+2015 afii00208
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+0384 tonos
-!B5 U+0385 dieresistonos
-!B6 U+0386 Alphatonos
-!B7 U+00B7 periodcentered
-!B8 U+0388 Epsilontonos
-!B9 U+0389 Etatonos
-!BA U+038A Iotatonos
-!BB U+00BB guillemotright
-!BC U+038C Omicrontonos
-!BD U+00BD onehalf
-!BE U+038E Upsilontonos
-!BF U+038F Omegatonos
-!C0 U+0390 iotadieresistonos
-!C1 U+0391 Alpha
-!C2 U+0392 Beta
-!C3 U+0393 Gamma
-!C4 U+0394 Delta
-!C5 U+0395 Epsilon
-!C6 U+0396 Zeta
-!C7 U+0397 Eta
-!C8 U+0398 Theta
-!C9 U+0399 Iota
-!CA U+039A Kappa
-!CB U+039B Lambda
-!CC U+039C Mu
-!CD U+039D Nu
-!CE U+039E Xi
-!CF U+039F Omicron
-!D0 U+03A0 Pi
-!D1 U+03A1 Rho
-!D3 U+03A3 Sigma
-!D4 U+03A4 Tau
-!D5 U+03A5 Upsilon
-!D6 U+03A6 Phi
-!D7 U+03A7 Chi
-!D8 U+03A8 Psi
-!D9 U+03A9 Omega
-!DA U+03AA Iotadieresis
-!DB U+03AB Upsilondieresis
-!DC U+03AC alphatonos
-!DD U+03AD epsilontonos
-!DE U+03AE etatonos
-!DF U+03AF iotatonos
-!E0 U+03B0 upsilondieresistonos
-!E1 U+03B1 alpha
-!E2 U+03B2 beta
-!E3 U+03B3 gamma
-!E4 U+03B4 delta
-!E5 U+03B5 epsilon
-!E6 U+03B6 zeta
-!E7 U+03B7 eta
-!E8 U+03B8 theta
-!E9 U+03B9 iota
-!EA U+03BA kappa
-!EB U+03BB lambda
-!EC U+03BC mu
-!ED U+03BD nu
-!EE U+03BE xi
-!EF U+03BF omicron
-!F0 U+03C0 pi
-!F1 U+03C1 rho
-!F2 U+03C2 sigma1
-!F3 U+03C3 sigma
-!F4 U+03C4 tau
-!F5 U+03C5 upsilon
-!F6 U+03C6 phi
-!F7 U+03C7 chi
-!F8 U+03C8 psi
-!F9 U+03C9 omega
-!FA U+03CA iotadieresis
-!FB U+03CB upsilondieresis
-!FC U+03CC omicrontonos
-!FD U+03CD upsilontonos
-!FE U+03CE omegatonos
diff --git a/lib/fpdf/makefont/iso-8859-9.map b/lib/fpdf/makefont/iso-8859-9.map
deleted file mode 100755
index 48c123a..0000000
--- a/lib/fpdf/makefont/iso-8859-9.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+0080 .notdef
-!81 U+0081 .notdef
-!82 U+0082 .notdef
-!83 U+0083 .notdef
-!84 U+0084 .notdef
-!85 U+0085 .notdef
-!86 U+0086 .notdef
-!87 U+0087 .notdef
-!88 U+0088 .notdef
-!89 U+0089 .notdef
-!8A U+008A .notdef
-!8B U+008B .notdef
-!8C U+008C .notdef
-!8D U+008D .notdef
-!8E U+008E .notdef
-!8F U+008F .notdef
-!90 U+0090 .notdef
-!91 U+0091 .notdef
-!92 U+0092 .notdef
-!93 U+0093 .notdef
-!94 U+0094 .notdef
-!95 U+0095 .notdef
-!96 U+0096 .notdef
-!97 U+0097 .notdef
-!98 U+0098 .notdef
-!99 U+0099 .notdef
-!9A U+009A .notdef
-!9B U+009B .notdef
-!9C U+009C .notdef
-!9D U+009D .notdef
-!9E U+009E .notdef
-!9F U+009F .notdef
-!A0 U+00A0 space
-!A1 U+00A1 exclamdown
-!A2 U+00A2 cent
-!A3 U+00A3 sterling
-!A4 U+00A4 currency
-!A5 U+00A5 yen
-!A6 U+00A6 brokenbar
-!A7 U+00A7 section
-!A8 U+00A8 dieresis
-!A9 U+00A9 copyright
-!AA U+00AA ordfeminine
-!AB U+00AB guillemotleft
-!AC U+00AC logicalnot
-!AD U+00AD hyphen
-!AE U+00AE registered
-!AF U+00AF macron
-!B0 U+00B0 degree
-!B1 U+00B1 plusminus
-!B2 U+00B2 twosuperior
-!B3 U+00B3 threesuperior
-!B4 U+00B4 acute
-!B5 U+00B5 mu
-!B6 U+00B6 paragraph
-!B7 U+00B7 periodcentered
-!B8 U+00B8 cedilla
-!B9 U+00B9 onesuperior
-!BA U+00BA ordmasculine
-!BB U+00BB guillemotright
-!BC U+00BC onequarter
-!BD U+00BD onehalf
-!BE U+00BE threequarters
-!BF U+00BF questiondown
-!C0 U+00C0 Agrave
-!C1 U+00C1 Aacute
-!C2 U+00C2 Acircumflex
-!C3 U+00C3 Atilde
-!C4 U+00C4 Adieresis
-!C5 U+00C5 Aring
-!C6 U+00C6 AE
-!C7 U+00C7 Ccedilla
-!C8 U+00C8 Egrave
-!C9 U+00C9 Eacute
-!CA U+00CA Ecircumflex
-!CB U+00CB Edieresis
-!CC U+00CC Igrave
-!CD U+00CD Iacute
-!CE U+00CE Icircumflex
-!CF U+00CF Idieresis
-!D0 U+011E Gbreve
-!D1 U+00D1 Ntilde
-!D2 U+00D2 Ograve
-!D3 U+00D3 Oacute
-!D4 U+00D4 Ocircumflex
-!D5 U+00D5 Otilde
-!D6 U+00D6 Odieresis
-!D7 U+00D7 multiply
-!D8 U+00D8 Oslash
-!D9 U+00D9 Ugrave
-!DA U+00DA Uacute
-!DB U+00DB Ucircumflex
-!DC U+00DC Udieresis
-!DD U+0130 Idotaccent
-!DE U+015E Scedilla
-!DF U+00DF germandbls
-!E0 U+00E0 agrave
-!E1 U+00E1 aacute
-!E2 U+00E2 acircumflex
-!E3 U+00E3 atilde
-!E4 U+00E4 adieresis
-!E5 U+00E5 aring
-!E6 U+00E6 ae
-!E7 U+00E7 ccedilla
-!E8 U+00E8 egrave
-!E9 U+00E9 eacute
-!EA U+00EA ecircumflex
-!EB U+00EB edieresis
-!EC U+00EC igrave
-!ED U+00ED iacute
-!EE U+00EE icircumflex
-!EF U+00EF idieresis
-!F0 U+011F gbreve
-!F1 U+00F1 ntilde
-!F2 U+00F2 ograve
-!F3 U+00F3 oacute
-!F4 U+00F4 ocircumflex
-!F5 U+00F5 otilde
-!F6 U+00F6 odieresis
-!F7 U+00F7 divide
-!F8 U+00F8 oslash
-!F9 U+00F9 ugrave
-!FA U+00FA uacute
-!FB U+00FB ucircumflex
-!FC U+00FC udieresis
-!FD U+0131 dotlessi
-!FE U+015F scedilla
-!FF U+00FF ydieresis
diff --git a/lib/fpdf/makefont/koi8-r.map b/lib/fpdf/makefont/koi8-r.map
deleted file mode 100755
index 6ad5d05..0000000
--- a/lib/fpdf/makefont/koi8-r.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+2500 SF100000
-!81 U+2502 SF110000
-!82 U+250C SF010000
-!83 U+2510 SF030000
-!84 U+2514 SF020000
-!85 U+2518 SF040000
-!86 U+251C SF080000
-!87 U+2524 SF090000
-!88 U+252C SF060000
-!89 U+2534 SF070000
-!8A U+253C SF050000
-!8B U+2580 upblock
-!8C U+2584 dnblock
-!8D U+2588 block
-!8E U+258C lfblock
-!8F U+2590 rtblock
-!90 U+2591 ltshade
-!91 U+2592 shade
-!92 U+2593 dkshade
-!93 U+2320 integraltp
-!94 U+25A0 filledbox
-!95 U+2219 periodcentered
-!96 U+221A radical
-!97 U+2248 approxequal
-!98 U+2264 lessequal
-!99 U+2265 greaterequal
-!9A U+00A0 space
-!9B U+2321 integralbt
-!9C U+00B0 degree
-!9D U+00B2 twosuperior
-!9E U+00B7 periodcentered
-!9F U+00F7 divide
-!A0 U+2550 SF430000
-!A1 U+2551 SF240000
-!A2 U+2552 SF510000
-!A3 U+0451 afii10071
-!A4 U+2553 SF520000
-!A5 U+2554 SF390000
-!A6 U+2555 SF220000
-!A7 U+2556 SF210000
-!A8 U+2557 SF250000
-!A9 U+2558 SF500000
-!AA U+2559 SF490000
-!AB U+255A SF380000
-!AC U+255B SF280000
-!AD U+255C SF270000
-!AE U+255D SF260000
-!AF U+255E SF360000
-!B0 U+255F SF370000
-!B1 U+2560 SF420000
-!B2 U+2561 SF190000
-!B3 U+0401 afii10023
-!B4 U+2562 SF200000
-!B5 U+2563 SF230000
-!B6 U+2564 SF470000
-!B7 U+2565 SF480000
-!B8 U+2566 SF410000
-!B9 U+2567 SF450000
-!BA U+2568 SF460000
-!BB U+2569 SF400000
-!BC U+256A SF540000
-!BD U+256B SF530000
-!BE U+256C SF440000
-!BF U+00A9 copyright
-!C0 U+044E afii10096
-!C1 U+0430 afii10065
-!C2 U+0431 afii10066
-!C3 U+0446 afii10088
-!C4 U+0434 afii10069
-!C5 U+0435 afii10070
-!C6 U+0444 afii10086
-!C7 U+0433 afii10068
-!C8 U+0445 afii10087
-!C9 U+0438 afii10074
-!CA U+0439 afii10075
-!CB U+043A afii10076
-!CC U+043B afii10077
-!CD U+043C afii10078
-!CE U+043D afii10079
-!CF U+043E afii10080
-!D0 U+043F afii10081
-!D1 U+044F afii10097
-!D2 U+0440 afii10082
-!D3 U+0441 afii10083
-!D4 U+0442 afii10084
-!D5 U+0443 afii10085
-!D6 U+0436 afii10072
-!D7 U+0432 afii10067
-!D8 U+044C afii10094
-!D9 U+044B afii10093
-!DA U+0437 afii10073
-!DB U+0448 afii10090
-!DC U+044D afii10095
-!DD U+0449 afii10091
-!DE U+0447 afii10089
-!DF U+044A afii10092
-!E0 U+042E afii10048
-!E1 U+0410 afii10017
-!E2 U+0411 afii10018
-!E3 U+0426 afii10040
-!E4 U+0414 afii10021
-!E5 U+0415 afii10022
-!E6 U+0424 afii10038
-!E7 U+0413 afii10020
-!E8 U+0425 afii10039
-!E9 U+0418 afii10026
-!EA U+0419 afii10027
-!EB U+041A afii10028
-!EC U+041B afii10029
-!ED U+041C afii10030
-!EE U+041D afii10031
-!EF U+041E afii10032
-!F0 U+041F afii10033
-!F1 U+042F afii10049
-!F2 U+0420 afii10034
-!F3 U+0421 afii10035
-!F4 U+0422 afii10036
-!F5 U+0423 afii10037
-!F6 U+0416 afii10024
-!F7 U+0412 afii10019
-!F8 U+042C afii10046
-!F9 U+042B afii10045
-!FA U+0417 afii10025
-!FB U+0428 afii10042
-!FC U+042D afii10047
-!FD U+0429 afii10043
-!FE U+0427 afii10041
-!FF U+042A afii10044
diff --git a/lib/fpdf/makefont/koi8-u.map b/lib/fpdf/makefont/koi8-u.map
deleted file mode 100755
index 40a7e4f..0000000
--- a/lib/fpdf/makefont/koi8-u.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!00 U+0000 .notdef
-!01 U+0001 .notdef
-!02 U+0002 .notdef
-!03 U+0003 .notdef
-!04 U+0004 .notdef
-!05 U+0005 .notdef
-!06 U+0006 .notdef
-!07 U+0007 .notdef
-!08 U+0008 .notdef
-!09 U+0009 .notdef
-!0A U+000A .notdef
-!0B U+000B .notdef
-!0C U+000C .notdef
-!0D U+000D .notdef
-!0E U+000E .notdef
-!0F U+000F .notdef
-!10 U+0010 .notdef
-!11 U+0011 .notdef
-!12 U+0012 .notdef
-!13 U+0013 .notdef
-!14 U+0014 .notdef
-!15 U+0015 .notdef
-!16 U+0016 .notdef
-!17 U+0017 .notdef
-!18 U+0018 .notdef
-!19 U+0019 .notdef
-!1A U+001A .notdef
-!1B U+001B .notdef
-!1C U+001C .notdef
-!1D U+001D .notdef
-!1E U+001E .notdef
-!1F U+001F .notdef
-!20 U+0020 space
-!21 U+0021 exclam
-!22 U+0022 quotedbl
-!23 U+0023 numbersign
-!24 U+0024 dollar
-!25 U+0025 percent
-!26 U+0026 ampersand
-!27 U+0027 quotesingle
-!28 U+0028 parenleft
-!29 U+0029 parenright
-!2A U+002A asterisk
-!2B U+002B plus
-!2C U+002C comma
-!2D U+002D hyphen
-!2E U+002E period
-!2F U+002F slash
-!30 U+0030 zero
-!31 U+0031 one
-!32 U+0032 two
-!33 U+0033 three
-!34 U+0034 four
-!35 U+0035 five
-!36 U+0036 six
-!37 U+0037 seven
-!38 U+0038 eight
-!39 U+0039 nine
-!3A U+003A colon
-!3B U+003B semicolon
-!3C U+003C less
-!3D U+003D equal
-!3E U+003E greater
-!3F U+003F question
-!40 U+0040 at
-!41 U+0041 A
-!42 U+0042 B
-!43 U+0043 C
-!44 U+0044 D
-!45 U+0045 E
-!46 U+0046 F
-!47 U+0047 G
-!48 U+0048 H
-!49 U+0049 I
-!4A U+004A J
-!4B U+004B K
-!4C U+004C L
-!4D U+004D M
-!4E U+004E N
-!4F U+004F O
-!50 U+0050 P
-!51 U+0051 Q
-!52 U+0052 R
-!53 U+0053 S
-!54 U+0054 T
-!55 U+0055 U
-!56 U+0056 V
-!57 U+0057 W
-!58 U+0058 X
-!59 U+0059 Y
-!5A U+005A Z
-!5B U+005B bracketleft
-!5C U+005C backslash
-!5D U+005D bracketright
-!5E U+005E asciicircum
-!5F U+005F underscore
-!60 U+0060 grave
-!61 U+0061 a
-!62 U+0062 b
-!63 U+0063 c
-!64 U+0064 d
-!65 U+0065 e
-!66 U+0066 f
-!67 U+0067 g
-!68 U+0068 h
-!69 U+0069 i
-!6A U+006A j
-!6B U+006B k
-!6C U+006C l
-!6D U+006D m
-!6E U+006E n
-!6F U+006F o
-!70 U+0070 p
-!71 U+0071 q
-!72 U+0072 r
-!73 U+0073 s
-!74 U+0074 t
-!75 U+0075 u
-!76 U+0076 v
-!77 U+0077 w
-!78 U+0078 x
-!79 U+0079 y
-!7A U+007A z
-!7B U+007B braceleft
-!7C U+007C bar
-!7D U+007D braceright
-!7E U+007E asciitilde
-!7F U+007F .notdef
-!80 U+2500 SF100000
-!81 U+2502 SF110000
-!82 U+250C SF010000
-!83 U+2510 SF030000
-!84 U+2514 SF020000
-!85 U+2518 SF040000
-!86 U+251C SF080000
-!87 U+2524 SF090000
-!88 U+252C SF060000
-!89 U+2534 SF070000
-!8A U+253C SF050000
-!8B U+2580 upblock
-!8C U+2584 dnblock
-!8D U+2588 block
-!8E U+258C lfblock
-!8F U+2590 rtblock
-!90 U+2591 ltshade
-!91 U+2592 shade
-!92 U+2593 dkshade
-!93 U+2320 integraltp
-!94 U+25A0 filledbox
-!95 U+2022 bullet
-!96 U+221A radical
-!97 U+2248 approxequal
-!98 U+2264 lessequal
-!99 U+2265 greaterequal
-!9A U+00A0 space
-!9B U+2321 integralbt
-!9C U+00B0 degree
-!9D U+00B2 twosuperior
-!9E U+00B7 periodcentered
-!9F U+00F7 divide
-!A0 U+2550 SF430000
-!A1 U+2551 SF240000
-!A2 U+2552 SF510000
-!A3 U+0451 afii10071
-!A4 U+0454 afii10101
-!A5 U+2554 SF390000
-!A6 U+0456 afii10103
-!A7 U+0457 afii10104
-!A8 U+2557 SF250000
-!A9 U+2558 SF500000
-!AA U+2559 SF490000
-!AB U+255A SF380000
-!AC U+255B SF280000
-!AD U+0491 afii10098
-!AE U+255D SF260000
-!AF U+255E SF360000
-!B0 U+255F SF370000
-!B1 U+2560 SF420000
-!B2 U+2561 SF190000
-!B3 U+0401 afii10023
-!B4 U+0404 afii10053
-!B5 U+2563 SF230000
-!B6 U+0406 afii10055
-!B7 U+0407 afii10056
-!B8 U+2566 SF410000
-!B9 U+2567 SF450000
-!BA U+2568 SF460000
-!BB U+2569 SF400000
-!BC U+256A SF540000
-!BD U+0490 afii10050
-!BE U+256C SF440000
-!BF U+00A9 copyright
-!C0 U+044E afii10096
-!C1 U+0430 afii10065
-!C2 U+0431 afii10066
-!C3 U+0446 afii10088
-!C4 U+0434 afii10069
-!C5 U+0435 afii10070
-!C6 U+0444 afii10086
-!C7 U+0433 afii10068
-!C8 U+0445 afii10087
-!C9 U+0438 afii10074
-!CA U+0439 afii10075
-!CB U+043A afii10076
-!CC U+043B afii10077
-!CD U+043C afii10078
-!CE U+043D afii10079
-!CF U+043E afii10080
-!D0 U+043F afii10081
-!D1 U+044F afii10097
-!D2 U+0440 afii10082
-!D3 U+0441 afii10083
-!D4 U+0442 afii10084
-!D5 U+0443 afii10085
-!D6 U+0436 afii10072
-!D7 U+0432 afii10067
-!D8 U+044C afii10094
-!D9 U+044B afii10093
-!DA U+0437 afii10073
-!DB U+0448 afii10090
-!DC U+044D afii10095
-!DD U+0449 afii10091
-!DE U+0447 afii10089
-!DF U+044A afii10092
-!E0 U+042E afii10048
-!E1 U+0410 afii10017
-!E2 U+0411 afii10018
-!E3 U+0426 afii10040
-!E4 U+0414 afii10021
-!E5 U+0415 afii10022
-!E6 U+0424 afii10038
-!E7 U+0413 afii10020
-!E8 U+0425 afii10039
-!E9 U+0418 afii10026
-!EA U+0419 afii10027
-!EB U+041A afii10028
-!EC U+041B afii10029
-!ED U+041C afii10030
-!EE U+041D afii10031
-!EF U+041E afii10032
-!F0 U+041F afii10033
-!F1 U+042F afii10049
-!F2 U+0420 afii10034
-!F3 U+0421 afii10035
-!F4 U+0422 afii10036
-!F5 U+0423 afii10037
-!F6 U+0416 afii10024
-!F7 U+0412 afii10019
-!F8 U+042C afii10046
-!F9 U+042B afii10045
-!FA U+0417 afii10025
-!FB U+0428 afii10042
-!FC U+042D afii10047
-!FD U+0429 afii10043
-!FE U+0427 afii10041
-!FF U+042A afii10044
diff --git a/lib/fpdf/makefont/makefont.php b/lib/fpdf/makefont/makefont.php
deleted file mode 100755
index 78db0aa..0000000
--- a/lib/fpdf/makefont/makefont.php
+++ /dev/null
@@ -1,373 +0,0 @@
-$severity: ";
- echo "$txt ";
- }
-}
-
-function Notice($txt)
-{
- Message($txt, 'Notice');
-}
-
-function Warning($txt)
-{
- Message($txt, 'Warning');
-}
-
-function Error($txt)
-{
- Message($txt, 'Error');
- exit;
-}
-
-function LoadMap($enc)
-{
- $file = dirname(__FILE__).'/'.strtolower($enc).'.map';
- $a = file($file);
- if(empty($a))
- Error('Encoding not found: '.$enc);
- $map = array_fill(0, 256, array('uv'=>-1, 'name'=>'.notdef'));
- foreach($a as $line)
- {
- $e = explode(' ', rtrim($line));
- $c = hexdec(substr($e[0],1));
- $uv = hexdec(substr($e[1],2));
- $name = $e[2];
- $map[$c] = array('uv'=>$uv, 'name'=>$name);
- }
- return $map;
-}
-
-function GetInfoFromTrueType($file, $embed, $map)
-{
- // Return informations from a TrueType font
- $ttf = new TTFParser();
- $ttf->Parse($file);
- if($embed)
- {
- if(!$ttf->Embeddable)
- Error('Font license does not allow embedding');
- $info['Data'] = file_get_contents($file);
- $info['OriginalSize'] = filesize($file);
- }
- $k = 1000/$ttf->unitsPerEm;
- $info['FontName'] = $ttf->postScriptName;
- $info['Bold'] = $ttf->Bold;
- $info['ItalicAngle'] = $ttf->italicAngle;
- $info['IsFixedPitch'] = $ttf->isFixedPitch;
- $info['Ascender'] = round($k*$ttf->typoAscender);
- $info['Descender'] = round($k*$ttf->typoDescender);
- $info['UnderlineThickness'] = round($k*$ttf->underlineThickness);
- $info['UnderlinePosition'] = round($k*$ttf->underlinePosition);
- $info['FontBBox'] = array(round($k*$ttf->xMin), round($k*$ttf->yMin), round($k*$ttf->xMax), round($k*$ttf->yMax));
- $info['CapHeight'] = round($k*$ttf->capHeight);
- $info['MissingWidth'] = round($k*$ttf->widths[0]);
- $widths = array_fill(0, 256, $info['MissingWidth']);
- for($c=0;$c<=255;$c++)
- {
- if($map[$c]['name']!='.notdef')
- {
- $uv = $map[$c]['uv'];
- if(isset($ttf->chars[$uv]))
- {
- $w = $ttf->widths[$ttf->chars[$uv]];
- $widths[$c] = round($k*$w);
- }
- else
- Warning('Character '.$map[$c]['name'].' is missing');
- }
- }
- $info['Widths'] = $widths;
- return $info;
-}
-
-function GetInfoFromType1($file, $embed, $map)
-{
- // Return informations from a Type1 font
- if($embed)
- {
- $f = fopen($file, 'rb');
- if(!$f)
- Error('Can\'t open font file');
- // Read first segment
- $a = unpack('Cmarker/Ctype/Vsize', fread($f,6));
- if($a['marker']!=128)
- Error('Font file is not a valid binary Type1');
- $size1 = $a['size'];
- $data = fread($f, $size1);
- // Read second segment
- $a = unpack('Cmarker/Ctype/Vsize', fread($f,6));
- if($a['marker']!=128)
- Error('Font file is not a valid binary Type1');
- $size2 = $a['size'];
- $data .= fread($f, $size2);
- fclose($f);
- $info['Data'] = $data;
- $info['Size1'] = $size1;
- $info['Size2'] = $size2;
- }
-
- $afm = substr($file, 0, -3).'afm';
- if(!file_exists($afm))
- Error('AFM font file not found: '.$afm);
- $a = file($afm);
- if(empty($a))
- Error('AFM file empty or not readable');
- foreach($a as $line)
- {
- $e = explode(' ', rtrim($line));
- if(count($e)<2)
- continue;
- $entry = $e[0];
- if($entry=='C')
- {
- $w = $e[4];
- $name = $e[7];
- $cw[$name] = $w;
- }
- elseif($entry=='FontName')
- $info['FontName'] = $e[1];
- elseif($entry=='Weight')
- $info['Weight'] = $e[1];
- elseif($entry=='ItalicAngle')
- $info['ItalicAngle'] = (int)$e[1];
- elseif($entry=='Ascender')
- $info['Ascender'] = (int)$e[1];
- elseif($entry=='Descender')
- $info['Descender'] = (int)$e[1];
- elseif($entry=='UnderlineThickness')
- $info['UnderlineThickness'] = (int)$e[1];
- elseif($entry=='UnderlinePosition')
- $info['UnderlinePosition'] = (int)$e[1];
- elseif($entry=='IsFixedPitch')
- $info['IsFixedPitch'] = ($e[1]=='true');
- elseif($entry=='FontBBox')
- $info['FontBBox'] = array((int)$e[1], (int)$e[2], (int)$e[3], (int)$e[4]);
- elseif($entry=='CapHeight')
- $info['CapHeight'] = (int)$e[1];
- elseif($entry=='StdVW')
- $info['StdVW'] = (int)$e[1];
- }
-
- if(!isset($info['FontName']))
- Error('FontName missing in AFM file');
- $info['Bold'] = isset($info['Weight']) && preg_match('/bold|black/i', $info['Weight']);
- if(isset($cw['.notdef']))
- $info['MissingWidth'] = $cw['.notdef'];
- else
- $info['MissingWidth'] = 0;
- $widths = array_fill(0, 256, $info['MissingWidth']);
- for($c=0;$c<=255;$c++)
- {
- $name = $map[$c]['name'];
- if($name!='.notdef')
- {
- if(isset($cw[$name]))
- $widths[$c] = $cw[$name];
- else
- Warning('Character '.$name.' is missing');
- }
- }
- $info['Widths'] = $widths;
- return $info;
-}
-
-function MakeFontDescriptor($info)
-{
- // Ascent
- $fd = "array('Ascent'=>".$info['Ascender'];
- // Descent
- $fd .= ",'Descent'=>".$info['Descender'];
- // CapHeight
- if(!empty($info['CapHeight']))
- $fd .= ",'CapHeight'=>".$info['CapHeight'];
- else
- $fd .= ",'CapHeight'=>".$info['Ascender'];
- // Flags
- $flags = 0;
- if($info['IsFixedPitch'])
- $flags += 1<<0;
- $flags += 1<<5;
- if($info['ItalicAngle']!=0)
- $flags += 1<<6;
- $fd .= ",'Flags'=>".$flags;
- // FontBBox
- $fbb = $info['FontBBox'];
- $fd .= ",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'";
- // ItalicAngle
- $fd .= ",'ItalicAngle'=>".$info['ItalicAngle'];
- // StemV
- if(isset($info['StdVW']))
- $stemv = $info['StdVW'];
- elseif($info['Bold'])
- $stemv = 120;
- else
- $stemv = 70;
- $fd .= ",'StemV'=>".$stemv;
- // MissingWidth
- $fd .= ",'MissingWidth'=>".$info['MissingWidth'].')';
- return $fd;
-}
-
-function MakeWidthArray($widths)
-{
- $s = "array(\n\t";
- for($c=0;$c<=255;$c++)
- {
- if(chr($c)=="'")
- $s .= "'\\''";
- elseif(chr($c)=="\\")
- $s .= "'\\\\'";
- elseif($c>=32 && $c<=126)
- $s .= "'".chr($c)."'";
- else
- $s .= "chr($c)";
- $s .= '=>'.$widths[$c];
- if($c<255)
- $s .= ',';
- if(($c+1)%22==0)
- $s .= "\n\t";
- }
- $s .= ')';
- return $s;
-}
-
-function MakeFontEncoding($map)
-{
- // Build differences from reference encoding
- $ref = LoadMap('cp1252');
- $s = '';
- $last = 0;
- for($c=32;$c<=255;$c++)
- {
- if($map[$c]['name']!=$ref[$c]['name'])
- {
- if($c!=$last+1)
- $s .= $c.' ';
- $last = $c;
- $s .= '/'.$map[$c]['name'].' ';
- }
- }
- return rtrim($s);
-}
-
-function SaveToFile($file, $s, $mode)
-{
- $f = fopen($file, 'w'.$mode);
- if(!$f)
- Error('Can\'t write to file '.$file);
- fwrite($f, $s, strlen($s));
- fclose($f);
-}
-
-function MakeDefinitionFile($file, $type, $enc, $embed, $map, $info)
-{
- $s = "\n";
- SaveToFile($file, $s, 't');
-}
-
-function MakeFont($fontfile, $enc='cp1252', $embed=true)
-{
- // Generate a font definition file
- if(get_magic_quotes_runtime())
- @set_magic_quotes_runtime(0);
- ini_set('auto_detect_line_endings', '1');
-
- if(!file_exists($fontfile))
- Error('Font file not found: '.$fontfile);
- $ext = strtolower(substr($fontfile,-3));
- if($ext=='ttf' || $ext=='otf')
- $type = 'TrueType';
- elseif($ext=='pfb')
- $type = 'Type1';
- else
- Error('Unrecognized font file extension: '.$ext);
-
- $map = LoadMap($enc);
-
- if($type=='TrueType')
- $info = GetInfoFromTrueType($fontfile, $embed, $map);
- else
- $info = GetInfoFromType1($fontfile, $embed, $map);
-
- $basename = substr(basename($fontfile), 0, -4);
- if($embed)
- {
- if(function_exists('gzcompress'))
- {
- $file = $basename.'.z';
- SaveToFile($file, gzcompress($info['Data']), 'b');
- $info['File'] = $file;
- Message('Font file compressed: '.$file);
- }
- else
- {
- $info['File'] = basename($fontfile);
- Notice('Font file could not be compressed (zlib extension not available)');
- }
- }
-
- MakeDefinitionFile($basename.'.php', $type, $enc, $embed, $map, $info);
- Message('Font definition file generated: '.$basename.'.php');
-}
-
-if(PHP_SAPI=='cli')
-{
- // Command-line interface
- if($argc==1)
- die("Usage: php makefont.php fontfile [enc] [embed]\n");
- $fontfile = $argv[1];
- if($argc>=3)
- $enc = $argv[2];
- else
- $enc = 'cp1252';
- if($argc>=4)
- $embed = ($argv[3]=='true' || $argv[3]=='1');
- else
- $embed = true;
- MakeFont($fontfile, $enc, $embed);
-}
-?>
diff --git a/lib/fpdf/makefont/ttfparser.php b/lib/fpdf/makefont/ttfparser.php
deleted file mode 100755
index 602a543..0000000
--- a/lib/fpdf/makefont/ttfparser.php
+++ /dev/null
@@ -1,289 +0,0 @@
-f = fopen($file, 'rb');
- if(!$this->f)
- $this->Error('Can\'t open file: '.$file);
-
- $version = $this->Read(4);
- if($version=='OTTO')
- $this->Error('OpenType fonts based on PostScript outlines are not supported');
- if($version!="\x00\x01\x00\x00")
- $this->Error('Unrecognized file format');
- $numTables = $this->ReadUShort();
- $this->Skip(3*2); // searchRange, entrySelector, rangeShift
- $this->tables = array();
- for($i=0;$i<$numTables;$i++)
- {
- $tag = $this->Read(4);
- $this->Skip(4); // checkSum
- $offset = $this->ReadULong();
- $this->Skip(4); // length
- $this->tables[$tag] = $offset;
- }
-
- $this->ParseHead();
- $this->ParseHhea();
- $this->ParseMaxp();
- $this->ParseHmtx();
- $this->ParseCmap();
- $this->ParseName();
- $this->ParseOS2();
- $this->ParsePost();
-
- fclose($this->f);
- }
-
- function ParseHead()
- {
- $this->Seek('head');
- $this->Skip(3*4); // version, fontRevision, checkSumAdjustment
- $magicNumber = $this->ReadULong();
- if($magicNumber!=0x5F0F3CF5)
- $this->Error('Incorrect magic number');
- $this->Skip(2); // flags
- $this->unitsPerEm = $this->ReadUShort();
- $this->Skip(2*8); // created, modified
- $this->xMin = $this->ReadShort();
- $this->yMin = $this->ReadShort();
- $this->xMax = $this->ReadShort();
- $this->yMax = $this->ReadShort();
- }
-
- function ParseHhea()
- {
- $this->Seek('hhea');
- $this->Skip(4+15*2);
- $this->numberOfHMetrics = $this->ReadUShort();
- }
-
- function ParseMaxp()
- {
- $this->Seek('maxp');
- $this->Skip(4);
- $this->numGlyphs = $this->ReadUShort();
- }
-
- function ParseHmtx()
- {
- $this->Seek('hmtx');
- $this->widths = array();
- for($i=0;$i<$this->numberOfHMetrics;$i++)
- {
- $advanceWidth = $this->ReadUShort();
- $this->Skip(2); // lsb
- $this->widths[$i] = $advanceWidth;
- }
- if($this->numberOfHMetrics<$this->numGlyphs)
- {
- $lastWidth = $this->widths[$this->numberOfHMetrics-1];
- $this->widths = array_pad($this->widths, $this->numGlyphs, $lastWidth);
- }
- }
-
- function ParseCmap()
- {
- $this->Seek('cmap');
- $this->Skip(2); // version
- $numTables = $this->ReadUShort();
- $offset31 = 0;
- for($i=0;$i<$numTables;$i++)
- {
- $platformID = $this->ReadUShort();
- $encodingID = $this->ReadUShort();
- $offset = $this->ReadULong();
- if($platformID==3 && $encodingID==1)
- $offset31 = $offset;
- }
- if($offset31==0)
- $this->Error('No Unicode encoding found');
-
- $startCount = array();
- $endCount = array();
- $idDelta = array();
- $idRangeOffset = array();
- $this->chars = array();
- fseek($this->f, $this->tables['cmap']+$offset31, SEEK_SET);
- $format = $this->ReadUShort();
- if($format!=4)
- $this->Error('Unexpected subtable format: '.$format);
- $this->Skip(2*2); // length, language
- $segCount = $this->ReadUShort()/2;
- $this->Skip(3*2); // searchRange, entrySelector, rangeShift
- for($i=0;$i<$segCount;$i++)
- $endCount[$i] = $this->ReadUShort();
- $this->Skip(2); // reservedPad
- for($i=0;$i<$segCount;$i++)
- $startCount[$i] = $this->ReadUShort();
- for($i=0;$i<$segCount;$i++)
- $idDelta[$i] = $this->ReadShort();
- $offset = ftell($this->f);
- for($i=0;$i<$segCount;$i++)
- $idRangeOffset[$i] = $this->ReadUShort();
-
- for($i=0;$i<$segCount;$i++)
- {
- $c1 = $startCount[$i];
- $c2 = $endCount[$i];
- $d = $idDelta[$i];
- $ro = $idRangeOffset[$i];
- if($ro>0)
- fseek($this->f, $offset+2*$i+$ro, SEEK_SET);
- for($c=$c1;$c<=$c2;$c++)
- {
- if($c==0xFFFF)
- break;
- if($ro>0)
- {
- $gid = $this->ReadUShort();
- if($gid>0)
- $gid += $d;
- }
- else
- $gid = $c+$d;
- if($gid>=65536)
- $gid -= 65536;
- if($gid>0)
- $this->chars[$c] = $gid;
- }
- }
- }
-
- function ParseName()
- {
- $this->Seek('name');
- $tableOffset = ftell($this->f);
- $this->postScriptName = '';
- $this->Skip(2); // format
- $count = $this->ReadUShort();
- $stringOffset = $this->ReadUShort();
- for($i=0;$i<$count;$i++)
- {
- $this->Skip(3*2); // platformID, encodingID, languageID
- $nameID = $this->ReadUShort();
- $length = $this->ReadUShort();
- $offset = $this->ReadUShort();
- if($nameID==6)
- {
- // PostScript name
- fseek($this->f, $tableOffset+$stringOffset+$offset, SEEK_SET);
- $s = $this->Read($length);
- $s = str_replace(chr(0), '', $s);
- $s = preg_replace('|[ \[\](){}<>/%]|', '', $s);
- $this->postScriptName = $s;
- break;
- }
- }
- if($this->postScriptName=='')
- $this->Error('PostScript name not found');
- }
-
- function ParseOS2()
- {
- $this->Seek('OS/2');
- $version = $this->ReadUShort();
- $this->Skip(3*2); // xAvgCharWidth, usWeightClass, usWidthClass
- $fsType = $this->ReadUShort();
- $this->Embeddable = ($fsType!=2) && ($fsType & 0x200)==0;
- $this->Skip(11*2+10+4*4+4);
- $fsSelection = $this->ReadUShort();
- $this->Bold = ($fsSelection & 32)!=0;
- $this->Skip(2*2); // usFirstCharIndex, usLastCharIndex
- $this->typoAscender = $this->ReadShort();
- $this->typoDescender = $this->ReadShort();
- if($version>=2)
- {
- $this->Skip(3*2+2*4+2);
- $this->capHeight = $this->ReadShort();
- }
- else
- $this->capHeight = 0;
- }
-
- function ParsePost()
- {
- $this->Seek('post');
- $this->Skip(4); // version
- $this->italicAngle = $this->ReadShort();
- $this->Skip(2); // Skip decimal part
- $this->underlinePosition = $this->ReadShort();
- $this->underlineThickness = $this->ReadShort();
- $this->isFixedPitch = ($this->ReadULong()!=0);
- }
-
- function Error($msg)
- {
- if(PHP_SAPI=='cli')
- die("Error: $msg\n");
- else
- die("Error : $msg");
- }
-
- function Seek($tag)
- {
- if(!isset($this->tables[$tag]))
- $this->Error('Table not found: '.$tag);
- fseek($this->f, $this->tables[$tag], SEEK_SET);
- }
-
- function Skip($n)
- {
- fseek($this->f, $n, SEEK_CUR);
- }
-
- function Read($n)
- {
- return fread($this->f, $n);
- }
-
- function ReadUShort()
- {
- $a = unpack('nn', fread($this->f,2));
- return $a['n'];
- }
-
- function ReadShort()
- {
- $a = unpack('nn', fread($this->f,2));
- $v = $a['n'];
- if($v>=0x8000)
- $v -= 65536;
- return $v;
- }
-
- function ReadULong()
- {
- $a = unpack('NN', fread($this->f,4));
- return $a['N'];
- }
-}
-?>
diff --git a/lib/intl-tel-input-master/.eslintignore b/lib/intl-tel-input-master/.eslintignore
deleted file mode 100644
index b9581a1..0000000
--- a/lib/intl-tel-input-master/.eslintignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/grunt
-/build
-/Gruntfile.js
diff --git a/lib/intl-tel-input-master/.eslintrc b/lib/intl-tel-input-master/.eslintrc
deleted file mode 100644
index 459cb87..0000000
--- a/lib/intl-tel-input-master/.eslintrc
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "extends": "airbnb",
- "parser": "babel-eslint",
- "env": {
- "browser": true,
- },
- "rules": {
- "arrow-parens": "off",
- "camelcase": "off",
- "class-methods-use-this": "off",
- "comma-dangle": ["error", {
- "arrays": "always-multiline",
- "exports": "always-multiline",
- "functions": "never",
- "imports": "always-multiline",
- "objects": "always-multiline",
- }],
- "no-cond-assign": ["error", "except-parens"],
- "no-lonely-if": "off",
- "no-multi-assign": "off",
- "no-param-reassign": ["error", {
- "props": false,
- }],
- "no-plusplus": "off",
- "no-prototype-builtins": "off",
- "no-restricted-globals": "off",
- "no-return-assign": "off",
- "no-underscore-dangle": "off",
- "no-unused-vars": ["error", {
- "ignoreRestSiblings": true
- }],
- "space-before-function-paren": "off",
- # airbnb's version, adding "*" to block.exceptions section to allow blocks wrapped in loads of asterisks
- "spaced-comment": ["error", "always", {
- line: {
- exceptions: ["-", "+"],
- markers: ["=", "!"],
- },
- block: {
- exceptions: ["-", "+", "*"],
- markers: ["=", "!"],
- balanced: true,
- }
- }],
- },
- "globals": {
- "allCountries": true,
- "intlTelInputUtils": true,
- },
-}
diff --git a/lib/intl-tel-input-master/.github/CONTRIBUTING.md b/lib/intl-tel-input-master/.github/CONTRIBUTING.md
deleted file mode 100644
index 186b910..0000000
--- a/lib/intl-tel-input-master/.github/CONTRIBUTING.md
+++ /dev/null
@@ -1,54 +0,0 @@
-## Contributing
-
-I'm very open to contributions, big and small! For general instructions on submitting a pull request on GitHub, see these guides: [Fork A Repo](https://help.github.com/articles/fork-a-repo), and [Creating a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
-
-### Changes to the plugin
-
-In order to build the project, you will first need to install [npm](https://www.npmjs.org), and then globally install a package called evenizer with `npm install -g evenizer`. Then run `npm install` to install the project's dependencies, and then you should be good to run `npm run build` to build the project. At this point, the included `demo.html` should be working. You should make your changes in the `src` directory and be sure to run `npm run build` again before committing.
-
-Running `npm run build` can be quite slow - you can also run `npm run build:js` to just build the JavaScript (or `npm run build:css` for just CSS), and `npm test` to just run the tests.
-
-If when building, you get an error in the "exec:evenizer" task, you may need to temporarily increase the ulimit by running this command: `ulimit -S -n 2048`
-
-
-### Updating to a new version of libphonenumber
-
-Create a new dir (e.g. ~/workspace/libphonenumber-tools) where you will clone the libphonenumber project and a few other dependencies, and cd into it, and then:
-
-```
-git clone https://github.com/googlei18n/libphonenumber
-git clone https://github.com/google/closure-library
-git clone https://github.com/google/closure-compiler
-git clone https://github.com/google/closure-linter
-git clone https://github.com/google/python-gflags
-```
-
-Build Closure's compiler.jar in closure-compiler directory: `mvn -DskipTests`
-
-If you have already cloned these projects before and just need to update libphonenumber, simply cd into that project dir and checkout the required version tag e.g.
-
-```
-cd ~/workspace/libphonenumber-tools/libphonenumber
-git checkout v8.9.14
-```
-
-Then to build the new version of utils.js:
-
-1. Copy intl-tel-input/src/js/utils.js to libphonenumber/javascript/i18n/phonenumbers/demo.js
-2. `ant -f libphonenumber/javascript/build.xml compile-demo`
-3. Copy libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js to intl-tel-input/build/js/utils.js
-
-Then, back in the intl-tel-input dir, first run the tests to make sure nothing has broken: `npm test`, then just commit the new utils.js, and create a pull request on Github.
-
-
-### Updating the flag images
-
-We get our flags from the region-flags project, which in turn pulls them in from Wikipedia. So cd into intl-tel-input/node_modules/region-flags and then do the following:
-
-1. Install some depenencies. On MacOS use brew: `brew install wget dos2unix librsvg optipng`
-2. Run the make-aliases command: `./make-aliases.sh` (Note: I got some "No such file or directory" warnings)
-3. Run the download command: `./download-wp.sh` (Note: this kept freezing for me, so I had to keep doing ctrl+c and then re-running it)
-
-Finally, the last time I did this (October 2018) there was a problem with the Cayman Islands flag (region-flags/png/KY.png) - it should be aprx 1200x600px, like the other flags, but was instead tiny (36x36px), so I replaced it with [the old one from the region-flags repo](https://github.com/behdad/region-flags/blob/gh-pages/png/KY.png).
-
-At this point, you should be good to re-build the assets with `npm run build`, and then check everything looks ok, and create a pull request on Github.
diff --git a/lib/intl-tel-input-master/.github/ISSUE_TEMPLATE.md b/lib/intl-tel-input-master/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index 1728e0b..0000000
--- a/lib/intl-tel-input-master/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,15 +0,0 @@
-IMPORTANT: please read the New Issue Checklist before creating a new issue: https://github.com/jackocnr/intl-tel-input/wiki/New-Issue-Checklist
-
-### Steps to reproduce
-1.
-2.
-3.
-
-### Expected behaviour
-Tell us what should happen
-
-### Actual behaviour
-Tell us what actually happens
-
-### Initialisation options
-List any options you're using e.g. utilsScript or preferredCountries
diff --git a/lib/intl-tel-input-master/.gitignore b/lib/intl-tel-input-master/.gitignore
deleted file mode 100644
index 8dbdcaa..0000000
--- a/lib/intl-tel-input-master/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-/bower_components/
-/node_modules/
-/lib/*
-!/lib/libphonenumber
-/.bower_cache/
-/.sass-cache/
-/.grunt/
-/tmp/
-/vendor/
-/.idea/
-*.iml
-.DS_Store
-
-# these files are now auto-generated
-/src/img/
-
-/src/js/intlTelInputPure.js
diff --git a/lib/intl-tel-input-master/.grenrc.js b/lib/intl-tel-input-master/.grenrc.js
deleted file mode 100644
index 3b97a1c..0000000
--- a/lib/intl-tel-input-master/.grenrc.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = {
- template: {
- release: function(p) {
- var parts = p.date.split("/");
- var date = parts[2] + "-" + parts[1] + "-" + parts[0];
- return "## " + p.release + " (" + date + ")\n" + p.body;
- },
- releaseSeparator: "\n\n",
- },
-};
diff --git a/lib/intl-tel-input-master/.travis.yml b/lib/intl-tel-input-master/.travis.yml
deleted file mode 100644
index ee97022..0000000
--- a/lib/intl-tel-input-master/.travis.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-language: node_js
-node_js:
- - "node"
- - "10"
- - "8"
-install: npm install
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/CHANGELOG.md b/lib/intl-tel-input-master/CHANGELOG.md
deleted file mode 100644
index 255a0f3..0000000
--- a/lib/intl-tel-input-master/CHANGELOG.md
+++ /dev/null
@@ -1,338 +0,0 @@
-# Changelog
-
-## v14.0.0 (2018-09-23)
-We finally removed the jQuery dependency! This changes how you initialise and use the plugin - see readme for details. All of the tests are currently passing on Chrome/Firefox/Safari/IE11.
-
-- You can no longer initialise the plugin on multiple inputs at once, but other than that AFAICS it should be feature complete
-- Instead of jQuery deferred objects we now use ES6 promises (if available)
-- `dropdownContainer` option has changed from taking a jQuery selector string, to a node e.g. `document.body`
-
-I also simplified the CSS media queries in this release, so let me know if you notice any problems with that.
-
-## v13.0.0 (2018-07-25)
-- changed how hiddenInput option works, to make it compatible with initialising the plugin on multiple inputs at once (so now if your input name contains square brackets then it will give the hidden input the same name, replacing the contents of the brackets with the given name)
-- removed an undocumented `utilsScriptDeferred` argument to static method `loadUtils` which is no longer needed
-- lots of bug fixes
-
-## v12.4.0 (2018-06-24)
-
-
-## v12.3.0 (2018-06-10)
-
-
-## v12.2.0 (2018-06-09)
-
-
-## v12.1.0 (2017-09-25)
-- added new setPlaceholderNumberType public method
-
-## v12.0.0 (2017-07-30)
-- added new hiddenInput option
-- trigger new open/close dropdown events
-
-## v11.1.0 (2017-07-01)
-- now triggers `close:countrydropdown` event
-
-## v11.0.0 (2017-02-05)
-- Drop support for IE8 (see readme). There are no actual changes in this release, it just marks a line in the sand where future changes will no longer consider IE8.
-
-
-## v10.0.0 (2016-12-11)
-- rename numberType option to placeholderNumberType
-- rename formatOnInit to formatOnDisplay
-
-
-## v9.2.0 (2016-10-01)
-- separate `allowDropdown` and `separateDialCode` options
-- make defaults object accessible from outside
-- bug fixes
-
-
-## v9.1.0 (2016-09-29)
-- updated autoPlaceholder option to accept "off", "polite" and "aggressive"
-
-
-## v9.0.3 (2016-07-14)
-
-
-## v9.0.0 (2016-06-11)
-- BREAKING CHANGE: removed 2nd arg from setNumber
-- optimize PNGs
-- update libphonenumber to v7.3.2
-- remove cookie stuff (easy to do yourself)
-- added support for jquery 3
-- added kosovo
-
-
-## v8.5.2 (2016-04-27)
-
-
-## v8.5.0 (2016-04-19)
-- autoHideDialCode now works on submit as well
-
-
-## v8.4.7 (2016-03-09)
-
-
-## v8.4.6 (2016-03-09)
-
-
-## v8.4.5 (2016-03-06)
-
-
-## v8.4.3 (2016-02-23)
-
-
-## v8.4.0 (2016-02-19)
-- added formatOnInit option (defaults to true)
-
-
-## v8.3.1 (2016-02-19)
-
-
-## v8.3.0 (2016-02-18)
-- bug fixes (along with lots more tests)
-- re-added getExtension method, which now uses libphonenumber internally for more reliable results
-
-
-## v8.2.0 (2016-02-17)
-- added separateDialCode option
-
-
-## v8.1.0 (2016-02-15)
-- added allowDropdown option (defaults to true)
-
-
-## v8.0.1 (2016-02-15)
-
-
-## v8.0.0 (2016-02-11)
-- removed autoFormat functionality - see issue 346
-- removed allowExtensions and getExtension as a result
-- country dropdown now a custom full-screen popup on mobile
-- rename country-change event to countrychange for consistency
-- trigger countrychange event whenever the country changes
-
-
-## v7.1.0 (2016-01-11)
-- set autoFormat option to default to false due to known UX issue
-- trigger custom `country-change` event when user selects a country
-
-
-## v7.0.0 (2015-12-20)
-- changed loadUtils to be a static method
-- rename selectCountry to setCountry
-- rename defaultCountry to initialCountry
-- lots of tidy up and bug fixes
-
-
-## v6.4.0 (2015-10-15)
-- added excludeCountries option
-
-## v6.3.0 (2015-10-11)
-* added dropdownContainer option
-
-## v6.2.0 (2015-09-27)
-
-
-## v6.1.0 (2015-09-16)
-* Made Sass variables overridable
-* Updated libphonenumber to v7.0.11
-* Added version number into js
-* Added customPlaceholder option
-* Added CommonJS support
-* Lots of bug fixes
-
-## v6.0.0 (2015-06-05)
-* BREAKING: Updated defaultCountry=auto system to use new geoIpLookup function option
-
-## v5.8.0 (2015-03-14)
-* if set defaultCountry=auto and use jquery-cookie plugin, then store the loaded country code in a cookie for future use
-* other bug fixes
-
-## v5.7.0 (2015-03-03)
-* setNumber now accepts a 2nd format arg (only works for valid numbers)
-
-## v5.6.0 (2015-03-02)
-* new wikimedia commons flag icons
-
-## v5.5.0 (2015-02-28)
-* return a deferred object, so dev can use .done() to know when the plugin has finished initialising
-
-## v5.4.0 (2015-02-22)
-* use a native select for dropdown on mobile
-
-## v5.3.0 (2015-02-21)
-* retina flag icons
-
-## v5.2.0 (2015-02-21)
-* on clear input: default to last selected flag
-* other bug fixes
-
-## v5.1.0 (2015-02-06)
-* Added allowExtensions option - defaults to false
-
-## v5.0.0 (2015-01-20)
-* Empty state for flag when invalid dial code
-* Removed preventInvalidNumbers as was wrongly using libphonenumber's AsYouTypeFormatter, which was broken and they explicitly said shouldn't be used for that
-* Added default flash styling on autoFormat's invalid char event, which can easily be overridden
-
-## v4.0.0 (2015-01-15)
-* Defaulted `nationalMode` to true because it's a better experience for the user
-* Rename `getCleanNumber` to `getNumber` and take a format type arg
-* Remove `responsiveDropdown` option and just trigger automatically on small screens
-* Remove useless `setCountryData` method
-* Change flag CSS from `.intl-tel-input .flag` to `.iti-flag` to reduce CSS filesize and allow easier re-use
-
-## v3.8.0 (2015-01-11)
-* Added preventInvalidNumbers option
-* Set autocomplete="off" on input to prevent inconsistencies
-* Support readonly inputs
-* Trigger `input` event when autoFormat is enabled
-
-## v3.7.0 (2014-11-02)
-* ipinfoToken option, which is required for ipinfo https support
-* bug fixes
-
-## v3.6.0 (2014-10-09)
-* autoFormat feature: trigger custom `invalidkey` event on invalid key press so can give user feedback
-* tweak autoFormat delete key behaviour: no reformat if delete and cursorAtEnd, never add format suffix on delete - this should also fix an IE8 issue with autoFormat
-
-## v3.5.0 (2014-10-03)
-* Added numberType option
-
-## v3.4.0 (2014-09-29)
-* Can now set defaultCountry to "auto"
-
-## v3.3.0 (2014-09-28)
-* Added public method getValidationError
-* Updated libphonenumber
-* Fail gracefully if call selectCountry with invalid countryCode
-
-## v3.2.0 (2014-09-27)
-* Added loadUtils method
-* Bug fixes
-
-## v3.1.0 (2014-09-21)
-* Added public method getNumberType
-* Added public method getCleanNumber
-* Added support for maxlength attribute on the input
-* autoFormat now prevents further input when the formatting fails i.e. no longer a potentially valid number
-* Other bug fixes
-
-## v3.0.0 (2014-09-07)
-* isValidNumber now works in nationalMode
-* country-specific placeholders, which auto update (and also work in nationalMode)
-* autoFormat now works for all countries as now uses libphonenumber (and now works in nationalMode too)
-* cursor-to-end on tab (if autoHideDialCode enabled)
-* handle North American Numbering Plan area codes (e.g. change to Canada if type "+1204")
-* removed static formatNumber method as doesnt really make sense as relies on an instance of the plugin to load the utils script
-* reduced filesize of data.js by generating allCountryCodes on the fly, and removing some obscure countries
-* reduced filesize of flags.png by removing unused flags
-* lots of bug fixes and new tests written
-
-## v2.0.0 (2014-07-13)
-* Automatically format the number as the user types
-* Full type-to-search in dropdown
-* Removed defaultStyling option as hadn't seen anyone using it and it felt like bloat
-* Removed dialCodeDelimiter option as superseded by autoFormat option
-* Lots of other bug fixes and improvements
-
-## v1.2.0 (2014-07-02)
-* reduced filesize from country data
-* compress css to reduce filesize
-* fixes to country data (canada and Caribbean Netherlands)
-* more tests
-* added public destroy method
-* removed redundant defaultStyling=none option
-* added responsiveDropdown option
-* full type to search
-* lots of bug fixes
-
-## v1.1.0 (2014-03-03)
-* validation script now waits for the load event
-* fixed issue with specificity on critical input styling
-* when auto-inserting DC, if user hits + then assume typing new number so wipe the DC
-* added allowNational argument for public isValidNumber method
-* fixed issue with unbinding keypress event
-* selecting another country then deleting the dial code no longer takes you back to the default country
-* replaced americaMode with more generic nationalMode
-
-## v1.0.0 (2014-02-24)
-* fixed issue on IE: selecting flag puts cursor at beginning
-* position the dropdown above the input depending on layout/scroll
-* added validation via the validationScript option
-
-## v0.9.17 (2014-02-22)
-* fixed issue with autoHideDialCode option, where sometimes clicking the input to focus it would leave the cursor in the middle of the dial code (or to the left of it)
-
-## v0.9.16 (2014-02-09)
-
-
-## v0.9.15 (2014-02-09)
-* improved vertical centering and made arrow smaller
-* renamed option to dialCodeDelimiter
-* 2 new examples (plus syntax highlighting on examples)
-
-## v0.9.14 (2014-02-01)
-* fixed issue in firefox: vertical margin on input breaks alignment
-* CSS tidyup / alignment fixes
-* JS abstraction / tidyup
-* arrow now points up while dropdown open
-* added title attribute to selected flag (try hovering the selected flag!)
-* added getSelectedCountryData public method
-
-## v0.9.13 (2014-01-21)
-* fixed regression: input with vertical margin breaks flag alignment
-
-## v0.9.12 (2014-01-21)
-* fixed issue with default delimiter and autoHideDialCode option
-
-## v0.9.11 (2014-01-21)
-* allow dial code delimiter to be overridden
-* Wrap in UMD (so that it supports AMD)
-* fixed issue: enter on dropdown submits form
-* improved default styling
-* new flags
-* updated country data to show 24 more countries
-* abstracted lots of new functions from plugin init method
-
-## v0.9.10 (2014-01-15)
-* Bug fixes
-
-## v0.9.9 (2014-01-13)
-
-
-## v0.9.8 (2014-01-13)
-* Examples
-
-## v0.9.7 (2014-01-13)
-* fire `change` event on the input when changing countries
-* fixed issue where dial codes were ignored if they had a space in
-* fixed issue: changing flag doesnt update number when dial code contains space/dot etc
-* lots more tests
-* disabled dropdown/hover states when input disabled
-* support inputs of any height
-* fixed issue where hitting enter to select a list item didnt close the dropdown
-* updated defaultStyling option to allow positioning selected flag outside input
-
-## v0.9.6 (2013-12-16)
-* Removed initialDialCode option as made redundant by autoHideDialCode option
-* Added defaultCountry option
-
-## v0.9.5 (2013-11-25)
-* Option initialDialCode now defaults to false
-* Added option autoHideDialCode, which defaults to true
-* Added public method setNumber
-* Added static methods getCountryData and setCountryData
-
-## v0.9.4 (2013-10-27)
-
-
-## v0.9.3 (2013-10-24)
-* Fixed issues with instantiating the plugin on multiple inputs
-* Added defaultStyling option
-* Added localised country names in brackets
-
-## v0.9.2 (2013-10-13)
-* Added some tests.
diff --git a/lib/intl-tel-input-master/Gruntfile.js b/lib/intl-tel-input-master/Gruntfile.js
deleted file mode 100644
index 85c9420..0000000
--- a/lib/intl-tel-input-master/Gruntfile.js
+++ /dev/null
@@ -1,26 +0,0 @@
-module.exports = function(grunt) {
-
- // load all tasks from package.json
- require('load-grunt-config')(grunt);
- require('time-grunt')(grunt);
-
- /**
- * TASKS
- */
- // build everything ready for a commit
- grunt.registerTask('build', ['img', 'css', 'js']);
- // just CSS
- grunt.registerTask('css', ['sass', 'cssmin']);
- // just images
- grunt.registerTask('img', ['responsive_images:retina', 'exec:evenizer', 'responsive_images:regular', 'sprite', 'imagemin']);
- // just javascript (babel must go before we add the wrapper, to keep it's generated methods inside, so not globals)
- grunt.registerTask('js', ['eslint', 'template:jsAddVersion', 'babel', 'concat', 'uglify', 'replace']);
-
- // build examples
- grunt.registerTask('examples', ['template']);
- // Travis CI
- grunt.registerTask('travis', ['jasmine']);
- // bump version number in 3 files, rebuild js to update headers, then commit, tag and push
- grunt.registerTask('version', ['bump-only', 'js', 'bump-commit', 'shell:publish']);
-
-};
diff --git a/lib/intl-tel-input-master/LICENSE b/lib/intl-tel-input-master/LICENSE
deleted file mode 100644
index 8bd344f..0000000
--- a/lib/intl-tel-input-master/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2016 Jack O'Connor
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/lib/intl-tel-input-master/README.md b/lib/intl-tel-input-master/README.md
deleted file mode 100644
index 1fc23e7..0000000
--- a/lib/intl-tel-input-master/README.md
+++ /dev/null
@@ -1,405 +0,0 @@
-#### IMPORTANT: since v14 we have removed the jQuery dependency. See below for how to initialise and use the plugin with pure JavaScript. If you want to stick with the jQuery version, there is now a separate jQuery wrapped version.
----
-
-# International Telephone Input [![Build Status](https://travis-ci.org/jackocnr/intl-tel-input.svg?branch=master)](https://travis-ci.org/jackocnr/intl-tel-input)
-A JavaScript plugin for entering and validating international telephone numbers. It adds a flag dropdown to any input, detects the user's country, displays a relevant placeholder and provides formatting/validation methods.
-
-
-
-If you like it, please consider making a donation, which you can do from [the demo page](http://intl-tel-input.com).
-
-## Table of Contents
-
-- [Demo and Examples](#demo-and-examples)
-- [Features](#features)
-- [Browser Compatibility](#browser-compatibility)
-- [Getting Started](#getting-started)
-- [Recommended Usage](#recommended-usage)
-- [Options](#options)
-- [Public Methods](#public-methods)
-- [Static Methods](#static-methods)
-- [Events](#events)
-- [Utilities Script](#utilities-script)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Attributions](#attributions)
-
-
-## Demo and Examples
-You can view a live demo and some examples of how to use the various options here: http://intl-tel-input.com, or try it for yourself using the included demo.html.
-
-
-## Features
-* Automatically select the user's current country using an IP lookup
-* Automatically set the input placeholder to an example number for the selected country
-* Navigate the country dropdown by typing a country's name, or using up/down keys
-* Handle phone number extensions
-* The user types their national number and the plugin gives you the full standardized international number
-* Full validation, including specific error types
-* Retina flag icons
-* Lots of initialisation options for customisation, as well as public methods for interaction
-
-
-## Browser Compatibility
-| Chrome | FF | Safari | IE | Chrome Android | Mobile Safari | IE Mob |
-| :----: | :--: | :----: | :--: | :------------: | :-----------: | :----: |
-| ✓ | ✓ | ✓ | 11 | ✓ | ✓ | ✓ |
-
-Note: In v12.0.0 we dropped support for IE9 and IE10, because they are no longer supported by any version of Windows - see https://www.xfive.co/blog/stop-supporting-ie10-ie9-ie8/
-
-## Getting Started
-1. Download the [latest release](https://github.com/jackocnr/intl-tel-input/releases/latest), or better yet install it with [npm](https://www.npmjs.com/package/intl-tel-input)
-
-2. Include the stylesheet
- ```html
-
- ```
-
-3. Override the path to flags.png in your CSS
- ```css
- .iti-flag {background-image: url("path/to/flags.png");}
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- .iti-flag {background-image: url("path/to/flags@2x.png");}
- }
- ```
-
-4. Add the plugin script and initialise it on your input element
- ```html
-
-
-
-
- ```
-
-5. **Recommended:** initialise the plugin with the `utilsScript` option to enable formatting/validation, and to allow you to extract full international numbers using `getNumber`.
-
-
-## Recommended Usage
-We highly recommend you load the included utils.js using the `utilsScript` option. Then the plugin is built to always deal with numbers in the full international format (e.g. "+17024181234") and convert them accordingly - even when `nationalMode` or `separateDialCode` is enabled. I recommend you get, store, and set numbers exclusively in this format for simplicity - then you don't have to deal with handling the country code separately, as full international numbers include the country code information.
-
-You can always get the full international number (including country code) using `getNumber`, then you only have to store that one string in your database (you don't have to store the country separately), and then the next time you initialise the plugin with that number it will automatically set the country and format it according to the options you specify (e.g. if you enable `nationalMode` it will automatically remove the international dial code for you).
-
-
-## Options
-Note: any options that take country codes should be [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) codes
-
-**allowDropdown**
-Type: `Boolean` Default: `true`
-Whether or not to allow the dropdown. If disabled, there is no dropdown arrow, and the selected flag is not clickable. Also we display the selected flag on the right instead because it is just a marker of state.
-
-**~~autoFormat~~ [REMOVED]**
-Automatically format the number as the user types. Unfortunately this had to be removed for the reasons listed here: [#346 Disable and remove autoFormat feature](https://github.com/jackocnr/intl-tel-input/issues/346).
-
-**autoHideDialCode**
-Type: `Boolean` Default: `true`
-If there is just a dial code in the input: remove it on blur or submit, and re-add it on focus. This is to prevent just a dial code getting submitted with the form. Requires `nationalMode` to be set to `false`.
-
-**autoPlaceholder**
-Type: `String` Default: `"polite"`
-Set the input's placeholder to an example number for the selected country, and update it if the country changes. You can specify the number type using the `placeholderNumberType` option. By default it is set to `"polite"`, which means it will only set the placeholder if the input doesn't already have one. You can also set it to `"aggressive"`, which will replace any existing placeholder, or `"off"`. Requires the `utilsScript` option.
-
-**customContainer**
-Type: `String` Default: `""`
-Additional classes to add to the parent div
-
-**customPlaceholder**
-Type: `Function` Default: `null`
-Change the placeholder generated by autoPlaceholder. Must return a string.
-
-```js
-intlTelInput(input, {
- customPlaceholder: function(selectedCountryPlaceholder, selectedCountryData) {
- return "e.g. " + selectedCountryPlaceholder;
- },
-});
-```
-
-**dropdownContainer**
-Type: `Node` Default: `null`
-Expects a node e.g. `document.body`. Instead of putting the country dropdown next to the input, append it to the specified node, and it will then be positioned absolutely next to the input using JavaScript. This is useful when the input is inside a container with `overflow: hidden`. Note that the absolute positioning can be broken by scrolling, so it will automatically close on the `window` scroll event.
-
-**excludeCountries**
-Type: `Array` Default: `undefined`
-In the dropdown, display all countries except the ones you specify here.
-
-**formatOnDisplay**
-Type: `Boolean` Default: `true`
-Format the input value (according to the `nationalMode` option) during initialisation, and on `setNumber`. Requires the `utilsScript` option.
-
-**geoIpLookup**
-Type: `Function` Default: `null`
-When setting `initialCountry` to `"auto"`, you must use this option to specify a custom function that looks up the user's location, and then calls the success callback with the relevant country code. Also note that when instantiating the plugin, if the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) object is defined, one of those is returned under the `promise` instance property, so you can do something like `iti.promise.then(callback)` to know when initialisation requests like this have completed.
-
-Here is an example using the [ipinfo.io](https://ipinfo.io/) service:
-```js
-intlTelInput(input, {
- initialCountry: "auto",
- geoIpLookup: function(success, failure) {
- $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
- var countryCode = (resp && resp.country) ? resp.country : "";
- success(countryCode);
- });
- },
-});
-```
-_Note that the callback must still be called in the event of an error, hence the use of `always` in this example._
-_Tip: store the result in a cookie to avoid repeat lookups!_
-
-**hiddenInput**
-Type: `String` Default: `""`
-Add a hidden input with the given name (or if your input name contains square brackets then it will give the hidden input the same name, replacing the contents of the brackets with the given name). On submit, populate it with the full international number (using `getNumber`). This is a quick way for people using non-ajax forms to get the full international number, even when `nationalMode` is enabled. _Note: requires the input to be inside a form element, as this feature works by listening for the submit event on the closest form element. Also note that since this uses `getNumber` internally, it expects a valid number, and so should only be used after validation._
-
-**initialCountry**
-Type: `String` Default: `""`
-Set the initial country selection by specifying it's country code. You can also set it to `"auto"`, which will lookup the user's country based on their IP address (requires the `geoIpLookup` option - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/default-country-ip.html)). Note that the `"auto"` option will not update the country selection if the input already contains a number.
-
-If you leave `initialCountry` blank, it will default to the first country in the list.
-
-**localizedCountries**
-Type: `Object` Default: `{}`
-Allows to translate the countries by its given iso code e.g.:
-
-```js
-{ 'de': 'Deutschland' }
-```
-
-**nationalMode**
-Type: `Boolean` Default: `true`
-Allow users to enter national numbers (and not have to think about international dial codes). Formatting, validation and placeholders still work. Then you can use `getNumber` to extract a full international number - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/national-mode.html). This option now defaults to `true`, and it is recommended that you leave it that way as it provides a better experience for the user.
-
-**onlyCountries**
-Type: `Array` Default: `undefined`
-In the dropdown, display only the countries you specify - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/only-countries-europe.html).
-
-**placeholderNumberType**
-Type: `String` Default: `"MOBILE"`
-Specify [one of the keys](https://github.com/jackocnr/intl-tel-input/blob/master/src/js/utils.js#L119) from the global enum `intlTelInputUtils.numberType` e.g. `"FIXED_LINE"` to set the number type to use for the placeholder.
-
-**preferredCountries**
-Type: `Array` Default: `["us", "gb"]`
-Specify the countries to appear at the top of the list.
-
-**~~preventInvalidNumbers~~ [REMOVED]**
-Prevent the user from entering invalid characters. Unfortunately this had to be removed for the reasons listed here: [#79 Limit Input Characters to Formatted String Length](https://github.com/jackocnr/intl-tel-input/issues/79#issuecomment-121799307).
-
-**separateDialCode**
-Type: `Boolean` Default: `false`
-Display the country dial code next to the selected flag so it's not part of the typed number. Note that this will disable `nationalMode` because technically we are dealing with international numbers, but with the dial code separated.
-
-
-
-**utilsScript**
-Type: `String` Default: `""` Example: `"build/js/utils.js"`
-Enable formatting/validation etc. by specifying the URL of the included utils.js script (or alternatively just point it to the file on [cdnjs.com](https://cdnjs.com/libraries/intl-tel-input)). The script is fetched when the page has finished loading (on the window load event) to prevent blocking (the script is ~215KB). When instantiating the plugin, if the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) object is defined, one of those is returned under the `promise` instance property, so you can do something like `iti.promise.then(callback)` to know when initialisation requests like this have finished. See [Utilities Script](#utilities-script) for more information. _Note that if you're lazy loading the plugin script itself (intlTelInput.js) this will not work and you will need to use the `loadUtils` method instead._
-
-
-## Public Methods
-In these examples, `iti` refers to the plugin instance which gets returned when you initialise the plugin e.g. `var iti = intlTelInput(input)`
-
-**destroy**
-Remove the plugin from the input, and unbind any event listeners.
-```js
-iti.destroy();
-```
-
-**getExtension**
-Get the extension from the current number. Requires the `utilsScript` option.
-```js
-var extension = iti.getExtension();
-```
-Returns a string e.g. if the input value was `"(702) 555-5555 ext. 1234"`, this would return `"1234"`
-
-**getNumber**
-Get the current number in the given format (defaults to [E.164 standard](http://en.wikipedia.org/wiki/E.164)). The different formats are available in the enum `intlTelInputUtils.numberFormat` - which you can see [here](https://github.com/jackocnr/intl-tel-input/blob/master/src/js/utils.js#L109). Requires the `utilsScript` option. _Note that even if `nationalMode` is enabled, this can still return a full international number. Also note that this method expects a valid number, and so should only be used after validation._
-```js
-var number = iti.getNumber();
-// or
-var number = iti.getNumber(intlTelInputUtils.numberFormat.E164);
-```
-Returns a string e.g. `"+17024181234"`
-
-**getNumberType**
-Get the type (fixed-line/mobile/toll-free etc) of the current number. Requires the `utilsScript` option.
-```js
-var numberType = iti.getNumberType();
-```
-Returns an integer, which you can match against the [various options](https://github.com/jackocnr/intl-tel-input/blob/master/src/js/utils.js#L119) in the global enum `intlTelInputUtils.numberType` e.g.
-```js
-if (numberType === intlTelInputUtils.numberType.MOBILE) {
- // is a mobile number
-}
-```
-_Note that in the US there's no way to differentiate between fixed-line and mobile numbers, so instead it will return `FIXED_LINE_OR_MOBILE`._
-
-**getSelectedCountryData**
-Get the country data for the currently selected flag.
-```js
-var countryData = iti.getSelectedCountryData();
-```
-Returns something like this:
-```js
-{
- name: "Afghanistan (افغانستان)",
- iso2: "af",
- dialCode: "93"
-}
-```
-
-**getValidationError**
-Get more information about a validation error. Requires the `utilsScript` option.
-```js
-var error = iti.getValidationError();
-```
-Returns an integer, which you can match against the [various options](https://github.com/jackocnr/intl-tel-input/blob/master/src/js/utils.js#L153) in the global enum `intlTelInputUtils.validationError` e.g.
-```js
-if (error === intlTelInputUtils.validationError.TOO_SHORT) {
- // the number is too short
-}
-```
-
-**isValidNumber**
-Validate the current number - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/is-valid-number.html). Expects an internationally formatted number (unless `nationalMode` is enabled). If validation fails, you can use `getValidationError` to get more information. Requires the `utilsScript` option. Also see `getNumberType` if you want to make sure the user enters a certain type of number e.g. a mobile number.
-```js
-var isValid = iti.isValidNumber();
-```
-Returns: `true`/`false`
-
-**setCountry**
-Change the country selection (e.g. when the user is entering their address).
-```js
-iti.setCountry("gb");
-```
-
-**setNumber**
-Insert a number, and update the selected flag accordingly. _Note that if `formatOnDisplay` is enabled, this will attempt to format the number according to the `nationalMode` option._
-```js
-iti.setNumber("+447733123456");
-```
-
-**setPlaceholderNumberType**
-Change the placeholderNumberType option.
-```js
-iti.setPlaceholderNumberType("FIXED_LINE");
-```
-
-
-## Static Methods
-
-**getCountryData**
-Get all of the plugin's country data - either to re-use elsewhere e.g. to populate a country dropdown - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/country-sync.html), or to modify - [see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/modify-country-data.html). Note that any modifications must be done before initialising the plugin.
-```js
-var countryData = window.intlTelInputGlobals.getCountryData();
-```
-Returns an array of country objects:
-```js
-[{
- name: "Afghanistan (افغانستان)",
- iso2: "af",
- dialCode: "93"
-}, ...]
-```
-
-**loadUtils**
-_Note: this is only needed if you're lazy loading the plugin script itself (intlTelInput.js). If not then just use the `utilsScript` option._
-Load the utils.js script (included in the lib directory) to enable formatting/validation etc. See [Utilities Script](#utilities-script) for more information. This method should only be called once per page. If the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) object is defined, one of those is returned so you can use `.then(callback)` to know when it's finished.
-```js
-window.intlTelInputGlobals.loadUtils("build/js/utils.js");
-```
-
-**~~setCountryData~~ [REMOVED]**
-Set the plugin's country data. This method was removed because it makes much more sense to just use `getCountryData` and then modify that ([see example](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/modify-country-data.html)) instead of having to generate the whole thing yourself - the country data has become increasingly complicated and for each country we now have five properties: the name, [iso2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), international dial code, priority (in case two countries have the same international dial code), and finally a list of area codes used in that country - see [data.js](https://github.com/jackocnr/intl-tel-input/blob/master/src/js/data.js#L36) for more info.
-
-
-## Events
-You can listen for the following events on the input.
-
-**countrychange**
-This is triggered when the user selects a country from the dropdown.
-```js
-input.addEventListener("countrychange", function() {
- // do something with iti.getSelectedCountryData()
-});
-```
-See an example here: [Country sync](http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/country-sync.html)
-
-**open:countrydropdown**
-This is triggered when the user opens the dropdown.
-
-**close:countrydropdown**
-This is triggered when the user closes the dropdown.
-
-
-## Utilities Script
-The utilities script ([build/js/utils.js](build/js/utils.js)) is a custom build of Google's [libphonenumber](https://github.com/googlei18n/libphonenumber) which enables the following features:
-
-* Formatting upon initialisation, as well as with `getNumber` and `setNumber`
-* Validation with `isValidNumber`, `getNumberType` and `getValidationError` methods
-* Placeholder set to an example number for the selected country - even specify the type of number (e.g. mobile) using the `placeholderNumberType` option
-* Extract the standardised (E.164) international number with `getNumber` even when using the `nationalMode` option
-
-International number formatting/validation is hard (it varies by country/district, and we currently support ~230 countries). The only comprehensive solution I have found is libphonenumber, from which I have precompiled the relevant parts into a single JavaScript file and included in the build directory. Unfortunately even after minification it is still ~215KB, but if you use the `utilsScript` option then it will only fetch the script when the page has finished loading (to prevent blocking). If size is not a concern, then you can manually include the script yourself however you like, and as long as it has loaded before you initialise the plugin then it should work fine.
-
-To recompile the utils script yourself (e.g. to update the version of libphonenumber it is built from), see the [contributing guide](https://github.com/jackocnr/intl-tel-input/blob/master/.github/CONTRIBUTING.md#updating-to-a-new-version-of-libphonenumber).
-
-
-## Troubleshooting
-
-**Full width input**
-If you want your input to be full-width, you need to set the container to be the same i.e.
-```css
-.intl-tel-input { width: 100%; }
-```
-
-**dropdownContainer: dropdown not closing on scroll**
-If you have a scrolling container other than `window` which is causing problems by not closing the dropdown on scroll, simply listen for the scroll event on that element, and trigger a scroll event on `window`, which in turn will close the dropdown e.g.
-
-```js
-scrollingElement.addEventListener("scroll", function() {
- var e = document.createEvent('Event');
- e.initEvent("scroll", true, true);
- window.dispatchEvent(e);
-});
-```
-
-**Input margin**
-For the sake of alignment, the default CSS forces the input's vertical margin to `0px`. If you want vertical margin, you should add it to the container (with class `intl-tel-input`).
-
-**Displaying error messages**
-If your error handling code inserts an error message before the ` ` it will break the layout. Instead you must insert it before the container (with class `intl-tel-input`).
-
-**Dropdown position**
-The dropdown should automatically appear above/below the input depending on the available space. For this to work properly, you must only initialise the plugin after the ` ` has been added to the DOM.
-
-**Placeholders**
-In order to get the automatic country-specific placeholders, simply omit the placeholder attribute on the ` `.
-
-**Bootstrap input groups**
-A couple of CSS fixes are required to get the plugin to play nice with Bootstrap [input groups](http://getbootstrap.com/components/#input-groups). You can see a Codepen [here](http://codepen.io/jackocnr/pen/EyPXed).
-_Note: there is currently [a bug](https://bugs.webkit.org/show_bug.cgi?id=141822) in Mobile Safari which causes a crash when you click the dropdown arrow (a CSS triangle) inside an input group. The simplest workaround is to remove the CSS triangle with this line: `.intl-tel-input .iti-flag .arrow {border: none;}`_
-
-
-## Contributing
-See the [contributing guide](https://github.com/jackocnr/intl-tel-input/blob/master/.github/CONTRIBUTING.md) for instructions on setting up the project and making changes, and also for how to update to a new version of libphonenumber, or how to update the flag images.
-
-
-## Attributions
-* Flag images from [region-flags](https://github.com/behdad/region-flags)
-* Original country data from mledoze's [World countries in JSON, CSV and XML](https://github.com/mledoze/countries)
-* Formatting/validation/example number code from [libphonenumber](https://github.com/googlei18n/libphonenumber)
-* Feature contributions are listed in the wiki: [Contributions](https://github.com/jackocnr/intl-tel-input/wiki/Contributions)
-
-
-## Links
-* List of [sites using intl-tel-input](https://github.com/jackocnr/intl-tel-input/wiki/Sites-using-intl-tel-input)
-* List of [integrations with intl-tel-input](https://github.com/jackocnr/intl-tel-input/wiki/Integrations)
-* Android native port: [IntlPhoneInput](https://github.com/Rimoto/IntlPhoneInput)
-* Typescript type definitions are available in the [DefinitelyTyped repo](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/intl-tel-input/intl-tel-input.d.ts) (more info [here](https://github.com/jackocnr/intl-tel-input/issues/433#issuecomment-228517623))
-
-
-
-
-Tested on [BrowserStack](https://www.browserstack.com)
diff --git a/lib/intl-tel-input-master/bower.json b/lib/intl-tel-input-master/bower.json
deleted file mode 100644
index aa10dda..0000000
--- a/lib/intl-tel-input-master/bower.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "intl-tel-input",
- "main": [
- "./build/js/intlTelInput.js",
- "./build/css/intlTelInput.css"
- ]
-}
diff --git a/lib/intl-tel-input-master/composer.json b/lib/intl-tel-input-master/composer.json
deleted file mode 100644
index a42ed33..0000000
--- a/lib/intl-tel-input-master/composer.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "jackocnr/intl-tel-input",
- "version": "14.0.7",
- "description": "A JavaScript plugin for entering and validating international telephone numbers",
- "keywords": [
- "international",
- "i18n",
- "country",
- "dial",
- "code",
- "telephone",
- "tel",
- "number",
- "mobile",
- "input",
- "flag"
- ],
- "homepage": "https://github.com/jackocnr/intl-tel-input",
- "type": "library",
- "license": "MIT",
- "authors": [
- {
- "name": "Jack O'Connor",
- "homepage": "http://jackocnr.com"
- }
- ],
- "minimum-stability": "stable",
- "prefer-stable": true
-}
diff --git a/lib/intl-tel-input-master/demo.html b/lib/intl-tel-input-master/demo.html
deleted file mode 100644
index fe6aa81..0000000
--- a/lib/intl-tel-input-master/demo.html
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
- International Telephone Input
-
-
-
-
-
- International Telephone Input
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/css/countrySync.css b/lib/intl-tel-input-master/examples/css/countrySync.css
deleted file mode 100644
index 8b7ef33..0000000
--- a/lib/intl-tel-input-master/examples/css/countrySync.css
+++ /dev/null
@@ -1,10 +0,0 @@
-input, label {
- display: block;
-}
-
-input, select, label {
- margin: 5px 0;
-}
-.form-item {
- margin-bottom: 20px;
-}
diff --git a/lib/intl-tel-input-master/examples/css/isValidNumber.css b/lib/intl-tel-input-master/examples/css/isValidNumber.css
deleted file mode 100644
index ab3dff6..0000000
--- a/lib/intl-tel-input-master/examples/css/isValidNumber.css
+++ /dev/null
@@ -1,9 +0,0 @@
-#error-msg {
- color: red;
-}
-#valid-msg {
- color: #00C900;
-}
-input.error {
- border: 1px solid #FF7C7C;
-}
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/examples/css/prism.css b/lib/intl-tel-input-master/examples/css/prism.css
deleted file mode 100644
index 1e61e11..0000000
--- a/lib/intl-tel-input-master/examples/css/prism.css
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * prism.js default theme for JavaScript, CSS and HTML
- * Based on dabblet (http://dabblet.com)
- * @author Lea Verou
- */
-
-code[class*="language-"],
-pre[class*="language-"] {
- color: black;
- text-shadow: 0 1px white;
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
- direction: ltr;
- text-align: left;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
-
-
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
-
- -webkit-hyphens: none;
- -moz-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
- text-shadow: none;
- background: #b3d4fc;
-}
-
-pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
-code[class*="language-"]::selection, code[class*="language-"] ::selection {
- text-shadow: none;
- background: #b3d4fc;
-}
-
-@media print {
- code[class*="language-"],
- pre[class*="language-"] {
- text-shadow: none;
- }
-}
-
-/* Code blocks */
-pre[class*="language-"] {
- padding: 1em;
- margin: .5em 0;
- overflow: auto;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
- background: #f5f2f0;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
- padding: .1em;
- border-radius: .3em;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
- color: slategray;
-}
-
-.token.punctuation {
- color: #999;
-}
-
-.namespace {
- opacity: .7;
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol {
- color: #905;
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.builtin {
- color: #690;
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.variable {
- color: #a67f59;
- background: hsla(0,0%,100%,.5);
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: #07a;
-}
-
-
-.token.regex,
-.token.important {
- color: #e90;
-}
-
-.token.important {
- font-weight: bold;
-}
-
-.token.entity {
- cursor: help;
-}
-
diff --git a/lib/intl-tel-input-master/examples/gen/country-sync.html b/lib/intl-tel-input-master/examples/gen/country-sync.html
deleted file mode 100644
index f339b30..0000000
--- a/lib/intl-tel-input-master/examples/gen/country-sync.html
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
- Example: Country sync
-
-
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Country sync
- Use static getCountryData method to create a separate country dropdown for an address form, and then listen for change events to keep the two dropdowns in sync.
-
- Markup
- <div class="form-item">
- <label>Telephone number</label>
- <input id="phone" type="tel">
-</div>
-
-<div class="form-item">
- <label>Address</label>
- <input type="text" placeholder="House name/number">
- <input type="text" placeholder="City">
- <input type="text" placeholder="State">
- <input type="text" placeholder="Zip code">
- <select id="address-country"></select>
-</div>
-
- Code
- // get the country data from the plugin
-var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone"),
- addressDropdown = document.querySelector("#address-country");
-
-// init plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-// populate the country dropdown
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- var optionNode = document.createElement("option");
- optionNode.value = country.iso2;
- var textNode = document.createTextNode(country.name);
- optionNode.appendChild(textNode);
- addressDropdown.appendChild(optionNode);
-}
-// set it's initial value
-addressDropdown.value = iti.getSelectedCountryData().iso2;
-
-// listen to the telephone input for changes
-input.addEventListener('countrychange', function(e) {
- addressDropdown.value = iti.getSelectedCountryData().iso2;
-});
-
-// listen to the address dropdown for changes
-addressDropdown.addEventListener('change', function() {
- iti.setCountry(this.value);
-});
-
-
- Result
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/default-country-ip.html b/lib/intl-tel-input-master/examples/gen/default-country-ip.html
deleted file mode 100644
index f570622..0000000
--- a/lib/intl-tel-input-master/examples/gen/default-country-ip.html
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
- Example: Lookup user's country
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Lookup user's country
- Set initialCountry to 'auto' and pass in a function for geoIpLookup to perform a JSONP request to ipinfo.io, which returns the user's country based on their IP address.
-
- Markup
- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
-<input id="phone" type="tel">
-
-
- Code
- var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- initialCountry: "auto",
- geoIpLookup: function(callback) {
- $.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
- var countryCode = (resp && resp.country) ? resp.country : "";
- callback(countryCode);
- });
- },
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-
- Result
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/display-number.html b/lib/intl-tel-input-master/examples/gen/display-number.html
deleted file mode 100644
index 30c3dea..0000000
--- a/lib/intl-tel-input-master/examples/gen/display-number.html
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- Example: Display an existing number
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Display an existing number
- We initialise the plugin on an input which already contains a full international number. The plugin will automatically select the relevant flag, and re-format the number to national format.
-
- Markup
- <input id="phone" type="tel" value="+447733312345">
-
-
- Code
- var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-
- Result
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/hidden-input.html b/lib/intl-tel-input-master/examples/gen/hidden-input.html
deleted file mode 100644
index 0ad2b1c..0000000
--- a/lib/intl-tel-input-master/examples/gen/hidden-input.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
- Example: Submitting the full international number using a hidden input
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Submitting the full international number using a hidden input
- If you're submitting the form using Ajax, simply use getNumber to get the full international number before sending it. If you're using the standard form POST method, you can use the hiddenInput option to automatically create a hidden input that gets populated with the full international number on submit. Try submitting a valid number below, and then check the 'full_phone' parameter in the URL.
-
- Markup
- <form>
- <input id="phone" type="tel" name="phone">
- <button type="submit">Submit</button>
-</form>
-
-
- Code
- var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- hiddenInput: "full_phone",
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-
- Result
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/init-promise.html b/lib/intl-tel-input-master/examples/gen/init-promise.html
deleted file mode 100644
index 5fbdc66..0000000
--- a/lib/intl-tel-input-master/examples/gen/init-promise.html
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
- Example: Using the promise returned from initialisation
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Using the promise returned from initialisation
- Use this promise to know when the plugin has completely finished initialising, including completing any asynchronous actions you might have enabled with the initialisation options e.g. fetching utils.js with the utilsScript option, and performing the ip lookup with the geoIpLookup option.
-
- Markup
- <!-- polyfill for IE11 -->
-<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script>
-
-<p>
- Status:
- <span id="status">Initialising...</span>
-</p>
-<input id="phone" type="tel">
-
-
- Code
- var input = document.querySelector("#phone");
-var statusElement = document.querySelector("#status");
-
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801",
-});
-iti.promise.then(function() {
- statusElement.innerHTML = "Initialised!";
-});
-
-
- Result
-
-
-
-
-
- Status:
- Initialising...
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/is-valid-number.html b/lib/intl-tel-input-master/examples/gen/is-valid-number.html
deleted file mode 100644
index f6aa8fb..0000000
--- a/lib/intl-tel-input-master/examples/gen/is-valid-number.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
- Example: Validation
-
-
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Validation
- Use the isValidNumber method (which utilises Google's libphonenumber) to validate the telephone number on the blur event.
-
- Markup
- <input id="phone" type="tel">
-<span id="valid-msg" class="hide">✓ Valid</span>
-<span id="error-msg" class="hide"></span>
-
-
- Code
- var input = document.querySelector("#phone"),
- errorMsg = document.querySelector("#error-msg"),
- validMsg = document.querySelector("#valid-msg");
-
-// here, the index maps to the error code returned from getValidationError - see readme
-var errorMap = [ "Invalid number", "Invalid country code", "Too short", "Too long", "Invalid number"];
-
-// initialise plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801"
-});
-
-var reset = function() {
- input.classList.remove("error");
- errorMsg.innerHTML = "";
- errorMsg.classList.add("hide");
- validMsg.classList.add("hide");
-};
-
-// on blur: validate
-input.addEventListener('blur', function() {
- reset();
- if (input.value.trim()) {
- if (iti.isValidNumber()) {
- validMsg.classList.remove("hide");
- } else {
- input.classList.add("error");
- var errorCode = iti.getValidationError();
- errorMsg.innerHTML = errorMap[errorCode];
- errorMsg.classList.remove("hide");
- }
- }
-});
-
-// on keyup / change flag: reset
-input.addEventListener('change', reset);
-input.addEventListener('keyup', reset);
-
-
- Result
-
-
-✓ Valid
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/js/countrySync.js b/lib/intl-tel-input-master/examples/gen/js/countrySync.js
deleted file mode 100644
index d2f5805..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/countrySync.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// get the country data from the plugin
-var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone"),
- addressDropdown = document.querySelector("#address-country");
-
-// init plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-// populate the country dropdown
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- var optionNode = document.createElement("option");
- optionNode.value = country.iso2;
- var textNode = document.createTextNode(country.name);
- optionNode.appendChild(textNode);
- addressDropdown.appendChild(optionNode);
-}
-// set it's initial value
-addressDropdown.value = iti.getSelectedCountryData().iso2;
-
-// listen to the telephone input for changes
-input.addEventListener('countrychange', function(e) {
- addressDropdown.value = iti.getSelectedCountryData().iso2;
-});
-
-// listen to the address dropdown for changes
-addressDropdown.addEventListener('change', function() {
- iti.setCountry(this.value);
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/defaultCountryIp.js b/lib/intl-tel-input-master/examples/gen/js/defaultCountryIp.js
deleted file mode 100644
index 4c88c60..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/defaultCountryIp.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- initialCountry: "auto",
- geoIpLookup: function(callback) {
- $.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
- var countryCode = (resp && resp.country) ? resp.country : "";
- callback(countryCode);
- });
- },
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/displayNumber.js b/lib/intl-tel-input-master/examples/gen/js/displayNumber.js
deleted file mode 100644
index 1140fe9..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/displayNumber.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/hiddenInput.js b/lib/intl-tel-input-master/examples/gen/js/hiddenInput.js
deleted file mode 100644
index 00f8965..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/hiddenInput.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- hiddenInput: "full_phone",
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/initPromise.js b/lib/intl-tel-input-master/examples/gen/js/initPromise.js
deleted file mode 100644
index 566c498..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/initPromise.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var input = document.querySelector("#phone");
-var statusElement = document.querySelector("#status");
-
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801",
-});
-iti.promise.then(function() {
- statusElement.innerHTML = "Initialised!";
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/isValidNumber.js b/lib/intl-tel-input-master/examples/gen/js/isValidNumber.js
deleted file mode 100644
index b89d81d..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/isValidNumber.js
+++ /dev/null
@@ -1,37 +0,0 @@
-var input = document.querySelector("#phone"),
- errorMsg = document.querySelector("#error-msg"),
- validMsg = document.querySelector("#valid-msg");
-
-// here, the index maps to the error code returned from getValidationError - see readme
-var errorMap = [ "Invalid number", "Invalid country code", "Too short", "Too long", "Invalid number"];
-
-// initialise plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801"
-});
-
-var reset = function() {
- input.classList.remove("error");
- errorMsg.innerHTML = "";
- errorMsg.classList.add("hide");
- validMsg.classList.add("hide");
-};
-
-// on blur: validate
-input.addEventListener('blur', function() {
- reset();
- if (input.value.trim()) {
- if (iti.isValidNumber()) {
- validMsg.classList.remove("hide");
- } else {
- input.classList.add("error");
- var errorCode = iti.getValidationError();
- errorMsg.innerHTML = errorMap[errorCode];
- errorMsg.classList.remove("hide");
- }
- }
-});
-
-// on keyup / change flag: reset
-input.addEventListener('change', reset);
-input.addEventListener('keyup', reset);
diff --git a/lib/intl-tel-input-master/examples/gen/js/modifyCountryData.js b/lib/intl-tel-input-master/examples/gen/js/modifyCountryData.js
deleted file mode 100644
index 11561fe..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/modifyCountryData.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone");
-
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- country.name = country.name.replace(/.+\((.+)\)/,"$1");
-}
-
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/multipleInstances.js b/lib/intl-tel-input-master/examples/gen/js/multipleInstances.js
deleted file mode 100644
index dff38f1..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/multipleInstances.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var inputHome = document.querySelector("#home");
-var inputMobile = document.querySelector("#mobile");
-
-window.intlTelInput(inputHome, {
- initialCountry: 'gb',
- placeholderNumberType: 'FIXED_LINE',
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-window.intlTelInput(inputMobile, {
- initialCountry: 'gb',
- placeholderNumberType: 'MOBILE',
- utilsScript: "../../build/js/utils.js?1541153396801"
-});
diff --git a/lib/intl-tel-input-master/examples/gen/js/nationalMode.js b/lib/intl-tel-input-master/examples/gen/js/nationalMode.js
deleted file mode 100644
index 82dc9fc..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/nationalMode.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var input = document.querySelector("#phone"),
- output = document.querySelector("#output");
-
-var iti = window.intlTelInput(input, {
- nationalMode: true,
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-var handleChange = function() {
- var text = (iti.isValidNumber()) ? "International: " + iti.getNumber() : "Please enter a number below";
- var textNode = document.createTextNode(text);
- output.innerHTML = "";
- output.appendChild(textNode);
-};
-
-// listen to "keyup", but also "change" to update when the user selects a country
-input.addEventListener('change', handleChange);
-input.addEventListener('keyup', handleChange);
diff --git a/lib/intl-tel-input-master/examples/gen/js/onlyCountriesEurope.js b/lib/intl-tel-input-master/examples/gen/js/onlyCountriesEurope.js
deleted file mode 100644
index 1dcb981..0000000
--- a/lib/intl-tel-input-master/examples/gen/js/onlyCountriesEurope.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- onlyCountries: ["al", "ad", "at", "by", "be", "ba", "bg", "hr", "cz", "dk",
- "ee", "fo", "fi", "fr", "de", "gi", "gr", "va", "hu", "is", "ie", "it", "lv",
- "li", "lt", "lu", "mk", "mt", "md", "mc", "me", "nl", "no", "pl", "pt", "ro",
- "ru", "sm", "rs", "sk", "si", "es", "se", "ch", "ua", "gb"],
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/gen/modify-country-data.html b/lib/intl-tel-input-master/examples/gen/modify-country-data.html
deleted file mode 100644
index f4f51a5..0000000
--- a/lib/intl-tel-input-master/examples/gen/modify-country-data.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- Example: Modify country data
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Modify country data
- Use static getCountryData method to update the data to only show localised country names.
-
- Markup
- <input id="phone" type="tel">
-
- Code
- var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone");
-
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- country.name = country.name.replace(/.+\((.+)\)/,"$1");
-}
-
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-
- Result
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/multiple-instances.html b/lib/intl-tel-input-master/examples/gen/multiple-instances.html
deleted file mode 100644
index b6613ae..0000000
--- a/lib/intl-tel-input-master/examples/gen/multiple-instances.html
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
- Example: Multiple Instances
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: Multiple Instances
- Here you can see multiple instances of the plugin working alongside each other. I've set the placeholderNumberType differently for each instance to highlight that the instances are completely independent of each other.
-
- Markup
- Home: <input id="home" type="tel">
-<br><br>
-Mobile: <input id="mobile" type="tel">
-
-
- Code
- var inputHome = document.querySelector("#home");
-var inputMobile = document.querySelector("#mobile");
-
-window.intlTelInput(inputHome, {
- initialCountry: 'gb',
- placeholderNumberType: 'FIXED_LINE',
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-window.intlTelInput(inputMobile, {
- initialCountry: 'gb',
- placeholderNumberType: 'MOBILE',
- utilsScript: "../../build/js/utils.js?1541153396801"
-});
-
-
- Result
-
- Home:
-
-Mobile:
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/national-mode.html b/lib/intl-tel-input-master/examples/gen/national-mode.html
deleted file mode 100644
index 88809a0..0000000
--- a/lib/intl-tel-input-master/examples/gen/national-mode.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
- Example: National Mode
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: National Mode
- Allow users to enter their national number, and then convert it to international format using the public method getNumber.
-
- Markup
- <p id="output">Please enter a valid number below</p>
-<input id="phone" type="tel">
-
-
- Code
- var input = document.querySelector("#phone"),
- output = document.querySelector("#output");
-
-var iti = window.intlTelInput(input, {
- nationalMode: true,
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-var handleChange = function() {
- var text = (iti.isValidNumber()) ? "International: " + iti.getNumber() : "Please enter a number below";
- var textNode = document.createTextNode(text);
- output.innerHTML = "";
- output.appendChild(textNode);
-};
-
-// listen to "keyup", but also "change" to update when the user selects a country
-input.addEventListener('change', handleChange);
-input.addEventListener('keyup', handleChange);
-
-
- Result
-
-
Please enter a valid number below
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/gen/only-countries-europe.html b/lib/intl-tel-input-master/examples/gen/only-countries-europe.html
deleted file mode 100644
index 832ba3f..0000000
--- a/lib/intl-tel-input-master/examples/gen/only-countries-europe.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
- Example: European countries
-
-
-
-
-
-
-
-
-
-
-
- Back
- Example: European countries
- Set onlyCountries option to just European country codes.
-
- Markup
- <input id="phone" type="tel">
-
- Code
- var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- onlyCountries: ["al", "ad", "at", "by", "be", "ba", "bg", "hr", "cz", "dk",
- "ee", "fo", "fi", "fr", "de", "gi", "gr", "va", "hu", "is", "ie", "it", "lv",
- "li", "lt", "lu", "mk", "mt", "md", "mc", "me", "nl", "no", "pl", "pt", "ro",
- "ru", "sm", "rs", "sk", "si", "es", "se", "ch", "ua", "gb"],
- utilsScript: "../../build/js/utils.js?1541153396801" // just for formatting/placeholders etc
-});
-
-
- Result
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/examples/js/countrySync.js.ejs b/lib/intl-tel-input-master/examples/js/countrySync.js.ejs
deleted file mode 100644
index 1ec7326..0000000
--- a/lib/intl-tel-input-master/examples/js/countrySync.js.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-// get the country data from the plugin
-var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone"),
- addressDropdown = document.querySelector("#address-country");
-
-// init plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
-
-// populate the country dropdown
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- var optionNode = document.createElement("option");
- optionNode.value = country.iso2;
- var textNode = document.createTextNode(country.name);
- optionNode.appendChild(textNode);
- addressDropdown.appendChild(optionNode);
-}
-// set it's initial value
-addressDropdown.value = iti.getSelectedCountryData().iso2;
-
-// listen to the telephone input for changes
-input.addEventListener('countrychange', function(e) {
- addressDropdown.value = iti.getSelectedCountryData().iso2;
-});
-
-// listen to the address dropdown for changes
-addressDropdown.addEventListener('change', function() {
- iti.setCountry(this.value);
-});
diff --git a/lib/intl-tel-input-master/examples/js/defaultCountryIp.js.ejs b/lib/intl-tel-input-master/examples/js/defaultCountryIp.js.ejs
deleted file mode 100644
index d31e013..0000000
--- a/lib/intl-tel-input-master/examples/js/defaultCountryIp.js.ejs
+++ /dev/null
@@ -1,11 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- initialCountry: "auto",
- geoIpLookup: function(callback) {
- $.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
- var countryCode = (resp && resp.country) ? resp.country : "";
- callback(countryCode);
- });
- },
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/js/displayNumber.js.ejs b/lib/intl-tel-input-master/examples/js/displayNumber.js.ejs
deleted file mode 100644
index 850b2b2..0000000
--- a/lib/intl-tel-input-master/examples/js/displayNumber.js.ejs
+++ /dev/null
@@ -1,4 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/js/hiddenInput.js.ejs b/lib/intl-tel-input-master/examples/js/hiddenInput.js.ejs
deleted file mode 100644
index 780b2e4..0000000
--- a/lib/intl-tel-input-master/examples/js/hiddenInput.js.ejs
+++ /dev/null
@@ -1,5 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- hiddenInput: "full_phone",
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/js/initPromise.js.ejs b/lib/intl-tel-input-master/examples/js/initPromise.js.ejs
deleted file mode 100644
index aa206ff..0000000
--- a/lib/intl-tel-input-master/examples/js/initPromise.js.ejs
+++ /dev/null
@@ -1,9 +0,0 @@
-var input = document.querySelector("#phone");
-var statusElement = document.querySelector("#status");
-
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?<%= time %>",
-});
-iti.promise.then(function() {
- statusElement.innerHTML = "Initialised!";
-});
diff --git a/lib/intl-tel-input-master/examples/js/isValidNumber.js.ejs b/lib/intl-tel-input-master/examples/js/isValidNumber.js.ejs
deleted file mode 100644
index f2b57a9..0000000
--- a/lib/intl-tel-input-master/examples/js/isValidNumber.js.ejs
+++ /dev/null
@@ -1,37 +0,0 @@
-var input = document.querySelector("#phone"),
- errorMsg = document.querySelector("#error-msg"),
- validMsg = document.querySelector("#valid-msg");
-
-// here, the index maps to the error code returned from getValidationError - see readme
-var errorMap = [ "Invalid number", "Invalid country code", "Too short", "Too long", "Invalid number"];
-
-// initialise plugin
-var iti = window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?<%= time %>"
-});
-
-var reset = function() {
- input.classList.remove("error");
- errorMsg.innerHTML = "";
- errorMsg.classList.add("hide");
- validMsg.classList.add("hide");
-};
-
-// on blur: validate
-input.addEventListener('blur', function() {
- reset();
- if (input.value.trim()) {
- if (iti.isValidNumber()) {
- validMsg.classList.remove("hide");
- } else {
- input.classList.add("error");
- var errorCode = iti.getValidationError();
- errorMsg.innerHTML = errorMap[errorCode];
- errorMsg.classList.remove("hide");
- }
- }
-});
-
-// on keyup / change flag: reset
-input.addEventListener('change', reset);
-input.addEventListener('keyup', reset);
diff --git a/lib/intl-tel-input-master/examples/js/modifyCountryData.js.ejs b/lib/intl-tel-input-master/examples/js/modifyCountryData.js.ejs
deleted file mode 100644
index c5eb6d4..0000000
--- a/lib/intl-tel-input-master/examples/js/modifyCountryData.js.ejs
+++ /dev/null
@@ -1,11 +0,0 @@
-var countryData = window.intlTelInputGlobals.getCountryData(),
- input = document.querySelector("#phone");
-
-for (var i = 0; i < countryData.length; i++) {
- var country = countryData[i];
- country.name = country.name.replace(/.+\((.+)\)/,"$1");
-}
-
-window.intlTelInput(input, {
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/js/multipleInstances.js.ejs b/lib/intl-tel-input-master/examples/js/multipleInstances.js.ejs
deleted file mode 100644
index af736f1..0000000
--- a/lib/intl-tel-input-master/examples/js/multipleInstances.js.ejs
+++ /dev/null
@@ -1,13 +0,0 @@
-var inputHome = document.querySelector("#home");
-var inputMobile = document.querySelector("#mobile");
-
-window.intlTelInput(inputHome, {
- initialCountry: 'gb',
- placeholderNumberType: 'FIXED_LINE',
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
-window.intlTelInput(inputMobile, {
- initialCountry: 'gb',
- placeholderNumberType: 'MOBILE',
- utilsScript: "../../build/js/utils.js?<%= time %>"
-});
diff --git a/lib/intl-tel-input-master/examples/js/nationalMode.js.ejs b/lib/intl-tel-input-master/examples/js/nationalMode.js.ejs
deleted file mode 100644
index 149db23..0000000
--- a/lib/intl-tel-input-master/examples/js/nationalMode.js.ejs
+++ /dev/null
@@ -1,18 +0,0 @@
-var input = document.querySelector("#phone"),
- output = document.querySelector("#output");
-
-var iti = window.intlTelInput(input, {
- nationalMode: true,
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
-
-var handleChange = function() {
- var text = (iti.isValidNumber()) ? "International: " + iti.getNumber() : "Please enter a number below";
- var textNode = document.createTextNode(text);
- output.innerHTML = "";
- output.appendChild(textNode);
-};
-
-// listen to "keyup", but also "change" to update when the user selects a country
-input.addEventListener('change', handleChange);
-input.addEventListener('keyup', handleChange);
diff --git a/lib/intl-tel-input-master/examples/js/onlyCountriesEurope.js.ejs b/lib/intl-tel-input-master/examples/js/onlyCountriesEurope.js.ejs
deleted file mode 100644
index c29af4d..0000000
--- a/lib/intl-tel-input-master/examples/js/onlyCountriesEurope.js.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-var input = document.querySelector("#phone");
-window.intlTelInput(input, {
- onlyCountries: ["al", "ad", "at", "by", "be", "ba", "bg", "hr", "cz", "dk",
- "ee", "fo", "fi", "fr", "de", "gi", "gr", "va", "hu", "is", "ie", "it", "lv",
- "li", "lt", "lu", "mk", "mt", "md", "mc", "me", "nl", "no", "pl", "pt", "ro",
- "ru", "sm", "rs", "sk", "si", "es", "se", "ch", "ua", "gb"],
- utilsScript: "../../build/js/utils.js?<%= time %>" // just for formatting/placeholders etc
-});
diff --git a/lib/intl-tel-input-master/examples/js/prism.js b/lib/intl-tel-input-master/examples/js/prism.js
deleted file mode 100644
index d44cea3..0000000
--- a/lib/intl-tel-input-master/examples/js/prism.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Prism: Lightweight, robust, elegant syntax highlighting
- * MIT license http://www.opensource.org/licenses/mit-license.php/
- * @author Lea Verou http://lea.verou.me
- */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&").replace(/e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+""+s.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();;
-Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});;
-Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<|<)style[\w\W]*?(>|>)[\w\W]*?(<|<)\/style(>|>)/ig,inside:{tag:{pattern:/(<|<)style[\w\W]*?(>|>)|(<|<)\/style(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});;
-Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|(&){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};
-;
-Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<|<)script[\w\W]*?(>|>)[\w\W]*?(<|<)\/script(>|>)/ig,inside:{tag:{pattern:/(<|<)script[\w\W]*?(>|>)|(<|<)\/script(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});
-;
diff --git a/lib/intl-tel-input-master/examples/partials/countrySync.html b/lib/intl-tel-input-master/examples/partials/countrySync.html
deleted file mode 100644
index 882d0a2..0000000
--- a/lib/intl-tel-input-master/examples/partials/countrySync.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
- Telephone number
-
-
-
-
- Address
-
-
-
-
-
-
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/examples/partials/defaultCountryIp.html b/lib/intl-tel-input-master/examples/partials/defaultCountryIp.html
deleted file mode 100644
index 2fdcfe3..0000000
--- a/lib/intl-tel-input-master/examples/partials/defaultCountryIp.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/lib/intl-tel-input-master/examples/partials/displayNumber.html b/lib/intl-tel-input-master/examples/partials/displayNumber.html
deleted file mode 100644
index ef1f399..0000000
--- a/lib/intl-tel-input-master/examples/partials/displayNumber.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/intl-tel-input-master/examples/partials/hiddenInput.html b/lib/intl-tel-input-master/examples/partials/hiddenInput.html
deleted file mode 100644
index 74c962d..0000000
--- a/lib/intl-tel-input-master/examples/partials/hiddenInput.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/lib/intl-tel-input-master/examples/partials/initPromise.html b/lib/intl-tel-input-master/examples/partials/initPromise.html
deleted file mode 100644
index 8c5880c..0000000
--- a/lib/intl-tel-input-master/examples/partials/initPromise.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- Status:
- Initialising...
-
-
diff --git a/lib/intl-tel-input-master/examples/partials/isValidNumber.html b/lib/intl-tel-input-master/examples/partials/isValidNumber.html
deleted file mode 100644
index a0eef77..0000000
--- a/lib/intl-tel-input-master/examples/partials/isValidNumber.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-✓ Valid
-
diff --git a/lib/intl-tel-input-master/examples/partials/multipleInstances.html b/lib/intl-tel-input-master/examples/partials/multipleInstances.html
deleted file mode 100644
index d94969a..0000000
--- a/lib/intl-tel-input-master/examples/partials/multipleInstances.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Home:
-
-Mobile:
diff --git a/lib/intl-tel-input-master/examples/partials/nationalMode.html b/lib/intl-tel-input-master/examples/partials/nationalMode.html
deleted file mode 100644
index 68149f8..0000000
--- a/lib/intl-tel-input-master/examples/partials/nationalMode.html
+++ /dev/null
@@ -1,2 +0,0 @@
-Please enter a valid number below
-
diff --git a/lib/intl-tel-input-master/examples/partials/simpleInput.html b/lib/intl-tel-input-master/examples/partials/simpleInput.html
deleted file mode 100644
index fe8a47f..0000000
--- a/lib/intl-tel-input-master/examples/partials/simpleInput.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/examples/template.html.ejs b/lib/intl-tel-input-master/examples/template.html.ejs
deleted file mode 100644
index b711645..0000000
--- a/lib/intl-tel-input-master/examples/template.html.ejs
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
- Example: <%= title %>
-
-
-
- <% if (stylesheet) { %>
-
- <% } %>
-
-
-
-
-
-
-
- Back
- Example: <%= title %>
- <%= desc %>
-
- Markup
- <%- markup %>
-
- Code
- <%- code %>
-
- Result
-
- <%= markup %>
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/grunt/babel.js b/lib/intl-tel-input-master/grunt/babel.js
deleted file mode 100644
index 89ca3fa..0000000
--- a/lib/intl-tel-input-master/grunt/babel.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = function(grunt) {
- return {
- options: {
- sourceMap: false,
- presets: ['@babel/preset-env']
- },
- dist: {
- files: {
- 'tmp/versioned-babeled.js': 'tmp/versioned.js'
- }
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/bump.js b/lib/intl-tel-input-master/grunt/bump.js
deleted file mode 100644
index a3a7e16..0000000
--- a/lib/intl-tel-input-master/grunt/bump.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = function(grunt) {
- return {
- options: {
- files: ['package.json', 'intl-tel-input.jquery.json', 'component.json', 'composer.json'],
- updateConfigs: ['package'],
- commitFiles: ['-a'],
- pushTo: 'origin'
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/concat.js b/lib/intl-tel-input-master/grunt/concat.js
deleted file mode 100644
index ce8e284..0000000
--- a/lib/intl-tel-input-master/grunt/concat.js
+++ /dev/null
@@ -1,12 +0,0 @@
-module.exports = function(grunt) {
- return {
- regular: {
- src: ['src/js/intro.js', 'src/js/data.js', 'tmp/versioned-babeled.js', 'src/js/outro.js'],
- dest: 'tmp/wrapped.js',
- },
- jQueryVersion: {
- src: ['src/js/intro-jquery.js', 'src/js/data.js', 'tmp/versioned-babeled.js', 'src/js/outro-jquery.js'],
- dest: 'tmp/wrapped-jquery.js',
- },
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/cssmin.js b/lib/intl-tel-input-master/grunt/cssmin.js
deleted file mode 100644
index 2d88a03..0000000
--- a/lib/intl-tel-input-master/grunt/cssmin.js
+++ /dev/null
@@ -1,9 +0,0 @@
-module.exports = function(grunt) {
- return {
- target: {
- files: {
- 'build/css/intlTelInput.min.css': 'build/css/intlTelInput.css'
- }
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/eslint.js b/lib/intl-tel-input-master/grunt/eslint.js
deleted file mode 100644
index 31c4fc2..0000000
--- a/lib/intl-tel-input-master/grunt/eslint.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = function(grunt) {
- return {
- target: ['src/js/intlTelInput.js']
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/exec.js b/lib/intl-tel-input-master/grunt/exec.js
deleted file mode 100644
index de51e5f..0000000
--- a/lib/intl-tel-input-master/grunt/exec.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function(grunt) {
- return {
- evenizer: {
- // we need even pixel values for width and height before we scale the image down to @1x
- command: "evenizer --resize -i src/img/flags/@2x/*.png"
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/imagemin.js b/lib/intl-tel-input-master/grunt/imagemin.js
deleted file mode 100644
index 6e40162..0000000
--- a/lib/intl-tel-input-master/grunt/imagemin.js
+++ /dev/null
@@ -1,15 +0,0 @@
-module.exports = function(grunt) {
- return {
- dynamic: {
- options: {
- optimizationLevel: 7,
- },
- files: [{
- expand: true,
- cwd: 'build/img',
- src: ['**/*.{png,jpg,gif}'],
- dest: 'build/img',
- }],
- },
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/jasmine.js b/lib/intl-tel-input-master/grunt/jasmine.js
deleted file mode 100644
index 3eb8d18..0000000
--- a/lib/intl-tel-input-master/grunt/jasmine.js
+++ /dev/null
@@ -1,26 +0,0 @@
-module.exports = function(grunt) {
- return {
- src: [
- 'src/js/data.js',
- 'build/js/intlTelInput.min.js',
- 'build/js/utils.js'
- ],
- options: {
- vendor: [
- 'node_modules/jquery/dist/jquery.js',
- 'node_modules/jasmine-jquery/lib/jasmine-jquery.js',
- 'node_modules/es6-promise/dist/es6-promise.auto.js', // for IE11
- 'node_modules/custom-event-polyfill/polyfill.js', // for IE11
- ],
- helpers: [
- 'src/spec/helpers/**/*.js'
- ],
- specs: [
- 'src/spec/tests/**/*.js'
- ],
- styles: "build/css/intlTelInput.css", // required so adding "hide" class actually works etc.
- outfile: 'spec.html',
- keepRunner: true
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/replace.js b/lib/intl-tel-input-master/grunt/replace.js
deleted file mode 100644
index b6e7f8c..0000000
--- a/lib/intl-tel-input-master/grunt/replace.js
+++ /dev/null
@@ -1,298 +0,0 @@
-module.exports = function(grunt) {
- return {
-
- /***********
- * PRIVATE METHODS
- * Ignore _init method, which is a subset of other method names, and is used in different ways
- * Note: can't do public methods, as they need to be called as is
- ***********/
- one: {
- options: {
- patterns: [
- // Note: _a is now reserved for step two
- {
- match: /_processCountryData/g,
- replacement: '_b'
- }, {
- match: /_addCountryCode/g,
- replacement: '_c'
- }, {
- match: /_processAllCountries/g,
- replacement: '_d'
- }, {
- match: /_translateCountriesByLocale/g,
- replacement: '_d0'
- }, {
- match: /_countryNameSort/g,
- replacement: '_d1'
- }, {
- match: /_processCountryCodes/g,
- replacement: '_d2'
- }, {
- match: /_processPreferredCountries/g,
- replacement: '_e'
- }, {
- match: /_createEl/g,
- replacement: '_e2'
- }, {
- match: /_generateMarkup/g,
- replacement: '_f'
- }, {
- match: /_appendListItems/g,
- replacement: '_g'
- }, {
- match: /_setInitialState/g,
- replacement: '_h'
- }, {
- match: /_initListeners/g,
- replacement: '_i'
- }, {
- match: /_initHiddenInputListener/g,
- replacement: '_i0'
- }, {
- match: /_getClosestLabel/g,
- replacement: '_i1'
- }, {
- match: /_initDropdownListeners/g,
- replacement: '_i2'
- }, {
- match: /_initRequests/g,
- replacement: '_i3'
- }, {
- match: /_loadAutoCountry/g,
- replacement: '_i4'
- }, {
- match: /_initKeyListeners/g,
- replacement: '_j'
- }, {
- match: /_cap/g,
- replacement: '_j2'
- }, {
- match: /_initFocusListeners/g,
- replacement: '_l'
- }, {
- match: /_removeEmptyDialCode/g,
- replacement: '_l2'
- }, {
- match: /_getNumeric/g,
- replacement: '_m'
- }, {
- match: /_trigger/g,
- replacement: '_m2'
- }, {
- match: /_showDropdown/g,
- replacement: '_n'
- }, {
- match: /_toggleClass/g,
- replacement: '_n2'
- }, {
- match: /_setDropdownPosition/g,
- replacement: '_o'
- }, {
- match: /_getClosestListItem/g,
- replacement: '_o2'
- }, {
- match: /_bindDropdownListeners/g,
- replacement: '_p'
- }, {
- match: /_handleUpDownKey/g,
- replacement: '_q'
- }, {
- match: /_handleEnterKey/g,
- replacement: '_r'
- }, {
- match: /_searchForCountry/g,
- replacement: '_s'
- }, {
- match: /_startsWith/g,
- replacement: '_t'
- }, {
- match: /_updateValFromNumber/g,
- replacement: '_u'
- }, {
- match: /_updateFlagFromNumber/g,
- replacement: '_v'
- }, {
- match: /_isRegionlessNanp/g,
- replacement: '_w'
- }, {
- match: /_highlightListItem/g,
- replacement: '_x'
- }, {
- match: /_getCountryData/g,
- replacement: '_y'
- }, {
- match: /_setFlag/g,
- replacement: '_z'
- }, {
- match: /_updatePlaceholder/g,
- replacement: '_0'
- }, {
- match: /_selectListItem/g,
- replacement: '_1'
- }, {
- match: /_closeDropdown/g,
- replacement: '_2'
- }, {
- match: /_scrollTo/g,
- replacement: '_3'
- }, {
- match: /_updateDialCode/g,
- replacement: '_4'
- }, {
- match: /_getDialCode/g,
- replacement: '_5'
- }, {
- match: /_getFullNumber/g,
- replacement: '_6'
- }, {
- match: /_beforeSetNumber/g,
- replacement: '_7'
- }, {
- match: /_triggerCountryChange/g,
- replacement: '_8'
- }
- ]
- },
- files: {
- 'tmp/one.min.js': 'tmp/wrapped.min.js',
- 'tmp/one-jquery.min.js': 'tmp/wrapped-jquery.min.js',
- }
- },
-
-
- /***********
- * INLINE PRIVATE METHODS
- ***********/
- two: {
- options: {
- patterns: [
- {
- match: /_handleMouseoverCountryList/g,
- replacement: '_a0'
- }, {
- match: /_handleClickCountryList/g,
- replacement: '_a1'
- }, {
- match: /_handleClickOffToClose/g,
- replacement: '_a2'
- }, {
- match: /_handleKeydownOnDropdown/g,
- replacement: '_a3'
- }, {
- match: /_handleWindowScroll/g,
- replacement: '_a4'
- }, {
- match: /_handleMousedownFocusEvent/g,
- replacement: '_a5'
- }, {
- match: /_handleKeypressPlusEvent/g,
- replacement: '_a6'
- }, {
- match: /_handleFocusEvent/g,
- replacement: '_a7'
- }, {
- match: /_handleSubmitOrBlurEvent/g,
- replacement: '_a8'
- }, {
- match: /_handleLabelClick/g,
- replacement: '_a9'
- }, {
- match: /_handleClickSelectedFlag/g,
- replacement: '_a10'
- }, {
- match: /_handleFlagsContainerKeydown/g,
- replacement: '_a11'
- }, {
- match: /_handleKeyupEvent/g,
- replacement: '_a12'
- }, {
- match: /_handleClipboardEvent/g,
- replacement: '_a13'
- }, {
- match: /_handleHiddenInputSubmit/g,
- replacement: '_a14'
- }
- ]
- },
- files: {
- 'tmp/two.min.js': 'tmp/one.min.js',
- 'tmp/two-jquery.min.js': 'tmp/one-jquery.min.js',
- }
- },
-
-
- /***********
- * INSTANCE FIELDS
- * Note: avoid option names as that will break things!
- ***********/
- three: {
- options: {
- patterns: [
- {
- match: /\.telInput/g,
- replacement: '.a'
- }, {
- match: /\.activeItem/g,
- replacement: '.b'
- }, {
- match: /\.highlightedItem/g,
- replacement: '.c'
- }, {
- match: /\.options/g,
- replacement: '.d'
- }, {
- match: /\.hadInitialPlaceholder/g,
- replacement: '.e'
- }, {
- match: /\.isMobile/g,
- replacement: '.g'
- }, {
- match: /\.resolveAutoCountryPromise/g,
- replacement: '.h'
- }, {
- match: /\.rejectAutoCountryPromise/g,
- replacement: '.i'
- }, {
- match: /\.resolveUtilsScriptPromise/g,
- replacement: '.i0'
- }, {
- match: /\.rejectUtilsScriptPromise/g,
- replacement: '.i1'
- }, {
- match: /\.defaultCountry/g,
- replacement: '.j'
- }, {
- match: /\.flagsContainer/g,
- replacement: '.k'
- }, {
- match: /\.selectedFlagInner/g,
- replacement: '.l'
- }, {
- match: /\.countryList/g,
- replacement: '.m'
- }, {
- match: /\.countries/g,
- replacement: '.p'
- }, {
- match: /\.countryCodes/g,
- replacement: '.q'
- }, {
- match: /\.selectedCountryData/g,
- replacement: '.s'
- }, {
- match: /\.selectedDialCode/g,
- replacement: '.t'
- }, {
- match: /\.dropdownArrow/g,
- replacement: '.u'
- }
- ]
- },
- files: {
- 'build/js/intlTelInput.min.js': 'tmp/two.min.js',
- 'build/js/intlTelInput-jquery.min.js': 'tmp/two-jquery.min.js',
- }
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/responsive_images.js b/lib/intl-tel-input-master/grunt/responsive_images.js
deleted file mode 100644
index 070495f..0000000
--- a/lib/intl-tel-input-master/grunt/responsive_images.js
+++ /dev/null
@@ -1,42 +0,0 @@
-module.exports = function(grunt) {
- return {
- regular: {
- options: {
- engine: "im",
- sizes: [{
- rename: false,
- width: '50%',
- height: '50%'
- }],
- newFilesOnly: false
- },
- files: [{
- expand: true,
- cwd: "src/img/flags/@2x/",
- // only process 2-char country code files (ignore sub-regions)
- src: ['*.png'],
- dest: 'src/img/flags/@1x/'
- }]
- },
- retina: {
- options: {
- engine: "im",
- // just generate the @2x images here, then use evenizer to get even pixel values for width and height before generating the @1x images
- sizes: [{
- rename: false,
- width: 40,
- height: 30
- }],
- // re-gen the images even if the dest files already exist. this is useful for when we change settings here
- newFilesOnly: false
- },
- files: [{
- expand: true,
- cwd: "node_modules/region-flags/png/",
- // only process 2-char country code files (ignore sub-regions)
- src: ['??.png'],
- dest: 'src/img/flags/@2x/'
- }]
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/retinafy.js b/lib/intl-tel-input-master/grunt/retinafy.js
deleted file mode 100644
index 82db9e1..0000000
--- a/lib/intl-tel-input-master/grunt/retinafy.js
+++ /dev/null
@@ -1,20 +0,0 @@
-module.exports = function(grunt) {
- return {
- options: {
- sizes: {
- '50%': {
- suffix: ''
- },
- '100%': {
- suffix: '@2x'
- }
- }
- },
- files: {
- expand: true,
- cwd: 'src/img/flags/@2x/',
- src: ['*.png'],
- dest: 'src/img/flags/'
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/sass.js b/lib/intl-tel-input-master/grunt/sass.js
deleted file mode 100644
index 63a06c3..0000000
--- a/lib/intl-tel-input-master/grunt/sass.js
+++ /dev/null
@@ -1,21 +0,0 @@
-module.exports = function(grunt) {
- return {
- main: {
- options: {
- sourcemap: "none",
- style: "compressed"
- },
- files: {
- 'build/css/intlTelInput.css': 'src/css/intlTelInput.scss'
- }
- },
- demo: {
- options: {
- sourcemap: "none"
- },
- files: {
- 'build/css/demo.css': 'src/css/demo.scss'
- }
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/shell.js b/lib/intl-tel-input-master/grunt/shell.js
deleted file mode 100644
index 3c304e3..0000000
--- a/lib/intl-tel-input-master/grunt/shell.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = function(grunt) {
- return {
- publish: {
- command: 'npm publish'
- }
- };
-};
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/grunt/sprite.js b/lib/intl-tel-input-master/grunt/sprite.js
deleted file mode 100644
index b141d3a..0000000
--- a/lib/intl-tel-input-master/grunt/sprite.js
+++ /dev/null
@@ -1,31 +0,0 @@
-module.exports = function(grunt) {
- return {
- retina: {
- src: 'src/img/flags/@2x/*.png',
- dest: 'build/img/flags@2x.png',
- destCss: 'tmp/sprite@2x.scss', // ignore - we just use the @1x styles for both
- padding: 4,
- algorithm: 'left-right',
- algorithmOpts: {
- sort: false
- },
- cssOpts: {
- variableNameTransforms: ['toLowerCase']
- }
- },
- main: {
- src: ['src/img/flags/@1x/*.png'],
- dest: 'build/img/flags.png',
- cssTemplate: 'grunt/tmpl/sprite.scss.mustache',
- destCss: 'src/css/sprite.scss',
- padding: 2, // this is currently just for chrome, otherwise flags seem to leak into each other
- algorithm: 'left-right',
- algorithmOpts: {
- sort: false
- },
- cssOpts: {
- variableNameTransforms: ['toLowerCase']
- }
- }
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/template.js b/lib/intl-tel-input-master/grunt/template.js
deleted file mode 100644
index 8f85b07..0000000
--- a/lib/intl-tel-input-master/grunt/template.js
+++ /dev/null
@@ -1,285 +0,0 @@
-module.exports = function(grunt) {
-
- // timestamp in asset URLs for cache busting
- var time = (new Date()).getTime();
-
- return {
-
- // this is the first step in generating the actual plugin main JS file
- jsAddVersion: {
- src: 'src/js/intlTelInput.js',
- dest: 'tmp/versioned.js',
- options: {
- data: (function(version) {
- return {
- version: version,
- };
- })('<%= package.version %>')
- }
- },
-
- // generate the JS scripts for the examples (and cache-bust the utils.js URL)
- nationalModeJs: {
- src: 'examples/js/nationalMode.js.ejs',
- dest: 'examples/gen/js/nationalMode.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- defaultCountryIpJs: {
- src: 'examples/js/defaultCountryIp.js.ejs',
- dest: 'examples/gen/js/defaultCountryIp.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- modifyCountryDataJs: {
- src: 'examples/js/modifyCountryData.js.ejs',
- dest: 'examples/gen/js/modifyCountryData.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- onlyCountriesEuropeJs: {
- src: 'examples/js/onlyCountriesEurope.js.ejs',
- dest: 'examples/gen/js/onlyCountriesEurope.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- countrySyncJs: {
- src: 'examples/js/countrySync.js.ejs',
- dest: 'examples/gen/js/countrySync.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- isValidNumberJs: {
- src: 'examples/js/isValidNumber.js.ejs',
- dest: 'examples/gen/js/isValidNumber.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- hiddenInputJs: {
- src: 'examples/js/hiddenInput.js.ejs',
- dest: 'examples/gen/js/hiddenInput.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- initPromiseJs: {
- src: 'examples/js/initPromise.js.ejs',
- dest: 'examples/gen/js/initPromise.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- multipleInstancesJs: {
- src: 'examples/js/multipleInstances.js.ejs',
- dest: 'examples/gen/js/multipleInstances.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
- displayNumberJs: {
- src: 'examples/js/displayNumber.js.ejs',
- dest: 'examples/gen/js/displayNumber.js',
- options: {
- data: function() {
- return { time: time };
- }
- }
- },
-
- // generate the HTML example pages
- nationalMode: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/national-mode.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "National Mode",
- desc: "Allow users to enter their national number, and then convert it to international format using the public method getNumber.",
- stylesheet: "",
- markup: grunt.file.read('examples/partials/nationalMode.html'),
- code: grunt.file.read('examples/gen/js/nationalMode.js'),
- script: "nationalMode.js"
- };
- }
- }
- },
- defaultCountryIp: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/default-country-ip.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Lookup user's country",
- desc: "Set initialCountry to 'auto' and pass in a function for geoIpLookup to perform a JSONP request to ipinfo.io, which returns the user's country based on their IP address.",
- stylesheet: "",
- markup: grunt.file.read('examples/partials/defaultCountryIp.html'),
- code: grunt.file.read('examples/gen/js/defaultCountryIp.js'),
- script: "defaultCountryIp.js"
- };
- }
- }
- },
- modifyCountryData: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/modify-country-data.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Modify country data",
- desc: "Use static getCountryData method to update the data to only show localised country names.",
- stylesheet: "",
- markup: grunt.file.read('examples/partials/simpleInput.html'),
- code: grunt.file.read('examples/gen/js/modifyCountryData.js'),
- script: "modifyCountryData.js"
- };
- }
- }
- },
- onlyCountriesEurope: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/only-countries-europe.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "European countries",
- desc: "Set onlyCountries option to just European country codes.",
- stylesheet: "",
- markup: grunt.file.read('examples/partials/simpleInput.html'),
- code: grunt.file.read('examples/gen/js/onlyCountriesEurope.js'),
- script: "onlyCountriesEurope.js"
- };
- }
- }
- },
- countrySync: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/country-sync.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Country sync",
- desc: "Use static getCountryData method to create a separate country dropdown for an address form, and then listen for change events to keep the two dropdowns in sync.",
- stylesheet: 'countrySync.css',
- markup: grunt.file.read('examples/partials/countrySync.html'),
- code: grunt.file.read('examples/gen/js/countrySync.js'),
- script: "countrySync.js"
- };
- }
- }
- },
- isValidNumber: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/is-valid-number.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Validation",
- desc: "Use the isValidNumber method (which utilises Google's libphonenumber) to validate the telephone number on the blur event.",
- stylesheet: 'isValidNumber.css',
- markup: grunt.file.read('examples/partials/isValidNumber.html'),
- code: grunt.file.read('examples/gen/js/isValidNumber.js'),
- script: "isValidNumber.js"
- };
- }
- }
- },
- hiddenInput: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/hidden-input.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Submitting the full international number using a hidden input",
- desc: "If you're submitting the form using Ajax, simply use getNumber to get the full international number before sending it. If you're using the standard form POST method, you can use the hiddenInput option to automatically create a hidden input that gets populated with the full international number on submit. Try submitting a valid number below, and then check the 'full_phone' parameter in the URL.",
- stylesheet: '',
- markup: grunt.file.read('examples/partials/hiddenInput.html'),
- code: grunt.file.read('examples/gen/js/hiddenInput.js'),
- script: "hiddenInput.js"
- };
- }
- }
- },
- initPromise: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/init-promise.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Using the promise returned from initialisation",
- desc: "Use this promise to know when the plugin has completely finished initialising, including completing any asynchronous actions you might have enabled with the initialisation options e.g. fetching utils.js with the utilsScript option, and performing the ip lookup with the geoIpLookup option.",
- stylesheet: '',
- markup: grunt.file.read('examples/partials/initPromise.html'),
- code: grunt.file.read('examples/gen/js/initPromise.js'),
- script: "initPromise.js"
- };
- }
- }
- },
- multipleInstances: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/multiple-instances.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Multiple Instances",
- desc: "Here you can see multiple instances of the plugin working alongside each other. I've set the placeholderNumberType differently for each instance to highlight that the instances are completely independent of each other.",
- stylesheet: '',
- markup: grunt.file.read('examples/partials/multipleInstances.html'),
- code: grunt.file.read('examples/gen/js/multipleInstances.js'),
- script: "multipleInstances.js"
- };
- }
- }
- },
- displayNumber: {
- src: 'examples/template.html.ejs',
- dest: 'examples/gen/display-number.html',
- options: {
- data: function() {
- return {
- time: time,
- title: "Display an existing number",
- desc: "We initialise the plugin on an input which already contains a full international number. The plugin will automatically select the relevant flag, and re-format the number to national format.",
- stylesheet: '',
- markup: grunt.file.read('examples/partials/displayNumber.html'),
- code: grunt.file.read('examples/gen/js/displayNumber.js'),
- script: "displayNumber.js"
- };
- }
- }
- },
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/tmpl/sprite.scss.mustache b/lib/intl-tel-input-master/grunt/tmpl/sprite.scss.mustache
deleted file mode 100644
index c130e2c..0000000
--- a/lib/intl-tel-input-master/grunt/tmpl/sprite.scss.mustache
+++ /dev/null
@@ -1,32 +0,0 @@
-@function retina-size($value) {
- @return floor($value / 2);
-}
-
-@mixin retina-bg-size($spriteWidth, $spriteHeight) {
- background-size: floor($spriteWidth / 2) floor($spriteHeight / 2);
-}
-
-.iti-flag {
- $item-width-maps: ({{#items}}{{strings.name}}: {{px.width}}, {{/items}});
- $standard-country: 'ac';
- width: map-get($item-width-maps, $standard-country);
-
- @each $key, $width in $item-width-maps {
- @if $width != map-get($item-width-maps, $standard-country) {
- &.#{$key} {
- width: $width;
- }
- }
- }
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-size: {{spritesheet.px.width}} {{spritesheet.px.height}};
- }
-
- {{#items}}
- &.{{strings.name}} {
- height: {{px.height}};
- background-position: {{px.offset_x}} {{px.offset_y}};
- }
- {{/items}}
-}
diff --git a/lib/intl-tel-input-master/grunt/uglify.js b/lib/intl-tel-input-master/grunt/uglify.js
deleted file mode 100644
index ddac23f..0000000
--- a/lib/intl-tel-input-master/grunt/uglify.js
+++ /dev/null
@@ -1,30 +0,0 @@
-module.exports = function(grunt) {
- return {
- options: {
- banner: '/*\n' +
- ' * International Telephone Input v<%= package.version %>\n' +
- ' * <%= package.repository.url %>\n' +
- ' * Licensed under the MIT license\n' +
- ' */\n',
- screwIE8: false
- },
- dev: {
- options: {
- beautify: true,
- compress: false,
- mangle: false,
- preserveComments: true
- },
- files: {
- 'build/js/intlTelInput.js': 'tmp/wrapped.js',
- 'build/js/intlTelInput-jquery.js': 'tmp/wrapped-jquery.js',
- }
- },
- prod: {
- files: {
- 'tmp/wrapped.min.js': 'tmp/wrapped.js',
- 'tmp/wrapped-jquery.min.js': 'tmp/wrapped-jquery.js',
- }
- },
- };
-};
diff --git a/lib/intl-tel-input-master/grunt/watch.js b/lib/intl-tel-input-master/grunt/watch.js
deleted file mode 100644
index 5280000..0000000
--- a/lib/intl-tel-input-master/grunt/watch.js
+++ /dev/null
@@ -1,16 +0,0 @@
-module.exports = function(grunt) {
- return {
- js: {
- files: "src/js/**/*",
- tasks: "js"
- },
- pluginCss: {
- files: ["src/css/flags.scss", "src/css/intlTelInput.scss"],
- tasks: "sass:main"
- },
- demoCss: {
- files: "src/css/demo.scss",
- tasks: "sass:demo"
- }
- };
-};
\ No newline at end of file
diff --git a/lib/intl-tel-input-master/index.js b/lib/intl-tel-input-master/index.js
deleted file mode 100644
index b05c266..0000000
--- a/lib/intl-tel-input-master/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Exposing intl-tel-input as a component
- */
-module.exports = require("./build/js/intlTelInput");
diff --git a/lib/intl-tel-input-master/package-lock.json b/lib/intl-tel-input-master/package-lock.json
deleted file mode 100644
index c88076e..0000000
--- a/lib/intl-tel-input-master/package-lock.json
+++ /dev/null
@@ -1,9810 +0,0 @@
-{
- "name": "intl-tel-input",
- "version": "14.0.2",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
- "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
- }
- },
- "@babel/core": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.0.tgz",
- "integrity": "sha512-9EWmD0cQAbcXSc+31RIoYgEHx3KQ2CCSMDBhnXrShWvo45TMw+3/55KVxlhkG53kw9tl87DqINgHDgFVhZJV/Q==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.0.0",
- "@babel/helpers": "^7.1.0",
- "@babel/parser": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0",
- "convert-source-map": "^1.1.0",
- "debug": "^3.1.0",
- "json5": "^0.5.0",
- "lodash": "^4.17.10",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- }
- }
- },
- "@babel/generator": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz",
- "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.10",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
- "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
- "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
- "dev": true,
- "requires": {
- "@babel/helper-explode-assignable-expression": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-call-delegate": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
- "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
- "dev": true,
- "requires": {
- "@babel/helper-hoist-variables": "^7.0.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-define-map": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
- "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/types": "^7.0.0",
- "lodash": "^4.17.10"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
- "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
- "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
- "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
- "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
- "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
- "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz",
- "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0",
- "lodash": "^4.17.10"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
- "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
- "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
- "dev": true
- },
- "@babel/helper-regex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
- "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.10"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
- "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-wrap-function": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz",
- "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.0.0",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
- "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
- "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-wrap-function": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz",
- "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helpers": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.0.tgz",
- "integrity": "sha512-V1jXUTNdTpBn37wqqN73U+eBpzlLHmxA4aDaghJBggmzly/FpIJMHXse9lgdzQQT4gs5jZ5NmYxOL8G3ROc29g==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/highlight": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
- "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.0",
- "esutils": "^2.0.2",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.0.tgz",
- "integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==",
- "dev": true
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz",
- "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0",
- "@babel/plugin-syntax-async-generators": "^7.0.0"
- }
- },
- "@babel/plugin-proposal-json-strings": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz",
- "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.0.0"
- }
- },
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz",
- "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
- }
- },
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz",
- "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.0.0"
- }
- },
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz",
- "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0",
- "regexpu-core": "^4.2.0"
- }
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz",
- "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz",
- "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz",
- "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz",
- "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz",
- "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz",
- "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0"
- }
- },
- "@babel/plugin-transform-block-scoped-functions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz",
- "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-block-scoping": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz",
- "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "lodash": "^4.17.10"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/plugin-transform-classes": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz",
- "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-define-map": "^7.1.0",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.0.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/plugin-transform-computed-properties": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz",
- "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-destructuring": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz",
- "integrity": "sha512-Fr2GtF8YJSXGTyFPakPFB4ODaEKGU04bPsAllAIabwoXdFrPxL0LVXQX5dQWoxOjjgozarJcC9eWGsj0fD6Zsg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz",
- "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0",
- "regexpu-core": "^4.1.3"
- }
- },
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz",
- "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz",
- "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==",
- "dev": true,
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-for-of": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz",
- "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz",
- "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-literals": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz",
- "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-modules-amd": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz",
- "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz",
- "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0"
- }
- },
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz",
- "integrity": "sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g==",
- "dev": true,
- "requires": {
- "@babel/helper-hoist-variables": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-modules-umd": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz",
- "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-new-target": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
- "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-object-super": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz",
- "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.1.0"
- }
- },
- "@babel/plugin-transform-parameters": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz",
- "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==",
- "dev": true,
- "requires": {
- "@babel/helper-call-delegate": "^7.1.0",
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-regenerator": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
- "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
- "dev": true,
- "requires": {
- "regenerator-transform": "^0.13.3"
- }
- },
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz",
- "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-spread": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz",
- "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz",
- "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0"
- }
- },
- "@babel/plugin-transform-template-literals": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz",
- "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz",
- "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz",
- "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0",
- "regexpu-core": "^4.1.3"
- }
- },
- "@babel/preset-env": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz",
- "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.1.0",
- "@babel/plugin-proposal-json-strings": "^7.0.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
- "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
- "@babel/plugin-syntax-async-generators": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.0.0",
- "@babel/plugin-transform-arrow-functions": "^7.0.0",
- "@babel/plugin-transform-async-to-generator": "^7.1.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
- "@babel/plugin-transform-block-scoping": "^7.0.0",
- "@babel/plugin-transform-classes": "^7.1.0",
- "@babel/plugin-transform-computed-properties": "^7.0.0",
- "@babel/plugin-transform-destructuring": "^7.0.0",
- "@babel/plugin-transform-dotall-regex": "^7.0.0",
- "@babel/plugin-transform-duplicate-keys": "^7.0.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.1.0",
- "@babel/plugin-transform-for-of": "^7.0.0",
- "@babel/plugin-transform-function-name": "^7.1.0",
- "@babel/plugin-transform-literals": "^7.0.0",
- "@babel/plugin-transform-modules-amd": "^7.1.0",
- "@babel/plugin-transform-modules-commonjs": "^7.1.0",
- "@babel/plugin-transform-modules-systemjs": "^7.0.0",
- "@babel/plugin-transform-modules-umd": "^7.1.0",
- "@babel/plugin-transform-new-target": "^7.0.0",
- "@babel/plugin-transform-object-super": "^7.1.0",
- "@babel/plugin-transform-parameters": "^7.1.0",
- "@babel/plugin-transform-regenerator": "^7.0.0",
- "@babel/plugin-transform-shorthand-properties": "^7.0.0",
- "@babel/plugin-transform-spread": "^7.0.0",
- "@babel/plugin-transform-sticky-regex": "^7.0.0",
- "@babel/plugin-transform-template-literals": "^7.0.0",
- "@babel/plugin-transform-typeof-symbol": "^7.0.0",
- "@babel/plugin-transform-unicode-regex": "^7.0.0",
- "browserslist": "^4.1.0",
- "invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
- "semver": "^5.3.0"
- }
- },
- "@babel/template": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz",
- "integrity": "sha512-yZ948B/pJrwWGY6VxG6XRFsVTee3IQ7bihq9zFpM00Vydu6z5Xwg0C3J644kxI9WOTzd+62xcIsQ+AT1MGhqhA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/traverse": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz",
- "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.0.0",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.0.0",
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "debug": "^3.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.10"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz",
- "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.10",
- "to-fast-properties": "^2.0.0"
- },
- "dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
- },
- "acorn": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
- "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz",
- "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==",
- "dev": true,
- "requires": {
- "acorn": "^5.0.3"
- }
- },
- "agent-base": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
- "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
- "agentkeepalive": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.1.tgz",
- "integrity": "sha512-Cte/sTY9/XcygXjJ0q58v//SnEQ7ViWExKyJpLJlLqomDbQyMLh6Is4KuWJ/wmxzhiwkGRple7Gqv1zf6Syz5w==",
- "dev": true,
- "requires": {
- "humanize-ms": "^1.2.1"
- }
- },
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- },
- "dependencies": {
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- }
- }
- },
- "ajv-keywords": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
- "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
- "dev": true
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi-escapes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
- "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
- "dev": true
- },
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
- "dev": true
- },
- "applause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/applause/-/applause-1.2.2.tgz",
- "integrity": "sha1-qEaFeegfZzl7tWNMKZU77c0PVsA=",
- "dev": true,
- "requires": {
- "cson-parser": "^1.1.0",
- "js-yaml": "^3.3.0",
- "lodash": "^3.10.0"
- },
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
- "dev": true
- }
- }
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "archive-type": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
- "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
- "dev": true,
- "requires": {
- "file-type": "^3.1.0"
- },
- "dependencies": {
- "file-type": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
- "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
- "dev": true
- }
- }
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
- "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- },
- "dependencies": {
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- }
- }
- },
- "aria-query": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
- "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7",
- "commander": "^2.11.0"
- },
- "dependencies": {
- "commander": {
- "version": "2.18.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz",
- "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==",
- "dev": true
- }
- }
- },
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
- "array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
- }
- },
- "array-parallel": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz",
- "integrity": "sha1-j3hTCJJu1apHjEfmTRszS2wMlH0=",
- "dev": true
- },
- "array-series": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz",
- "integrity": "sha1-3103v8XC7wdV4qpPkv6ufUtaly8=",
- "dev": true
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
- "dev": true
- },
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
- "async-each-series": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
- "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
- "dev": true,
- "optional": true
- },
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
- "dev": true
- },
- "async-limiter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
- "dev": true
- },
- "axobject-query": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.1.tgz",
- "integrity": "sha1-Bd+nBa2orZ25k/polvItOVsLCgc=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7"
- }
- },
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
- "dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- }
- }
- },
- "babel-eslint": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-9.0.0.tgz",
- "integrity": "sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.0.0",
- "eslint-scope": "3.7.1",
- "eslint-visitor-keys": "^1.0.0"
- },
- "dependencies": {
- "eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
- "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true
- },
- "bin-build": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
- "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
- "dev": true,
- "optional": true,
- "requires": {
- "archive-type": "^3.0.1",
- "decompress": "^3.0.0",
- "download": "^4.1.2",
- "exec-series": "^1.0.0",
- "rimraf": "^2.2.6",
- "tempfile": "^1.0.0",
- "url-regex": "^3.0.0"
- },
- "dependencies": {
- "tempfile": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
- "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
- "dev": true,
- "optional": true,
- "requires": {
- "os-tmpdir": "^1.0.0",
- "uuid": "^2.0.1"
- }
- },
- "uuid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
- "dev": true,
- "optional": true
- }
- }
- },
- "bin-check": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
- "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
- "dev": true,
- "optional": true,
- "requires": {
- "executable": "^1.0.0"
- }
- },
- "bin-pack": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz",
- "integrity": "sha1-wqAU7b8L7XCjKSBi7UZXe5YSBnk=",
- "dev": true
- },
- "bin-version": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
- "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
- "dev": true,
- "optional": true,
- "requires": {
- "find-versions": "^1.0.0"
- }
- },
- "bin-version-check": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
- "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-version": "^1.0.0",
- "minimist": "^1.1.0",
- "semver": "^4.0.3",
- "semver-truncate": "^1.0.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
- "dev": true,
- "optional": true
- }
- }
- },
- "bin-wrapper": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
- "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-check": "^2.0.0",
- "bin-version-check": "^2.1.0",
- "download": "^4.0.0",
- "each-async": "^1.1.1",
- "lazy-req": "^1.0.0",
- "os-filter-obj": "^1.0.0"
- }
- },
- "bl": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
- "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.3.5",
- "safe-buffer": "^5.1.1"
- }
- },
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.0"
- }
- },
- "bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
- "dev": true
- },
- "body": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
- "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
- "dev": true,
- "requires": {
- "continuable-cache": "^0.3.1",
- "error": "^7.0.0",
- "raw-body": "~1.1.0",
- "safe-json-parse": "~1.0.1"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "browserify-zlib": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
- "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
- "dev": true,
- "requires": {
- "pako": "~0.2.0"
- }
- },
- "browserslist": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.1.tgz",
- "integrity": "sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30000884",
- "electron-to-chromium": "^1.3.62",
- "node-releases": "^1.0.0-alpha.11"
- }
- },
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
- "dev": true,
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
- }
- },
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
- },
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "buffer-to-vinyl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
- "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
- "dev": true,
- "requires": {
- "file-type": "^3.1.0",
- "readable-stream": "^2.0.2",
- "uuid": "^2.0.1",
- "vinyl": "^1.0.0"
- },
- "dependencies": {
- "file-type": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
- "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
- "dev": true
- },
- "uuid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
- "dev": true
- }
- }
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true
- },
- "builtins": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
- "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
- "dev": true
- },
- "bytes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
- "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
- "dev": true
- },
- "cacache": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz",
- "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.1",
- "chownr": "^1.0.1",
- "figgy-pudding": "^3.1.0",
- "glob": "^7.1.2",
- "graceful-fs": "^4.1.11",
- "lru-cache": "^4.1.3",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.2",
- "ssri": "^6.0.0",
- "unique-filename": "^1.1.0",
- "y18n": "^4.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- },
- "y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
- }
- }
- },
- "caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true,
- "requires": {
- "callsites": "^0.2.0"
- }
- },
- "callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
- "dev": true
- },
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- },
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30000887",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000887.tgz",
- "integrity": "sha512-AHpONWuGFWO8yY9igdXH94tikM6ERS84286r0cAMAXYFtJBk76lhiMhtCxBJNBZsD6hzlvpWZ2AtbVFEkf4JQA==",
- "dev": true
- },
- "capture-stack-trace": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
- "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "caw": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
- "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
- "dev": true,
- "requires": {
- "get-proxy": "^1.0.1",
- "is-obj": "^1.0.0",
- "object-assign": "^3.0.0",
- "tunnel-agent": "^0.4.0"
- },
- "dependencies": {
- "object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true
- }
- }
- },
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
- },
- "chownr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
- "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
- "dev": true
- },
- "circular-json": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
- "dev": true
- },
- "clap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
- "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^1.1.3"
- }
- },
- "clean-css": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
- "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
- "dev": true,
- "requires": {
- "source-map": "0.5.x"
- }
- },
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "^2.0.0"
- }
- },
- "cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- },
- "dependencies": {
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true
- }
- }
- },
- "clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
- "dev": true
- },
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
- "dev": true
- },
- "co": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
- "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
- "dev": true
- },
- "coa": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
- "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
- "dev": true,
- "optional": true,
- "requires": {
- "q": "^1.1.2"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "coffeescript": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
- "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
- "dev": true
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true
- },
- "colors": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
- "dev": true
- },
- "console-stream": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
- "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
- "dev": true,
- "optional": true
- },
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
- "contentstream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/contentstream/-/contentstream-1.0.0.tgz",
- "integrity": "sha1-C9z6RtowRkqGzo+n7OVlQQ3G+aU=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.33-1"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "continuable-cache": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
- "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
- "dev": true
- },
- "convert-source-map": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
- "dev": true
- },
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "create-error-class": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
- "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
- "dev": true,
- "requires": {
- "capture-stack-trace": "^1.0.0"
- }
- },
- "cross-spawn": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
- "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "cson": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/cson/-/cson-3.0.2.tgz",
- "integrity": "sha1-g+6Qids8JUvsHpjkmNmqzxGtzFQ=",
- "dev": true,
- "requires": {
- "coffee-script": "^1.9.0",
- "cson-parser": "^1.0.6",
- "extract-opts": "^3.0.1",
- "requirefresh": "^2.0.0",
- "safefs": "^4.0.0"
- },
- "dependencies": {
- "coffee-script": {
- "version": "1.12.7",
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
- "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
- "dev": true
- }
- }
- },
- "cson-parser": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/cson-parser/-/cson-parser-1.3.5.tgz",
- "integrity": "sha1-fsZ14DkUVTO/KmqFYHPxWZ2cLSQ=",
- "dev": true,
- "requires": {
- "coffee-script": "^1.10.0"
- },
- "dependencies": {
- "coffee-script": {
- "version": "1.12.7",
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
- "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
- "dev": true
- }
- }
- },
- "csso": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
- "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
- "dev": true,
- "optional": true,
- "requires": {
- "clap": "^1.0.9",
- "source-map": "^0.5.3"
- }
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
- },
- "custom-event-polyfill": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.6.tgz",
- "integrity": "sha512-3FxpFlzGcHrDykwWu+xWVXZ8PfykM/9/bI3zXb953sh+AjInZWcQmrnmvPoZgiqNjmbtTm10PWvYqvRW527x6g==",
- "dev": true
- },
- "cwise": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz",
- "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=",
- "dev": true,
- "requires": {
- "cwise-compiler": "^1.1.1",
- "cwise-parser": "^1.0.0",
- "static-module": "^1.0.0",
- "uglify-js": "^2.6.0"
- }
- },
- "cwise-compiler": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
- "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=",
- "dev": true,
- "requires": {
- "uniq": "^1.0.0"
- }
- },
- "cwise-parser": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz",
- "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=",
- "dev": true,
- "requires": {
- "esprima": "^1.0.3",
- "uniq": "^1.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz",
- "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=",
- "dev": true
- }
- }
- },
- "cyclist": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
- "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
- "dev": true
- },
- "damerau-levenshtein": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
- "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=",
- "dev": true
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "data-uri-to-buffer": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz",
- "integrity": "sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=",
- "dev": true
- },
- "date-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz",
- "integrity": "sha1-GIdtC9pMGf5w3Tv0sDTygbEqQLY=",
- "dev": true,
- "requires": {
- "time-zone": "^0.1.0"
- }
- },
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.3.0"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decompress": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
- "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
- "dev": true,
- "requires": {
- "buffer-to-vinyl": "^1.0.0",
- "concat-stream": "^1.4.6",
- "decompress-tar": "^3.0.0",
- "decompress-tarbz2": "^3.0.0",
- "decompress-targz": "^3.0.0",
- "decompress-unzip": "^3.0.0",
- "stream-combiner2": "^1.1.1",
- "vinyl-assign": "^1.0.1",
- "vinyl-fs": "^2.2.0"
- }
- },
- "decompress-tar": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
- "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
- "dev": true,
- "requires": {
- "is-tar": "^1.0.0",
- "object-assign": "^2.0.0",
- "strip-dirs": "^1.0.0",
- "tar-stream": "^1.1.1",
- "through2": "^0.6.1",
- "vinyl": "^0.4.3"
- },
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "object-assign": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
- "dev": true
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
- }
- }
- }
- },
- "decompress-tarbz2": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
- "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
- "dev": true,
- "requires": {
- "is-bzip2": "^1.0.0",
- "object-assign": "^2.0.0",
- "seek-bzip": "^1.0.3",
- "strip-dirs": "^1.0.0",
- "tar-stream": "^1.1.1",
- "through2": "^0.6.1",
- "vinyl": "^0.4.3"
- },
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "object-assign": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
- "dev": true
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
- }
- }
- }
- },
- "decompress-targz": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
- "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
- "dev": true,
- "requires": {
- "is-gzip": "^1.0.0",
- "object-assign": "^2.0.0",
- "strip-dirs": "^1.0.0",
- "tar-stream": "^1.1.1",
- "through2": "^0.6.1",
- "vinyl": "^0.4.3"
- },
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "object-assign": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
- "dev": true
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
- }
- }
- }
- },
- "decompress-unzip": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
- "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
- "dev": true,
- "requires": {
- "is-zip": "^1.0.0",
- "read-all-stream": "^3.0.0",
- "stat-mode": "^0.2.0",
- "strip-dirs": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl": "^1.0.0",
- "yauzl": "^2.2.1"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true,
- "requires": {
- "foreach": "^2.0.5",
- "object-keys": "^1.0.8"
- }
- },
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
- "dev": true
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- },
- "dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- }
- }
- },
- "download": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
- "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
- "dev": true,
- "requires": {
- "caw": "^1.0.1",
- "concat-stream": "^1.4.7",
- "each-async": "^1.0.0",
- "filenamify": "^1.0.1",
- "got": "^5.0.0",
- "gulp-decompress": "^1.2.0",
- "gulp-rename": "^1.2.0",
- "is-url": "^1.2.0",
- "object-assign": "^4.0.1",
- "read-all-stream": "^3.0.0",
- "readable-stream": "^2.0.2",
- "stream-combiner2": "^1.1.1",
- "vinyl": "^1.0.0",
- "vinyl-fs": "^2.2.0",
- "ware": "^1.2.0"
- }
- },
- "duplexer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
- "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
- "dev": true
- },
- "duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.2"
- }
- },
- "duplexify": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
- "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
- "each-async": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
- "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
- "dev": true,
- "requires": {
- "onetime": "^1.0.0",
- "set-immediate-shim": "^1.0.0"
- }
- },
- "eachr": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz",
- "integrity": "sha1-LDXkPqCGUW95l8+At6pk1VpKRIQ=",
- "dev": true,
- "requires": {
- "editions": "^1.1.1",
- "typechecker": "^4.3.0"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "editions": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz",
- "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==",
- "dev": true
- },
- "electron-to-chromium": {
- "version": "1.3.70",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.70.tgz",
- "integrity": "sha512-WYMjqCnPVS5JA+XvwEnpwucJpVi2+q9cdCFpbhxgWGsCtforFBEkuP9+nCyy/wnU/0SyLcLRIeZct9ayMGcXoQ==",
- "dev": true
- },
- "emoji-regex": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz",
- "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==",
- "dev": true
- },
- "encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "dev": true,
- "requires": {
- "iconv-lite": "~0.4.13"
- }
- },
- "end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "err-code": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
- "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
- "dev": true
- },
- "error": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
- "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
- "dev": true,
- "requires": {
- "string-template": "~0.2.1",
- "xtend": "~4.0.0"
- }
- },
- "error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
- "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.1.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.1",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.4"
- }
- },
- "es-to-primitive": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.1",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.1"
- }
- },
- "es6-promise": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
- "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
- "dev": true
- },
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "dev": true,
- "requires": {
- "es6-promise": "^4.0.3"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escodegen": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
- "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
- "dev": true,
- "requires": {
- "esprima": "~1.1.1",
- "estraverse": "~1.5.0",
- "esutils": "~1.0.0",
- "source-map": "~0.1.33"
- },
- "dependencies": {
- "esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=",
- "dev": true
- },
- "source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "eslint": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.6.0.tgz",
- "integrity": "sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.5.3",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^3.1.0",
- "doctrine": "^2.1.0",
- "eslint-scope": "^4.0.0",
- "eslint-utils": "^1.3.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^4.0.0",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
- "functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.7.0",
- "ignore": "^4.0.6",
- "imurmurhash": "^0.1.4",
- "inquirer": "^6.1.0",
- "is-resolvable": "^1.1.0",
- "js-yaml": "^3.12.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.5",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
- "pluralize": "^7.0.0",
- "progress": "^2.0.0",
- "regexpp": "^2.0.0",
- "require-uncached": "^1.0.3",
- "semver": "^5.5.1",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "^2.0.1",
- "table": "^4.0.3",
- "text-table": "^0.2.0"
- },
- "dependencies": {
- "ajv": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
- "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "semver": {
- "version": "5.5.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
- "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "eslint-config-airbnb": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz",
- "integrity": "sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw==",
- "dev": true,
- "requires": {
- "eslint-config-airbnb-base": "^13.1.0",
- "object.assign": "^4.1.0",
- "object.entries": "^1.0.4"
- }
- },
- "eslint-config-airbnb-base": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz",
- "integrity": "sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw==",
- "dev": true,
- "requires": {
- "eslint-restricted-globals": "^0.1.1",
- "object.assign": "^4.1.0",
- "object.entries": "^1.0.4"
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "resolve": "^1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
- "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
- "dev": true,
- "requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "eslint-plugin-import": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz",
- "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==",
- "dev": true,
- "requires": {
- "contains-path": "^0.1.0",
- "debug": "^2.6.8",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.1",
- "eslint-module-utils": "^2.2.0",
- "has": "^1.0.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.3",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.6.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- },
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- }
- }
- },
- "eslint-plugin-jsx-a11y": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz",
- "integrity": "sha512-JsxNKqa3TwmPypeXNnI75FntkUktGzI1wSa1LgNZdSOMI+B4sxnr1lSF8m8lPiz4mKiC+14ysZQM4scewUrP7A==",
- "dev": true,
- "requires": {
- "aria-query": "^3.0.0",
- "array-includes": "^3.0.3",
- "ast-types-flow": "^0.0.7",
- "axobject-query": "^2.0.1",
- "damerau-levenshtein": "^1.0.4",
- "emoji-regex": "^6.5.1",
- "has": "^1.0.3",
- "jsx-ast-utils": "^2.0.1"
- },
- "dependencies": {
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- }
- }
- },
- "eslint-plugin-react": {
- "version": "7.11.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz",
- "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "doctrine": "^2.1.0",
- "has": "^1.0.3",
- "jsx-ast-utils": "^2.0.1",
- "prop-types": "^15.6.2"
- },
- "dependencies": {
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- }
- }
- },
- "eslint-restricted-globals": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz",
- "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=",
- "dev": true
- },
- "eslint-scope": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
- "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
- }
- },
- "eslint-utils": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
- "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
- "dev": true
- },
- "eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
- "dev": true
- },
- "espree": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz",
- "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==",
- "dev": true,
- "requires": {
- "acorn": "^5.6.0",
- "acorn-jsx": "^4.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
- "dev": true
- }
- }
- },
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- },
- "esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
- "dev": true,
- "requires": {
- "estraverse": "^4.0.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
- }
- },
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
- "requires": {
- "estraverse": "^4.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
- }
- },
- "estraverse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
- "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=",
- "dev": true
- },
- "esutils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
- "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=",
- "dev": true
- },
- "evenizer": {
- "version": "0.1.17",
- "resolved": "https://registry.npmjs.org/evenizer/-/evenizer-0.1.17.tgz",
- "integrity": "sha1-jD8Q4GL4kW/ew8zoFcrZDB8fEhI=",
- "dev": true,
- "requires": {
- "imagemagick": "^0.1.3",
- "optimist": "^0.6.1"
- }
- },
- "eventemitter2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
- "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
- "dev": true
- },
- "exec-buffer": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
- "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^0.7.0",
- "p-finally": "^1.0.0",
- "pify": "^3.0.0",
- "rimraf": "^2.5.4",
- "tempfile": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "optional": true
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "exec-series": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
- "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
- "dev": true,
- "optional": true,
- "requires": {
- "async-each-series": "^1.1.0",
- "object-assign": "^4.1.0"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "optional": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
- },
- "executable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz",
- "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
- "dev": true,
- "optional": true,
- "requires": {
- "meow": "^3.1.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "dev": true,
- "requires": {
- "fill-range": "^2.1.0"
- }
- },
- "extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "external-editor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
- "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
- "dev": true,
- "requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- }
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- }
- }
- },
- "extract-opts": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz",
- "integrity": "sha1-WrvtyYwNUgLjJ4cn+Rktfghsa+E=",
- "dev": true,
- "requires": {
- "eachr": "^3.2.0",
- "editions": "^1.1.1",
- "typechecker": "^4.3.0"
- }
- },
- "extract-zip": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
- "dev": true,
- "requires": {
- "concat-stream": "1.6.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1",
- "yauzl": "2.4.1"
- },
- "dependencies": {
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "yauzl": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
- "dev": true,
- "requires": {
- "fd-slicer": "~1.0.1"
- }
- }
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "falafel": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
- "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
- "dev": true,
- "requires": {
- "acorn": "^5.0.0",
- "foreach": "^2.0.5",
- "isarray": "0.0.1",
- "object-keys": "^1.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
- }
- },
- "fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "dev": true,
- "requires": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "time-stamp": "^1.0.0"
- }
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true,
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "fd-slicer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "figgy-pudding": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
- "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
- "dev": true
- },
- "figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
- }
- },
- "file-entry-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
- "dev": true,
- "requires": {
- "flat-cache": "^1.2.1",
- "object-assign": "^4.0.1"
- }
- },
- "file-sync-cmp": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",
- "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=",
- "dev": true
- },
- "file-type": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
- "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
- "dev": true
- },
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
- "dev": true
- },
- "filename-reserved-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
- "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
- "dev": true
- },
- "filenamify": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
- "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
- "dev": true,
- "requires": {
- "filename-reserved-regex": "^1.0.0",
- "strip-outer": "^1.0.0",
- "trim-repeated": "^1.0.0"
- }
- },
- "fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
- "dev": true,
- "requires": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^3.0.0",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "find-versions": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz",
- "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
- "dev": true,
- "optional": true,
- "requires": {
- "array-uniq": "^1.0.0",
- "get-stdin": "^4.0.1",
- "meow": "^3.5.0",
- "semver-regex": "^1.0.0"
- }
- },
- "findup-sync": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
- "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
- "dev": true,
- "requires": {
- "glob": "~5.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "first-chunk-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
- "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
- "dev": true
- },
- "flat-cache": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
- "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
- "dev": true,
- "requires": {
- "circular-json": "^0.3.1",
- "del": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "write": "^0.2.1"
- }
- },
- "flush-write-stream": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
- "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.4"
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "dev": true,
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
- "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
- "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
- "dev": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fstream": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dev": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "gaze": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
- "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
- "dev": true,
- "requires": {
- "globule": "^1.0.0"
- }
- },
- "genfun": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz",
- "integrity": "sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E=",
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
- "dev": true
- },
- "get-pixels": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/get-pixels/-/get-pixels-3.3.2.tgz",
- "integrity": "sha512-6ar+8yPxRd1pskEcl2GSEu1La0+xYRjjnkby6AYiRDDwZ0tJbPQmHnSeH9fGLskT8kvR0OukVgtZLcsENF9YKQ==",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "0.0.3",
- "jpeg-js": "^0.3.2",
- "mime-types": "^2.0.1",
- "ndarray": "^1.0.13",
- "ndarray-pack": "^1.1.1",
- "node-bitmap": "0.0.1",
- "omggif": "^1.0.5",
- "parse-data-uri": "^0.2.0",
- "pngjs": "^3.3.3",
- "request": "^2.44.0",
- "through": "^2.3.4"
- }
- },
- "get-proxy": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
- "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
- "dev": true,
- "requires": {
- "rc": "^1.1.2"
- }
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true
- },
- "getobject": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
- "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "gif-encoder": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/gif-encoder/-/gif-encoder-0.4.3.tgz",
- "integrity": "sha1-iitP6MqJWkjjoLbLs0CgpqNXGJk=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "gifsicle": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
- "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^2.0.0",
- "bin-wrapper": "^3.0.0",
- "logalot": "^2.0.0"
- }
- },
- "glob": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
- "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "dev": true,
- "requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- }
- },
- "glob-stream": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
- "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
- "dev": true,
- "requires": {
- "extend": "^3.0.0",
- "glob": "^5.0.3",
- "glob-parent": "^3.0.0",
- "micromatch": "^2.3.7",
- "ordered-read-streams": "^0.3.0",
- "through2": "^0.6.0",
- "to-absolute-glob": "^0.1.1",
- "unique-stream": "^2.0.2"
- },
- "dependencies": {
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "globals": {
- "version": "11.7.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
- "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==",
- "dev": true
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "globule": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
- "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
- "dev": true,
- "requires": {
- "glob": "~7.1.1",
- "lodash": "~4.17.4",
- "minimatch": "~3.0.2"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "glogg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
- "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
- "gm": {
- "version": "1.23.1",
- "resolved": "https://registry.npmjs.org/gm/-/gm-1.23.1.tgz",
- "integrity": "sha1-Lt7rlYCE0PjqeYjl2ZWxx9/BR3c=",
- "dev": true,
- "requires": {
- "array-parallel": "~0.1.3",
- "array-series": "~0.1.5",
- "cross-spawn": "^4.0.0",
- "debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "got": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
- "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
- "dev": true,
- "requires": {
- "create-error-class": "^3.0.1",
- "duplexer2": "^0.1.4",
- "is-redirect": "^1.0.0",
- "is-retry-allowed": "^1.0.0",
- "is-stream": "^1.0.0",
- "lowercase-keys": "^1.0.0",
- "node-status-codes": "^1.0.0",
- "object-assign": "^4.0.1",
- "parse-json": "^2.1.0",
- "pinkie-promise": "^2.0.0",
- "read-all-stream": "^3.0.0",
- "readable-stream": "^2.0.5",
- "timed-out": "^3.0.0",
- "unzip-response": "^1.0.2",
- "url-parse-lax": "^1.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
- "grunt": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
- "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
- "dev": true,
- "requires": {
- "coffeescript": "~1.10.0",
- "dateformat": "~1.0.12",
- "eventemitter2": "~0.4.13",
- "exit": "~0.1.1",
- "findup-sync": "~0.3.0",
- "glob": "~7.0.0",
- "grunt-cli": "~1.2.0",
- "grunt-known-options": "~1.1.0",
- "grunt-legacy-log": "~2.0.0",
- "grunt-legacy-util": "~1.1.1",
- "iconv-lite": "~0.4.13",
- "js-yaml": "~3.5.2",
- "minimatch": "~3.0.2",
- "mkdirp": "~0.5.1",
- "nopt": "~3.0.6",
- "path-is-absolute": "~1.0.0",
- "rimraf": "~2.6.2"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "grunt-babel": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-8.0.0.tgz",
- "integrity": "sha512-WuiZFvGzcyzlEoPIcY1snI234ydDWeWWV5bpnB7PZsOLHcDsxWKnrR1rMWEUsbdVPPjvIirwFNsuo4CbJmsdFQ==",
- "dev": true
- },
- "grunt-bump": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.8.0.tgz",
- "integrity": "sha1-0//gzzzws44JYHt4U49CpTHq/lU=",
- "dev": true,
- "requires": {
- "semver": "^5.1.0"
- }
- },
- "grunt-cli": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
- "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
- "dev": true,
- "requires": {
- "findup-sync": "~0.3.0",
- "grunt-known-options": "~1.1.0",
- "nopt": "~3.0.6",
- "resolve": "~1.1.0"
- }
- },
- "grunt-contrib-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
- "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "source-map": "^0.5.3"
- }
- },
- "grunt-contrib-cssmin": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.2.1.tgz",
- "integrity": "sha512-IXNomhQ5ekVZbDbj/ik5YccoD9khU6LT2fDXqO1+/Txjq8cp0tQKjVS8i8EAbHOrSDkL7/UD6A7b+xj98gqh9w==",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "clean-css": "~4.1.1",
- "maxmin": "^2.1.0"
- },
- "dependencies": {
- "gzip-size": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
- "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.1"
- }
- },
- "maxmin": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz",
- "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "figures": "^1.0.1",
- "gzip-size": "^3.0.0",
- "pretty-bytes": "^3.0.0"
- }
- }
- }
- },
- "grunt-contrib-imagemin": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-2.0.1.tgz",
- "integrity": "sha512-91zBrvh350QSpsxyCTXni0djMXavF3elBmvFgnbp/2CgIx53QYe+Cvf2+wZmrcb8U0qp+MjHl0Ahjct4+R6PLQ==",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "imagemin": "^5.3.1",
- "imagemin-gifsicle": "^5.0.0",
- "imagemin-jpegtran": "^5.0.0",
- "imagemin-optipng": "^5.1.0",
- "imagemin-svgo": "^5.1.0",
- "p-map": "^1.1.1",
- "plur": "^2.1.2",
- "pretty-bytes": "^4.0.2"
- },
- "dependencies": {
- "plur": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
- "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
- "dev": true,
- "requires": {
- "irregular-plurals": "^1.0.0"
- }
- },
- "pretty-bytes": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
- "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
- "dev": true
- }
- }
- },
- "grunt-contrib-jasmine": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/grunt-contrib-jasmine/-/grunt-contrib-jasmine-2.0.2.tgz",
- "integrity": "sha512-zRUbPAbnzEuLjRsJGHSmEoQnSa9CfVYSxoRglu9+nP23B05cEJU2WQCQg6lCTvNQ63MY4d3iW6SnuD7cBd1s8A==",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "grunt-eslint": "20.1.0",
- "lodash": "~2.4.1",
- "pacote": "8.1.3",
- "puppeteer": "1.4.0",
- "rimraf": "^2.1.4",
- "sprintf-js": "~1.0.3"
- },
- "dependencies": {
- "acorn-jsx": {
- "version": "3.0.1",
- "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true,
- "requires": {
- "acorn": "^3.0.4"
- },
- "dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- }
- }
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
- "dev": true
- },
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "eslint": {
- "version": "4.19.1",
- "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
- "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
- "dev": true,
- "requires": {
- "ajv": "^5.3.0",
- "babel-code-frame": "^6.22.0",
- "chalk": "^2.1.0",
- "concat-stream": "^1.6.0",
- "cross-spawn": "^5.1.0",
- "debug": "^3.1.0",
- "doctrine": "^2.1.0",
- "eslint-scope": "^3.7.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^3.5.4",
- "esquery": "^1.0.0",
- "esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
- "functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.0.1",
- "ignore": "^3.3.3",
- "imurmurhash": "^0.1.4",
- "inquirer": "^3.0.6",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.9.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.2",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
- "pluralize": "^7.0.0",
- "progress": "^2.0.0",
- "regexpp": "^1.0.1",
- "require-uncached": "^1.0.3",
- "semver": "^5.3.0",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "~2.0.1",
- "table": "4.0.2",
- "text-table": "~0.2.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "espree": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
- "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
- "dev": true,
- "requires": {
- "acorn": "^5.5.0",
- "acorn-jsx": "^3.0.0"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "external-editor": {
- "version": "2.2.0",
- "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
- "dev": true,
- "requires": {
- "chardet": "^0.4.0",
- "iconv-lite": "^0.4.17",
- "tmp": "^0.0.33"
- }
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "grunt-eslint": {
- "version": "20.1.0",
- "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-20.1.0.tgz",
- "integrity": "sha512-VZlDOLrB2KKefDDcx/wR8rEEz7smDwDKVblmooa+itdt/2jWw3ee2AiZB5Ap4s4AoRY0pbHRjZ3HHwY8uKR9Rw==",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0",
- "eslint": "^4.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
- "dev": true
- },
- "inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^2.0.4",
- "figures": "^2.0.0",
- "lodash": "^4.3.0",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rx-lite": "^4.0.8",
- "rx-lite-aggregates": "^4.0.8",
- "string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "lodash": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
- "dev": true
- },
- "regexpp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
- "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "table": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
- "dev": true,
- "requires": {
- "ajv": "^5.2.3",
- "ajv-keywords": "^2.1.0",
- "chalk": "^2.1.0",
- "lodash": "^4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "^2.1.1"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- }
- }
- },
- "grunt-contrib-uglify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-2.3.0.tgz",
- "integrity": "sha1-s9AmDr3WzvoS/y+Onh4ln33kIW8=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "maxmin": "^1.1.0",
- "object.assign": "^4.0.4",
- "uglify-js": "~2.8.21",
- "uri-path": "^1.0.0"
- }
- },
- "grunt-contrib-watch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
- "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
- "dev": true,
- "requires": {
- "async": "^2.6.0",
- "gaze": "^1.1.0",
- "lodash": "^4.17.10",
- "tiny-lr": "^1.1.1"
- },
- "dependencies": {
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.10"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- }
- }
- },
- "grunt-eslint": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-21.0.0.tgz",
- "integrity": "sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0",
- "eslint": "^5.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "grunt-exec": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.1.tgz",
- "integrity": "sha1-5dU6OcXzRpATBe3uXIfbDyr5mcQ=",
- "dev": true
- },
- "grunt-known-options": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
- "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
- "dev": true
- },
- "grunt-legacy-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
- "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
- "dev": true,
- "requires": {
- "colors": "~1.1.2",
- "grunt-legacy-log-utils": "~2.0.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.5"
- }
- },
- "grunt-legacy-log-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
- "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
- "dev": true,
- "requires": {
- "chalk": "~2.4.1",
- "lodash": "~4.17.10"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "grunt-legacy-util": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
- "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
- "dev": true,
- "requires": {
- "async": "~1.5.2",
- "exit": "~0.1.1",
- "getobject": "~0.1.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.10",
- "underscore.string": "~3.3.4",
- "which": "~1.3.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "grunt-replace": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/grunt-replace/-/grunt-replace-1.0.1.tgz",
- "integrity": "sha1-kKeVMvuJBB/kJ8h9QlI4sPiGZRo=",
- "dev": true,
- "requires": {
- "applause": "1.2.2",
- "chalk": "^1.1.0",
- "file-sync-cmp": "^0.1.0",
- "lodash": "^4.11.0"
- }
- },
- "grunt-responsive-images": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/grunt-responsive-images/-/grunt-responsive-images-1.10.1.tgz",
- "integrity": "sha1-X7JNhERN25woKuh/M0FCsXcmsgI=",
- "dev": true,
- "requires": {
- "async": "~1.5.2",
- "gm": "~1.23.0",
- "grunt": ">=0.4.5",
- "lodash": ">=4.6.1"
- }
- },
- "grunt-sass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.1.0.tgz",
- "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==",
- "dev": true,
- "requires": {
- "each-async": "^1.0.0",
- "node-sass": "^4.7.2",
- "object-assign": "^4.0.1"
- }
- },
- "grunt-shell": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-2.1.0.tgz",
- "integrity": "sha1-Q595FZ7RHmSmUaacyKPQK+v17MI=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "npm-run-path": "^2.0.0"
- }
- },
- "grunt-spritesmith": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/grunt-spritesmith/-/grunt-spritesmith-6.6.2.tgz",
- "integrity": "sha512-Wo/fxqY2e83OsjOWJxFsvZEnhMnfMBBYWeFDd5ySUDGt0q+xNyWkgwDPyZyiOe+0eWhW9Ny9mEXi8MgG67irdg==",
- "dev": true,
- "requires": {
- "async": "~1.5.0",
- "spritesheet-templates": "~10.2.0",
- "spritesmith": "~3.3.0",
- "underscore": "~1.4.2",
- "url2": "1.0.0"
- }
- },
- "grunt-template": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/grunt-template/-/grunt-template-1.0.0.tgz",
- "integrity": "sha1-Vgj5sFoGp4b6BIymZEfktI09HCE=",
- "dev": true
- },
- "gulp-decompress": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
- "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
- "dev": true,
- "requires": {
- "archive-type": "^3.0.0",
- "decompress": "^3.0.0",
- "gulp-util": "^3.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "gulp-rename": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
- "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
- "dev": true
- },
- "gulp-sourcemaps": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
- "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
- "dev": true,
- "requires": {
- "convert-source-map": "^1.1.1",
- "graceful-fs": "^4.1.2",
- "strip-bom": "^2.0.0",
- "through2": "^2.0.0",
- "vinyl": "^1.0.0"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
- },
- "dependencies": {
- "dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
- "dev": true
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
- },
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- },
- "vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true,
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
- }
- }
- },
- "gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true,
- "requires": {
- "glogg": "^1.0.0"
- }
- },
- "gzip-size": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz",
- "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",
- "dev": true,
- "requires": {
- "browserify-zlib": "^0.1.4",
- "concat-stream": "^1.4.1"
- }
- },
- "handlebars": {
- "version": "4.0.12",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
- "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
- "dev": true,
- "requires": {
- "async": "^2.5.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.10"
- }
- },
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
- "dev": true,
- "optional": true
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "uglify-js": {
- "version": "3.4.9",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
- "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "commander": "~2.17.1",
- "source-map": "~0.6.1"
- }
- }
- }
- },
- "handlebars-layouts": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/handlebars-layouts/-/handlebars-layouts-1.1.0.tgz",
- "integrity": "sha1-JhK+Wu2PICaXN8cxHaFcnC11+7w=",
- "dev": true
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
- "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
- "dev": true,
- "requires": {
- "ajv": "^5.1.0",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
- "dev": true,
- "requires": {
- "function-bind": "^1.0.2"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
- },
- "hooker": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
- "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
- "dev": true
- },
- "hosted-git-info": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
- "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
- "dev": true
- },
- "html-comment-regex": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
- "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
- "dev": true,
- "optional": true
- },
- "http-cache-semantics": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
- "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
- "dev": true
- },
- "http-parser-js": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
- "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
- "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
- "dev": true,
- "requires": {
- "agent-base": "4",
- "debug": "3.1.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "https-proxy-agent": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
- "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
- "dev": true,
- "requires": {
- "agent-base": "^4.1.0",
- "debug": "^3.1.0"
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
- "dev": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
- "dev": true
- },
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
- "dev": true
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "ignore-walk": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
- "dev": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "imagemagick": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/imagemagick/-/imagemagick-0.1.3.tgz",
- "integrity": "sha1-dIPOoJO02fLi85aFetyIIbU3xWo=",
- "dev": true
- },
- "imagemin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz",
- "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=",
- "dev": true,
- "requires": {
- "file-type": "^4.1.0",
- "globby": "^6.1.0",
- "make-dir": "^1.0.0",
- "p-pipe": "^1.1.0",
- "pify": "^2.3.0",
- "replace-ext": "^1.0.0"
- },
- "dependencies": {
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- }
- }
- },
- "imagemin-gifsicle": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz",
- "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "exec-buffer": "^3.0.0",
- "gifsicle": "^3.0.0",
- "is-gif": "^1.0.0"
- }
- },
- "imagemin-jpegtran": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz",
- "integrity": "sha1-5ogiY7j3kW/duABkDPddLpcNKtY=",
- "dev": true,
- "optional": true,
- "requires": {
- "exec-buffer": "^3.0.0",
- "is-jpg": "^1.0.0",
- "jpegtran-bin": "^3.0.0"
- }
- },
- "imagemin-optipng": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz",
- "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=",
- "dev": true,
- "optional": true,
- "requires": {
- "exec-buffer": "^3.0.0",
- "is-png": "^1.0.0",
- "optipng-bin": "^3.0.0"
- }
- },
- "imagemin-svgo": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-5.2.4.tgz",
- "integrity": "sha512-1bNZdlWVKdfxzu0xDD1pWjwK/G8FLcztUh/GWaI7xLgCFrn0j35o+uBbY7VcdY2AmKgiLYTXhrzrbkQk6xj8aA==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-svg": "^2.0.0",
- "svgo": "^0.7.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherit": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz",
- "integrity": "sha1-8WFLBshUToEo5CKchjR9tzrZeI0=",
- "dev": true
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
- "dev": true
- },
- "inquirer": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
- "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^3.0.0",
- "figures": "^2.0.0",
- "lodash": "^4.17.10",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.1.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
- "iota-array": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
- "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=",
- "dev": true
- },
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- },
- "ip-regex": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
- "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
- "dev": true,
- "optional": true
- },
- "irregular-plurals": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
- "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
- "dev": true
- },
- "is-absolute": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
- "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
- "dev": true,
- "requires": {
- "is-relative": "^0.1.0"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true,
- "requires": {
- "builtin-modules": "^1.0.0"
- }
- },
- "is-bzip2": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
- "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
- "dev": true
- },
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
- "dev": true
- },
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
- },
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
- "dev": true
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true,
- "requires": {
- "is-primitive": "^2.0.0"
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-gif": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
- "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=",
- "dev": true,
- "optional": true
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- },
- "is-gzip": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
- "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
- "dev": true
- },
- "is-jpg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz",
- "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=",
- "dev": true,
- "optional": true
- },
- "is-natural-number": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
- "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
- "dev": true
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
- "dev": true
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^1.0.0"
- }
- },
- "is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.1"
- }
- },
- "is-png": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
- "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=",
- "dev": true,
- "optional": true
- },
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
- "dev": true
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
- "dev": true
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true
- },
- "is-redirect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
- "dev": true
- },
- "is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "requires": {
- "has": "^1.0.1"
- }
- },
- "is-relative": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
- "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
- "dev": true
- },
- "is-resolvable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
- "dev": true
- },
- "is-retry-allowed": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
- "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
- },
- "is-svg": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
- "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
- "dev": true,
- "optional": true,
- "requires": {
- "html-comment-regex": "^1.1.0"
- }
- },
- "is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.0"
- }
- },
- "is-tar": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
- "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-url": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
- "dev": true
- },
- "is-zip": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
- "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "jasmine-jquery": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/jasmine-jquery/-/jasmine-jquery-2.1.1.tgz",
- "integrity": "sha1-1AleZGlEomdjI1dpqwGNnzDw1Hs=",
- "dev": true
- },
- "jit-grunt": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/jit-grunt/-/jit-grunt-0.10.0.tgz",
- "integrity": "sha1-AIw6f+Hpa9DYTiYOofoXg0V/ecI=",
- "dev": true
- },
- "jpeg-js": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.4.tgz",
- "integrity": "sha512-6IzjQxvnlT8UlklNmDXIJMWxijULjqGrzgqc0OG7YadZdvm7KPQ1j0ehmQQHckgEWOfgpptzcnWgESovxudpTA==",
- "dev": true
- },
- "jpegtran-bin": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz",
- "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^2.0.0",
- "bin-wrapper": "^3.0.0",
- "logalot": "^2.0.0"
- }
- },
- "jquery": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
- "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==",
- "dev": true
- },
- "js-base64": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
- "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==",
- "dev": true
- },
- "js-levenshtein": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.3.tgz",
- "integrity": "sha512-/812MXr9RBtMObviZ8gQBhHO8MOrGj8HlEE+4ccMTElNA/6I3u39u+bhny55Lk921yn44nSZFy9naNLElL5wgQ==",
- "dev": true
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "js-yaml": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
- "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
- "dev": true,
- "requires": {
- "argparse": "^1.0.2",
- "esprima": "^2.6.0"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
- "optional": true
- },
- "jsesc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
- "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
- "dev": true
- },
- "json-content-demux": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/json-content-demux/-/json-content-demux-0.1.3.tgz",
- "integrity": "sha1-XBJ3v387dRKoa3Mt3UGzLU38scw=",
- "dev": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true,
- "requires": {
- "jsonify": "~0.0.0"
- }
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
- },
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
- "dev": true
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "jsx-ast-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
- "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "layout": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/layout/-/layout-2.2.0.tgz",
- "integrity": "sha1-MeRL/BjdEBmz/7II5AKku/4uavQ=",
- "dev": true,
- "requires": {
- "bin-pack": "~1.0.1"
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- },
- "lazy-req": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
- "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=",
- "dev": true,
- "optional": true
- },
- "lazystream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.5"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "livereload-js": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
- "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
- "dev": true
- },
- "load-grunt-config": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/load-grunt-config/-/load-grunt-config-0.19.2.tgz",
- "integrity": "sha1-UgkNSiDG5j90p2SPJJsZ57f87CQ=",
- "dev": true,
- "requires": {
- "cson": "~3.0.2",
- "glob": "~5.0.15",
- "jit-grunt": "~0.10.0",
- "js-yaml": "~3.4.3",
- "load-grunt-tasks": "~3.3.0",
- "lodash": "~3.10.1"
- },
- "dependencies": {
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "js-yaml": {
- "version": "3.4.6",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
- "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=",
- "dev": true,
- "requires": {
- "argparse": "^1.0.2",
- "esprima": "^2.6.0",
- "inherit": "^2.2.2"
- }
- },
- "lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
- "dev": true
- }
- }
- },
- "load-grunt-tasks": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.3.0.tgz",
- "integrity": "sha1-vliSkJRY2T3fdp60vGhRAggMYyE=",
- "dev": true,
- "requires": {
- "arrify": "^1.0.0",
- "multimatch": "^2.0.0",
- "pkg-up": "^1.0.0"
- }
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
- }
- },
- "lodash": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
- "dev": true
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
- },
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
- "dev": true
- },
- "lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
- "dev": true
- },
- "lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "requires": {
- "lodash._root": "^3.0.0"
- }
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
- "dev": true
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "lodash.mergewith": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
- "dev": true
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
- "logalot": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
- "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
- "dev": true,
- "optional": true,
- "requires": {
- "figures": "^1.3.5",
- "squeak": "^1.0.0"
- }
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
- "lpad-align": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz",
- "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
- "dev": true,
- "optional": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "indent-string": "^2.1.0",
- "longest": "^1.0.0",
- "meow": "^3.3.0"
- }
- },
- "lru-cache": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
- "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
- },
- "make-fetch-happen": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz",
- "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==",
- "dev": true,
- "requires": {
- "agentkeepalive": "^3.4.1",
- "cacache": "^11.0.1",
- "http-cache-semantics": "^3.8.1",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
- "lru-cache": "^4.1.2",
- "mississippi": "^3.0.0",
- "node-fetch-npm": "^2.0.2",
- "promise-retry": "^1.1.1",
- "socks-proxy-agent": "^4.0.0",
- "ssri": "^6.0.0"
- }
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
- },
- "math-random": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
- "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
- "dev": true
- },
- "maxmin": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",
- "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "figures": "^1.0.1",
- "gzip-size": "^1.0.0",
- "pretty-bytes": "^1.0.0"
- },
- "dependencies": {
- "pretty-bytes": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
- "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.1.0"
- }
- }
- }
- },
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
- }
- },
- "merge-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
- "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
- "mime": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
- "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "dev": true,
- "requires": {
- "mime-db": "~1.33.0"
- }
- },
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- },
- "minipass": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz",
- "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "yallist": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
- "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
- "dev": true
- }
- }
- },
- "minizlib": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz",
- "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
- "dev": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
- }
- },
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "multimatch": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
- "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "minimatch": "^3.0.0"
- }
- },
- "multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true,
- "requires": {
- "duplexer2": "0.0.2"
- },
- "dependencies": {
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- }
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "ndarray": {
- "version": "1.0.18",
- "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.18.tgz",
- "integrity": "sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M=",
- "dev": true,
- "requires": {
- "iota-array": "^1.0.0",
- "is-buffer": "^1.0.2"
- }
- },
- "ndarray-fill": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ndarray-fill/-/ndarray-fill-1.0.2.tgz",
- "integrity": "sha1-owpg9xiODJWC/N1YiWrNy1IqHtY=",
- "dev": true,
- "requires": {
- "cwise": "^1.0.10"
- }
- },
- "ndarray-ops": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz",
- "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=",
- "dev": true,
- "requires": {
- "cwise-compiler": "^1.0.0"
- }
- },
- "ndarray-pack": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz",
- "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=",
- "dev": true,
- "requires": {
- "cwise-compiler": "^1.1.2",
- "ndarray": "^1.0.13"
- }
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "node-bitmap": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz",
- "integrity": "sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=",
- "dev": true
- },
- "node-fetch-npm": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
- "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==",
- "dev": true,
- "requires": {
- "encoding": "^0.1.11",
- "json-parse-better-errors": "^1.0.0",
- "safe-buffer": "^5.1.1"
- }
- },
- "node-releases": {
- "version": "1.0.0-alpha.11",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.11.tgz",
- "integrity": "sha512-CaViu+2FqTNYOYNihXa5uPS/zry92I3vPU4nCB6JB3OeZ2UGtOpF5gRwuN4+m3hbEcL47bOXyun1jX2iC+3uEQ==",
- "dev": true,
- "requires": {
- "semver": "^5.3.0"
- }
- },
- "node-sass": {
- "version": "4.9.3",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz",
- "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==",
- "dev": true,
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^1.1.1",
- "cross-spawn": "^3.0.0",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "in-publish": "^2.0.0",
- "lodash.assign": "^4.2.0",
- "lodash.clonedeep": "^4.3.2",
- "lodash.mergewith": "^4.6.0",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "nan": "^2.10.0",
- "node-gyp": "^3.8.0",
- "npmlog": "^4.0.0",
- "request": "2.87.0",
- "sass-graph": "^2.2.4",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "nan": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
- "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==",
- "dev": true
- },
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
- "dev": true,
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- }
- },
- "request": {
- "version": "2.87.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
- "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.6.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.1",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.1",
- "har-validator": "~5.0.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.17",
- "oauth-sign": "~0.8.2",
- "performance-now": "^2.1.0",
- "qs": "~6.5.1",
- "safe-buffer": "^5.1.1",
- "tough-cookie": "~2.3.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.1.0"
- }
- },
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
- }
- }
- },
- "node-status-codes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
- "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
- "dev": true
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- },
- "npm-bundled": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz",
- "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==",
- "dev": true
- },
- "npm-package-arg": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
- "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.6.0",
- "osenv": "^0.1.5",
- "semver": "^5.5.0",
- "validate-npm-package-name": "^3.0.0"
- }
- },
- "npm-packlist": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz",
- "integrity": "sha512-CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==",
- "dev": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npm-pick-manifest": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.1.0.tgz",
- "integrity": "sha512-q9zLP8cTr8xKPmMZN3naxp1k/NxVFsjxN6uWuO1tiw9gxg7wZWQ/b5UTfzD0ANw2q1lQxdLKTeCCksq+bPSgbQ==",
- "dev": true,
- "requires": {
- "npm-package-arg": "^6.0.0",
- "semver": "^5.4.1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "dev": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true
- },
- "obj-extend": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/obj-extend/-/obj-extend-0.1.0.tgz",
- "integrity": "sha1-u0SKR3X7les0p4H5CLusLfI9u1s=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "object-inspect": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz",
- "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=",
- "dev": true
- },
- "object-keys": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
- "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.entries": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
- "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.6.1",
- "function-bind": "^1.1.0",
- "has": "^1.0.1"
- }
- },
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
- "dev": true,
- "requires": {
- "for-own": "^0.1.4",
- "is-extendable": "^0.1.1"
- }
- },
- "omggif": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.9.tgz",
- "integrity": "sha1-3LcCTazVDFK00wPwSALJHAV8dl8=",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
- "dev": true
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
- "dev": true,
- "requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- }
- },
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
- },
- "dependencies": {
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
- }
- },
- "optipng-bin": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz",
- "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^2.0.0",
- "bin-wrapper": "^3.0.0",
- "logalot": "^2.0.0"
- }
- },
- "ordered-read-streams": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
- "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
- "dev": true,
- "requires": {
- "is-stream": "^1.0.1",
- "readable-stream": "^2.0.1"
- }
- },
- "os-filter-obj": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz",
- "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=",
- "dev": true,
- "optional": true
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-map": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
- "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
- "dev": true
- },
- "p-pipe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz",
- "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
- "dev": true
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "pacote": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-8.1.3.tgz",
- "integrity": "sha512-1mQvUgCBA9Bq1MtWCxuDzhDNZn0bhiOEUpiHHj/KepINGhb16NS8osaEsKEDTaNBwPZWm0aJJsZe04+6TEOkZQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.1",
- "cacache": "^11.0.2",
- "get-stream": "^3.0.0",
- "glob": "^7.1.2",
- "lru-cache": "^4.1.3",
- "make-fetch-happen": "^4.0.1",
- "minimatch": "^3.0.4",
- "minipass": "^2.3.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "normalize-package-data": "^2.4.0",
- "npm-package-arg": "^6.1.0",
- "npm-packlist": "^1.1.10",
- "npm-pick-manifest": "^2.1.0",
- "osenv": "^0.1.5",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^1.1.1",
- "protoduck": "^5.0.0",
- "rimraf": "^2.6.2",
- "safe-buffer": "^5.1.2",
- "semver": "^5.5.0",
- "ssri": "^6.0.0",
- "tar": "^4.4.1",
- "unique-filename": "^1.1.0",
- "which": "^1.3.0"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "tar": {
- "version": "4.4.6",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz",
- "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==",
- "dev": true,
- "requires": {
- "chownr": "^1.0.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.3",
- "minizlib": "^1.1.0",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- },
- "dependencies": {
- "yallist": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
- "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
- "dev": true
- }
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "pako": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
- "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
- "dev": true
- },
- "parallel-transform": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
- "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
- "dev": true,
- "requires": {
- "cyclist": "~0.2.2",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- }
- },
- "parse-data-uri": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/parse-data-uri/-/parse-data-uri-0.2.0.tgz",
- "integrity": "sha1-vwTYUd1ch7CrI45dAazklLYEtMk=",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "0.0.3"
- }
- },
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
- "dev": true,
- "requires": {
- "glob-base": "^0.3.0",
- "is-dotfile": "^1.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "parse-ms": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
- "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "pixelsmith": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/pixelsmith/-/pixelsmith-2.2.1.tgz",
- "integrity": "sha1-MT95MAKcZdCyj+HOKcBrjiy7OAc=",
- "dev": true,
- "requires": {
- "async": "~0.9.0",
- "concat-stream": "~1.5.1",
- "get-pixels": "~3.3.0",
- "mime-types": "~2.1.7",
- "ndarray": "~1.0.15",
- "ndarray-fill": "~1.0.1",
- "obj-extend": "~0.1.0",
- "save-pixels": "~2.3.0",
- "vinyl-file": "~1.3.0"
- },
- "dependencies": {
- "async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "~2.0.0",
- "typedarray": "~0.0.5"
- }
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "string_decoder": "~0.10.x",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- },
- "pkg-up": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
- "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- },
- "plur": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
- "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
- "dev": true
- },
- "pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
- "dev": true
- },
- "pngjs": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz",
- "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==",
- "dev": true
- },
- "pngjs-nozlib": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pngjs-nozlib/-/pngjs-nozlib-1.0.0.tgz",
- "integrity": "sha1-nmTWAs/pzOTZ1Zl9BodCmnPwt9c=",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "prepend-http": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
- "dev": true
- },
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
- "dev": true
- },
- "pretty-bytes": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
- "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "pretty-ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
- "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=",
- "dev": true,
- "requires": {
- "is-finite": "^1.0.1",
- "parse-ms": "^1.0.0",
- "plur": "^1.0.0"
- }
- },
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "progress": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
- "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
- "dev": true
- },
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
- "dev": true
- },
- "promise-retry": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
- "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
- "dev": true,
- "requires": {
- "err-code": "^1.0.0",
- "retry": "^0.10.0"
- }
- },
- "prop-types": {
- "version": "15.6.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
- "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.3.1",
- "object-assign": "^4.1.1"
- }
- },
- "protoduck": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.0.tgz",
- "integrity": "sha512-agsGWD8/RZrS4ga6v82Fxb0RHIS2RZnbsSue6A9/MBRhB/jcqOANAMNrqM9900b8duj+Gx+T/JMy5IowDoO/hQ==",
- "dev": true,
- "requires": {
- "genfun": "^4.0.1"
- }
- },
- "proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
- "psl": {
- "version": "1.1.29",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
- "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
- "requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "duplexify": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
- "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
- }
- },
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "puppeteer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.4.0.tgz",
- "integrity": "sha512-WDnC1FSHTedvRSS8BZB73tPAx2svUCWFdcxVjrybw8pbKOAB1v5S/pW0EamkqQoL1mXiBc+v8lyYjhhzMHIk1Q==",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "extract-zip": "^1.6.5",
- "https-proxy-agent": "^2.1.0",
- "mime": "^2.0.3",
- "progress": "^2.0.0",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^3.0.0"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
- "dev": true
- },
- "quote-stream": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz",
- "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8",
- "through2": "~0.4.1"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
- "object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
- "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "through2": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
- "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.17",
- "xtend": "~2.1.1"
- }
- },
- "xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true,
- "requires": {
- "object-keys": "~0.4.0"
- }
- }
- }
- },
- "randomatic": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz",
- "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",
- "dev": true,
- "requires": {
- "is-number": "^4.0.0",
- "kind-of": "^6.0.0",
- "math-random": "^1.0.1"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
- }
- }
- },
- "raw-body": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
- "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
- "dev": true,
- "requires": {
- "bytes": "1",
- "string_decoder": "0.10"
- },
- "dependencies": {
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
- }
- },
- "read-all-stream": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
- "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0",
- "readable-stream": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
- "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
- }
- },
- "regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
- "dev": true
- },
- "regenerate-unicode-properties": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
- "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
- "dev": true,
- "requires": {
- "regenerate": "^1.4.0"
- }
- },
- "regenerator-transform": {
- "version": "0.13.3",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
- "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
- "dev": true,
- "requires": {
- "private": "^0.1.6"
- }
- },
- "regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
- "dev": true,
- "requires": {
- "is-equal-shallow": "^0.1.3"
- }
- },
- "regexpp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz",
- "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==",
- "dev": true
- },
- "regexpu-core": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
- "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==",
- "dev": true,
- "requires": {
- "regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^7.0.0",
- "regjsgen": "^0.4.0",
- "regjsparser": "^0.3.0",
- "unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.0.2"
- }
- },
- "region-flags": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/region-flags/-/region-flags-1.1.0.tgz",
- "integrity": "sha1-a2AX5+uTaCbN2k0dZEaHHUtz+zk=",
- "dev": true
- },
- "regjsgen": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz",
- "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==",
- "dev": true
- },
- "regjsparser": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz",
- "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==",
- "dev": true,
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
- }
- }
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "requires": {
- "is-finite": "^1.0.0"
- }
- },
- "replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
- "dev": true
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
- "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
- "dev": true,
- "requires": {
- "ajv": "^5.3.0",
- "har-schema": "^2.0.0"
- }
- },
- "mime-db": {
- "version": "1.36.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
- "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.20",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
- "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
- "dev": true,
- "requires": {
- "mime-db": "~1.36.0"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- }
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "require-uncached": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true,
- "requires": {
- "caller-path": "^0.1.0",
- "resolve-from": "^1.0.0"
- }
- },
- "requirefresh": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/requirefresh/-/requirefresh-2.1.0.tgz",
- "integrity": "sha1-dC3Mwg86lpGNZsbxWX3I/+vE9vU=",
- "dev": true,
- "requires": {
- "editions": "^1.1.1"
- }
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- },
- "dependencies": {
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- }
- }
- },
- "retry": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
- "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
- "dev": true
- },
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.1"
- }
- },
- "rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
- "dev": true
- },
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
- },
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1"
- }
- },
- "rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
- "dev": true
- },
- "rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "dev": true,
- "requires": {
- "rx-lite": "*"
- }
- },
- "rxjs": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz",
- "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
- "dev": true
- },
- "safe-json-parse": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
- "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
- "dev": true
- },
- "safefs": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/safefs/-/safefs-4.1.0.tgz",
- "integrity": "sha1-+CrrS9165R9lPrIPZyizBYyNZEU=",
- "dev": true,
- "requires": {
- "editions": "^1.1.1",
- "graceful-fs": "^4.1.4"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "lodash": "^4.0.0",
- "scss-tokenizer": "^0.2.3",
- "yargs": "^7.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
- }
- }
- }
- },
- "save-pixels": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/save-pixels/-/save-pixels-2.3.4.tgz",
- "integrity": "sha1-SdNJwGuNfAEn2/DaJLRKylr7Wf4=",
- "dev": true,
- "requires": {
- "contentstream": "^1.0.0",
- "gif-encoder": "~0.4.1",
- "jpeg-js": "0.0.4",
- "ndarray": "^1.0.18",
- "ndarray-ops": "^1.2.2",
- "pngjs-nozlib": "^1.0.0",
- "through": "^2.3.4"
- },
- "dependencies": {
- "jpeg-js": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.0.4.tgz",
- "integrity": "sha1-Bqr0fv7HrwsZJKWc1pWm0rXthw4=",
- "dev": true
- }
- }
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true,
- "optional": true
- },
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
- "dev": true,
- "requires": {
- "js-base64": "^2.1.8",
- "source-map": "^0.4.2"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "seek-bzip": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
- "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
- "dev": true,
- "requires": {
- "commander": "~2.8.1"
- }
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
- },
- "semver-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz",
- "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=",
- "dev": true,
- "optional": true
- },
- "semver-truncate": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
- "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
- "dev": true,
- "optional": true,
- "requires": {
- "semver": "^5.3.0"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "dev": true
- },
- "shallow-copy": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
- "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "slice-ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- }
- }
- },
- "smart-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz",
- "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==",
- "dev": true
- },
- "socks": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz",
- "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==",
- "dev": true,
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.0.1"
- }
- },
- "socks-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==",
- "dev": true,
- "requires": {
- "agent-base": "~4.2.0",
- "socks": "~2.2.0"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
- "dev": true
- },
- "spdx-correct": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz",
- "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=",
- "dev": true
- },
- "spritesheet-templates": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/spritesheet-templates/-/spritesheet-templates-10.2.2.tgz",
- "integrity": "sha1-6J2ihbvM20HFm1eYFnTikGeJrWY=",
- "dev": true,
- "requires": {
- "handlebars": "~4.0.5",
- "handlebars-layouts": "~1.1.0",
- "json-content-demux": "~0.1.2",
- "underscore": "~1.4.2",
- "underscore.string": "~3.0.3"
- },
- "dependencies": {
- "underscore.string": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.0.3.tgz",
- "integrity": "sha1-Rhe4waJQz25QZPu7Nj0PqWzxRVI=",
- "dev": true
- }
- }
- },
- "spritesmith": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/spritesmith/-/spritesmith-3.3.1.tgz",
- "integrity": "sha512-7mq+oBkeHU66DvJZGeGZO6NGkCbRbQA/WXToLAPyl4YQ2dsYfT9kF2wECJ5ImskmQWllve4T1hGt7tmyaa7OqA==",
- "dev": true,
- "requires": {
- "concat-stream": "~1.5.1",
- "layout": "~2.2.0",
- "pixelsmith": "~2.2.0",
- "semver": "~5.0.3",
- "through2": "~2.0.0"
- },
- "dependencies": {
- "concat-stream": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "~2.0.0",
- "typedarray": "~0.0.5"
- }
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "string_decoder": "~0.10.x",
- "util-deprecate": "~1.0.1"
- }
- },
- "semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
- "dev": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- },
- "dependencies": {
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- }
- }
- },
- "squeak": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz",
- "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^1.0.0",
- "console-stream": "^0.1.1",
- "lpad-align": "^1.0.1"
- }
- },
- "sshpk": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
- "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
- "dev": true,
- "requires": {
- "figgy-pudding": "^3.5.1"
- }
- },
- "stat-mode": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
- "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
- "dev": true
- },
- "static-eval": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz",
- "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=",
- "dev": true,
- "requires": {
- "escodegen": "~0.0.24"
- },
- "dependencies": {
- "escodegen": {
- "version": "0.0.28",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz",
- "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=",
- "dev": true,
- "requires": {
- "esprima": "~1.0.2",
- "estraverse": "~1.3.0",
- "source-map": ">= 0.1.2"
- }
- },
- "esprima": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
- "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
- "dev": true
- },
- "estraverse": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz",
- "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=",
- "dev": true
- }
- }
- },
- "static-module": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz",
- "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=",
- "dev": true,
- "requires": {
- "concat-stream": "~1.6.0",
- "duplexer2": "~0.0.2",
- "escodegen": "~1.3.2",
- "falafel": "^2.1.0",
- "has": "^1.0.0",
- "object-inspect": "~0.4.0",
- "quote-stream": "~0.0.0",
- "readable-stream": "~1.0.27-1",
- "shallow-copy": "~0.0.1",
- "static-eval": "~0.2.0",
- "through2": "~0.4.1"
- },
- "dependencies": {
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- }
- }
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
- "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "through2": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
- "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.17",
- "xtend": "~2.1.1"
- }
- },
- "xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true,
- "requires": {
- "object-keys": "~0.4.0"
- }
- }
- }
- },
- "stdout-stream": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
- "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "stream-combiner2": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
- "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
- "dev": true,
- "requires": {
- "duplexer2": "~0.1.0",
- "readable-stream": "^2.0.2"
- }
- },
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
- }
- },
- "stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
- "dev": true
- },
- "string-template": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
- "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- },
- "strip-bom-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
- "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
- "dev": true,
- "requires": {
- "first-chunk-stream": "^1.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "strip-dirs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
- "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "get-stdin": "^4.0.1",
- "is-absolute": "^0.1.5",
- "is-natural-number": "^2.0.0",
- "minimist": "^1.1.0",
- "sum-up": "^1.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
- }
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true,
- "optional": true
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "strip-outer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
- }
- },
- "sum-up": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
- "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "svgo": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
- "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
- "dev": true,
- "optional": true,
- "requires": {
- "coa": "~1.0.1",
- "colors": "~1.1.2",
- "csso": "~2.3.1",
- "js-yaml": "~3.7.0",
- "mkdirp": "~0.5.1",
- "sax": "~1.2.1",
- "whet.extend": "~0.9.9"
- },
- "dependencies": {
- "js-yaml": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
- "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
- "dev": true,
- "optional": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^2.6.0"
- }
- }
- }
- },
- "table": {
- "version": "4.0.3",
- "resolved": "http://registry.npmjs.org/table/-/table-4.0.3.tgz",
- "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
- "dev": true,
- "requires": {
- "ajv": "^6.0.1",
- "ajv-keywords": "^3.0.0",
- "chalk": "^2.1.0",
- "lodash": "^4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "^2.1.1"
- },
- "dependencies": {
- "ajv": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
- "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "tar": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
- "dev": true,
- "requires": {
- "block-stream": "*",
- "fstream": "^1.0.2",
- "inherits": "2"
- }
- },
- "tar-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
- "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
- "dev": true,
- "requires": {
- "bl": "^1.0.0",
- "buffer-alloc": "^1.2.0",
- "end-of-stream": "^1.0.0",
- "fs-constants": "^1.0.0",
- "readable-stream": "^2.3.0",
- "to-buffer": "^1.1.1",
- "xtend": "^4.0.0"
- }
- },
- "temp-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
- "dev": true,
- "optional": true
- },
- "tempfile": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
- "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
- "dev": true,
- "optional": true,
- "requires": {
- "temp-dir": "^1.0.0",
- "uuid": "^3.0.1"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "through2-filter": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
- "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
- "dev": true,
- "requires": {
- "through2": "~2.0.0",
- "xtend": "~4.0.0"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "time-grunt": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz",
- "integrity": "sha1-BiIT5mDJB+hvRAVWwB6mWXtxJCA=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "date-time": "^1.1.0",
- "figures": "^1.0.0",
- "hooker": "^0.2.3",
- "number-is-nan": "^1.0.0",
- "pretty-ms": "^2.1.0",
- "text-table": "^0.2.0"
- }
- },
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- },
- "time-zone": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
- "integrity": "sha1-Sncotqwo2w4Aj1FAQ/1VW9VXO0Y=",
- "dev": true
- },
- "timed-out": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
- "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
- "dev": true
- },
- "tiny-lr": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
- "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
- "dev": true,
- "requires": {
- "body": "^5.1.0",
- "debug": "^3.1.0",
- "faye-websocket": "~0.10.0",
- "livereload-js": "^2.3.0",
- "object-assign": "^4.1.0",
- "qs": "^6.4.0"
- }
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "to-absolute-glob": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
- "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1"
- }
- },
- "to-buffer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
- "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
- "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true,
- "requires": {
- "punycode": "^1.4.1"
- }
- },
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
- },
- "trim-repeated": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
- }
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
- "dev": true
- },
- "true-case-path": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
- "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
- "dev": true,
- "requires": {
- "glob": "^6.0.4"
- },
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
- "dev": true
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
- "optional": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "typechecker": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.5.0.tgz",
- "integrity": "sha512-bqPE/ck3bVIaXP7gMKTKSHrypT32lpYTpiqzPYeYzdSQnmaGvaGhy7TnN/M/+5R+2rs/kKcp9ZLPRp/Q9Yj+4w==",
- "dev": true,
- "requires": {
- "editions": "^1.3.4"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
- },
- "underscore": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
- "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
- "dev": true
- },
- "underscore.string": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
- "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
- "dev": true,
- "requires": {
- "sprintf-js": "^1.0.3",
- "util-deprecate": "^1.0.2"
- }
- },
- "unicode-canonical-property-names-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
- "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
- "dev": true
- },
- "unicode-match-property-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
- "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
- "dev": true,
- "requires": {
- "unicode-canonical-property-names-ecmascript": "^1.0.4",
- "unicode-property-aliases-ecmascript": "^1.0.4"
- }
- },
- "unicode-match-property-value-ecmascript": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
- "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
- "dev": true
- },
- "unicode-property-aliases-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
- "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
- "dev": true
- },
- "uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
- "dev": true
- },
- "unique-filename": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz",
- "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=",
- "dev": true,
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz",
- "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "unique-stream": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
- "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
- "dev": true,
- "requires": {
- "json-stable-stringify": "^1.0.0",
- "through2-filter": "^2.0.0"
- }
- },
- "unzip-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
- "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
- "dev": true
- },
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- },
- "dependencies": {
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- }
- }
- },
- "uri-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",
- "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=",
- "dev": true
- },
- "url-parse-lax": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
- "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
- "dev": true,
- "requires": {
- "prepend-http": "^1.0.1"
- }
- },
- "url-regex": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
- "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "ip-regex": "^1.0.1"
- }
- },
- "url2": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url2/-/url2-1.0.0.tgz",
- "integrity": "sha1-taKGYJmqIX49p/T5DJq+7Adxyug=",
- "dev": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
- },
- "vali-date": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
- "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "validate-npm-package-name": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
- "dev": true,
- "requires": {
- "builtins": "^1.0.3"
- }
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "dev": true,
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- },
- "dependencies": {
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
- }
- }
- },
- "vinyl-assign": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
- "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
- "dev": true,
- "requires": {
- "object-assign": "^4.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "vinyl-file": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-1.3.0.tgz",
- "integrity": "sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "strip-bom": "^2.0.0",
- "strip-bom-stream": "^1.0.0",
- "vinyl": "^1.1.0"
- }
- },
- "vinyl-fs": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
- "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
- "dev": true,
- "requires": {
- "duplexify": "^3.2.0",
- "glob-stream": "^5.3.2",
- "graceful-fs": "^4.0.0",
- "gulp-sourcemaps": "1.6.0",
- "is-valid-glob": "^0.3.0",
- "lazystream": "^1.0.0",
- "lodash.isequal": "^4.0.0",
- "merge-stream": "^1.0.0",
- "mkdirp": "^0.5.0",
- "object-assign": "^4.0.0",
- "readable-stream": "^2.0.4",
- "strip-bom": "^2.0.0",
- "strip-bom-stream": "^1.0.0",
- "through2": "^2.0.0",
- "through2-filter": "^2.0.0",
- "vali-date": "^1.0.0",
- "vinyl": "^1.0.0"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "ware": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
- "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
- "dev": true,
- "requires": {
- "wrap-fn": "^0.1.0"
- }
- },
- "websocket-driver": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
- "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
- "dev": true,
- "requires": {
- "http-parser-js": ">=0.4.0",
- "websocket-extensions": ">=0.1.1"
- }
- },
- "websocket-extensions": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
- "dev": true
- },
- "whet.extend": {
- "version": "0.9.9",
- "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
- "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
- "dev": true,
- "optional": true
- },
- "which": {
- "version": "1.2.14",
- "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
- "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "wide-align": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
- "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
- "dev": true,
- "requires": {
- "string-width": "^1.0.2"
- }
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "dev": true
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- }
- },
- "wrap-fn": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
- "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
- "dev": true,
- "requires": {
- "co": "3.1.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- },
- "xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true
- }
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- }
- }
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- },
- "dependencies": {
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- }
- }
- }
- }
-}
diff --git a/lib/intl-tel-input-master/package.json b/lib/intl-tel-input-master/package.json
deleted file mode 100644
index db454aa..0000000
--- a/lib/intl-tel-input-master/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name": "intl-tel-input",
- "version": "14.0.7",
- "description": "A JavaScript plugin for entering and validating international telephone numbers",
- "keywords": [
- "international",
- "i18n",
- "country",
- "dial",
- "code",
- "telephone",
- "mobile",
- "input",
- "flag"
- ],
- "license": "MIT",
- "author": "Jack O'Connor (http://jackocnr.com)",
- "devDependencies": {
- "@babel/core": "^7.1.0",
- "@babel/preset-env": "^7.1.0",
- "babel-eslint": "^9.0.0",
- "custom-event-polyfill": "^1.0.6",
- "es6-promise": "^4.2.5",
- "eslint-config-airbnb": "^17.1.0",
- "eslint-plugin-import": "^2.14.0",
- "eslint-plugin-jsx-a11y": "^6.1.1",
- "eslint-plugin-react": "^7.11.1",
- "evenizer": "^0.1.17",
- "grunt": "^1.0.3",
- "grunt-babel": "^8.0.0",
- "grunt-bump": "^0.8.0",
- "grunt-cli": "^1.2.0",
- "grunt-contrib-concat": "^1.0.1",
- "grunt-contrib-cssmin": "^2.2.1",
- "grunt-contrib-imagemin": "^2.0.1",
- "grunt-contrib-jasmine": "^2.0.2",
- "grunt-contrib-uglify": "^2.1.0",
- "grunt-contrib-watch": "^1.1.0",
- "grunt-eslint": "^21.0.0",
- "grunt-exec": "^1.0.1",
- "grunt-replace": "^1.0.1",
- "grunt-responsive-images": "^1.10.1",
- "grunt-sass": "^2.0.0",
- "grunt-shell": "^2.1.0",
- "grunt-spritesmith": "^6.6.2",
- "grunt-template": "^1.0.0",
- "jasmine-jquery": "^2.1.1",
- "jquery": "^3.1.1",
- "load-grunt-config": "^0.19.2",
- "region-flags": "^1.1.0",
- "time-grunt": "^1.4.0"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/jackocnr/intl-tel-input.git"
- },
- "scripts": {
- "test": "grunt travis",
- "build": "grunt build",
- "build:js": "grunt js",
- "build:css": "grunt css",
- "build:img": "grunt img",
- "watch": "grunt watch"
- }
-}
diff --git a/lib/intl-tel-input-master/screenshots/separateDialCode.png b/lib/intl-tel-input-master/screenshots/separateDialCode.png
deleted file mode 100644
index a42a498..0000000
Binary files a/lib/intl-tel-input-master/screenshots/separateDialCode.png and /dev/null differ
diff --git a/lib/intl-tel-input-master/screenshots/vanilla.png b/lib/intl-tel-input-master/screenshots/vanilla.png
deleted file mode 100644
index 7d2b570..0000000
Binary files a/lib/intl-tel-input-master/screenshots/vanilla.png and /dev/null differ
diff --git a/lib/intl-tel-input-master/spec.html b/lib/intl-tel-input-master/spec.html
deleted file mode 100644
index dcba74d..0000000
--- a/lib/intl-tel-input-master/spec.html
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
- Jasmine Spec Runner
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/intl-tel-input-master/src/css/demo.scss b/lib/intl-tel-input-master/src/css/demo.scss
deleted file mode 100644
index 3fb6fa8..0000000
--- a/lib/intl-tel-input-master/src/css/demo.scss
+++ /dev/null
@@ -1,81 +0,0 @@
-* {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
-}
-
-body {
- margin: 20px;
-
- font-size: 14px;
- font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
- color: #555;
-}
-
-.hide {
- display: none;
-}
-
-// example code blocks
-pre {
- margin: 0 !important; // override prism.css
- display: inline-block;
-}
-// override weird rule in prism.css that puts a background on '='
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.variable {
- background: none;
-}
-
-// general form styling
-input, button {
- height: 35px;
- margin: 0;
- padding: 6px 12px;
- border-radius: 2px;
-
- // same font style, size and color as rest of site
- font-family: inherit;
- font-size: 100%;
- color: inherit;
-
- &[disabled] {
- background-color: #eee;
- }
-}
-
-// select useful for examples
-input, select {
- border: 1px solid #CCC;
- width: 250px;
-}
-::-webkit-input-placeholder {
- color: #BBB;
-}
-::-moz-placeholder { /* Firefox 19+ */
- color: #BBB;
- opacity: 1;
-}
-:-ms-input-placeholder {
- color: #BBB;
-}
-
-// borrowed from bootstrap
-button {
- color: #FFF;
- background-color: #428BCA;
- border: 1px solid #357EBD;
- &:hover {
- background-color: #3276B1;
- border-color: #285E8E;
- cursor: pointer;
- }
-}
-
-// examples
-#result {
- margin-bottom: 100px;
-}
diff --git a/lib/intl-tel-input-master/src/css/intlTelInput.scss b/lib/intl-tel-input-master/src/css/intlTelInput.scss
deleted file mode 100644
index d4d41a6..0000000
--- a/lib/intl-tel-input-master/src/css/intlTelInput.scss
+++ /dev/null
@@ -1,340 +0,0 @@
-// NOTE: by using !default on all variables, we're saying only declare the variable if it doesn't
-// already exist, which allows devs to declare these variables themselves and assign them any value
-// they want before importing this file
-
-// rgba is needed for the selected flag hover state to blend in with
-// the border-highlighting some browsers give the input on focus
-$hoverColor: rgba(0, 0, 0, 0.05) !default;
-$greyText: #999 !default;
-$greyBorder: #CCC !default;
-
-$flagHeight: 15px !default;
-$flagWidth: 20px !default;
-$flagPadding: 8px !default;
-// this border width is used for the popup and divider, but it is also
-// assumed to be the border width of the input, which we do not control
-$borderWidth: 1px !default;
-
-$arrowHeight: 4px !default;
-$arrowWidth: 6px !default;
-$triangleBorder: 3px !default;
-$arrowPadding: 6px !default;
-$arrowColor: #555 !default;
-
-$inputPadding: 6px !default;
-$selectedFlagWidth: $flagWidth + (2 * $flagPadding) !default;
-$selectedFlagArrowWidth: $flagWidth + $flagPadding + $arrowWidth + (2 * $arrowPadding) !default;
-$selectedFlagDialCodeWidth: $selectedFlagWidth + $flagPadding !default;
-$selectedFlagArrowDialCodeWidth: $selectedFlagArrowWidth + $flagPadding !default;
-
-// image related variables
-$flagsImagePath: "../img/" !default;
-$flagsImageName: "flags" !default;
-$flagsImageExtension: "png" !default;
-
-// enough space for them to click off to close
-$mobilePopupMargin: 30px !default;
-
-.intl-tel-input {
- // need position on the container so the selected flag can be
- // absolutely positioned over the input
- position: relative;
- // keep the input's default inline properties
- display: inline-block;
-
- // paul irish says this is ok
- // http://www.paulirish.com/2012/box-sizing-border-box-ftw/
- * {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- }
-
- .hide {
- display: none;
- }
- // need this during init, to get the height of the dropdown
- .v-hide {
- visibility: hidden;
- }
-
- // specify types to increase specificity e.g. to override bootstrap v2.3
- input, input[type=text], input[type=tel] {
- position: relative;
- // input is bottom level, below selected flag and dropdown
- z-index: 0;
-
- // any vertical margin the user has on their inputs would no longer work as expected
- // because we wrap everything in a container div. i justify the use of !important
- // here because i don't think the user should ever have vertical margin here - when
- // the input is wrapped in a container, vertical margin messes up alignment with other
- // inline elements (e.g. an adjacent button) in firefox, and probably other browsers.
- margin-top: 0 !important;
- margin-bottom: 0 !important;
-
- // make space for the selected flag
- // Note: no !important here, as the user may want to tweak this so that the
- // perceived input padding matches their existing styles
- padding-right: $selectedFlagWidth;
-
- // any margin-right here will push the selected-flag away
- margin-right: 0;
- }
-
- .flag-container {
- // positioned over the top of the input
- position: absolute;
- // full height
- top: 0;
- bottom: 0;
- right: 0;
- // prevent the highlighted child from overlapping the input border
- padding: $borderWidth;
- }
-
- .selected-flag {
- // render above the input
- z-index: 1;
- position: relative;
- width: $selectedFlagWidth;
- // this must be full-height both for the hover highlight, and to push down the
- // dropdown so it appears below the input
- height: 100%;
- padding: 0 0 0 $flagPadding;
-
- // vertically center the flag
- .iti-flag {
- position: absolute;
- top: 0;
- bottom: 0;
- margin: auto;
- }
-
- .iti-arrow {
- position: absolute;
- // split the difference between the flag and the arrow height to verically center
- top: 50%;
- margin-top: -1 * ($arrowHeight / 2);
- right: $arrowPadding;
-
- // css triangle
- width: 0;
- height: 0;
- border-left: $triangleBorder solid transparent;
- border-right: $triangleBorder solid transparent;
- border-top: $arrowHeight solid $arrowColor;
-
- &.up {
- border-top: none;
- border-bottom: $arrowHeight solid $arrowColor;
- }
- }
- }
-
- // the dropdown
- .country-list {
- position: absolute;
- // popup so render above everything else
- z-index: 2;
-
- // override default list styles
- list-style: none;
- // in case any container has text-align:center
- text-align: left;
-
- // place menu above the input element
- &.dropup {
- bottom: 100%;
- margin-bottom: (-$borderWidth);
- }
-
- // dropdown flags need consistent width, so wrap in a container
- .flag-box {
- display: inline-block;
- width: $flagWidth;
- }
-
- padding: 0;
- // margin-left to compensate for the padding on the parent
- margin: 0 0 0 (-$borderWidth);
-
- box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
- background-color: white;
- border: $borderWidth solid $greyBorder;
-
- // don't let the contents wrap AKA the container will be as wide as the contents
- white-space: nowrap;
- // except on small screens, where we force the dropdown width to match the input
- @media (max-width: 500px) {
- white-space: normal;
- }
-
- max-height: 200px;
- overflow-y: scroll;
-
- // Fixes https://github.com/jackocnr/intl-tel-input/issues/765
- // Apple still hasn't fixed the issue where setting overflow: scroll on a div element does not use inertia scrolling
- // If this is not set, then the country list scroll stops moving after rasing a finger, and users report that scroll is slow
- // Stackoverflow question about it: https://stackoverflow.com/questions/33601165/scrolling-slow-on-mobile-ios-when-using-overflowscroll
- -webkit-overflow-scrolling: touch;
-
- // the divider below the preferred countries
- .divider {
- padding-bottom: 5px;
- margin-bottom: 5px;
- border-bottom: $borderWidth solid $greyBorder;
- }
-
- // each country item in dropdown (we must have separate class to differentiate from dividers)
- .country {
- // Note: decided not to use line-height here for alignment because it causes issues e.g. large font-sizes will overlap, and also looks bad if one country overflows onto 2 lines
- padding: 5px 10px;
- // the dial codes after the country names are greyed out
- .dial-code {
- color: $greyText;
- }
- }
- .country.highlight {
- background-color: $hoverColor;
- }
-
- // spacing between country flag, name and dial code
- .flag-box, .country-name, .dial-code {
- vertical-align: middle;
- }
- .flag-box, .country-name {
- margin-right: 6px;
- }
- }
-
- &.allow-dropdown, &.separate-dial-code {
- input, input[type=text], input[type=tel] {
- padding-right: $inputPadding;
- padding-left: $selectedFlagArrowWidth + $inputPadding;
- margin-left: 0;
- }
- .flag-container {
- right: auto;
- left: 0;
- }
- .selected-flag {
- width: $selectedFlagArrowWidth;
- }
- }
-
- &.allow-dropdown {
- // hover state - show flag is clickable
- .flag-container:hover {
- cursor: pointer;
- .selected-flag {
- background-color: $hoverColor;
- }
- }
- // disable hover state when input is disabled
- input[disabled] + .flag-container:hover, input[readonly] + .flag-container:hover {
- cursor: default;
- .selected-flag {
- background-color: transparent;
- }
- }
- }
-
- &.separate-dial-code {
- .selected-flag {
- // now that we have digits in this section, it needs this visual separation
- background-color: $hoverColor;
- // for vertical centering
- display: table;
- }
- .selected-dial-code {
- // for vertical centering
- display: table-cell;
- vertical-align: middle;
-
- padding-left: $flagWidth + $flagPadding;
- }
-
- // .iti-sdc is for Separate Dial Code, with lengths from 2-5 because shortest is "+1", longest is "+1684"
- $charLength: 8px;
- @for $i from 2 through 5 {
- &.iti-sdc-#{$i} {
- input, input[type=text], input[type=tel] {
- padding-left: $selectedFlagDialCodeWidth + $inputPadding + ($i * $charLength);
- }
- .selected-flag {
- width: $selectedFlagDialCodeWidth + ($i * $charLength);
- }
- }
- &.allow-dropdown.iti-sdc-#{$i} {
- input, input[type=text], input[type=tel] {
- padding-left: $selectedFlagArrowDialCodeWidth + $inputPadding + ($i * $charLength);
- }
- .selected-flag {
- width: $selectedFlagArrowDialCodeWidth + ($i * $charLength);
- }
- }
- }
- }
-
- // if dropdownContainer option is set, increase z-index to prevent display issues
- &.iti-container {
- position: absolute;
- top: -1000px;
- left: -1000px;
- // higher than default Bootstrap modal z-index of 1050
- z-index: 1060;
- // to keep styling consistent with .flag-container
- padding: $borderWidth;
- &:hover {
- cursor: pointer;
- }
- }
-}
-
-// overrides for mobile popup
-.iti-mobile .intl-tel-input {
- &.iti-container {
- top: $mobilePopupMargin;
- bottom: $mobilePopupMargin;
- left: $mobilePopupMargin;
- right: $mobilePopupMargin;
- position: fixed;
- }
- .country-list {
- max-height: 100%;
- width: 100%;
- .country {
- padding: 10px 10px;
- // increase line height because dropdown copy is v likely to overflow on mobile and when it does it needs to be well spaced
- line-height: 1.5em;
- }
- }
-}
-
-
-
-
-
-
-@import "sprite";
-
-.iti-flag {
- width: $flagWidth;
- height: $flagHeight;
- box-shadow: 0px 0px 1px 0px #888;
- background-image: url("#{$flagsImagePath}#{$flagsImageName}.#{$flagsImageExtension}");
- background-repeat: no-repeat;
- // empty state
- background-color: #DBDBDB;
- background-position: $flagWidth 0;
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url("#{$flagsImagePath}#{$flagsImageName}@2x.#{$flagsImageExtension}");
- }
-}
-
-
-
-// hack for Nepal which is the only flag that is not square/rectangle, so it has transparency, so you can see the default grey behind it
-.iti-flag.np {
- background-color: transparent;
-}
diff --git a/lib/intl-tel-input-master/src/css/sprite.scss b/lib/intl-tel-input-master/src/css/sprite.scss
deleted file mode 100644
index a88adb3..0000000
--- a/lib/intl-tel-input-master/src/css/sprite.scss
+++ /dev/null
@@ -1,1058 +0,0 @@
-@function retina-size($value) {
- @return floor($value / 2);
-}
-
-@mixin retina-bg-size($spriteWidth, $spriteHeight) {
- background-size: floor($spriteWidth / 2) floor($spriteHeight / 2);
-}
-
-.iti-flag {
- $item-width-maps: (ac: 20px, ad: 20px, ae: 20px, af: 20px, ag: 20px, ai: 20px, al: 20px, am: 20px, ao: 20px, aq: 20px, ar: 20px, as: 20px, at: 20px, au: 20px, aw: 20px, ax: 20px, az: 20px, ba: 20px, bb: 20px, bd: 20px, be: 18px, bf: 20px, bg: 20px, bh: 20px, bi: 20px, bj: 20px, bl: 20px, bm: 20px, bn: 20px, bo: 20px, bq: 20px, br: 20px, bs: 20px, bt: 20px, bv: 20px, bw: 20px, by: 20px, bz: 20px, ca: 20px, cc: 20px, cd: 20px, cf: 20px, cg: 20px, ch: 15px, ci: 20px, ck: 20px, cl: 20px, cm: 20px, cn: 20px, co: 20px, cp: 20px, cr: 20px, cu: 20px, cv: 20px, cw: 20px, cx: 20px, cy: 20px, cz: 20px, de: 20px, dg: 20px, dj: 20px, dk: 20px, dm: 20px, do: 20px, dz: 20px, ea: 20px, ec: 20px, ee: 20px, eg: 20px, eh: 20px, er: 20px, es: 20px, et: 20px, eu: 20px, fi: 20px, fj: 20px, fk: 20px, fm: 20px, fo: 20px, fr: 20px, ga: 20px, gb: 20px, gd: 20px, ge: 20px, gf: 20px, gg: 20px, gh: 20px, gi: 20px, gl: 20px, gm: 20px, gn: 20px, gp: 20px, gq: 20px, gr: 20px, gs: 20px, gt: 20px, gu: 20px, gw: 20px, gy: 20px, hk: 20px, hm: 20px, hn: 20px, hr: 20px, ht: 20px, hu: 20px, ic: 20px, id: 20px, ie: 20px, il: 20px, im: 20px, in: 20px, io: 20px, iq: 20px, ir: 20px, is: 20px, it: 20px, je: 20px, jm: 20px, jo: 20px, jp: 20px, ke: 20px, kg: 20px, kh: 20px, ki: 20px, km: 20px, kn: 20px, kp: 20px, kr: 20px, kw: 20px, ky: 20px, kz: 20px, la: 20px, lb: 20px, lc: 20px, li: 20px, lk: 20px, lr: 20px, ls: 20px, lt: 20px, lu: 20px, lv: 20px, ly: 20px, ma: 20px, mc: 19px, md: 20px, me: 20px, mf: 20px, mg: 20px, mh: 20px, mk: 20px, ml: 20px, mm: 20px, mn: 20px, mo: 20px, mp: 20px, mq: 20px, mr: 20px, ms: 20px, mt: 20px, mu: 20px, mv: 20px, mw: 20px, mx: 20px, my: 20px, mz: 20px, na: 20px, nc: 20px, ne: 18px, nf: 20px, ng: 20px, ni: 20px, nl: 20px, no: 20px, np: 13px, nr: 20px, nu: 20px, nz: 20px, om: 20px, pa: 20px, pe: 20px, pf: 20px, pg: 20px, ph: 20px, pk: 20px, pl: 20px, pm: 20px, pn: 20px, pr: 20px, ps: 20px, pt: 20px, pw: 20px, py: 20px, qa: 20px, re: 20px, ro: 20px, rs: 20px, ru: 20px, rw: 20px, sa: 20px, sb: 20px, sc: 20px, sd: 20px, se: 20px, sg: 20px, sh: 20px, si: 20px, sj: 20px, sk: 20px, sl: 20px, sm: 20px, sn: 20px, so: 20px, sr: 20px, ss: 20px, st: 20px, sv: 20px, sx: 20px, sy: 20px, sz: 20px, ta: 20px, tc: 20px, td: 20px, tf: 20px, tg: 20px, th: 20px, tj: 20px, tk: 20px, tl: 20px, tm: 20px, tn: 20px, to: 20px, tr: 20px, tt: 20px, tv: 20px, tw: 20px, tz: 20px, ua: 20px, ug: 20px, um: 20px, un: 20px, us: 20px, uy: 20px, uz: 20px, va: 15px, vc: 20px, ve: 20px, vg: 20px, vi: 20px, vn: 20px, vu: 20px, wf: 20px, ws: 20px, xk: 20px, ye: 20px, yt: 20px, za: 20px, zm: 20px, zw: 20px, );
- $standard-country: 'ac';
- width: map-get($item-width-maps, $standard-country);
-
- @each $key, $width in $item-width-maps {
- @if $width != map-get($item-width-maps, $standard-country) {
- &.#{$key} {
- width: $width;
- }
- }
- }
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-size: 5652px 15px;
- }
-
- &.ac {
- height: 10px;
- background-position: 0px 0px;
- }
- &.ad {
- height: 14px;
- background-position: -22px 0px;
- }
- &.ae {
- height: 10px;
- background-position: -44px 0px;
- }
- &.af {
- height: 14px;
- background-position: -66px 0px;
- }
- &.ag {
- height: 14px;
- background-position: -88px 0px;
- }
- &.ai {
- height: 10px;
- background-position: -110px 0px;
- }
- &.al {
- height: 15px;
- background-position: -132px 0px;
- }
- &.am {
- height: 10px;
- background-position: -154px 0px;
- }
- &.ao {
- height: 14px;
- background-position: -176px 0px;
- }
- &.aq {
- height: 14px;
- background-position: -198px 0px;
- }
- &.ar {
- height: 13px;
- background-position: -220px 0px;
- }
- &.as {
- height: 10px;
- background-position: -242px 0px;
- }
- &.at {
- height: 14px;
- background-position: -264px 0px;
- }
- &.au {
- height: 10px;
- background-position: -286px 0px;
- }
- &.aw {
- height: 14px;
- background-position: -308px 0px;
- }
- &.ax {
- height: 13px;
- background-position: -330px 0px;
- }
- &.az {
- height: 10px;
- background-position: -352px 0px;
- }
- &.ba {
- height: 10px;
- background-position: -374px 0px;
- }
- &.bb {
- height: 14px;
- background-position: -396px 0px;
- }
- &.bd {
- height: 12px;
- background-position: -418px 0px;
- }
- &.be {
- height: 15px;
- background-position: -440px 0px;
- }
- &.bf {
- height: 14px;
- background-position: -460px 0px;
- }
- &.bg {
- height: 12px;
- background-position: -482px 0px;
- }
- &.bh {
- height: 12px;
- background-position: -504px 0px;
- }
- &.bi {
- height: 12px;
- background-position: -526px 0px;
- }
- &.bj {
- height: 14px;
- background-position: -548px 0px;
- }
- &.bl {
- height: 14px;
- background-position: -570px 0px;
- }
- &.bm {
- height: 10px;
- background-position: -592px 0px;
- }
- &.bn {
- height: 10px;
- background-position: -614px 0px;
- }
- &.bo {
- height: 14px;
- background-position: -636px 0px;
- }
- &.bq {
- height: 14px;
- background-position: -658px 0px;
- }
- &.br {
- height: 14px;
- background-position: -680px 0px;
- }
- &.bs {
- height: 10px;
- background-position: -702px 0px;
- }
- &.bt {
- height: 14px;
- background-position: -724px 0px;
- }
- &.bv {
- height: 15px;
- background-position: -746px 0px;
- }
- &.bw {
- height: 14px;
- background-position: -768px 0px;
- }
- &.by {
- height: 10px;
- background-position: -790px 0px;
- }
- &.bz {
- height: 14px;
- background-position: -812px 0px;
- }
- &.ca {
- height: 10px;
- background-position: -834px 0px;
- }
- &.cc {
- height: 10px;
- background-position: -856px 0px;
- }
- &.cd {
- height: 15px;
- background-position: -878px 0px;
- }
- &.cf {
- height: 14px;
- background-position: -900px 0px;
- }
- &.cg {
- height: 14px;
- background-position: -922px 0px;
- }
- &.ch {
- height: 15px;
- background-position: -944px 0px;
- }
- &.ci {
- height: 14px;
- background-position: -961px 0px;
- }
- &.ck {
- height: 10px;
- background-position: -983px 0px;
- }
- &.cl {
- height: 14px;
- background-position: -1005px 0px;
- }
- &.cm {
- height: 14px;
- background-position: -1027px 0px;
- }
- &.cn {
- height: 14px;
- background-position: -1049px 0px;
- }
- &.co {
- height: 14px;
- background-position: -1071px 0px;
- }
- &.cp {
- height: 14px;
- background-position: -1093px 0px;
- }
- &.cr {
- height: 12px;
- background-position: -1115px 0px;
- }
- &.cu {
- height: 10px;
- background-position: -1137px 0px;
- }
- &.cv {
- height: 12px;
- background-position: -1159px 0px;
- }
- &.cw {
- height: 14px;
- background-position: -1181px 0px;
- }
- &.cx {
- height: 10px;
- background-position: -1203px 0px;
- }
- &.cy {
- height: 14px;
- background-position: -1225px 0px;
- }
- &.cz {
- height: 14px;
- background-position: -1247px 0px;
- }
- &.de {
- height: 12px;
- background-position: -1269px 0px;
- }
- &.dg {
- height: 10px;
- background-position: -1291px 0px;
- }
- &.dj {
- height: 14px;
- background-position: -1313px 0px;
- }
- &.dk {
- height: 15px;
- background-position: -1335px 0px;
- }
- &.dm {
- height: 10px;
- background-position: -1357px 0px;
- }
- &.do {
- height: 14px;
- background-position: -1379px 0px;
- }
- &.dz {
- height: 14px;
- background-position: -1401px 0px;
- }
- &.ea {
- height: 14px;
- background-position: -1423px 0px;
- }
- &.ec {
- height: 14px;
- background-position: -1445px 0px;
- }
- &.ee {
- height: 13px;
- background-position: -1467px 0px;
- }
- &.eg {
- height: 14px;
- background-position: -1489px 0px;
- }
- &.eh {
- height: 10px;
- background-position: -1511px 0px;
- }
- &.er {
- height: 10px;
- background-position: -1533px 0px;
- }
- &.es {
- height: 14px;
- background-position: -1555px 0px;
- }
- &.et {
- height: 10px;
- background-position: -1577px 0px;
- }
- &.eu {
- height: 14px;
- background-position: -1599px 0px;
- }
- &.fi {
- height: 12px;
- background-position: -1621px 0px;
- }
- &.fj {
- height: 10px;
- background-position: -1643px 0px;
- }
- &.fk {
- height: 10px;
- background-position: -1665px 0px;
- }
- &.fm {
- height: 11px;
- background-position: -1687px 0px;
- }
- &.fo {
- height: 15px;
- background-position: -1709px 0px;
- }
- &.fr {
- height: 14px;
- background-position: -1731px 0px;
- }
- &.ga {
- height: 15px;
- background-position: -1753px 0px;
- }
- &.gb {
- height: 10px;
- background-position: -1775px 0px;
- }
- &.gd {
- height: 12px;
- background-position: -1797px 0px;
- }
- &.ge {
- height: 14px;
- background-position: -1819px 0px;
- }
- &.gf {
- height: 14px;
- background-position: -1841px 0px;
- }
- &.gg {
- height: 14px;
- background-position: -1863px 0px;
- }
- &.gh {
- height: 14px;
- background-position: -1885px 0px;
- }
- &.gi {
- height: 10px;
- background-position: -1907px 0px;
- }
- &.gl {
- height: 14px;
- background-position: -1929px 0px;
- }
- &.gm {
- height: 14px;
- background-position: -1951px 0px;
- }
- &.gn {
- height: 14px;
- background-position: -1973px 0px;
- }
- &.gp {
- height: 14px;
- background-position: -1995px 0px;
- }
- &.gq {
- height: 14px;
- background-position: -2017px 0px;
- }
- &.gr {
- height: 14px;
- background-position: -2039px 0px;
- }
- &.gs {
- height: 10px;
- background-position: -2061px 0px;
- }
- &.gt {
- height: 13px;
- background-position: -2083px 0px;
- }
- &.gu {
- height: 11px;
- background-position: -2105px 0px;
- }
- &.gw {
- height: 10px;
- background-position: -2127px 0px;
- }
- &.gy {
- height: 12px;
- background-position: -2149px 0px;
- }
- &.hk {
- height: 14px;
- background-position: -2171px 0px;
- }
- &.hm {
- height: 10px;
- background-position: -2193px 0px;
- }
- &.hn {
- height: 10px;
- background-position: -2215px 0px;
- }
- &.hr {
- height: 10px;
- background-position: -2237px 0px;
- }
- &.ht {
- height: 12px;
- background-position: -2259px 0px;
- }
- &.hu {
- height: 10px;
- background-position: -2281px 0px;
- }
- &.ic {
- height: 14px;
- background-position: -2303px 0px;
- }
- &.id {
- height: 14px;
- background-position: -2325px 0px;
- }
- &.ie {
- height: 10px;
- background-position: -2347px 0px;
- }
- &.il {
- height: 15px;
- background-position: -2369px 0px;
- }
- &.im {
- height: 10px;
- background-position: -2391px 0px;
- }
- &.in {
- height: 14px;
- background-position: -2413px 0px;
- }
- &.io {
- height: 10px;
- background-position: -2435px 0px;
- }
- &.iq {
- height: 14px;
- background-position: -2457px 0px;
- }
- &.ir {
- height: 12px;
- background-position: -2479px 0px;
- }
- &.is {
- height: 15px;
- background-position: -2501px 0px;
- }
- &.it {
- height: 14px;
- background-position: -2523px 0px;
- }
- &.je {
- height: 12px;
- background-position: -2545px 0px;
- }
- &.jm {
- height: 10px;
- background-position: -2567px 0px;
- }
- &.jo {
- height: 10px;
- background-position: -2589px 0px;
- }
- &.jp {
- height: 14px;
- background-position: -2611px 0px;
- }
- &.ke {
- height: 14px;
- background-position: -2633px 0px;
- }
- &.kg {
- height: 12px;
- background-position: -2655px 0px;
- }
- &.kh {
- height: 13px;
- background-position: -2677px 0px;
- }
- &.ki {
- height: 10px;
- background-position: -2699px 0px;
- }
- &.km {
- height: 12px;
- background-position: -2721px 0px;
- }
- &.kn {
- height: 14px;
- background-position: -2743px 0px;
- }
- &.kp {
- height: 10px;
- background-position: -2765px 0px;
- }
- &.kr {
- height: 14px;
- background-position: -2787px 0px;
- }
- &.kw {
- height: 10px;
- background-position: -2809px 0px;
- }
- &.ky {
- height: 10px;
- background-position: -2831px 0px;
- }
- &.kz {
- height: 10px;
- background-position: -2853px 0px;
- }
- &.la {
- height: 14px;
- background-position: -2875px 0px;
- }
- &.lb {
- height: 14px;
- background-position: -2897px 0px;
- }
- &.lc {
- height: 10px;
- background-position: -2919px 0px;
- }
- &.li {
- height: 12px;
- background-position: -2941px 0px;
- }
- &.lk {
- height: 10px;
- background-position: -2963px 0px;
- }
- &.lr {
- height: 11px;
- background-position: -2985px 0px;
- }
- &.ls {
- height: 14px;
- background-position: -3007px 0px;
- }
- &.lt {
- height: 12px;
- background-position: -3029px 0px;
- }
- &.lu {
- height: 12px;
- background-position: -3051px 0px;
- }
- &.lv {
- height: 10px;
- background-position: -3073px 0px;
- }
- &.ly {
- height: 10px;
- background-position: -3095px 0px;
- }
- &.ma {
- height: 14px;
- background-position: -3117px 0px;
- }
- &.mc {
- height: 15px;
- background-position: -3139px 0px;
- }
- &.md {
- height: 10px;
- background-position: -3160px 0px;
- }
- &.me {
- height: 10px;
- background-position: -3182px 0px;
- }
- &.mf {
- height: 14px;
- background-position: -3204px 0px;
- }
- &.mg {
- height: 14px;
- background-position: -3226px 0px;
- }
- &.mh {
- height: 11px;
- background-position: -3248px 0px;
- }
- &.mk {
- height: 10px;
- background-position: -3270px 0px;
- }
- &.ml {
- height: 14px;
- background-position: -3292px 0px;
- }
- &.mm {
- height: 14px;
- background-position: -3314px 0px;
- }
- &.mn {
- height: 10px;
- background-position: -3336px 0px;
- }
- &.mo {
- height: 14px;
- background-position: -3358px 0px;
- }
- &.mp {
- height: 10px;
- background-position: -3380px 0px;
- }
- &.mq {
- height: 14px;
- background-position: -3402px 0px;
- }
- &.mr {
- height: 14px;
- background-position: -3424px 0px;
- }
- &.ms {
- height: 10px;
- background-position: -3446px 0px;
- }
- &.mt {
- height: 14px;
- background-position: -3468px 0px;
- }
- &.mu {
- height: 14px;
- background-position: -3490px 0px;
- }
- &.mv {
- height: 14px;
- background-position: -3512px 0px;
- }
- &.mw {
- height: 14px;
- background-position: -3534px 0px;
- }
- &.mx {
- height: 12px;
- background-position: -3556px 0px;
- }
- &.my {
- height: 10px;
- background-position: -3578px 0px;
- }
- &.mz {
- height: 14px;
- background-position: -3600px 0px;
- }
- &.na {
- height: 14px;
- background-position: -3622px 0px;
- }
- &.nc {
- height: 10px;
- background-position: -3644px 0px;
- }
- &.ne {
- height: 15px;
- background-position: -3666px 0px;
- }
- &.nf {
- height: 10px;
- background-position: -3686px 0px;
- }
- &.ng {
- height: 10px;
- background-position: -3708px 0px;
- }
- &.ni {
- height: 12px;
- background-position: -3730px 0px;
- }
- &.nl {
- height: 14px;
- background-position: -3752px 0px;
- }
- &.no {
- height: 15px;
- background-position: -3774px 0px;
- }
- &.np {
- height: 15px;
- background-position: -3796px 0px;
- }
- &.nr {
- height: 10px;
- background-position: -3811px 0px;
- }
- &.nu {
- height: 10px;
- background-position: -3833px 0px;
- }
- &.nz {
- height: 10px;
- background-position: -3855px 0px;
- }
- &.om {
- height: 10px;
- background-position: -3877px 0px;
- }
- &.pa {
- height: 14px;
- background-position: -3899px 0px;
- }
- &.pe {
- height: 14px;
- background-position: -3921px 0px;
- }
- &.pf {
- height: 14px;
- background-position: -3943px 0px;
- }
- &.pg {
- height: 15px;
- background-position: -3965px 0px;
- }
- &.ph {
- height: 10px;
- background-position: -3987px 0px;
- }
- &.pk {
- height: 14px;
- background-position: -4009px 0px;
- }
- &.pl {
- height: 13px;
- background-position: -4031px 0px;
- }
- &.pm {
- height: 14px;
- background-position: -4053px 0px;
- }
- &.pn {
- height: 10px;
- background-position: -4075px 0px;
- }
- &.pr {
- height: 14px;
- background-position: -4097px 0px;
- }
- &.ps {
- height: 10px;
- background-position: -4119px 0px;
- }
- &.pt {
- height: 14px;
- background-position: -4141px 0px;
- }
- &.pw {
- height: 13px;
- background-position: -4163px 0px;
- }
- &.py {
- height: 11px;
- background-position: -4185px 0px;
- }
- &.qa {
- height: 8px;
- background-position: -4207px 0px;
- }
- &.re {
- height: 14px;
- background-position: -4229px 0px;
- }
- &.ro {
- height: 14px;
- background-position: -4251px 0px;
- }
- &.rs {
- height: 14px;
- background-position: -4273px 0px;
- }
- &.ru {
- height: 14px;
- background-position: -4295px 0px;
- }
- &.rw {
- height: 14px;
- background-position: -4317px 0px;
- }
- &.sa {
- height: 14px;
- background-position: -4339px 0px;
- }
- &.sb {
- height: 10px;
- background-position: -4361px 0px;
- }
- &.sc {
- height: 10px;
- background-position: -4383px 0px;
- }
- &.sd {
- height: 10px;
- background-position: -4405px 0px;
- }
- &.se {
- height: 13px;
- background-position: -4427px 0px;
- }
- &.sg {
- height: 14px;
- background-position: -4449px 0px;
- }
- &.sh {
- height: 10px;
- background-position: -4471px 0px;
- }
- &.si {
- height: 10px;
- background-position: -4493px 0px;
- }
- &.sj {
- height: 15px;
- background-position: -4515px 0px;
- }
- &.sk {
- height: 14px;
- background-position: -4537px 0px;
- }
- &.sl {
- height: 14px;
- background-position: -4559px 0px;
- }
- &.sm {
- height: 15px;
- background-position: -4581px 0px;
- }
- &.sn {
- height: 14px;
- background-position: -4603px 0px;
- }
- &.so {
- height: 14px;
- background-position: -4625px 0px;
- }
- &.sr {
- height: 14px;
- background-position: -4647px 0px;
- }
- &.ss {
- height: 10px;
- background-position: -4669px 0px;
- }
- &.st {
- height: 10px;
- background-position: -4691px 0px;
- }
- &.sv {
- height: 12px;
- background-position: -4713px 0px;
- }
- &.sx {
- height: 14px;
- background-position: -4735px 0px;
- }
- &.sy {
- height: 14px;
- background-position: -4757px 0px;
- }
- &.sz {
- height: 14px;
- background-position: -4779px 0px;
- }
- &.ta {
- height: 10px;
- background-position: -4801px 0px;
- }
- &.tc {
- height: 10px;
- background-position: -4823px 0px;
- }
- &.td {
- height: 14px;
- background-position: -4845px 0px;
- }
- &.tf {
- height: 14px;
- background-position: -4867px 0px;
- }
- &.tg {
- height: 13px;
- background-position: -4889px 0px;
- }
- &.th {
- height: 14px;
- background-position: -4911px 0px;
- }
- &.tj {
- height: 10px;
- background-position: -4933px 0px;
- }
- &.tk {
- height: 10px;
- background-position: -4955px 0px;
- }
- &.tl {
- height: 10px;
- background-position: -4977px 0px;
- }
- &.tm {
- height: 14px;
- background-position: -4999px 0px;
- }
- &.tn {
- height: 14px;
- background-position: -5021px 0px;
- }
- &.to {
- height: 10px;
- background-position: -5043px 0px;
- }
- &.tr {
- height: 14px;
- background-position: -5065px 0px;
- }
- &.tt {
- height: 12px;
- background-position: -5087px 0px;
- }
- &.tv {
- height: 10px;
- background-position: -5109px 0px;
- }
- &.tw {
- height: 14px;
- background-position: -5131px 0px;
- }
- &.tz {
- height: 14px;
- background-position: -5153px 0px;
- }
- &.ua {
- height: 14px;
- background-position: -5175px 0px;
- }
- &.ug {
- height: 14px;
- background-position: -5197px 0px;
- }
- &.um {
- height: 11px;
- background-position: -5219px 0px;
- }
- &.un {
- height: 14px;
- background-position: -5241px 0px;
- }
- &.us {
- height: 11px;
- background-position: -5263px 0px;
- }
- &.uy {
- height: 14px;
- background-position: -5285px 0px;
- }
- &.uz {
- height: 10px;
- background-position: -5307px 0px;
- }
- &.va {
- height: 15px;
- background-position: -5329px 0px;
- }
- &.vc {
- height: 14px;
- background-position: -5346px 0px;
- }
- &.ve {
- height: 14px;
- background-position: -5368px 0px;
- }
- &.vg {
- height: 10px;
- background-position: -5390px 0px;
- }
- &.vi {
- height: 14px;
- background-position: -5412px 0px;
- }
- &.vn {
- height: 14px;
- background-position: -5434px 0px;
- }
- &.vu {
- height: 12px;
- background-position: -5456px 0px;
- }
- &.wf {
- height: 14px;
- background-position: -5478px 0px;
- }
- &.ws {
- height: 10px;
- background-position: -5500px 0px;
- }
- &.xk {
- height: 15px;
- background-position: -5522px 0px;
- }
- &.ye {
- height: 14px;
- background-position: -5544px 0px;
- }
- &.yt {
- height: 14px;
- background-position: -5566px 0px;
- }
- &.za {
- height: 14px;
- background-position: -5588px 0px;
- }
- &.zm {
- height: 14px;
- background-position: -5610px 0px;
- }
- &.zw {
- height: 10px;
- background-position: -5632px 0px;
- }
-}
diff --git a/lib/intl-tel-input-master/src/js/data.js b/lib/intl-tel-input-master/src/js/data.js
deleted file mode 100644
index 862cf78..0000000
--- a/lib/intl-tel-input-master/src/js/data.js
+++ /dev/null
@@ -1,1278 +0,0 @@
-// Array of country objects for the flag dropdown.
-
-// Here is the criteria for the plugin to support a given country/territory
-// - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
-// - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes
-// - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png
-// - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml
-
-// Each country array has the following information:
-// [
-// Country name,
-// iso2 code,
-// International dial code,
-// Order (if >1 country with same dial code),
-// Area codes
-// ]
-var allCountries = [
- [
- "Afghanistan (افغانستان)",
- "af",
- "93"
- ],
- [
- "Albania (Shqipëri)",
- "al",
- "355"
- ],
- [
- "Algeria (الجزائر)",
- "dz",
- "213"
- ],
- [
- "American Samoa",
- "as",
- "1684"
- ],
- [
- "Andorra",
- "ad",
- "376"
- ],
- [
- "Angola",
- "ao",
- "244"
- ],
- [
- "Anguilla",
- "ai",
- "1264"
- ],
- [
- "Antigua and Barbuda",
- "ag",
- "1268"
- ],
- [
- "Argentina",
- "ar",
- "54"
- ],
- [
- "Armenia (Հայաստան)",
- "am",
- "374"
- ],
- [
- "Aruba",
- "aw",
- "297"
- ],
- [
- "Australia",
- "au",
- "61",
- 0
- ],
- [
- "Austria (Österreich)",
- "at",
- "43"
- ],
- [
- "Azerbaijan (Azərbaycan)",
- "az",
- "994"
- ],
- [
- "Bahamas",
- "bs",
- "1242"
- ],
- [
- "Bahrain (البحرين)",
- "bh",
- "973"
- ],
- [
- "Bangladesh (বাংলাদেশ)",
- "bd",
- "880"
- ],
- [
- "Barbados",
- "bb",
- "1246"
- ],
- [
- "Belarus (Беларусь)",
- "by",
- "375"
- ],
- [
- "Belgium (België)",
- "be",
- "32"
- ],
- [
- "Belize",
- "bz",
- "501"
- ],
- [
- "Benin (Bénin)",
- "bj",
- "229"
- ],
- [
- "Bermuda",
- "bm",
- "1441"
- ],
- [
- "Bhutan (འབྲུག)",
- "bt",
- "975"
- ],
- [
- "Bolivia",
- "bo",
- "591"
- ],
- [
- "Bosnia and Herzegovina (Босна и Херцеговина)",
- "ba",
- "387"
- ],
- [
- "Botswana",
- "bw",
- "267"
- ],
- [
- "Brazil (Brasil)",
- "br",
- "55"
- ],
- [
- "British Indian Ocean Territory",
- "io",
- "246"
- ],
- [
- "British Virgin Islands",
- "vg",
- "1284"
- ],
- [
- "Brunei",
- "bn",
- "673"
- ],
- [
- "Bulgaria (България)",
- "bg",
- "359"
- ],
- [
- "Burkina Faso",
- "bf",
- "226"
- ],
- [
- "Burundi (Uburundi)",
- "bi",
- "257"
- ],
- [
- "Cambodia (កម្ពុជា)",
- "kh",
- "855"
- ],
- [
- "Cameroon (Cameroun)",
- "cm",
- "237"
- ],
- [
- "Canada",
- "ca",
- "1",
- 1,
- ["204", "226", "236", "249", "250", "289", "306", "343", "365", "387", "403", "416", "418", "431", "437", "438", "450", "506", "514", "519", "548", "579", "581", "587", "604", "613", "639", "647", "672", "705", "709", "742", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]
- ],
- [
- "Cape Verde (Kabu Verdi)",
- "cv",
- "238"
- ],
- [
- "Caribbean Netherlands",
- "bq",
- "599",
- 1
- ],
- [
- "Cayman Islands",
- "ky",
- "1345"
- ],
- [
- "Central African Republic (République centrafricaine)",
- "cf",
- "236"
- ],
- [
- "Chad (Tchad)",
- "td",
- "235"
- ],
- [
- "Chile",
- "cl",
- "56"
- ],
- [
- "China (中国)",
- "cn",
- "86"
- ],
- [
- "Christmas Island",
- "cx",
- "61",
- 2
- ],
- [
- "Cocos (Keeling) Islands",
- "cc",
- "61",
- 1
- ],
- [
- "Colombia",
- "co",
- "57"
- ],
- [
- "Comoros (جزر القمر)",
- "km",
- "269"
- ],
- [
- "Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)",
- "cd",
- "243"
- ],
- [
- "Congo (Republic) (Congo-Brazzaville)",
- "cg",
- "242"
- ],
- [
- "Cook Islands",
- "ck",
- "682"
- ],
- [
- "Costa Rica",
- "cr",
- "506"
- ],
- [
- "Côte d’Ivoire",
- "ci",
- "225"
- ],
- [
- "Croatia (Hrvatska)",
- "hr",
- "385"
- ],
- [
- "Cuba",
- "cu",
- "53"
- ],
- [
- "Curaçao",
- "cw",
- "599",
- 0
- ],
- [
- "Cyprus (Κύπρος)",
- "cy",
- "357"
- ],
- [
- "Czech Republic (Česká republika)",
- "cz",
- "420"
- ],
- [
- "Denmark (Danmark)",
- "dk",
- "45"
- ],
- [
- "Djibouti",
- "dj",
- "253"
- ],
- [
- "Dominica",
- "dm",
- "1767"
- ],
- [
- "Dominican Republic (República Dominicana)",
- "do",
- "1",
- 2,
- ["809", "829", "849"]
- ],
- [
- "Ecuador",
- "ec",
- "593"
- ],
- [
- "Egypt (مصر)",
- "eg",
- "20"
- ],
- [
- "El Salvador",
- "sv",
- "503"
- ],
- [
- "Equatorial Guinea (Guinea Ecuatorial)",
- "gq",
- "240"
- ],
- [
- "Eritrea",
- "er",
- "291"
- ],
- [
- "Estonia (Eesti)",
- "ee",
- "372"
- ],
- [
- "Ethiopia",
- "et",
- "251"
- ],
- [
- "Falkland Islands (Islas Malvinas)",
- "fk",
- "500"
- ],
- [
- "Faroe Islands (Føroyar)",
- "fo",
- "298"
- ],
- [
- "Fiji",
- "fj",
- "679"
- ],
- [
- "Finland (Suomi)",
- "fi",
- "358",
- 0
- ],
- [
- "France",
- "fr",
- "33"
- ],
- [
- "French Guiana (Guyane française)",
- "gf",
- "594"
- ],
- [
- "French Polynesia (Polynésie française)",
- "pf",
- "689"
- ],
- [
- "Gabon",
- "ga",
- "241"
- ],
- [
- "Gambia",
- "gm",
- "220"
- ],
- [
- "Georgia (საქართველო)",
- "ge",
- "995"
- ],
- [
- "Germany (Deutschland)",
- "de",
- "49"
- ],
- [
- "Ghana (Gaana)",
- "gh",
- "233"
- ],
- [
- "Gibraltar",
- "gi",
- "350"
- ],
- [
- "Greece (Ελλάδα)",
- "gr",
- "30"
- ],
- [
- "Greenland (Kalaallit Nunaat)",
- "gl",
- "299"
- ],
- [
- "Grenada",
- "gd",
- "1473"
- ],
- [
- "Guadeloupe",
- "gp",
- "590",
- 0
- ],
- [
- "Guam",
- "gu",
- "1671"
- ],
- [
- "Guatemala",
- "gt",
- "502"
- ],
- [
- "Guernsey",
- "gg",
- "44",
- 1
- ],
- [
- "Guinea (Guinée)",
- "gn",
- "224"
- ],
- [
- "Guinea-Bissau (Guiné Bissau)",
- "gw",
- "245"
- ],
- [
- "Guyana",
- "gy",
- "592"
- ],
- [
- "Haiti",
- "ht",
- "509"
- ],
- [
- "Honduras",
- "hn",
- "504"
- ],
- [
- "Hong Kong (香港)",
- "hk",
- "852"
- ],
- [
- "Hungary (Magyarország)",
- "hu",
- "36"
- ],
- [
- "Iceland (Ísland)",
- "is",
- "354"
- ],
- [
- "India (भारत)",
- "in",
- "91"
- ],
- [
- "Indonesia",
- "id",
- "62"
- ],
- [
- "Iran (ایران)",
- "ir",
- "98"
- ],
- [
- "Iraq (العراق)",
- "iq",
- "964"
- ],
- [
- "Ireland",
- "ie",
- "353"
- ],
- [
- "Isle of Man",
- "im",
- "44",
- 2
- ],
- [
- "Israel (ישראל)",
- "il",
- "972"
- ],
- [
- "Italy (Italia)",
- "it",
- "39",
- 0
- ],
- [
- "Jamaica",
- "jm",
- "1",
- 4,
- ["876", "658"]
- ],
- [
- "Japan (日本)",
- "jp",
- "81"
- ],
- [
- "Jersey",
- "je",
- "44",
- 3
- ],
- [
- "Jordan (الأردن)",
- "jo",
- "962"
- ],
- [
- "Kazakhstan (Казахстан)",
- "kz",
- "7",
- 1
- ],
- [
- "Kenya",
- "ke",
- "254"
- ],
- [
- "Kiribati",
- "ki",
- "686"
- ],
- [
- "Kosovo",
- "xk",
- "383"
- ],
- [
- "Kuwait (الكويت)",
- "kw",
- "965"
- ],
- [
- "Kyrgyzstan (Кыргызстан)",
- "kg",
- "996"
- ],
- [
- "Laos (ລາວ)",
- "la",
- "856"
- ],
- [
- "Latvia (Latvija)",
- "lv",
- "371"
- ],
- [
- "Lebanon (لبنان)",
- "lb",
- "961"
- ],
- [
- "Lesotho",
- "ls",
- "266"
- ],
- [
- "Liberia",
- "lr",
- "231"
- ],
- [
- "Libya (ليبيا)",
- "ly",
- "218"
- ],
- [
- "Liechtenstein",
- "li",
- "423"
- ],
- [
- "Lithuania (Lietuva)",
- "lt",
- "370"
- ],
- [
- "Luxembourg",
- "lu",
- "352"
- ],
- [
- "Macau (澳門)",
- "mo",
- "853"
- ],
- [
- "Macedonia (FYROM) (Македонија)",
- "mk",
- "389"
- ],
- [
- "Madagascar (Madagasikara)",
- "mg",
- "261"
- ],
- [
- "Malawi",
- "mw",
- "265"
- ],
- [
- "Malaysia",
- "my",
- "60"
- ],
- [
- "Maldives",
- "mv",
- "960"
- ],
- [
- "Mali",
- "ml",
- "223"
- ],
- [
- "Malta",
- "mt",
- "356"
- ],
- [
- "Marshall Islands",
- "mh",
- "692"
- ],
- [
- "Martinique",
- "mq",
- "596"
- ],
- [
- "Mauritania (موريتانيا)",
- "mr",
- "222"
- ],
- [
- "Mauritius (Moris)",
- "mu",
- "230"
- ],
- [
- "Mayotte",
- "yt",
- "262",
- 1
- ],
- [
- "Mexico (México)",
- "mx",
- "52"
- ],
- [
- "Micronesia",
- "fm",
- "691"
- ],
- [
- "Moldova (Republica Moldova)",
- "md",
- "373"
- ],
- [
- "Monaco",
- "mc",
- "377"
- ],
- [
- "Mongolia (Монгол)",
- "mn",
- "976"
- ],
- [
- "Montenegro (Crna Gora)",
- "me",
- "382"
- ],
- [
- "Montserrat",
- "ms",
- "1664"
- ],
- [
- "Morocco (المغرب)",
- "ma",
- "212",
- 0
- ],
- [
- "Mozambique (Moçambique)",
- "mz",
- "258"
- ],
- [
- "Myanmar (Burma) (မြန်မာ)",
- "mm",
- "95"
- ],
- [
- "Namibia (Namibië)",
- "na",
- "264"
- ],
- [
- "Nauru",
- "nr",
- "674"
- ],
- [
- "Nepal (नेपाल)",
- "np",
- "977"
- ],
- [
- "Netherlands (Nederland)",
- "nl",
- "31"
- ],
- [
- "New Caledonia (Nouvelle-Calédonie)",
- "nc",
- "687"
- ],
- [
- "New Zealand",
- "nz",
- "64"
- ],
- [
- "Nicaragua",
- "ni",
- "505"
- ],
- [
- "Niger (Nijar)",
- "ne",
- "227"
- ],
- [
- "Nigeria",
- "ng",
- "234"
- ],
- [
- "Niue",
- "nu",
- "683"
- ],
- [
- "Norfolk Island",
- "nf",
- "672"
- ],
- [
- "North Korea (조선 민주주의 인민 공화국)",
- "kp",
- "850"
- ],
- [
- "Northern Mariana Islands",
- "mp",
- "1670"
- ],
- [
- "Norway (Norge)",
- "no",
- "47",
- 0
- ],
- [
- "Oman (عُمان)",
- "om",
- "968"
- ],
- [
- "Pakistan (پاکستان)",
- "pk",
- "92"
- ],
- [
- "Palau",
- "pw",
- "680"
- ],
- [
- "Palestine (فلسطين)",
- "ps",
- "970"
- ],
- [
- "Panama (Panamá)",
- "pa",
- "507"
- ],
- [
- "Papua New Guinea",
- "pg",
- "675"
- ],
- [
- "Paraguay",
- "py",
- "595"
- ],
- [
- "Peru (Perú)",
- "pe",
- "51"
- ],
- [
- "Philippines",
- "ph",
- "63"
- ],
- [
- "Poland (Polska)",
- "pl",
- "48"
- ],
- [
- "Portugal",
- "pt",
- "351"
- ],
- [
- "Puerto Rico",
- "pr",
- "1",
- 3,
- ["787", "939"]
- ],
- [
- "Qatar (قطر)",
- "qa",
- "974"
- ],
- [
- "Réunion (La Réunion)",
- "re",
- "262",
- 0
- ],
- [
- "Romania (România)",
- "ro",
- "40"
- ],
- [
- "Russia (Россия)",
- "ru",
- "7",
- 0
- ],
- [
- "Rwanda",
- "rw",
- "250"
- ],
- [
- "Saint Barthélemy",
- "bl",
- "590",
- 1
- ],
- [
- "Saint Helena",
- "sh",
- "290"
- ],
- [
- "Saint Kitts and Nevis",
- "kn",
- "1869"
- ],
- [
- "Saint Lucia",
- "lc",
- "1758"
- ],
- [
- "Saint Martin (Saint-Martin (partie française))",
- "mf",
- "590",
- 2
- ],
- [
- "Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)",
- "pm",
- "508"
- ],
- [
- "Saint Vincent and the Grenadines",
- "vc",
- "1784"
- ],
- [
- "Samoa",
- "ws",
- "685"
- ],
- [
- "San Marino",
- "sm",
- "378"
- ],
- [
- "São Tomé and Príncipe (São Tomé e Príncipe)",
- "st",
- "239"
- ],
- [
- "Saudi Arabia (المملكة العربية السعودية)",
- "sa",
- "966"
- ],
- [
- "Senegal (Sénégal)",
- "sn",
- "221"
- ],
- [
- "Serbia (Србија)",
- "rs",
- "381"
- ],
- [
- "Seychelles",
- "sc",
- "248"
- ],
- [
- "Sierra Leone",
- "sl",
- "232"
- ],
- [
- "Singapore",
- "sg",
- "65"
- ],
- [
- "Sint Maarten",
- "sx",
- "1721"
- ],
- [
- "Slovakia (Slovensko)",
- "sk",
- "421"
- ],
- [
- "Slovenia (Slovenija)",
- "si",
- "386"
- ],
- [
- "Solomon Islands",
- "sb",
- "677"
- ],
- [
- "Somalia (Soomaaliya)",
- "so",
- "252"
- ],
- [
- "South Africa",
- "za",
- "27"
- ],
- [
- "South Korea (대한민국)",
- "kr",
- "82"
- ],
- [
- "South Sudan (جنوب السودان)",
- "ss",
- "211"
- ],
- [
- "Spain (España)",
- "es",
- "34"
- ],
- [
- "Sri Lanka (ශ්රී ලංකාව)",
- "lk",
- "94"
- ],
- [
- "Sudan (السودان)",
- "sd",
- "249"
- ],
- [
- "Suriname",
- "sr",
- "597"
- ],
- [
- "Svalbard and Jan Mayen",
- "sj",
- "47",
- 1
- ],
- [
- "Swaziland",
- "sz",
- "268"
- ],
- [
- "Sweden (Sverige)",
- "se",
- "46"
- ],
- [
- "Switzerland (Schweiz)",
- "ch",
- "41"
- ],
- [
- "Syria (سوريا)",
- "sy",
- "963"
- ],
- [
- "Taiwan (台灣)",
- "tw",
- "886"
- ],
- [
- "Tajikistan",
- "tj",
- "992"
- ],
- [
- "Tanzania",
- "tz",
- "255"
- ],
- [
- "Thailand (ไทย)",
- "th",
- "66"
- ],
- [
- "Timor-Leste",
- "tl",
- "670"
- ],
- [
- "Togo",
- "tg",
- "228"
- ],
- [
- "Tokelau",
- "tk",
- "690"
- ],
- [
- "Tonga",
- "to",
- "676"
- ],
- [
- "Trinidad and Tobago",
- "tt",
- "1868"
- ],
- [
- "Tunisia (تونس)",
- "tn",
- "216"
- ],
- [
- "Turkey (Türkiye)",
- "tr",
- "90"
- ],
- [
- "Turkmenistan",
- "tm",
- "993"
- ],
- [
- "Turks and Caicos Islands",
- "tc",
- "1649"
- ],
- [
- "Tuvalu",
- "tv",
- "688"
- ],
- [
- "U.S. Virgin Islands",
- "vi",
- "1340"
- ],
- [
- "Uganda",
- "ug",
- "256"
- ],
- [
- "Ukraine (Україна)",
- "ua",
- "380"
- ],
- [
- "United Arab Emirates (الإمارات العربية المتحدة)",
- "ae",
- "971"
- ],
- [
- "United Kingdom",
- "gb",
- "44",
- 0
- ],
- [
- "United States",
- "us",
- "1",
- 0
- ],
- [
- "Uruguay",
- "uy",
- "598"
- ],
- [
- "Uzbekistan (Oʻzbekiston)",
- "uz",
- "998"
- ],
- [
- "Vanuatu",
- "vu",
- "678"
- ],
- [
- "Vatican City (Città del Vaticano)",
- "va",
- "39",
- 1
- ],
- [
- "Venezuela",
- "ve",
- "58"
- ],
- [
- "Vietnam (Việt Nam)",
- "vn",
- "84"
- ],
- [
- "Wallis and Futuna (Wallis-et-Futuna)",
- "wf",
- "681"
- ],
- [
- "Western Sahara (الصحراء الغربية)",
- "eh",
- "212",
- 1
- ],
- [
- "Yemen (اليمن)",
- "ye",
- "967"
- ],
- [
- "Zambia",
- "zm",
- "260"
- ],
- [
- "Zimbabwe",
- "zw",
- "263"
- ],
- [
- "Åland Islands",
- "ax",
- "358",
- 1
- ]
-];
-
-// loop over all of the countries above, restructuring the data to be objects with named keys
-for (var i = 0; i < allCountries.length; i++) {
- var c = allCountries[i];
- allCountries[i] = {
- name: c[0],
- iso2: c[1],
- dialCode: c[2],
- priority: c[3] || 0,
- areaCodes: c[4] || null
- };
-}
diff --git a/lib/intl-tel-input-master/src/js/intlTelInput.js b/lib/intl-tel-input-master/src/js/intlTelInput.js
deleted file mode 100644
index 4b7d4e0..0000000
--- a/lib/intl-tel-input-master/src/js/intlTelInput.js
+++ /dev/null
@@ -1,1422 +0,0 @@
-window.intlTelInputGlobals = {
- instances: {},
-};
-
-// these vars persist through all instances of the plugin
-let id = 0;
-const defaults = {
- // whether or not to allow the dropdown
- allowDropdown: true,
- // if there is just a dial code in the input: remove it on blur, and re-add it on focus
- autoHideDialCode: true,
- // add a placeholder in the input with an example number for the selected country
- autoPlaceholder: 'polite',
- // modify the parentClass
- customContainer: '',
- // modify the auto placeholder
- customPlaceholder: null,
- // append menu to specified element
- dropdownContainer: null,
- // don't display these countries
- excludeCountries: [],
- // format the input value during initialisation and on setNumber
- formatOnDisplay: true,
- // geoIp lookup function
- geoIpLookup: null,
- // inject a hidden input with this name, and on submit, populate it with the result of getNumber
- hiddenInput: '',
- // initial country
- initialCountry: '',
- // localized country names e.g. { 'de': 'Deutschland' }
- localizedCountries: null,
- // don't insert international dial codes
- nationalMode: true,
- // display only these countries
- onlyCountries: [],
- // number type to use for placeholders
- placeholderNumberType: 'MOBILE',
- // the countries at the top of the list. defaults to united states and united kingdom
- preferredCountries: ['us', 'gb'],
- // display the country dial code next to the selected flag so it's not part of the typed number
- separateDialCode: false,
- // specify the path to the libphonenumber script to enable validation/formatting
- utilsScript: '',
-};
-// https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes
-const regionlessNanpNumbers = ['800', '822', '833', '844', '855', '866', '877', '880', '881', '882', '883', '884', '885', '886', '887', '888', '889'];
-
-
-// keep track of if the window.load event has fired as impossible to check after the fact
-window.addEventListener('load', () => {
- // UPDATE: use a public static field so we can fudge it in the tests
- window.intlTelInputGlobals.windowLoaded = true;
-});
-
-
-// utility function to iterate over an object. can't use Object.entries or native forEach because
-// of IE11
-const forEachProp = (obj, callback) => {
- const keys = Object.keys(obj);
- for (let i = 0; i < keys.length; i++) {
- callback(keys[i], obj[keys[i]]);
- }
-};
-
-
-// run a method on each instance of the plugin
-const forEachInstance = (method) => {
- forEachProp(window.intlTelInputGlobals.instances, (key) => {
- window.intlTelInputGlobals.instances[key][method]();
- });
-};
-
-
-// this is our plugin class that we will create an instance of
-// eslint-disable-next-line no-unused-vars
-class Iti {
- constructor(input, options) {
- this.id = id++;
- this.telInput = input;
-
- this.activeItem = null;
- this.highlightedItem = null;
-
- // process specified options / defaults
- // alternative to Object.assign, which isn't supported by IE11
- const customOptions = options || {};
- this.options = {};
- forEachProp(defaults, (key, value) => {
- this.options[key] = (customOptions.hasOwnProperty(key)) ? customOptions[key] : value;
- });
-
- this.hadInitialPlaceholder = Boolean(input.getAttribute('placeholder'));
- }
-
- _init() {
- // if in nationalMode, disable options relating to dial codes
- if (this.options.nationalMode) this.options.autoHideDialCode = false;
-
- // if separateDialCode then doesn't make sense to A) insert dial code into input
- // (autoHideDialCode), and B) display national numbers (because we're displaying the country
- // dial code next to them)
- if (this.options.separateDialCode) {
- this.options.autoHideDialCode = this.options.nationalMode = false;
- }
-
- // we cannot just test screen size as some smartphones/website meta tags will report desktop
- // resolutions
- // Note: for some reason jasmine breaks if you put this in the main Plugin function with the
- // rest of these declarations
- // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'
- this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
-
- if (this.isMobile) {
- // trigger the mobile dropdown css
- document.body.classList.add('iti-mobile');
-
- // on mobile, we want a full screen dropdown, so we must append it to the body
- if (!this.options.dropdownContainer) this.options.dropdownContainer = document.body;
- }
-
- // these promises get resolved when their individual requests complete
- // this way the dev can do something like iti.promise.then(...) to know when all requests are
- // complete
- if (typeof Promise !== 'undefined') {
- const autoCountryPromise = new Promise((resolve, reject) => {
- this.resolveAutoCountryPromise = resolve;
- this.rejectAutoCountryPromise = reject;
- });
- const utilsScriptPromise = new Promise((resolve, reject) => {
- this.resolveUtilsScriptPromise = resolve;
- this.rejectUtilsScriptPromise = reject;
- });
- this.promise = Promise.all([autoCountryPromise, utilsScriptPromise]);
- } else {
- // prevent errors when Promise doesn't exist
- this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = () => {};
- this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = () => {};
- }
-
- // in various situations there could be no country selected initially, but we need to be able
- // to assume this variable exists
- this.selectedCountryData = {};
-
- // process all the data: onlyCountries, excludeCountries, preferredCountries etc
- this._processCountryData();
-
- // generate the markup
- this._generateMarkup();
-
- // set the initial state of the input value and the selected flag
- this._setInitialState();
-
- // start all of the event listeners: autoHideDialCode, input keydown, selectedFlag click
- this._initListeners();
-
- // utils script, and auto country
- this._initRequests();
- }
-
-
- /********************
- * PRIVATE METHODS
- ********************/
-
-
- // prepare all of the country data, including onlyCountries, excludeCountries and
- // preferredCountries options
- _processCountryData() {
- // process onlyCountries or excludeCountries array if present
- this._processAllCountries();
-
- // process the countryCodes map
- this._processCountryCodes();
-
- // process the preferredCountries
- this._processPreferredCountries();
-
- // translate countries according to localizedCountries option
- if (this.options.localizedCountries) this._translateCountriesByLocale();
-
- // sort countries by name
- if (this.options.onlyCountries.length || this.options.localizedCountries) {
- this.countries.sort(this._countryNameSort);
- }
- }
-
-
- // add a country code to this.countryCodes
- _addCountryCode(iso2, dialCode, priority) {
- if (!this.countryCodes.hasOwnProperty(dialCode)) {
- this.countryCodes[dialCode] = [];
- }
- const index = priority || 0;
- this.countryCodes[dialCode][index] = iso2;
- }
-
-
- // process onlyCountries or excludeCountries array if present
- _processAllCountries() {
- if (this.options.onlyCountries.length) {
- const lowerCaseOnlyCountries = this.options.onlyCountries.map(
- country => country.toLowerCase()
- );
- this.countries = allCountries.filter(
- country => lowerCaseOnlyCountries.indexOf(country.iso2) > -1
- );
- } else if (this.options.excludeCountries.length) {
- const lowerCaseExcludeCountries = this.options.excludeCountries.map(
- country => country.toLowerCase()
- );
- this.countries = allCountries.filter(
- country => lowerCaseExcludeCountries.indexOf(country.iso2) === -1
- );
- } else {
- this.countries = allCountries;
- }
- }
-
- // Translate Countries by object literal provided on config
- _translateCountriesByLocale() {
- for (let i = 0; i < this.countries.length; i++) {
- const iso = this.countries[i].iso2.toLowerCase();
- if (this.options.localizedCountries.hasOwnProperty(iso)) {
- this.countries[i].name = this.options.localizedCountries[iso];
- }
- }
- }
-
- // sort by country name
- _countryNameSort(a, b) {
- return a.name.localeCompare(b.name);
- }
-
-
- // process the countryCodes map
- _processCountryCodes() {
- this.countryCodes = {};
- for (let i = 0; i < this.countries.length; i++) {
- const c = this.countries[i];
- this._addCountryCode(c.iso2, c.dialCode, c.priority);
- // area codes
- if (c.areaCodes) {
- for (let j = 0; j < c.areaCodes.length; j++) {
- // full dial code is country code + dial code
- this._addCountryCode(c.iso2, c.dialCode + c.areaCodes[j]);
- }
- }
- }
- }
-
-
- // process preferred countries - iterate through the preferences, fetching the country data for
- // each one
- _processPreferredCountries() {
- this.preferredCountries = [];
- for (let i = 0; i < this.options.preferredCountries.length; i++) {
- const countryCode = this.options.preferredCountries[i].toLowerCase();
- const countryData = this._getCountryData(countryCode, false, true);
- if (countryData) this.preferredCountries.push(countryData);
- }
- }
-
-
- // create a DOM element
- _createEl(name, attrs, container) {
- const el = document.createElement(name);
- if (attrs) forEachProp(attrs, (key, value) => el.setAttribute(key, value));
- if (container) container.appendChild(el);
- return el;
- }
-
-
- // generate all of the markup for the plugin: the selected flag overlay, and the dropdown
- _generateMarkup() {
- // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can
- // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the
- // autocompleted number, which on submit could mean wrong number is saved (esp in nationalMode)
- this.telInput.setAttribute('autocomplete', 'off');
-
- // containers (mostly for positioning)
- let parentClass = 'intl-tel-input';
- if (this.options.allowDropdown) parentClass += ' allow-dropdown';
- if (this.options.separateDialCode) parentClass += ' separate-dial-code';
- if (this.options.customContainer) {
- parentClass += ' ';
- parentClass += this.options.customContainer;
- }
-
- const wrapper = this._createEl('div', { class: parentClass });
- this.telInput.parentNode.insertBefore(wrapper, this.telInput);
- this.flagsContainer = this._createEl('div', { class: 'flag-container' }, wrapper);
- wrapper.appendChild(this.telInput);
-
- // selected flag (displayed to left of input)
- this.selectedFlag = this._createEl('div', {
- class: 'selected-flag',
- role: 'combobox',
- 'aria-owns': 'country-listbox',
- }, this.flagsContainer);
- this.selectedFlagInner = this._createEl('div', { class: 'iti-flag' }, this.selectedFlag);
-
- if (this.options.separateDialCode) {
- this.selectedDialCode = this._createEl('div', { class: 'selected-dial-code' }, this.selectedFlag);
- }
-
- if (this.options.allowDropdown) {
- // make element focusable and tab navigable
- this.selectedFlag.setAttribute('tabindex', '0');
- this.dropdownArrow = this._createEl('div', { class: 'iti-arrow' }, this.selectedFlag);
-
- // country dropdown: preferred countries, then divider, then all countries
- this.countryList = this._createEl('ul', {
- class: 'country-list hide',
- id: 'country-listbox',
- 'aria-expanded': 'false',
- role: 'listbox',
- });
- if (this.preferredCountries.length) {
- this._appendListItems(this.preferredCountries, 'preferred');
- this._createEl('li', {
- class: 'divider',
- role: 'separator',
- 'aria-disabled': 'true',
- }, this.countryList);
- }
- this._appendListItems(this.countries, 'standard');
-
- // create dropdownContainer markup
- if (this.options.dropdownContainer) {
- this.dropdown = this._createEl('div', { class: 'intl-tel-input iti-container' });
- this.dropdown.appendChild(this.countryList);
- } else {
- this.flagsContainer.appendChild(this.countryList);
- }
- }
-
- if (this.options.hiddenInput) {
- let hiddenInputName = this.options.hiddenInput;
- const name = this.telInput.getAttribute('name');
- if (name) {
- const i = name.lastIndexOf('[');
- // if input name contains square brackets, then give the hidden input the same name,
- // replacing the contents of the last set of brackets with the given hiddenInput name
- if (i !== -1) hiddenInputName = `${name.substr(0, i)}[${hiddenInputName}]`;
- }
- this.hiddenInput = this._createEl('input', {
- type: 'hidden',
- name: hiddenInputName,
- });
- wrapper.appendChild(this.hiddenInput);
- }
- }
-
-
- // add a country to the countryList container
- _appendListItems(countries, className) {
- // we create so many DOM elements, it is faster to build a temp string
- // and then add everything to the DOM in one go at the end
- let tmp = '';
- // for each country
- for (let i = 0; i < countries.length; i++) {
- const c = countries[i];
- // open the list item
- tmp += ``;
- // add the flag
- tmp += ``;
- // and the country name and dial code
- tmp += `${c.name} `;
- tmp += `+${c.dialCode} `;
- // close the list item
- tmp += ' ';
- }
- this.countryList.insertAdjacentHTML('beforeend', tmp);
- }
-
-
- // set the initial state of the input value and the selected flag by:
- // 1. extracting a dial code from the given number
- // 2. using explicit initialCountry
- // 3. picking the first preferred country
- // 4. picking the first country
- _setInitialState() {
- const val = this.telInput.value;
- const dialCode = this._getDialCode(val);
- const isRegionlessNanp = this._isRegionlessNanp(val);
- const {
- initialCountry,
- nationalMode,
- autoHideDialCode,
- separateDialCode,
- } = this.options;
-
- // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the
- // flag, else fall back to the default country
- if (dialCode && !isRegionlessNanp) {
- this._updateFlagFromNumber(val);
- } else if (initialCountry !== 'auto') {
- // see if we should select a flag
- if (initialCountry) {
- this._setFlag(initialCountry.toLowerCase());
- } else {
- if (dialCode && isRegionlessNanp) {
- // has intl dial code, is regionless nanp, and no initialCountry, so default to US
- this._setFlag('us');
- } else {
- // no dial code and no initialCountry, so default to first in list
- this.defaultCountry = (this.preferredCountries.length) ? this.preferredCountries[0].iso2
- : this.countries[0].iso2;
- if (!val) {
- this._setFlag(this.defaultCountry);
- }
- }
- }
-
- // if empty and no nationalMode and no autoHideDialCode then insert the default dial code
- if (!val && !nationalMode && !autoHideDialCode && !separateDialCode) {
- this.telInput.value = `+${this.selectedCountryData.dialCode}`;
- }
- }
- // NOTE: if initialCountry is set to auto, that will be handled separately
-
- // format - note this wont be run after _updateDialCode as that's only called if no val
- if (val) this._updateValFromNumber(val);
- }
-
-
- // initialise the main event listeners: input keyup, and click selected flag
- _initListeners() {
- this._initKeyListeners();
- if (this.options.autoHideDialCode) this._initFocusListeners();
- if (this.options.allowDropdown) this._initDropdownListeners();
- if (this.hiddenInput) this._initHiddenInputListener();
- }
-
-
- // update hidden input on form submit
- _initHiddenInputListener() {
- this._handleHiddenInputSubmit = () => {
- this.hiddenInput.value = this.getNumber();
- };
- if (this.telInput.form) this.telInput.form.addEventListener('submit', this._handleHiddenInputSubmit);
- }
-
-
- // iterate through parent nodes to find the closest label ancestor, if it exists
- _getClosestLabel() {
- let el = this.telInput;
- while (el && el.tagName !== 'LABEL') el = el.parentNode;
- return el;
- }
-
-
- // initialise the dropdown listeners
- _initDropdownListeners() {
- // hack for input nested inside label (which is valid markup): clicking the selected-flag to
- // open the dropdown would then automatically trigger a 2nd click on the input which would
- // close it again
- this._handleLabelClick = (e) => {
- // if the dropdown is closed, then focus the input, else ignore the click
- if (this.countryList.classList.contains('hide')) this.telInput.focus();
- else e.preventDefault();
- };
- const label = this._getClosestLabel();
- if (label) label.addEventListener('click', this._handleLabelClick);
-
- // toggle country dropdown on click
- this._handleClickSelectedFlag = () => {
- // only intercept this event if we're opening the dropdown
- // else let it bubble up to the top ("click-off-to-close" listener)
- // we cannot just stopPropagation as it may be needed to close another instance
- if (this.countryList.classList.contains('hide') && !this.telInput.disabled && !this.telInput.readOnly) {
- this._showDropdown();
- }
- };
- this.selectedFlag.addEventListener('click', this._handleClickSelectedFlag);
-
- // open dropdown list if currently focused
- this._handleFlagsContainerKeydown = (e) => {
- const isDropdownHidden = this.countryList.classList.contains('hide');
-
- if (isDropdownHidden && ['ArrowUp', 'ArrowDown', ' ', 'Enter'].indexOf(e.key) !== -1) {
- // prevent form from being submitted if "ENTER" was pressed
- e.preventDefault();
- // prevent event from being handled again by document
- e.stopPropagation();
- this._showDropdown();
- }
-
- // allow navigation from dropdown to input on TAB
- if (e.key === 'Tab') this._closeDropdown();
- };
- this.flagsContainer.addEventListener('keydown', this._handleFlagsContainerKeydown);
- }
-
-
- // init many requests: utils script / geo ip lookup
- _initRequests() {
- // if the user has specified the path to the utils script, fetch it on window.load, else resolve
- if (this.options.utilsScript && !window.intlTelInputUtils) {
- // if the plugin is being initialised after the window.load event has already been fired
- if (window.intlTelInputGlobals.windowLoaded) {
- window.intlTelInputGlobals.loadUtils(this.options.utilsScript);
- } else {
- // wait until the load event so we don't block any other requests e.g. the flags image
- window.addEventListener('load', () => {
- window.intlTelInputGlobals.loadUtils(this.options.utilsScript);
- });
- }
- } else this.resolveUtilsScriptPromise();
-
- if (this.options.initialCountry === 'auto') this._loadAutoCountry();
- else this.resolveAutoCountryPromise();
- }
-
-
- // perform the geo ip lookup
- _loadAutoCountry() {
- // 3 options:
- // 1) already loaded (we're done)
- // 2) not already started loading (start)
- // 3) already started loading (do nothing - just wait for loading callback to fire)
- if (window.intlTelInputGlobals.autoCountry) {
- this.handleAutoCountry();
- } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {
- // don't do this twice!
- window.intlTelInputGlobals.startedLoadingAutoCountry = true;
-
- if (typeof this.options.geoIpLookup === 'function') {
- this.options.geoIpLookup((countryCode) => {
- window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();
- // tell all instances the auto country is ready
- // TODO: this should just be the current instances
- // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight
- // away (e.g. if they have already done the geo ip lookup somewhere else). Using
- // setTimeout means that the current thread of execution will finish before executing
- // this, which allows the plugin to finish initialising.
- setTimeout(() => forEachInstance('handleAutoCountry'));
- }, () => forEachInstance('rejectAutoCountryPromise'));
- }
- }
- }
-
-
- // initialize any key listeners
- _initKeyListeners() {
- // update flag on keyup
- this._handleKeyupEvent = () => {
- if (this._updateFlagFromNumber(this.telInput.value)) {
- this._triggerCountryChange();
- }
- };
- this.telInput.addEventListener('keyup', this._handleKeyupEvent);
-
- // update flag on cut/paste events (now supported in all major browsers)
- this._handleClipboardEvent = () => {
- // hack because "paste" event is fired before input is updated
- setTimeout(this._handleKeyupEvent);
- };
- this.telInput.addEventListener('cut', this._handleClipboardEvent);
- this.telInput.addEventListener('paste', this._handleClipboardEvent);
- }
-
-
- // adhere to the input's maxlength attr
- _cap(number) {
- const max = this.telInput.getAttribute('maxlength');
- return (max && number.length > max) ? number.substr(0, max) : number;
- }
-
-
- // listen for mousedown, focus and blur (for autoHideDialCode feature)
- _initFocusListeners() {
- // mousedown decides where the cursor goes, so if we're focusing we must preventDefault as
- // we'll be inserting the dial code, and we want the cursor to be at the end no matter where
- // they click
- this._handleMousedownFocusEvent = (e) => {
- if (this.telInput !== document.activeElement && !this.telInput.value) {
- e.preventDefault();
- // but this also cancels the focus, so we must trigger that manually
- this.telInput.focus();
- }
- };
- this.telInput.addEventListener('mousedown', this._handleMousedownFocusEvent);
-
- this._handleKeypressPlusEvent = (e) => {
- if (e.key === '+') this.telInput.value = '';
- };
-
- // on focus: if empty, insert the dial code for the currently selected flag
- this._handleFocusEvent = () => {
- if (!this.telInput.value && !this.telInput.readOnly && this.selectedCountryData.dialCode) {
- // insert the dial code
- this.telInput.value = `+${this.selectedCountryData.dialCode}`;
- // after auto-inserting a dial code, if the first key they hit is '+' then assume they are
- // entering a new number, so remove the dial code. use keypress instead of keydown because
- // keydown gets triggered for the shift key (required to hit the + key), and instead of
- // keyup because that shows the new '+' before removing the old one
- this.telInput.addEventListener('keypress', this._handleKeypressPlusEvent);
-
- // after tabbing in, make sure the cursor is at the end we must use setTimeout to get
- // outside of the focus handler as it seems the selection happens after that
- setTimeout(() => {
- const len = this.telInput.value.length;
- this.telInput.setSelectionRange(len, len);
- });
- }
- };
- this.telInput.addEventListener('focus', this._handleFocusEvent);
-
- // on blur or form submit: if just a dial code then remove it
- this._handleSubmitOrBlurEvent = () => {
- this._removeEmptyDialCode();
- };
- if (this.telInput.form) this.telInput.form.addEventListener('submit', this._handleSubmitOrBlurEvent);
- this.telInput.addEventListener('blur', this._handleSubmitOrBlurEvent);
-
- // made the decision not to trigger blur() now, because would only do anything in the case
- // where they manually set the initial value to just a dial code, in which case they probably
- // want it to be displayed.
- }
-
- _removeEmptyDialCode() {
- const startsPlus = (this.telInput.value.charAt(0) === '+');
-
- if (startsPlus) {
- const numeric = this._getNumeric(this.telInput.value);
- // if just a plus, or if just a dial code
- if (!numeric || this.selectedCountryData.dialCode === numeric) {
- this.telInput.value = '';
- }
- }
-
- // remove the keypress listener we added on focus
- this.telInput.removeEventListener('keypress', this._handleKeypressPlusEvent);
- }
-
- // extract the numeric digits from the given string
- _getNumeric(s) {
- return s.replace(/\D/g, '');
- }
-
-
- // trigger a custom event on the input
- _trigger(name) {
- // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax
- const e = document.createEvent('Event');
- e.initEvent(name, true, true); // can bubble, and is cancellable
- this.telInput.dispatchEvent(e);
- }
-
-
- // show the dropdown
- _showDropdown() {
- this.countryList.classList.remove('hide');
- this.countryList.setAttribute('aria-expanded', 'true');
-
- this._setDropdownPosition();
-
- // update highlighting and scroll to active list item
- if (this.activeItem) {
- this._highlightListItem(this.activeItem);
- this._scrollTo(this.activeItem);
- }
-
- // bind all the dropdown-related listeners: mouseover, click, click-off, keydown
- this._bindDropdownListeners();
-
- // update the arrow
- this.dropdownArrow.classList.add('up');
-
- this._trigger('open:countrydropdown');
- }
-
-
- // make sure the el has the className or not, depending on the value of shouldHaveClass
- _toggleClass(el, className, shouldHaveClass) {
- if (shouldHaveClass && !el.classList.contains(className)) el.classList.add(className);
- else if (!shouldHaveClass && el.classList.contains(className)) el.classList.remove(className);
- }
-
-
- // decide where to position dropdown (depends on position within viewport, and scroll)
- _setDropdownPosition() {
- if (this.options.dropdownContainer) {
- this.options.dropdownContainer.appendChild(this.dropdown);
- }
-
- if (!this.isMobile) {
- const pos = this.telInput.getBoundingClientRect();
- // windowTop from https://stackoverflow.com/a/14384091/217866
- const windowTop = window.pageYOffset || document.documentElement.scrollTop;
- const inputTop = pos.top + windowTop;
- const dropdownHeight = this.countryList.offsetHeight;
- // dropdownFitsBelow = (dropdownBottom < windowBottom)
- const dropdownFitsBelow = (inputTop + this.telInput.offsetHeight + dropdownHeight
- < windowTop + window.innerHeight);
- const dropdownFitsAbove = (inputTop - dropdownHeight > windowTop);
-
- // by default, the dropdown will be below the input. If we want to position it above the
- // input, we add the dropup class.
- this._toggleClass(this.countryList, 'dropup', (!dropdownFitsBelow && dropdownFitsAbove));
-
- // if dropdownContainer is enabled, calculate postion
- if (this.options.dropdownContainer) {
- // by default the dropdown will be directly over the input because it's not in the flow.
- // If we want to position it below, we need to add some extra top value.
- const extraTop = (!dropdownFitsBelow && dropdownFitsAbove) ? 0 : this.telInput.offsetHeight;
-
- // calculate placement
- this.dropdown.style.top = `${inputTop + extraTop}px`;
- this.dropdown.style.left = `${pos.left + document.body.scrollLeft}px`;
-
- // close menu on window scroll
- this._handleWindowScroll = () => this._closeDropdown();
- window.addEventListener('scroll', this._handleWindowScroll);
- }
- }
- }
-
-
- // iterate through parent nodes to find the closest list item
- _getClosestListItem(target) {
- let el = target;
- while (el && el !== this.countryList && !el.classList.contains('country')) el = el.parentNode;
- // if we reached the countryList element, then return null
- return (el === this.countryList) ? null : el;
- }
-
-
- // we only bind dropdown listeners when the dropdown is open
- _bindDropdownListeners() {
- // when mouse over a list item, just highlight that one
- // we add the class "highlight", so if they hit "enter" we know which one to select
- this._handleMouseoverCountryList = (e) => {
- // handle event delegation, as we're listening for this event on the countryList
- const listItem = this._getClosestListItem(e.target);
- if (listItem) this._highlightListItem(listItem);
- };
- this.countryList.addEventListener('mouseover', this._handleMouseoverCountryList);
-
- // listen for country selection
- this._handleClickCountryList = (e) => {
- const listItem = this._getClosestListItem(e.target);
- if (listItem) this._selectListItem(listItem);
- };
- this.countryList.addEventListener('click', this._handleClickCountryList);
-
- // click off to close
- // (except when this initial opening click is bubbling up)
- // we cannot just stopPropagation as it may be needed to close another instance
- let isOpening = true;
- this._handleClickOffToClose = () => {
- if (!isOpening) this._closeDropdown();
- isOpening = false;
- };
- document.documentElement.addEventListener('click', this._handleClickOffToClose);
-
- // listen for up/down scrolling, enter to select, or letters to jump to country name.
- // use keydown as keypress doesn't fire for non-char keys and we want to catch if they
- // just hit down and hold it to scroll down (no keyup event).
- // listen on the document because that's where key events are triggered if no input has focus
- let query = '';
- let queryTimer = null;
- this._handleKeydownOnDropdown = (e) => {
- // prevent down key from scrolling the whole page,
- // and enter key from submitting a form etc
- e.preventDefault();
-
- // up and down to navigate
- if (e.key === 'ArrowUp' || e.key === 'ArrowDown') this._handleUpDownKey(e.key);
- // enter to select
- else if (e.key === 'Enter') this._handleEnterKey();
- // esc to close
- else if (e.key === 'Escape') this._closeDropdown();
- // alpha chars to perform search
- // regex allows one latin alpha char or space, based on https://stackoverflow.com/a/26900132/217866)
- else if (/^[a-zA-ZÀ-ÿ ]$/.test(e.key)) {
- // jump to countries that start with the query string
- if (queryTimer) clearTimeout(queryTimer);
- query += e.key.toLowerCase();
- this._searchForCountry(query);
- // if the timer hits 1 second, reset the query
- queryTimer = setTimeout(() => {
- query = '';
- }, 1000);
- }
- };
- document.addEventListener('keydown', this._handleKeydownOnDropdown);
- }
-
-
- // highlight the next/prev item in the list (and ensure it is visible)
- _handleUpDownKey(key) {
- let next = (key === 'ArrowUp') ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;
- if (next) {
- // skip the divider
- if (next.classList.contains('divider')) {
- next = (key === 'ArrowUp') ? next.previousElementSibling : next.nextElementSibling;
- }
- this._highlightListItem(next);
- this._scrollTo(next);
- }
- }
-
-
- // select the currently highlighted item
- _handleEnterKey() {
- if (this.highlightedItem) this._selectListItem(this.highlightedItem);
- }
-
-
- // find the first list item whose name starts with the query string
- _searchForCountry(query) {
- for (let i = 0; i < this.countries.length; i++) {
- if (this._startsWith(this.countries[i].name, query)) {
- const listItem = this.countryList.querySelector(`#iti-item-${this.countries[i].iso2}`);
- // update highlighting and scroll
- this._highlightListItem(listItem);
- this._scrollTo(listItem, true);
- break;
- }
- }
- }
-
-
- // check if string a starts with string b
- _startsWith(a, b) {
- return (a.substr(0, b.length).toLowerCase() === b);
- }
-
-
- // update the input's value to the given val (format first if possible)
- // NOTE: this is called from _setInitialState, handleUtils and setNumber
- _updateValFromNumber(originalNumber) {
- let number = originalNumber;
- if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {
- const useNational = (!this.options.separateDialCode
- && (this.options.nationalMode || number.charAt(0) !== '+'));
- const { NATIONAL, INTERNATIONAL } = intlTelInputUtils.numberFormat;
- const format = useNational ? NATIONAL : INTERNATIONAL;
- number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);
- }
-
- number = this._beforeSetNumber(number);
- this.telInput.value = number;
- }
-
-
- // check if need to select a new flag based on the given number
- // Note: called from _setInitialState, keyup handler, setNumber
- _updateFlagFromNumber(originalNumber) {
- // if we're in nationalMode and we already have US/Canada selected, make sure the number starts
- // with a +1 so _getDialCode will be able to extract the area code
- // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag
- // from the number), that means we're initialising the plugin with a number that already has a
- // dial code, so fine to ignore this bit
- let number = originalNumber;
- const isNanp = this.selectedCountryData.dialCode === '1';
- if (number && this.options.nationalMode && isNanp && number.charAt(0) !== '+') {
- if (number.charAt(0) !== '1') number = `1${number}`;
- number = `+${number}`;
- }
-
- // try and extract valid dial code from input
- const dialCode = this._getDialCode(number);
- const numeric = this._getNumeric(number);
- let countryCode = null;
- if (dialCode) {
- // check if one of the matching countries is already selected
- const countryCodes = this.countryCodes[this._getNumeric(dialCode)];
- const alreadySelected = (countryCodes.indexOf(this.selectedCountryData.iso2) !== -1);
- // check if the given number contains a NANP area code i.e. the only dialCode that could be
- // extracted was +1 (instead of say +1204) and the actual number's length is >=4
- const isNanpAreaCode = (dialCode === '+1' && numeric.length >= 4);
- const isRegionlessNanpNumber = (this.selectedCountryData.dialCode === '1' && this._isRegionlessNanp(numeric));
-
- // only update the flag if:
- // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)
- // AND
- // B) either a matching country is not already selected OR the number contains a NANP area
- // code (ensure the flag is set to the first matching country)
- if (!isRegionlessNanpNumber && (!alreadySelected || isNanpAreaCode)) {
- // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first
- // non-empty index
- for (let j = 0; j < countryCodes.length; j++) {
- if (countryCodes[j]) {
- countryCode = countryCodes[j];
- break;
- }
- }
- }
- } else if (number.charAt(0) === '+' && numeric.length) {
- // invalid dial code, so empty
- // Note: use getNumeric here because the number has not been formatted yet, so could contain
- // bad chars
- countryCode = '';
- } else if (!number || number === '+') {
- // empty, or just a plus, so default
- countryCode = this.defaultCountry;
- }
-
- if (countryCode !== null) {
- return this._setFlag(countryCode);
- }
- return false;
- }
-
-
- // check if the given number is a regionless NANP number (expects the number to contain an
- // international dial code)
- _isRegionlessNanp(number) {
- const numeric = this._getNumeric(number);
- if (numeric.charAt(0) === '1') {
- const areaCode = numeric.substr(1, 3);
- return (regionlessNanpNumbers.indexOf(areaCode) !== -1);
- }
- return false;
- }
-
-
- // remove highlighting from other list items and highlight the given item
- _highlightListItem(listItem) {
- const prevItem = this.highlightedItem;
- if (prevItem) prevItem.classList.remove('highlight');
- this.highlightedItem = listItem;
- this.highlightedItem.classList.add('highlight');
- }
-
-
- // find the country data for the given country code
- // the ignoreOnlyCountriesOption is only used during init() while parsing the onlyCountries array
- _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {
- const countryList = (ignoreOnlyCountriesOption) ? allCountries : this.countries;
- for (let i = 0; i < countryList.length; i++) {
- if (countryList[i].iso2 === countryCode) {
- return countryList[i];
- }
- }
- if (allowFail) {
- return null;
- }
- throw new Error(`No country data for '${countryCode}'`);
- }
-
-
- // select the given flag, update the placeholder and the active list item
- // Note: called from _setInitialState, _updateFlagFromNumber, _selectListItem, setCountry
- _setFlag(countryCode) {
- const prevCountry = (this.selectedCountryData.iso2) ? this.selectedCountryData : {};
-
- // do this first as it will throw an error and stop if countryCode is invalid
- this.selectedCountryData = (countryCode) ? this._getCountryData(countryCode, false, false) : {};
- // update the defaultCountry - we only need the iso2 from now on, so just store that
- if (this.selectedCountryData.iso2) {
- this.defaultCountry = this.selectedCountryData.iso2;
- }
-
- this.selectedFlagInner.setAttribute('class', `iti-flag ${countryCode}`);
- // update the selected country's title attribute
- const title = (countryCode) ? `${this.selectedCountryData.name}: +${this.selectedCountryData.dialCode}` : 'Unknown';
- this.selectedFlag.setAttribute('title', title);
-
- if (this.options.separateDialCode) {
- const dialCode = (this.selectedCountryData.dialCode) ? `+${this.selectedCountryData.dialCode}` : '';
- const parent = this.telInput.parentNode;
- if (prevCountry.dialCode) {
- parent.classList.remove(`iti-sdc-${prevCountry.dialCode.length + 1}`);
- }
- if (dialCode) {
- parent.classList.add(`iti-sdc-${dialCode.length}`);
- }
- this.selectedDialCode.innerHTML = dialCode;
- }
-
- // and the input's placeholder
- this._updatePlaceholder();
-
- // update the active list item
- if (this.options.allowDropdown) {
- const prevItem = this.activeItem;
- if (prevItem) {
- prevItem.classList.remove('active');
- prevItem.setAttribute('aria-selected', 'false');
- }
- if (countryCode) {
- const nextItem = this.countryList.querySelector(`#iti-item-${countryCode}`);
- nextItem.setAttribute('aria-selected', 'true');
- nextItem.classList.add('active');
- this.activeItem = nextItem;
- this.countryList.setAttribute('aria-activedescendant', nextItem.getAttribute('id'));
- }
- }
-
- // return if the flag has changed or not
- return (prevCountry.iso2 !== countryCode);
- }
-
-
- // update the input placeholder to an example number from the currently selected country
- _updatePlaceholder() {
- const shouldSetPlaceholder = (this.options.autoPlaceholder === 'aggressive') || (!this.hadInitialPlaceholder && this.options.autoPlaceholder === 'polite');
- if (window.intlTelInputUtils && shouldSetPlaceholder) {
- const numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];
- let placeholder = (this.selectedCountryData.iso2) ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : '';
-
- placeholder = this._beforeSetNumber(placeholder);
- if (typeof this.options.customPlaceholder === 'function') {
- placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);
- }
- this.telInput.setAttribute('placeholder', placeholder);
- }
- }
-
-
- // called when the user selects a list item from the dropdown
- _selectListItem(listItem) {
- // update selected flag and active list item
- const flagChanged = this._setFlag(listItem.getAttribute('data-country-code'));
- this._closeDropdown();
-
- this._updateDialCode(listItem.getAttribute('data-dial-code'), true);
-
- // focus the input
- this.telInput.focus();
- // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto
- // inserting dial code), who try to put the cursor at the beginning the first time
- const len = this.telInput.value.length;
- this.telInput.setSelectionRange(len, len);
-
- if (flagChanged) {
- this._triggerCountryChange();
- }
- }
-
-
- // close the dropdown and unbind any listeners
- _closeDropdown() {
- this.countryList.classList.add('hide');
- this.countryList.setAttribute('aria-expanded', 'false');
- // update the arrow
- this.dropdownArrow.classList.remove('up');
-
- // unbind key events
- document.removeEventListener('keydown', this._handleKeydownOnDropdown);
- document.documentElement.removeEventListener('click', this._handleClickOffToClose);
- this.countryList.removeEventListener('mouseover', this._handleMouseoverCountryList);
- this.countryList.removeEventListener('click', this._handleClickCountryList);
-
- // remove menu from container
- if (this.options.dropdownContainer) {
- if (!this.isMobile) window.removeEventListener('scroll', this._handleWindowScroll);
- if (this.dropdown.parentNode) this.dropdown.parentNode.removeChild(this.dropdown);
- }
-
- this._trigger('close:countrydropdown');
- }
-
-
- // check if an element is visible within it's container, else scroll until it is
- _scrollTo(element, middle) {
- const container = this.countryList;
- // windowTop from https://stackoverflow.com/a/14384091/217866
- const windowTop = window.pageYOffset || document.documentElement.scrollTop;
- const containerHeight = container.offsetHeight;
- const containerTop = container.getBoundingClientRect().top + windowTop;
- const containerBottom = containerTop + containerHeight;
- const elementHeight = element.offsetHeight;
- const elementTop = element.getBoundingClientRect().top + windowTop;
- const elementBottom = elementTop + elementHeight;
- let newScrollTop = elementTop - containerTop + container.scrollTop;
- const middleOffset = (containerHeight / 2) - (elementHeight / 2);
-
- if (elementTop < containerTop) {
- // scroll up
- if (middle) newScrollTop -= middleOffset;
- container.scrollTop = newScrollTop;
- } else if (elementBottom > containerBottom) {
- // scroll down
- if (middle) newScrollTop += middleOffset;
- const heightDifference = containerHeight - elementHeight;
- container.scrollTop = newScrollTop - heightDifference;
- }
- }
-
-
- // replace any existing dial code with the new one
- // Note: called from _selectListItem and setCountry
- _updateDialCode(newDialCodeBare, hasSelectedListItem) {
- const inputVal = this.telInput.value;
- // save having to pass this every time
- const newDialCode = `+${newDialCodeBare}`;
-
- let newNumber;
- if (inputVal.charAt(0) === '+') {
- // there's a plus so we're dealing with a replacement (doesn't matter if nationalMode or not)
- const prevDialCode = this._getDialCode(inputVal);
- if (prevDialCode) {
- // current number contains a valid dial code, so replace it
- newNumber = inputVal.replace(prevDialCode, newDialCode);
- } else {
- // current number contains an invalid dial code, so ditch it
- // (no way to determine where the invalid dial code ends and the rest of the number begins)
- newNumber = newDialCode;
- }
- } else if (this.options.nationalMode || this.options.separateDialCode) {
- // don't do anything
- return;
- } else {
- // nationalMode is disabled
- if (inputVal) {
- // there is an existing value with no dial code: prefix the new dial code
- newNumber = newDialCode + inputVal;
- } else if (hasSelectedListItem || !this.options.autoHideDialCode) {
- // no existing value and either they've just selected a list item, or autoHideDialCode is
- // disabled: insert new dial code
- newNumber = newDialCode;
- } else {
- return;
- }
- }
-
- this.telInput.value = newNumber;
- }
-
-
- // try and extract a valid international dial code from a full telephone number
- // Note: returns the raw string inc plus character and any whitespace/dots etc
- _getDialCode(number) {
- let dialCode = '';
- // only interested in international numbers (starting with a plus)
- if (number.charAt(0) === '+') {
- let numericChars = '';
- // iterate over chars
- for (let i = 0; i < number.length; i++) {
- const c = number.charAt(i);
- // if char is number (https://stackoverflow.com/a/8935649/217866)
- if (!isNaN(parseInt(c, 10))) {
- numericChars += c;
- // if current numericChars make a valid dial code
- if (this.countryCodes[numericChars]) {
- // store the actual raw string (useful for matching later)
- dialCode = number.substr(0, i + 1);
- }
- // longest dial code is 4 chars
- if (numericChars.length === 4) {
- break;
- }
- }
- }
- }
- return dialCode;
- }
-
-
- // get the input val, adding the dial code if separateDialCode is enabled
- _getFullNumber() {
- const val = this.telInput.value.trim();
- const { dialCode } = this.selectedCountryData;
- let prefix;
- const numericVal = this._getNumeric(val);
-
- // normalized means ensure starts with a 1, so we can match against the full dial code
- const normalizedVal = (numericVal.charAt(0) === '1') ? numericVal : `1${numericVal}`;
- if (this.options.separateDialCode) {
- // when using separateDialCode, it is visible so is effectively part of the typed number
- prefix = `+${dialCode}`;
- } else if (val && val.charAt(0) !== '+' && val.charAt(0) !== '1' && dialCode && dialCode.charAt(0) === '1' && dialCode.length === 4 && dialCode !== normalizedVal.substr(0, 4)) {
- // ensure national NANP numbers contain the area code
- prefix = dialCode.substr(1);
- } else {
- prefix = '';
- }
- return prefix + val;
- }
-
-
- // remove the dial code if separateDialCode is enabled
- // also cap the length if the input has a maxlength attribute
- _beforeSetNumber(originalNumber) {
- let number = originalNumber;
- if (this.options.separateDialCode) {
- let dialCode = this._getDialCode(number);
- if (dialCode) {
- // US dialCode is "+1", which is what we want
- // CA dialCode is "+1 123", which is wrong - should be "+1" (as it has multiple area codes)
- // AS dialCode is "+1 684", which is what we want (as it doesn't have area codes)
- // Solution: if the country has area codes, then revert to just the dial code
- if (this.selectedCountryData.areaCodes !== null) {
- dialCode = `+${this.selectedCountryData.dialCode}`;
- }
- // a lot of numbers will have a space separating the dial code and the main number, and
- // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get
- // rid of it
- // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc
- const start = (number[dialCode.length] === ' ' || number[dialCode.length] === '-') ? dialCode.length + 1 : dialCode.length;
- number = number.substr(start);
- }
- }
-
- return this._cap(number);
- }
-
-
- // trigger the 'countrychange' event
- _triggerCountryChange() {
- this._trigger('countrychange');
- }
-
-
- /**************************
- * SECRET PUBLIC METHODS
- **************************/
-
-
- // this is called when the geoip call returns
- handleAutoCountry() {
- if (this.options.initialCountry === 'auto') {
- // we must set this even if there is an initial val in the input: in case the initial val is
- // invalid and they delete it - they should see their auto country
- this.defaultCountry = window.intlTelInputGlobals.autoCountry;
- // if there's no initial value in the input, then update the flag
- if (!this.telInput.value) {
- this.setCountry(this.defaultCountry);
- }
- this.resolveAutoCountryPromise();
- }
- }
-
-
- // this is called when the utils request completes
- handleUtils() {
- // if the request was successful
- if (window.intlTelInputUtils) {
- // if there's an initial value in the input, then format it
- if (this.telInput.value) {
- this._updateValFromNumber(this.telInput.value);
- }
- this._updatePlaceholder();
- }
- this.resolveUtilsScriptPromise();
- }
-
-
- /********************
- * PUBLIC METHODS
- ********************/
-
-
- // remove plugin
- destroy() {
- const { form } = this.telInput;
-
- if (this.options.allowDropdown) {
- // make sure the dropdown is closed (and unbind listeners)
- this._closeDropdown();
- this.selectedFlag.removeEventListener('click', this._handleClickSelectedFlag);
- this.flagsContainer.removeEventListener('keydown', this._handleFlagsContainerKeydown);
- // label click hack
- const label = this._getClosestLabel();
- if (label) label.removeEventListener('click', this._handleLabelClick);
- }
-
- // unbind hiddenInput listeners
- if (this.hiddenInput && form) form.removeEventListener('submit', this._handleHiddenInputSubmit);
-
- // unbind autoHideDialCode listeners
- if (this.options.autoHideDialCode) {
- this.telInput.removeEventListener('mousedown', this._handleMousedownFocusEvent);
- this.telInput.removeEventListener('focus', this._handleFocusEvent);
- if (form) form.removeEventListener('submit', this._handleSubmitOrBlurEvent);
- this.telInput.removeEventListener('blur', this._handleSubmitOrBlurEvent);
- }
-
- // unbind all events: key events, and focus/blur events if autoHideDialCode=true
- this.telInput.removeEventListener('keyup', this._handleKeyupEvent);
- this.telInput.removeEventListener('cut', this._handleClipboardEvent);
- this.telInput.removeEventListener('paste', this._handleClipboardEvent);
-
- // remove markup (but leave the original input)
- const wrapper = this.telInput.parentNode;
- wrapper.parentNode.insertBefore(this.telInput, wrapper);
- wrapper.parentNode.removeChild(wrapper);
-
- delete window.intlTelInputGlobals.instances[this.id];
- }
-
-
- // get the extension from the current number
- getExtension() {
- if (window.intlTelInputUtils) {
- return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);
- }
- return '';
- }
-
-
- // format the number to the given format
- getNumber(format) {
- if (window.intlTelInputUtils) {
- const { iso2 } = this.selectedCountryData;
- return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);
- }
- return '';
- }
-
-
- // get the type of the entered number e.g. landline/mobile
- getNumberType() {
- if (window.intlTelInputUtils) {
- return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);
- }
- return -99;
- }
-
-
- // get the country data for the currently selected flag
- getSelectedCountryData() {
- return this.selectedCountryData;
- }
-
-
- // get the validation error
- getValidationError() {
- if (window.intlTelInputUtils) {
- const { iso2 } = this.selectedCountryData;
- return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);
- }
- return -99;
- }
-
-
- // validate the input val - assumes the global function isValidNumber (from utilsScript)
- isValidNumber() {
- const val = this._getFullNumber().trim();
- const countryCode = (this.options.nationalMode) ? this.selectedCountryData.iso2 : '';
- return (window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null);
- }
-
-
- // update the selected flag, and update the input val accordingly
- setCountry(originalCountryCode) {
- const countryCode = originalCountryCode.toLowerCase();
- // check if already selected
- if (!this.selectedFlagInner.classList.contains(countryCode)) {
- this._setFlag(countryCode);
- this._updateDialCode(this.selectedCountryData.dialCode, false);
- this._triggerCountryChange();
- }
- }
-
-
- // set the input value and update the flag
- setNumber(number) {
- // we must update the flag first, which updates this.selectedCountryData, which is used for
- // formatting the number before displaying it
- const flagChanged = this._updateFlagFromNumber(number);
- this._updateValFromNumber(number);
- if (flagChanged) {
- this._triggerCountryChange();
- }
- }
-
- // set the placeholder number typ
- setPlaceholderNumberType(type) {
- this.options.placeholderNumberType = type;
- this._updatePlaceholder();
- }
-}
-
-
-/********************
- * STATIC METHODS
- ********************/
-
-
-// get the country data object
-window.intlTelInputGlobals.getCountryData = () => allCountries;
-
-
-// inject a
-
-
-
-
diff --git a/themes/materialize/js/init.js b/themes/materialize/js/init.js
index b5a9942..606a83c 100644
--- a/themes/materialize/js/init.js
+++ b/themes/materialize/js/init.js
@@ -1,24 +1,8 @@
$(document).ready(function(){
- // --------------
- //realtime calculation for credit account form
- //console.log( parseFloat($("#formPaymentAmount").val()).toFixed(2) );
- $("#globsicredit_chf").html( parseFloat($("#formPaymentAmount").val()).toFixed(2) );
- $("#globsicredit_eur").html( parseFloat($("#formPaymentAmount").val() * 0.93).toFixed(2) );
- $("#globsicredit_usd").html( parseFloat($("#formPaymentAmount").val() * 1.03).toFixed(2) );
-
- $("#formPaymentAmount").change(function(){
- $("#globsicredit_chf").html( parseFloat($("#formPaymentAmount").val()).toFixed(2) );
- $("#globsicredit_eur").html( parseFloat($("#formPaymentAmount").val() * 0.93).toFixed(2) );
- $("#globsicredit_usd").html( parseFloat($("#formPaymentAmount").val() * 1.03).toFixed(2) );
- });
- //ENDOF realtime calculation for credit account form
- // --------------
-
-
// --------------
- // MISC
+ // MISC Materialize
$('.modal').modal();
$('select').formSelect();
$('.sidenav').sidenav();
@@ -31,60 +15,4 @@ $(document).ready(function(){
// --------------
-
- // --------------
- //tablesorter
- $("table")
- .tablesorter({
- //REM: widgets are treated in this priority: uitheme, saveSort, columns, resizable, filter, pager widget, stickyHeaders, zebra, pager plugin
- widgets: ["filter", "uitheme"],
- //widgetOptions: {
- // columns_tfoot: true
- //}
- })
- .tablesorterPager({
- container: $(".ts-pager"),
- cssGoto : ".pagenum",
- removeRows: true,
- output: '{startRow} - {endRow} / {filteredRows} ({totalRows})'
- });
- //ENDOF tablesorter
- // --------------
-
-
-
- // --------------
- // When the customer enter his credit card number, add spaces between the 4 digits groups
- function separate_by_4(){
- var card_number = $(this).val();
- card_number = card_number.replace(/\s/g,'').replace(/(\d{4})/g, '$1 ');
- $(this).val(card_number);
- }
- $("#formCreditCardPaymentNumber").keypress(separate_by_4);
- $("#formCreditCardPaymentNumber").change(separate_by_4);
- //ENDOF When the customer enter his credit card number, add spaces between the 4 digits groups
- // --------------
-
-
- // --------------
- // Every X seconds, refresh globsi credit amount. (if the slot to display it is available only)
- function refresh_globsi_credit(){
- $.getJSON(
- urlRoot + "scripts/getGlobsiCredit.php",
- function(data){
- $('#globsi_credit_amount').html(data);
- $('#globsi_credit').removeClass('hidden');
- $('#globsi_credit_amount_menu_collapsed').html(data);
- $('#globsi_credit_menu_collapsed').removeClass('hidden');
- }
- );
- }
-
- if($('#globsi_credit').length > 0){
- refresh_globsi_credit();
- setInterval(refresh_globsi_credit, 10000); // The interval set to 30 seconds
- }
- //ENDOF Every X seconds, refresh globsi credit amount. (if the slot to display it is available only)
- // --------------
-
-}); // end of document ready
+});
diff --git a/themes/materialize/js/materialize.js b/themes/materialize/js/materialize.js
deleted file mode 100644
index 647963d..0000000
--- a/themes/materialize/js/materialize.js
+++ /dev/null
@@ -1,12337 +0,0 @@
-/*!
- * Materialize v1.0.0-rc.1 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */
-(function (factory) {
- window.cash = factory();
-})(function () {
- var doc = document,
- win = window,
- ArrayProto = Array.prototype,
- slice = ArrayProto.slice,
- filter = ArrayProto.filter,
- push = ArrayProto.push;
-
- var noop = function () {},
- isFunction = function (item) {
- // @see https://crbug.com/568448
- return typeof item === typeof noop && item.call;
- },
- isString = function (item) {
- return typeof item === typeof "";
- };
-
- var idMatch = /^#[\w-]*$/,
- classMatch = /^\.[\w-]*$/,
- htmlMatch = /<.+>/,
- singlet = /^\w+$/;
-
- function find(selector, context) {
- context = context || doc;
- var elems = classMatch.test(selector) ? context.getElementsByClassName(selector.slice(1)) : singlet.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector);
- return elems;
- }
-
- var frag;
- function parseHTML(str) {
- if (!frag) {
- frag = doc.implementation.createHTMLDocument(null);
- var base = frag.createElement("base");
- base.href = doc.location.href;
- frag.head.appendChild(base);
- }
-
- frag.body.innerHTML = str;
-
- return frag.body.childNodes;
- }
-
- function onReady(fn) {
- if (doc.readyState !== "loading") {
- fn();
- } else {
- doc.addEventListener("DOMContentLoaded", fn);
- }
- }
-
- function Init(selector, context) {
- if (!selector) {
- return this;
- }
-
- // If already a cash collection, don't do any further processing
- if (selector.cash && selector !== win) {
- return selector;
- }
-
- var elems = selector,
- i = 0,
- length;
-
- if (isString(selector)) {
- elems = idMatch.test(selector) ?
- // If an ID use the faster getElementById check
- doc.getElementById(selector.slice(1)) : htmlMatch.test(selector) ?
- // If HTML, parse it into real elements
- parseHTML(selector) :
- // else use `find`
- find(selector, context);
-
- // If function, use as shortcut for DOM ready
- } else if (isFunction(selector)) {
- onReady(selector);return this;
- }
-
- if (!elems) {
- return this;
- }
-
- // If a single DOM element is passed in or received via ID, return the single element
- if (elems.nodeType || elems === win) {
- this[0] = elems;
- this.length = 1;
- } else {
- // Treat like an array and loop through each item.
- length = this.length = elems.length;
- for (; i < length; i++) {
- this[i] = elems[i];
- }
- }
-
- return this;
- }
-
- function cash(selector, context) {
- return new Init(selector, context);
- }
-
- var fn = cash.fn = cash.prototype = Init.prototype = { // jshint ignore:line
- cash: true,
- length: 0,
- push: push,
- splice: ArrayProto.splice,
- map: ArrayProto.map,
- init: Init
- };
-
- Object.defineProperty(fn, "constructor", { value: cash });
-
- cash.parseHTML = parseHTML;
- cash.noop = noop;
- cash.isFunction = isFunction;
- cash.isString = isString;
-
- cash.extend = fn.extend = function (target) {
- target = target || {};
-
- var args = slice.call(arguments),
- length = args.length,
- i = 1;
-
- if (args.length === 1) {
- target = this;
- i = 0;
- }
-
- for (; i < length; i++) {
- if (!args[i]) {
- continue;
- }
- for (var key in args[i]) {
- if (args[i].hasOwnProperty(key)) {
- target[key] = args[i][key];
- }
- }
- }
-
- return target;
- };
-
- function each(collection, callback) {
- var l = collection.length,
- i = 0;
-
- for (; i < l; i++) {
- if (callback.call(collection[i], collection[i], i, collection) === false) {
- break;
- }
- }
- }
-
- function matches(el, selector) {
- var m = el && (el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector);
- return !!m && m.call(el, selector);
- }
-
- function getCompareFunction(selector) {
- return (
- /* Use browser's `matches` function if string */
- isString(selector) ? matches :
- /* Match a cash element */
- selector.cash ? function (el) {
- return selector.is(el);
- } :
- /* Direct comparison */
- function (el, selector) {
- return el === selector;
- }
- );
- }
-
- function unique(collection) {
- return cash(slice.call(collection).filter(function (item, index, self) {
- return self.indexOf(item) === index;
- }));
- }
-
- cash.extend({
- merge: function (first, second) {
- var len = +second.length,
- i = first.length,
- j = 0;
-
- for (; j < len; i++, j++) {
- first[i] = second[j];
- }
-
- first.length = i;
- return first;
- },
-
- each: each,
- matches: matches,
- unique: unique,
- isArray: Array.isArray,
- isNumeric: function (n) {
- return !isNaN(parseFloat(n)) && isFinite(n);
- }
-
- });
-
- var uid = cash.uid = "_cash" + Date.now();
-
- function getDataCache(node) {
- return node[uid] = node[uid] || {};
- }
-
- function setData(node, key, value) {
- return getDataCache(node)[key] = value;
- }
-
- function getData(node, key) {
- var c = getDataCache(node);
- if (c[key] === undefined) {
- c[key] = node.dataset ? node.dataset[key] : cash(node).attr("data-" + key);
- }
- return c[key];
- }
-
- function removeData(node, key) {
- var c = getDataCache(node);
- if (c) {
- delete c[key];
- } else if (node.dataset) {
- delete node.dataset[key];
- } else {
- cash(node).removeAttr("data-" + name);
- }
- }
-
- fn.extend({
- data: function (name, value) {
- if (isString(name)) {
- return value === undefined ? getData(this[0], name) : this.each(function (v) {
- return setData(v, name, value);
- });
- }
-
- for (var key in name) {
- this.data(key, name[key]);
- }
-
- return this;
- },
-
- removeData: function (key) {
- return this.each(function (v) {
- return removeData(v, key);
- });
- }
-
- });
-
- var notWhiteMatch = /\S+/g;
-
- function getClasses(c) {
- return isString(c) && c.match(notWhiteMatch);
- }
-
- function hasClass(v, c) {
- return v.classList ? v.classList.contains(c) : new RegExp("(^| )" + c + "( |$)", "gi").test(v.className);
- }
-
- function addClass(v, c, spacedName) {
- if (v.classList) {
- v.classList.add(c);
- } else if (spacedName.indexOf(" " + c + " ")) {
- v.className += " " + c;
- }
- }
-
- function removeClass(v, c) {
- if (v.classList) {
- v.classList.remove(c);
- } else {
- v.className = v.className.replace(c, "");
- }
- }
-
- fn.extend({
- addClass: function (c) {
- var classes = getClasses(c);
-
- return classes ? this.each(function (v) {
- var spacedName = " " + v.className + " ";
- each(classes, function (c) {
- addClass(v, c, spacedName);
- });
- }) : this;
- },
-
- attr: function (name, value) {
- if (!name) {
- return undefined;
- }
-
- if (isString(name)) {
- if (value === undefined) {
- return this[0] ? this[0].getAttribute ? this[0].getAttribute(name) : this[0][name] : undefined;
- }
-
- return this.each(function (v) {
- if (v.setAttribute) {
- v.setAttribute(name, value);
- } else {
- v[name] = value;
- }
- });
- }
-
- for (var key in name) {
- this.attr(key, name[key]);
- }
-
- return this;
- },
-
- hasClass: function (c) {
- var check = false,
- classes = getClasses(c);
- if (classes && classes.length) {
- this.each(function (v) {
- check = hasClass(v, classes[0]);
- return !check;
- });
- }
- return check;
- },
-
- prop: function (name, value) {
- if (isString(name)) {
- return value === undefined ? this[0][name] : this.each(function (v) {
- v[name] = value;
- });
- }
-
- for (var key in name) {
- this.prop(key, name[key]);
- }
-
- return this;
- },
-
- removeAttr: function (name) {
- return this.each(function (v) {
- if (v.removeAttribute) {
- v.removeAttribute(name);
- } else {
- delete v[name];
- }
- });
- },
-
- removeClass: function (c) {
- if (!arguments.length) {
- return this.attr("class", "");
- }
- var classes = getClasses(c);
- return classes ? this.each(function (v) {
- each(classes, function (c) {
- removeClass(v, c);
- });
- }) : this;
- },
-
- removeProp: function (name) {
- return this.each(function (v) {
- delete v[name];
- });
- },
-
- toggleClass: function (c, state) {
- if (state !== undefined) {
- return this[state ? "addClass" : "removeClass"](c);
- }
- var classes = getClasses(c);
- return classes ? this.each(function (v) {
- var spacedName = " " + v.className + " ";
- each(classes, function (c) {
- if (hasClass(v, c)) {
- removeClass(v, c);
- } else {
- addClass(v, c, spacedName);
- }
- });
- }) : this;
- } });
-
- fn.extend({
- add: function (selector, context) {
- return unique(cash.merge(this, cash(selector, context)));
- },
-
- each: function (callback) {
- each(this, callback);
- return this;
- },
-
- eq: function (index) {
- return cash(this.get(index));
- },
-
- filter: function (selector) {
- if (!selector) {
- return this;
- }
-
- var comparator = isFunction(selector) ? selector : getCompareFunction(selector);
-
- return cash(filter.call(this, function (e) {
- return comparator(e, selector);
- }));
- },
-
- first: function () {
- return this.eq(0);
- },
-
- get: function (index) {
- if (index === undefined) {
- return slice.call(this);
- }
- return index < 0 ? this[index + this.length] : this[index];
- },
-
- index: function (elem) {
- var child = elem ? cash(elem)[0] : this[0],
- collection = elem ? this : cash(child).parent().children();
- return slice.call(collection).indexOf(child);
- },
-
- last: function () {
- return this.eq(-1);
- }
-
- });
-
- var camelCase = function () {
- var camelRegex = /(?:^\w|[A-Z]|\b\w)/g,
- whiteSpace = /[\s-_]+/g;
- return function (str) {
- return str.replace(camelRegex, function (letter, index) {
- return letter[index === 0 ? "toLowerCase" : "toUpperCase"]();
- }).replace(whiteSpace, "");
- };
- }();
-
- var getPrefixedProp = function () {
- var cache = {},
- doc = document,
- div = doc.createElement("div"),
- style = div.style;
-
- return function (prop) {
- prop = camelCase(prop);
- if (cache[prop]) {
- return cache[prop];
- }
-
- var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
- prefixes = ["webkit", "moz", "ms", "o"],
- props = (prop + " " + prefixes.join(ucProp + " ") + ucProp).split(" ");
-
- each(props, function (p) {
- if (p in style) {
- cache[p] = prop = cache[prop] = p;
- return false;
- }
- });
-
- return cache[prop];
- };
- }();
-
- cash.prefixedProp = getPrefixedProp;
- cash.camelCase = camelCase;
-
- fn.extend({
- css: function (prop, value) {
- if (isString(prop)) {
- prop = getPrefixedProp(prop);
- return arguments.length > 1 ? this.each(function (v) {
- return v.style[prop] = value;
- }) : win.getComputedStyle(this[0])[prop];
- }
-
- for (var key in prop) {
- this.css(key, prop[key]);
- }
-
- return this;
- }
-
- });
-
- function compute(el, prop) {
- return parseInt(win.getComputedStyle(el[0], null)[prop], 10) || 0;
- }
-
- each(["Width", "Height"], function (v) {
- var lower = v.toLowerCase();
-
- fn[lower] = function () {
- return this[0].getBoundingClientRect()[lower];
- };
-
- fn["inner" + v] = function () {
- return this[0]["client" + v];
- };
-
- fn["outer" + v] = function (margins) {
- return this[0]["offset" + v] + (margins ? compute(this, "margin" + (v === "Width" ? "Left" : "Top")) + compute(this, "margin" + (v === "Width" ? "Right" : "Bottom")) : 0);
- };
- });
-
- function registerEvent(node, eventName, callback) {
- var eventCache = getData(node, "_cashEvents") || setData(node, "_cashEvents", {});
- eventCache[eventName] = eventCache[eventName] || [];
- eventCache[eventName].push(callback);
- node.addEventListener(eventName, callback);
- }
-
- function removeEvent(node, eventName, callback) {
- var events = getData(node, "_cashEvents"),
- eventCache = events && events[eventName],
- index;
-
- if (!eventCache) {
- return;
- }
-
- if (callback) {
- node.removeEventListener(eventName, callback);
- index = eventCache.indexOf(callback);
- if (index >= 0) {
- eventCache.splice(index, 1);
- }
- } else {
- each(eventCache, function (event) {
- node.removeEventListener(eventName, event);
- });
- eventCache = [];
- }
- }
-
- fn.extend({
- off: function (eventName, callback) {
- return this.each(function (v) {
- return removeEvent(v, eventName, callback);
- });
- },
-
- on: function (eventName, delegate, callback, runOnce) {
- // jshint ignore:line
- var originalCallback;
- if (!isString(eventName)) {
- for (var key in eventName) {
- this.on(key, delegate, eventName[key]);
- }
- return this;
- }
-
- if (isFunction(delegate)) {
- callback = delegate;
- delegate = null;
- }
-
- if (eventName === "ready") {
- onReady(callback);
- return this;
- }
-
- if (delegate) {
- originalCallback = callback;
- callback = function (e) {
- var t = e.target;
- while (!matches(t, delegate)) {
- if (t === this || t === null) {
- return t = false;
- }
-
- t = t.parentNode;
- }
-
- if (t) {
- originalCallback.call(t, e);
- }
- };
- }
-
- return this.each(function (v) {
- var finalCallback = callback;
- if (runOnce) {
- finalCallback = function () {
- callback.apply(this, arguments);
- removeEvent(v, eventName, finalCallback);
- };
- }
- registerEvent(v, eventName, finalCallback);
- });
- },
-
- one: function (eventName, delegate, callback) {
- return this.on(eventName, delegate, callback, true);
- },
-
- ready: onReady,
-
- /**
- * Modified
- * Triggers browser event
- * @param String eventName
- * @param Object data - Add properties to event object
- */
- trigger: function (eventName, data) {
- if (document.createEvent) {
- var evt = document.createEvent('HTMLEvents');
- evt.initEvent(eventName, true, false);
- evt = this.extend(evt, data);
- return this.each(function (v) {
- return v.dispatchEvent(evt);
- });
- }
- }
-
- });
-
- function encode(name, value) {
- return "&" + encodeURIComponent(name) + "=" + encodeURIComponent(value).replace(/%20/g, "+");
- }
-
- function getSelectMultiple_(el) {
- var values = [];
- each(el.options, function (o) {
- if (o.selected) {
- values.push(o.value);
- }
- });
- return values.length ? values : null;
- }
-
- function getSelectSingle_(el) {
- var selectedIndex = el.selectedIndex;
- return selectedIndex >= 0 ? el.options[selectedIndex].value : null;
- }
-
- function getValue(el) {
- var type = el.type;
- if (!type) {
- return null;
- }
- switch (type.toLowerCase()) {
- case "select-one":
- return getSelectSingle_(el);
- case "select-multiple":
- return getSelectMultiple_(el);
- case "radio":
- return el.checked ? el.value : null;
- case "checkbox":
- return el.checked ? el.value : null;
- default:
- return el.value ? el.value : null;
- }
- }
-
- fn.extend({
- serialize: function () {
- var query = "";
-
- each(this[0].elements || this, function (el) {
- if (el.disabled || el.tagName === "FIELDSET") {
- return;
- }
- var name = el.name;
- switch (el.type.toLowerCase()) {
- case "file":
- case "reset":
- case "submit":
- case "button":
- break;
- case "select-multiple":
- var values = getValue(el);
- if (values !== null) {
- each(values, function (value) {
- query += encode(name, value);
- });
- }
- break;
- default:
- var value = getValue(el);
- if (value !== null) {
- query += encode(name, value);
- }
- }
- });
-
- return query.substr(1);
- },
-
- val: function (value) {
- if (value === undefined) {
- return getValue(this[0]);
- }
-
- return this.each(function (v) {
- return v.value = value;
- });
- }
-
- });
-
- function insertElement(el, child, prepend) {
- if (prepend) {
- var first = el.childNodes[0];
- el.insertBefore(child, first);
- } else {
- el.appendChild(child);
- }
- }
-
- function insertContent(parent, child, prepend) {
- var str = isString(child);
-
- if (!str && child.length) {
- each(child, function (v) {
- return insertContent(parent, v, prepend);
- });
- return;
- }
-
- each(parent, str ? function (v) {
- return v.insertAdjacentHTML(prepend ? "afterbegin" : "beforeend", child);
- } : function (v, i) {
- return insertElement(v, i === 0 ? child : child.cloneNode(true), prepend);
- });
- }
-
- fn.extend({
- after: function (selector) {
- cash(selector).insertAfter(this);
- return this;
- },
-
- append: function (content) {
- insertContent(this, content);
- return this;
- },
-
- appendTo: function (parent) {
- insertContent(cash(parent), this);
- return this;
- },
-
- before: function (selector) {
- cash(selector).insertBefore(this);
- return this;
- },
-
- clone: function () {
- return cash(this.map(function (v) {
- return v.cloneNode(true);
- }));
- },
-
- empty: function () {
- this.html("");
- return this;
- },
-
- html: function (content) {
- if (content === undefined) {
- return this[0].innerHTML;
- }
- var source = content.nodeType ? content[0].outerHTML : content;
- return this.each(function (v) {
- return v.innerHTML = source;
- });
- },
-
- insertAfter: function (selector) {
- var _this = this;
-
- cash(selector).each(function (el, i) {
- var parent = el.parentNode,
- sibling = el.nextSibling;
- _this.each(function (v) {
- parent.insertBefore(i === 0 ? v : v.cloneNode(true), sibling);
- });
- });
-
- return this;
- },
-
- insertBefore: function (selector) {
- var _this2 = this;
- cash(selector).each(function (el, i) {
- var parent = el.parentNode;
- _this2.each(function (v) {
- parent.insertBefore(i === 0 ? v : v.cloneNode(true), el);
- });
- });
- return this;
- },
-
- prepend: function (content) {
- insertContent(this, content, true);
- return this;
- },
-
- prependTo: function (parent) {
- insertContent(cash(parent), this, true);
- return this;
- },
-
- remove: function () {
- return this.each(function (v) {
- if (!!v.parentNode) {
- return v.parentNode.removeChild(v);
- }
- });
- },
-
- text: function (content) {
- if (content === undefined) {
- return this[0].textContent;
- }
- return this.each(function (v) {
- return v.textContent = content;
- });
- }
-
- });
-
- var docEl = doc.documentElement;
-
- fn.extend({
- position: function () {
- var el = this[0];
- return {
- left: el.offsetLeft,
- top: el.offsetTop
- };
- },
-
- offset: function () {
- var rect = this[0].getBoundingClientRect();
- return {
- top: rect.top + win.pageYOffset - docEl.clientTop,
- left: rect.left + win.pageXOffset - docEl.clientLeft
- };
- },
-
- offsetParent: function () {
- return cash(this[0].offsetParent);
- }
-
- });
-
- fn.extend({
- children: function (selector) {
- var elems = [];
- this.each(function (el) {
- push.apply(elems, el.children);
- });
- elems = unique(elems);
-
- return !selector ? elems : elems.filter(function (v) {
- return matches(v, selector);
- });
- },
-
- closest: function (selector) {
- if (!selector || this.length < 1) {
- return cash();
- }
- if (this.is(selector)) {
- return this.filter(selector);
- }
- return this.parent().closest(selector);
- },
-
- is: function (selector) {
- if (!selector) {
- return false;
- }
-
- var match = false,
- comparator = getCompareFunction(selector);
-
- this.each(function (el) {
- match = comparator(el, selector);
- return !match;
- });
-
- return match;
- },
-
- find: function (selector) {
- if (!selector || selector.nodeType) {
- return cash(selector && this.has(selector).length ? selector : null);
- }
-
- var elems = [];
- this.each(function (el) {
- push.apply(elems, find(selector, el));
- });
-
- return unique(elems);
- },
-
- has: function (selector) {
- var comparator = isString(selector) ? function (el) {
- return find(selector, el).length !== 0;
- } : function (el) {
- return el.contains(selector);
- };
-
- return this.filter(comparator);
- },
-
- next: function () {
- return cash(this[0].nextElementSibling);
- },
-
- not: function (selector) {
- if (!selector) {
- return this;
- }
-
- var comparator = getCompareFunction(selector);
-
- return this.filter(function (el) {
- return !comparator(el, selector);
- });
- },
-
- parent: function () {
- var result = [];
-
- this.each(function (item) {
- if (item && item.parentNode) {
- result.push(item.parentNode);
- }
- });
-
- return unique(result);
- },
-
- parents: function (selector) {
- var last,
- result = [];
-
- this.each(function (item) {
- last = item;
-
- while (last && last.parentNode && last !== doc.body.parentNode) {
- last = last.parentNode;
-
- if (!selector || selector && matches(last, selector)) {
- result.push(last);
- }
- }
- });
-
- return unique(result);
- },
-
- prev: function () {
- return cash(this[0].previousElementSibling);
- },
-
- siblings: function (selector) {
- var collection = this.parent().children(selector),
- el = this[0];
-
- return collection.filter(function (i) {
- return i !== el;
- });
- }
-
- });
-
- return cash;
-});
-;
-var Component = function () {
- /**
- * Generic constructor for all components
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Component(classDef, el, options) {
- _classCallCheck(this, Component);
-
- // Display error if el is valid HTML Element
- if (!(el instanceof Element)) {
- console.error(Error(el + ' is not an HTML Element'));
- }
-
- // If exists, destroy and reinitialize in child
- var ins = classDef.getInstance(el);
- if (!!ins) {
- ins.destroy();
- }
-
- this.el = el;
- this.$el = cash(el);
- }
-
- /**
- * Initializes components
- * @param {class} classDef
- * @param {Element | NodeList | jQuery} els
- * @param {Object} options
- */
-
-
- _createClass(Component, null, [{
- key: "init",
- value: function init(classDef, els, options) {
- var instances = null;
- if (els instanceof Element) {
- instances = new classDef(els, options);
- } else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) {
- var instancesArr = [];
- for (var i = 0; i < els.length; i++) {
- instancesArr.push(new classDef(els[i], options));
- }
- instances = instancesArr;
- }
-
- return instances;
- }
- }]);
-
- return Component;
-}();
-
-; // Required for Meteor package, the use of window prevents export by Meteor
-(function (window) {
- if (window.Package) {
- M = {};
- } else {
- window.M = {};
- }
-
- // Check for jQuery
- M.jQueryLoaded = !!window.jQuery;
-})(window);
-
-// AMD
-if (typeof define === 'function' && define.amd) {
- define('M', [], function () {
- return M;
- });
-
- // Common JS
-} else if (typeof exports !== 'undefined' && !exports.nodeType) {
- if (typeof module !== 'undefined' && !module.nodeType && module.exports) {
- exports = module.exports = M;
- }
- exports.default = M;
-}
-
-M.keys = {
- TAB: 9,
- ENTER: 13,
- ESC: 27,
- ARROW_UP: 38,
- ARROW_DOWN: 40
-};
-
-/**
- * TabPress Keydown handler
- */
-M.tabPressed = false;
-M.keyDown = false;
-var docHandleKeydown = function (e) {
- M.keyDown = true;
- if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
- M.tabPressed = true;
- }
-};
-var docHandleKeyup = function (e) {
- M.keyDown = false;
- if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
- M.tabPressed = false;
- }
-};
-var docHandleFocus = function (e) {
- if (M.keyDown) {
- document.body.classList.add('keyboard-focused');
- }
-};
-var docHandleBlur = function (e) {
- document.body.classList.remove('keyboard-focused');
-};
-document.addEventListener('keydown', docHandleKeydown, true);
-document.addEventListener('keyup', docHandleKeyup, true);
-document.addEventListener('focus', docHandleFocus, true);
-document.addEventListener('blur', docHandleBlur, true);
-
-/**
- * Initialize jQuery wrapper for plugin
- * @param {Class} plugin javascript class
- * @param {string} pluginName jQuery plugin name
- * @param {string} classRef Class reference name
- */
-M.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
- jQuery.fn[pluginName] = function (methodOrOptions) {
- // Call plugin method if valid method name is passed in
- if (plugin.prototype[methodOrOptions]) {
- var params = Array.prototype.slice.call(arguments, 1);
-
- // Getter methods
- if (methodOrOptions.slice(0, 3) === 'get') {
- var instance = this.first()[0][classRef];
- return instance[methodOrOptions].apply(instance, params);
- }
-
- // Void methods
- return this.each(function () {
- var instance = this[classRef];
- instance[methodOrOptions].apply(instance, params);
- });
-
- // Initialize plugin if options or no argument is passed in
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
- plugin.init(this, arguments[0]);
- return this;
- }
-
- // Return error if an unrecognized method name is passed in
- jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName);
- };
-};
-
-/**
- * Automatically initialize components
- * @param {Element} context DOM Element to search within for components
- */
-M.AutoInit = function (context) {
- // Use document.body if no context is given
- var root = !!context ? context : document.body;
-
- var registry = {
- Autocomplete: root.querySelectorAll('.autocomplete:not(.no-autoinit)'),
- Carousel: root.querySelectorAll('.carousel:not(.no-autoinit)'),
- Chips: root.querySelectorAll('.chips:not(.no-autoinit)'),
- Collapsible: root.querySelectorAll('.collapsible:not(.no-autoinit)'),
- Datepicker: root.querySelectorAll('.datepicker:not(.no-autoinit)'),
- Dropdown: root.querySelectorAll('.dropdown-trigger:not(.no-autoinit)'),
- Materialbox: root.querySelectorAll('.materialboxed:not(.no-autoinit)'),
- Modal: root.querySelectorAll('.modal:not(.no-autoinit)'),
- Parallax: root.querySelectorAll('.parallax:not(.no-autoinit)'),
- Pushpin: root.querySelectorAll('.pushpin:not(.no-autoinit)'),
- ScrollSpy: root.querySelectorAll('.scrollspy:not(.no-autoinit)'),
- FormSelect: root.querySelectorAll('select:not(.no-autoinit)'),
- Sidenav: root.querySelectorAll('.sidenav:not(.no-autoinit)'),
- Tabs: root.querySelectorAll('.tabs:not(.no-autoinit)'),
- TapTarget: root.querySelectorAll('.tap-target:not(.no-autoinit)'),
- Timepicker: root.querySelectorAll('.timepicker:not(.no-autoinit)'),
- Tooltip: root.querySelectorAll('.tooltipped:not(.no-autoinit)'),
- FloatingActionButton: root.querySelectorAll('.fixed-action-btn:not(.no-autoinit)')
- };
-
- for (var pluginName in registry) {
- var plugin = M[pluginName];
- plugin.init(registry[pluginName]);
- }
-};
-
-/**
- * Generate approximated selector string for a jQuery object
- * @param {jQuery} obj jQuery object to be parsed
- * @returns {string}
- */
-M.objectSelectorString = function (obj) {
- var tagStr = obj.prop('tagName') || '';
- var idStr = obj.attr('id') || '';
- var classStr = obj.attr('class') || '';
- return (tagStr + idStr + classStr).replace(/\s/g, '');
-};
-
-// Unique Random ID
-M.guid = function () {
- function s4() {
- return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
- }
- return function () {
- return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
- };
-}();
-
-/**
- * Escapes hash from special characters
- * @param {string} hash String returned from this.hash
- * @returns {string}
- */
-M.escapeHash = function (hash) {
- return hash.replace(/(:|\.|\[|\]|,|=|\/)/g, '\\$1');
-};
-
-M.elementOrParentIsFixed = function (element) {
- var $element = $(element);
- var $checkElements = $element.add($element.parents());
- var isFixed = false;
- $checkElements.each(function () {
- if ($(this).css('position') === 'fixed') {
- isFixed = true;
- return false;
- }
- });
- return isFixed;
-};
-
-/**
- * @typedef {Object} Edges
- * @property {Boolean} top If the top edge was exceeded
- * @property {Boolean} right If the right edge was exceeded
- * @property {Boolean} bottom If the bottom edge was exceeded
- * @property {Boolean} left If the left edge was exceeded
- */
-
-/**
- * @typedef {Object} Bounding
- * @property {Number} left left offset coordinate
- * @property {Number} top top offset coordinate
- * @property {Number} width
- * @property {Number} height
- */
-
-/**
- * Escapes hash from special characters
- * @param {Element} container Container element that acts as the boundary
- * @param {Bounding} bounding element bounding that is being checked
- * @param {Number} offset offset from edge that counts as exceeding
- * @returns {Edges}
- */
-M.checkWithinContainer = function (container, bounding, offset) {
- var edges = {
- top: false,
- right: false,
- bottom: false,
- left: false
- };
-
- var containerRect = container.getBoundingClientRect();
- // If body element is smaller than viewport, use viewport height instead.
- var containerBottom = container === document.body ? Math.max(containerRect.bottom, window.innerHeight) : containerRect.bottom;
-
- var scrollLeft = container.scrollLeft;
- var scrollTop = container.scrollTop;
-
- var scrolledX = bounding.left - scrollLeft;
- var scrolledY = bounding.top - scrollTop;
-
- // Check for container and viewport for each edge
- if (scrolledX < containerRect.left + offset || scrolledX < offset) {
- edges.left = true;
- }
-
- if (scrolledX + bounding.width > containerRect.right - offset || scrolledX + bounding.width > window.innerWidth - offset) {
- edges.right = true;
- }
-
- if (scrolledY < containerRect.top + offset || scrolledY < offset) {
- edges.top = true;
- }
-
- if (scrolledY + bounding.height > containerBottom - offset || scrolledY + bounding.height > window.innerHeight - offset) {
- edges.bottom = true;
- }
-
- return edges;
-};
-
-M.checkPossibleAlignments = function (el, container, bounding, offset) {
- var canAlign = {
- top: true,
- right: true,
- bottom: true,
- left: true,
- spaceOnTop: null,
- spaceOnRight: null,
- spaceOnBottom: null,
- spaceOnLeft: null
- };
-
- var containerAllowsOverflow = getComputedStyle(container).overflow === 'visible';
- var containerRect = container.getBoundingClientRect();
- var containerHeight = Math.min(containerRect.height, window.innerHeight);
- var containerWidth = Math.min(containerRect.width, window.innerWidth);
- var elOffsetRect = el.getBoundingClientRect();
-
- var scrollLeft = container.scrollLeft;
- var scrollTop = container.scrollTop;
-
- var scrolledX = bounding.left - scrollLeft;
- var scrolledYTopEdge = bounding.top - scrollTop;
- var scrolledYBottomEdge = bounding.top + elOffsetRect.height - scrollTop;
-
- // Check for container and viewport for left
- canAlign.spaceOnRight = !containerAllowsOverflow ? containerWidth - (scrolledX + bounding.width) : window.innerWidth - (elOffsetRect.left + bounding.width);
- if (canAlign.spaceOnRight < 0) {
- canAlign.left = false;
- }
-
- // Check for container and viewport for Right
- canAlign.spaceOnLeft = !containerAllowsOverflow ? scrolledX - bounding.width + elOffsetRect.width : elOffsetRect.right - bounding.width;
- if (canAlign.spaceOnLeft < 0) {
- canAlign.right = false;
- }
-
- // Check for container and viewport for Top
- canAlign.spaceOnBottom = !containerAllowsOverflow ? containerHeight - (scrolledYTopEdge + bounding.height + offset) : window.innerHeight - (elOffsetRect.top + bounding.height + offset);
- if (canAlign.spaceOnBottom < 0) {
- canAlign.top = false;
- }
-
- // Check for container and viewport for Bottom
- canAlign.spaceOnTop = !containerAllowsOverflow ? scrolledYBottomEdge - (bounding.height - offset) : elOffsetRect.bottom - (bounding.height + offset);
- if (canAlign.spaceOnTop < 0) {
- canAlign.bottom = false;
- }
-
- return canAlign;
-};
-
-M.getOverflowParent = function (element) {
- if (element == null) {
- return null;
- }
-
- if (element === document.body || getComputedStyle(element).overflow !== 'visible') {
- return element;
- }
-
- return M.getOverflowParent(element.parentElement);
-};
-
-/**
- * Gets id of component from a trigger
- * @param {Element} trigger trigger
- * @returns {string}
- */
-M.getIdFromTrigger = function (trigger) {
- var id = trigger.getAttribute('data-target');
- if (!id) {
- id = trigger.getAttribute('href');
- if (id) {
- id = id.slice(1);
- } else {
- id = '';
- }
- }
- return id;
-};
-
-/**
- * Multi browser support for document scroll top
- * @returns {Number}
- */
-M.getDocumentScrollTop = function () {
- return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
-};
-
-/**
- * Multi browser support for document scroll left
- * @returns {Number}
- */
-M.getDocumentScrollLeft = function () {
- return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
-};
-
-/**
- * @typedef {Object} Edges
- * @property {Boolean} top If the top edge was exceeded
- * @property {Boolean} right If the right edge was exceeded
- * @property {Boolean} bottom If the bottom edge was exceeded
- * @property {Boolean} left If the left edge was exceeded
- */
-
-/**
- * @typedef {Object} Bounding
- * @property {Number} left left offset coordinate
- * @property {Number} top top offset coordinate
- * @property {Number} width
- * @property {Number} height
- */
-
-/**
- * Get time in ms
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
- * @type {function}
- * @return {number}
- */
-var getTime = Date.now || function () {
- return new Date().getTime();
-};
-
-/**
- * Returns a function, that, when invoked, will only be triggered at most once
- * during a given window of time. Normally, the throttled function will run
- * as much as it can, without ever going more than once per `wait` duration;
- * but if you'd like to disable the execution on the leading edge, pass
- * `{leading: false}`. To disable execution on the trailing edge, ditto.
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
- * @param {function} func
- * @param {number} wait
- * @param {Object=} options
- * @returns {Function}
- */
-M.throttle = function (func, wait, options) {
- var context = void 0,
- args = void 0,
- result = void 0;
- var timeout = null;
- var previous = 0;
- options || (options = {});
- var later = function () {
- previous = options.leading === false ? 0 : getTime();
- timeout = null;
- result = func.apply(context, args);
- context = args = null;
- };
- return function () {
- var now = getTime();
- if (!previous && options.leading === false) previous = now;
- var remaining = wait - (now - previous);
- context = this;
- args = arguments;
- if (remaining <= 0) {
- clearTimeout(timeout);
- timeout = null;
- previous = now;
- result = func.apply(context, args);
- context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
- }
- return result;
- };
-};
-; /*
- v2.2.0
- 2017 Julian Garnier
- Released under the MIT license
- */
-var $jscomp = { scope: {} };$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, r, p) {
- if (p.get || p.set) throw new TypeError("ES3 does not support getters and setters.");e != Array.prototype && e != Object.prototype && (e[r] = p.value);
-};$jscomp.getGlobal = function (e) {
- return "undefined" != typeof window && window === e ? e : "undefined" != typeof global && null != global ? global : e;
-};$jscomp.global = $jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX = "jscomp_symbol_";
-$jscomp.initSymbol = function () {
- $jscomp.initSymbol = function () {};$jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol);
-};$jscomp.symbolCounter_ = 0;$jscomp.Symbol = function (e) {
- return $jscomp.SYMBOL_PREFIX + (e || "") + $jscomp.symbolCounter_++;
-};
-$jscomp.initSymbolIterator = function () {
- $jscomp.initSymbol();var e = $jscomp.global.Symbol.iterator;e || (e = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator"));"function" != typeof Array.prototype[e] && $jscomp.defineProperty(Array.prototype, e, { configurable: !0, writable: !0, value: function () {
- return $jscomp.arrayIterator(this);
- } });$jscomp.initSymbolIterator = function () {};
-};$jscomp.arrayIterator = function (e) {
- var r = 0;return $jscomp.iteratorPrototype(function () {
- return r < e.length ? { done: !1, value: e[r++] } : { done: !0 };
- });
-};
-$jscomp.iteratorPrototype = function (e) {
- $jscomp.initSymbolIterator();e = { next: e };e[$jscomp.global.Symbol.iterator] = function () {
- return this;
- };return e;
-};$jscomp.array = $jscomp.array || {};$jscomp.iteratorFromArray = function (e, r) {
- $jscomp.initSymbolIterator();e instanceof String && (e += "");var p = 0,
- m = { next: function () {
- if (p < e.length) {
- var u = p++;return { value: r(u, e[u]), done: !1 };
- }m.next = function () {
- return { done: !0, value: void 0 };
- };return m.next();
- } };m[Symbol.iterator] = function () {
- return m;
- };return m;
-};
-$jscomp.polyfill = function (e, r, p, m) {
- if (r) {
- p = $jscomp.global;e = e.split(".");for (m = 0; m < e.length - 1; m++) {
- var u = e[m];u in p || (p[u] = {});p = p[u];
- }e = e[e.length - 1];m = p[e];r = r(m);r != m && null != r && $jscomp.defineProperty(p, e, { configurable: !0, writable: !0, value: r });
- }
-};$jscomp.polyfill("Array.prototype.keys", function (e) {
- return e ? e : function () {
- return $jscomp.iteratorFromArray(this, function (e) {
- return e;
- });
- };
-}, "es6-impl", "es3");var $jscomp$this = this;
-(function (r) {
- M.anime = r();
-})(function () {
- function e(a) {
- if (!h.col(a)) try {
- return document.querySelectorAll(a);
- } catch (c) {}
- }function r(a, c) {
- for (var d = a.length, b = 2 <= arguments.length ? arguments[1] : void 0, f = [], n = 0; n < d; n++) {
- if (n in a) {
- var k = a[n];c.call(b, k, n, a) && f.push(k);
- }
- }return f;
- }function p(a) {
- return a.reduce(function (a, d) {
- return a.concat(h.arr(d) ? p(d) : d);
- }, []);
- }function m(a) {
- if (h.arr(a)) return a;
- h.str(a) && (a = e(a) || a);return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a];
- }function u(a, c) {
- return a.some(function (a) {
- return a === c;
- });
- }function C(a) {
- var c = {},
- d;for (d in a) {
- c[d] = a[d];
- }return c;
- }function D(a, c) {
- var d = C(a),
- b;for (b in a) {
- d[b] = c.hasOwnProperty(b) ? c[b] : a[b];
- }return d;
- }function z(a, c) {
- var d = C(a),
- b;for (b in c) {
- d[b] = h.und(a[b]) ? c[b] : a[b];
- }return d;
- }function T(a) {
- a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (a, c, d, k) {
- return c + c + d + d + k + k;
- });var c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
- a = parseInt(c[1], 16);var d = parseInt(c[2], 16),
- c = parseInt(c[3], 16);return "rgba(" + a + "," + d + "," + c + ",1)";
- }function U(a) {
- function c(a, c, b) {
- 0 > b && (b += 1);1 < b && --b;return b < 1 / 6 ? a + 6 * (c - a) * b : .5 > b ? c : b < 2 / 3 ? a + (c - a) * (2 / 3 - b) * 6 : a;
- }var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a = parseInt(d[1]) / 360;var b = parseInt(d[2]) / 100,
- f = parseInt(d[3]) / 100,
- d = d[4] || 1;if (0 == b) f = b = a = f;else {
- var n = .5 > f ? f * (1 + b) : f + b - f * b,
- k = 2 * f - n,
- f = c(k, n, a + 1 / 3),
- b = c(k, n, a);a = c(k, n, a - 1 / 3);
- }return "rgba(" + 255 * f + "," + 255 * b + "," + 255 * a + "," + d + ")";
- }function y(a) {
- if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a)) return a[2];
- }function V(a) {
- if (-1 < a.indexOf("translate") || "perspective" === a) return "px";if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew")) return "deg";
- }function I(a, c) {
- return h.fnc(a) ? a(c.target, c.id, c.total) : a;
- }function E(a, c) {
- if (c in a.style) return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0";
- }function J(a, c) {
- if (h.dom(a) && u(W, c)) return "transform";if (h.dom(a) && (a.getAttribute(c) || h.svg(a) && a[c])) return "attribute";if (h.dom(a) && "transform" !== c && E(a, c)) return "css";if (null != a[c]) return "object";
- }function X(a, c) {
- var d = V(c),
- d = -1 < c.indexOf("scale") ? 1 : 0 + d;a = a.style.transform;if (!a) return d;for (var b = [], f = [], n = [], k = /(\w+)\((.+?)\)/g; b = k.exec(a);) {
- f.push(b[1]), n.push(b[2]);
- }a = r(n, function (a, b) {
- return f[b] === c;
- });return a.length ? a[0] : d;
- }function K(a, c) {
- switch (J(a, c)) {case "transform":
- return X(a, c);case "css":
- return E(a, c);case "attribute":
- return a.getAttribute(c);}return a[c] || 0;
- }function L(a, c) {
- var d = /^(\*=|\+=|-=)/.exec(a);if (!d) return a;var b = y(a) || 0;c = parseFloat(c);a = parseFloat(a.replace(d[0], ""));switch (d[0][0]) {case "+":
- return c + a + b;case "-":
- return c - a + b;case "*":
- return c * a + b;}
- }function F(a, c) {
- return Math.sqrt(Math.pow(c.x - a.x, 2) + Math.pow(c.y - a.y, 2));
- }function M(a) {
- a = a.points;for (var c = 0, d, b = 0; b < a.numberOfItems; b++) {
- var f = a.getItem(b);0 < b && (c += F(d, f));d = f;
- }return c;
- }function N(a) {
- if (a.getTotalLength) return a.getTotalLength();switch (a.tagName.toLowerCase()) {case "circle":
- return 2 * Math.PI * a.getAttribute("r");case "rect":
- return 2 * a.getAttribute("width") + 2 * a.getAttribute("height");case "line":
- return F({ x: a.getAttribute("x1"), y: a.getAttribute("y1") }, { x: a.getAttribute("x2"), y: a.getAttribute("y2") });case "polyline":
- return M(a);case "polygon":
- var c = a.points;return M(a) + F(c.getItem(c.numberOfItems - 1), c.getItem(0));}
- }function Y(a, c) {
- function d(b) {
- b = void 0 === b ? 0 : b;return a.el.getPointAtLength(1 <= c + b ? c + b : 0);
- }var b = d(),
- f = d(-1),
- n = d(1);switch (a.property) {case "x":
- return b.x;case "y":
- return b.y;
- case "angle":
- return 180 * Math.atan2(n.y - f.y, n.x - f.x) / Math.PI;}
- }function O(a, c) {
- var d = /-?\d*\.?\d+/g,
- b;b = h.pth(a) ? a.totalLength : a;if (h.col(b)) {
- if (h.rgb(b)) {
- var f = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b = f ? "rgba(" + f[1] + ",1)" : b;
- } else b = h.hex(b) ? T(b) : h.hsl(b) ? U(b) : void 0;
- } else f = (f = y(b)) ? b.substr(0, b.length - f.length) : b, b = c && !/\s/g.test(b) ? f + c : f;b += "";return { original: b, numbers: b.match(d) ? b.match(d).map(Number) : [0], strings: h.str(a) || c ? b.split(d) : [] };
- }function P(a) {
- a = a ? p(h.arr(a) ? a.map(m) : m(a)) : [];return r(a, function (a, d, b) {
- return b.indexOf(a) === d;
- });
- }function Z(a) {
- var c = P(a);return c.map(function (a, b) {
- return { target: a, id: b, total: c.length };
- });
- }function aa(a, c) {
- var d = C(c);if (h.arr(a)) {
- var b = a.length;2 !== b || h.obj(a[0]) ? h.fnc(c.duration) || (d.duration = c.duration / b) : a = { value: a };
- }return m(a).map(function (a, b) {
- b = b ? 0 : c.delay;a = h.obj(a) && !h.pth(a) ? a : { value: a };h.und(a.delay) && (a.delay = b);return a;
- }).map(function (a) {
- return z(a, d);
- });
- }function ba(a, c) {
- var d = {},
- b;for (b in a) {
- var f = I(a[b], c);h.arr(f) && (f = f.map(function (a) {
- return I(a, c);
- }), 1 === f.length && (f = f[0]));d[b] = f;
- }d.duration = parseFloat(d.duration);d.delay = parseFloat(d.delay);return d;
- }function ca(a) {
- return h.arr(a) ? A.apply(this, a) : Q[a];
- }function da(a, c) {
- var d;return a.tweens.map(function (b) {
- b = ba(b, c);var f = b.value,
- e = K(c.target, a.name),
- k = d ? d.to.original : e,
- k = h.arr(f) ? f[0] : k,
- w = L(h.arr(f) ? f[1] : f, k),
- e = y(w) || y(k) || y(e);b.from = O(k, e);b.to = O(w, e);b.start = d ? d.end : a.offset;b.end = b.start + b.delay + b.duration;b.easing = ca(b.easing);b.elasticity = (1E3 - Math.min(Math.max(b.elasticity, 1), 999)) / 1E3;b.isPath = h.pth(f);b.isColor = h.col(b.from.original);b.isColor && (b.round = 1);return d = b;
- });
- }function ea(a, c) {
- return r(p(a.map(function (a) {
- return c.map(function (b) {
- var c = J(a.target, b.name);if (c) {
- var d = da(b, a);b = { type: c, property: b.name, animatable: a, tweens: d, duration: d[d.length - 1].end, delay: d[0].delay };
- } else b = void 0;return b;
- });
- })), function (a) {
- return !h.und(a);
- });
- }function R(a, c, d, b) {
- var f = "delay" === a;return c.length ? (f ? Math.min : Math.max).apply(Math, c.map(function (b) {
- return b[a];
- })) : f ? b.delay : d.offset + b.delay + b.duration;
- }function fa(a) {
- var c = D(ga, a),
- d = D(S, a),
- b = Z(a.targets),
- f = [],
- e = z(c, d),
- k;for (k in a) {
- e.hasOwnProperty(k) || "targets" === k || f.push({ name: k, offset: e.offset, tweens: aa(a[k], d) });
- }a = ea(b, f);return z(c, { children: [], animatables: b, animations: a, duration: R("duration", a, c, d), delay: R("delay", a, c, d) });
- }function q(a) {
- function c() {
- return window.Promise && new Promise(function (a) {
- return p = a;
- });
- }function d(a) {
- return g.reversed ? g.duration - a : a;
- }function b(a) {
- for (var b = 0, c = {}, d = g.animations, f = d.length; b < f;) {
- var e = d[b],
- k = e.animatable,
- h = e.tweens,
- n = h.length - 1,
- l = h[n];n && (l = r(h, function (b) {
- return a < b.end;
- })[0] || l);for (var h = Math.min(Math.max(a - l.start - l.delay, 0), l.duration) / l.duration, w = isNaN(h) ? 1 : l.easing(h, l.elasticity), h = l.to.strings, p = l.round, n = [], m = void 0, m = l.to.numbers.length, t = 0; t < m; t++) {
- var x = void 0,
- x = l.to.numbers[t],
- q = l.from.numbers[t],
- x = l.isPath ? Y(l.value, w * x) : q + w * (x - q);p && (l.isColor && 2 < t || (x = Math.round(x * p) / p));n.push(x);
- }if (l = h.length) for (m = h[0], w = 0; w < l; w++) {
- p = h[w + 1], t = n[w], isNaN(t) || (m = p ? m + (t + p) : m + (t + " "));
- } else m = n[0];ha[e.type](k.target, e.property, m, c, k.id);e.currentValue = m;b++;
- }if (b = Object.keys(c).length) for (d = 0; d < b; d++) {
- H || (H = E(document.body, "transform") ? "transform" : "-webkit-transform"), g.animatables[d].target.style[H] = c[d].join(" ");
- }g.currentTime = a;g.progress = a / g.duration * 100;
- }function f(a) {
- if (g[a]) g[a](g);
- }function e() {
- g.remaining && !0 !== g.remaining && g.remaining--;
- }function k(a) {
- var k = g.duration,
- n = g.offset,
- w = n + g.delay,
- r = g.currentTime,
- x = g.reversed,
- q = d(a);if (g.children.length) {
- var u = g.children,
- v = u.length;
- if (q >= g.currentTime) for (var G = 0; G < v; G++) {
- u[G].seek(q);
- } else for (; v--;) {
- u[v].seek(q);
- }
- }if (q >= w || !k) g.began || (g.began = !0, f("begin")), f("run");if (q > n && q < k) b(q);else if (q <= n && 0 !== r && (b(0), x && e()), q >= k && r !== k || !k) b(k), x || e();f("update");a >= k && (g.remaining ? (t = h, "alternate" === g.direction && (g.reversed = !g.reversed)) : (g.pause(), g.completed || (g.completed = !0, f("complete"), "Promise" in window && (p(), m = c()))), l = 0);
- }a = void 0 === a ? {} : a;var h,
- t,
- l = 0,
- p = null,
- m = c(),
- g = fa(a);g.reset = function () {
- var a = g.direction,
- c = g.loop;g.currentTime = 0;g.progress = 0;g.paused = !0;g.began = !1;g.completed = !1;g.reversed = "reverse" === a;g.remaining = "alternate" === a && 1 === c ? 2 : c;b(0);for (a = g.children.length; a--;) {
- g.children[a].reset();
- }
- };g.tick = function (a) {
- h = a;t || (t = h);k((l + h - t) * q.speed);
- };g.seek = function (a) {
- k(d(a));
- };g.pause = function () {
- var a = v.indexOf(g);-1 < a && v.splice(a, 1);g.paused = !0;
- };g.play = function () {
- g.paused && (g.paused = !1, t = 0, l = d(g.currentTime), v.push(g), B || ia());
- };g.reverse = function () {
- g.reversed = !g.reversed;t = 0;l = d(g.currentTime);
- };g.restart = function () {
- g.pause();
- g.reset();g.play();
- };g.finished = m;g.reset();g.autoplay && g.play();return g;
- }var ga = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 },
- S = { duration: 1E3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 },
- W = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),
- H,
- h = { arr: function (a) {
- return Array.isArray(a);
- }, obj: function (a) {
- return -1 < Object.prototype.toString.call(a).indexOf("Object");
- },
- pth: function (a) {
- return h.obj(a) && a.hasOwnProperty("totalLength");
- }, svg: function (a) {
- return a instanceof SVGElement;
- }, dom: function (a) {
- return a.nodeType || h.svg(a);
- }, str: function (a) {
- return "string" === typeof a;
- }, fnc: function (a) {
- return "function" === typeof a;
- }, und: function (a) {
- return "undefined" === typeof a;
- }, hex: function (a) {
- return (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
- );
- }, rgb: function (a) {
- return (/^rgb/.test(a)
- );
- }, hsl: function (a) {
- return (/^hsl/.test(a)
- );
- }, col: function (a) {
- return h.hex(a) || h.rgb(a) || h.hsl(a);
- } },
- A = function () {
- function a(a, d, b) {
- return (((1 - 3 * b + 3 * d) * a + (3 * b - 6 * d)) * a + 3 * d) * a;
- }return function (c, d, b, f) {
- if (0 <= c && 1 >= c && 0 <= b && 1 >= b) {
- var e = new Float32Array(11);if (c !== d || b !== f) for (var k = 0; 11 > k; ++k) {
- e[k] = a(.1 * k, c, b);
- }return function (k) {
- if (c === d && b === f) return k;if (0 === k) return 0;if (1 === k) return 1;for (var h = 0, l = 1; 10 !== l && e[l] <= k; ++l) {
- h += .1;
- }--l;var l = h + (k - e[l]) / (e[l + 1] - e[l]) * .1,
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (.001 <= n) {
- for (h = 0; 4 > h; ++h) {
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (0 === n) break;var m = a(l, c, b) - k,
- l = l - m / n;
- }k = l;
- } else if (0 === n) k = l;else {
- var l = h,
- h = h + .1,
- g = 0;do {
- m = l + (h - l) / 2, n = a(m, c, b) - k, 0 < n ? h = m : l = m;
- } while (1e-7 < Math.abs(n) && 10 > ++g);k = m;
- }return a(k, d, f);
- };
- }
- };
- }(),
- Q = function () {
- function a(a, b) {
- return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math.PI) * Math.asin(1)) * Math.PI / b);
- }var c = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
- d = { In: [[.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], a], Out: [[.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function (b, c) {
- return 1 - a(1 - b, c);
- }], InOut: [[.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function (b, c) {
- return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2;
- }] },
- b = { linear: A(.25, .25, .75, .75) },
- f = {},
- e;for (e in d) {
- f.type = e, d[f.type].forEach(function (a) {
- return function (d, f) {
- b["ease" + a.type + c[f]] = h.fnc(d) ? d : A.apply($jscomp$this, d);
- };
- }(f)), f = { type: f.type };
- }return b;
- }(),
- ha = { css: function (a, c, d) {
- return a.style[c] = d;
- }, attribute: function (a, c, d) {
- return a.setAttribute(c, d);
- }, object: function (a, c, d) {
- return a[c] = d;
- }, transform: function (a, c, d, b, f) {
- b[f] || (b[f] = []);b[f].push(c + "(" + d + ")");
- } },
- v = [],
- B = 0,
- ia = function () {
- function a() {
- B = requestAnimationFrame(c);
- }function c(c) {
- var b = v.length;if (b) {
- for (var d = 0; d < b;) {
- v[d] && v[d].tick(c), d++;
- }a();
- } else cancelAnimationFrame(B), B = 0;
- }return a;
- }();q.version = "2.2.0";q.speed = 1;q.running = v;q.remove = function (a) {
- a = P(a);for (var c = v.length; c--;) {
- for (var d = v[c], b = d.animations, f = b.length; f--;) {
- u(a, b[f].animatable.target) && (b.splice(f, 1), b.length || d.pause());
- }
- }
- };q.getValue = K;q.path = function (a, c) {
- var d = h.str(a) ? e(a)[0] : a,
- b = c || 100;return function (a) {
- return { el: d, property: a, totalLength: N(d) * (b / 100) };
- };
- };q.setDashoffset = function (a) {
- var c = N(a);a.setAttribute("stroke-dasharray", c);return c;
- };q.bezier = A;q.easings = Q;q.timeline = function (a) {
- var c = q(a);c.pause();c.duration = 0;c.add = function (d) {
- c.children.forEach(function (a) {
- a.began = !0;a.completed = !0;
- });m(d).forEach(function (b) {
- var d = z(b, D(S, a || {}));d.targets = d.targets || a.targets;b = c.duration;var e = d.offset;d.autoplay = !1;d.direction = c.direction;d.offset = h.und(e) ? b : L(e, b);c.began = !0;c.completed = !0;c.seek(d.offset);d = q(d);d.began = !0;d.completed = !0;d.duration > b && (c.duration = d.duration);c.children.push(d);
- });c.seek(0);c.reset();c.autoplay && c.restart();return c;
- };return c;
- };q.random = function (a, c) {
- return Math.floor(Math.random() * (c - a + 1)) + a;
- };return q;
-});
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- accordion: true,
- onOpenStart: undefined,
- onOpenEnd: undefined,
- onCloseStart: undefined,
- onCloseEnd: undefined,
- inDuration: 300,
- outDuration: 300
- };
-
- /**
- * @class
- *
- */
-
- var Collapsible = function (_Component) {
- _inherits(Collapsible, _Component);
-
- /**
- * Construct Collapsible instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Collapsible(el, options) {
- _classCallCheck(this, Collapsible);
-
- var _this3 = _possibleConstructorReturn(this, (Collapsible.__proto__ || Object.getPrototypeOf(Collapsible)).call(this, Collapsible, el, options));
-
- _this3.el.M_Collapsible = _this3;
-
- /**
- * Options for the collapsible
- * @member Collapsible#options
- * @prop {Boolean} [accordion=false] - Type of the collapsible
- * @prop {Function} onOpenStart - Callback function called before collapsible is opened
- * @prop {Function} onOpenEnd - Callback function called after collapsible is opened
- * @prop {Function} onCloseStart - Callback function called before collapsible is closed
- * @prop {Function} onCloseEnd - Callback function called after collapsible is closed
- * @prop {Number} inDuration - Transition in duration in milliseconds.
- * @prop {Number} outDuration - Transition duration in milliseconds.
- */
- _this3.options = $.extend({}, Collapsible.defaults, options);
-
- // Setup tab indices
- _this3.$headers = _this3.$el.children('li').children('.collapsible-header');
- _this3.$headers.attr('tabindex', 0);
-
- _this3._setupEventHandlers();
-
- // Open first active
- var $activeBodies = _this3.$el.children('li.active').children('.collapsible-body');
- if (_this3.options.accordion) {
- // Handle Accordion
- $activeBodies.first().css('display', 'block');
- } else {
- // Handle Expandables
- $activeBodies.css('display', 'block');
- }
- return _this3;
- }
-
- _createClass(Collapsible, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Collapsible = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this4 = this;
-
- this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this);
- this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this);
- this.el.addEventListener('click', this._handleCollapsibleClickBound);
- this.$headers.each(function (header) {
- header.addEventListener('keydown', _this4._handleCollapsibleKeydownBound);
- });
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleCollapsibleClickBound);
- }
-
- /**
- * Handle Collapsible Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleCollapsibleClick",
- value: function _handleCollapsibleClick(e) {
- var $header = $(e.target).closest('.collapsible-header');
- if (e.target && $header.length) {
- var $collapsible = $header.closest('.collapsible');
- if ($collapsible[0] === this.el) {
- var $collapsibleLi = $header.closest('li');
- var $collapsibleLis = $collapsible.children('li');
- var isActive = $collapsibleLi[0].classList.contains('active');
- var index = $collapsibleLis.index($collapsibleLi);
-
- if (isActive) {
- this.close(index);
- } else {
- this.open(index);
- }
- }
- }
- }
-
- /**
- * Handle Collapsible Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleCollapsibleKeydown",
- value: function _handleCollapsibleKeydown(e) {
- if (e.keyCode === 13) {
- this._handleCollapsibleClickBound(e);
- }
- }
-
- /**
- * Animate in collapsible slide
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn(index) {
- var _this5 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length) {
- var $body = $collapsibleLi.children('.collapsible-body');
-
- anim.remove($body[0]);
- $body.css({
- display: 'block',
- overflow: 'hidden',
- height: 0,
- paddingTop: '',
- paddingBottom: ''
- });
-
- var pTop = $body.css('padding-top');
- var pBottom = $body.css('padding-bottom');
- var finalHeight = $body[0].scrollHeight;
- $body.css({
- paddingTop: 0,
- paddingBottom: 0
- });
-
- anim({
- targets: $body[0],
- height: finalHeight,
- paddingTop: pTop,
- paddingBottom: pBottom,
- duration: this.options.inDuration,
- easing: 'easeInOutCubic',
- complete: function (anim) {
- $body.css({
- overflow: '',
- paddingTop: '',
- paddingBottom: '',
- height: ''
- });
-
- // onOpenEnd callback
- if (typeof _this5.options.onOpenEnd === 'function') {
- _this5.options.onOpenEnd.call(_this5, $collapsibleLi[0]);
- }
- }
- });
- }
- }
-
- /**
- * Animate out collapsible slide
- * @param {Number} index - 0th index of slide to open
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut(index) {
- var _this6 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length) {
- var $body = $collapsibleLi.children('.collapsible-body');
- anim.remove($body[0]);
- $body.css('overflow', 'hidden');
- anim({
- targets: $body[0],
- height: 0,
- paddingTop: 0,
- paddingBottom: 0,
- duration: this.options.outDuration,
- easing: 'easeInOutCubic',
- complete: function () {
- $body.css({
- height: '',
- overflow: '',
- padding: '',
- display: ''
- });
-
- // onCloseEnd callback
- if (typeof _this6.options.onCloseEnd === 'function') {
- _this6.options.onCloseEnd.call(_this6, $collapsibleLi[0]);
- }
- }
- });
- }
- }
-
- /**
- * Open Collapsible
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "open",
- value: function open(index) {
- var _this7 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, $collapsibleLi[0]);
- }
-
- // Handle accordion behavior
- if (this.options.accordion) {
- var $collapsibleLis = this.$el.children('li');
- var $activeLis = this.$el.children('li.active');
- $activeLis.each(function (el) {
- var index = $collapsibleLis.index($(el));
- _this7.close(index);
- });
- }
-
- // Animate in
- $collapsibleLi[0].classList.add('active');
- this._animateIn(index);
- }
- }
-
- /**
- * Close Collapsible
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "close",
- value: function close(index) {
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length && $collapsibleLi[0].classList.contains('active')) {
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, $collapsibleLi[0]);
- }
-
- // Animate out
- $collapsibleLi[0].classList.remove('active');
- this._animateOut(index);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Collapsible.__proto__ || Object.getPrototypeOf(Collapsible), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Collapsible;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Collapsible;
- }(Component);
-
- M.Collapsible = Collapsible;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Collapsible, 'collapsible', 'M_Collapsible');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- alignment: 'left',
- autoFocus: true,
- constrainWidth: true,
- container: null,
- coverTrigger: true,
- closeOnClick: true,
- hover: false,
- inDuration: 150,
- outDuration: 250,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- onItemClick: null
- };
-
- /**
- * @class
- */
-
- var Dropdown = function (_Component2) {
- _inherits(Dropdown, _Component2);
-
- function Dropdown(el, options) {
- _classCallCheck(this, Dropdown);
-
- var _this8 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options));
-
- _this8.el.M_Dropdown = _this8;
- Dropdown._dropdowns.push(_this8);
-
- _this8.id = M.getIdFromTrigger(el);
- _this8.dropdownEl = document.getElementById(_this8.id);
- _this8.$dropdownEl = $(_this8.dropdownEl);
-
- /**
- * Options for the dropdown
- * @member Dropdown#options
- * @prop {String} [alignment='left'] - Edge which the dropdown is aligned to
- * @prop {Boolean} [autoFocus=true] - Automatically focus dropdown el for keyboard
- * @prop {Boolean} [constrainWidth=true] - Constrain width to width of the button
- * @prop {Element} container - Container element to attach dropdown to (optional)
- * @prop {Boolean} [coverTrigger=true] - Place dropdown over trigger
- * @prop {Boolean} [closeOnClick=true] - Close on click of dropdown item
- * @prop {Boolean} [hover=false] - Open dropdown on hover
- * @prop {Number} [inDuration=150] - Duration of open animation in ms
- * @prop {Number} [outDuration=250] - Duration of close animation in ms
- * @prop {Function} onOpenStart - Function called when dropdown starts opening
- * @prop {Function} onOpenEnd - Function called when dropdown finishes opening
- * @prop {Function} onCloseStart - Function called when dropdown starts closing
- * @prop {Function} onCloseEnd - Function called when dropdown finishes closing
- */
- _this8.options = $.extend({}, Dropdown.defaults, options);
-
- /**
- * Describes open/close state of dropdown
- * @type {Boolean}
- */
- _this8.isOpen = false;
-
- /**
- * Describes if dropdown content is scrollable
- * @type {Boolean}
- */
- _this8.isScrollable = false;
-
- /**
- * Describes if touch moving on dropdown content
- * @type {Boolean}
- */
- _this8.isTouchMoving = false;
-
- _this8.focusedIndex = -1;
- _this8.filterQuery = [];
-
- // Move dropdown-content after dropdown-trigger
- if (!!_this8.options.container) {
- $(_this8.options.container).append(_this8.dropdownEl);
- } else {
- _this8.$el.after(_this8.dropdownEl);
- }
-
- _this8._makeDropdownFocusable();
- _this8._resetFilterQueryBound = _this8._resetFilterQuery.bind(_this8);
- _this8._handleDocumentClickBound = _this8._handleDocumentClick.bind(_this8);
- _this8._handleDocumentTouchmoveBound = _this8._handleDocumentTouchmove.bind(_this8);
- _this8._handleDropdownClickBound = _this8._handleDropdownClick.bind(_this8);
- _this8._handleDropdownKeydownBound = _this8._handleDropdownKeydown.bind(_this8);
- _this8._handleTriggerKeydownBound = _this8._handleTriggerKeydown.bind(_this8);
- _this8._setupEventHandlers();
- return _this8;
- }
-
- _createClass(Dropdown, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._resetDropdownStyles();
- this._removeEventHandlers();
- Dropdown._dropdowns.splice(Dropdown._dropdowns.indexOf(this), 1);
- this.el.M_Dropdown = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- // Trigger keydown handler
- this.el.addEventListener('keydown', this._handleTriggerKeydownBound);
-
- // Item click handler
- this.dropdownEl.addEventListener('click', this._handleDropdownClickBound);
-
- // Hover event handlers
- if (this.options.hover) {
- this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
- this.el.addEventListener('mouseenter', this._handleMouseEnterBound);
- this._handleMouseLeaveBound = this._handleMouseLeave.bind(this);
- this.el.addEventListener('mouseleave', this._handleMouseLeaveBound);
- this.dropdownEl.addEventListener('mouseleave', this._handleMouseLeaveBound);
-
- // Click event handlers
- } else {
- this._handleClickBound = this._handleClick.bind(this);
- this.el.addEventListener('click', this._handleClickBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('keydown', this._handleTriggerKeydownBound);
- this.dropdownEl.removeEventListener('click', this._handleDropdownClickBound);
-
- if (this.options.hover) {
- this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- this.dropdownEl.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- } else {
- this.el.removeEventListener('click', this._handleClickBound);
- }
- }
- }, {
- key: "_setupTemporaryEventHandlers",
- value: function _setupTemporaryEventHandlers() {
- // Use capture phase event handler to prevent click
- document.body.addEventListener('click', this._handleDocumentClickBound, true);
- document.body.addEventListener('touchend', this._handleDocumentClickBound);
- document.body.addEventListener('touchmove', this._handleDocumentTouchmoveBound);
- this.dropdownEl.addEventListener('keydown', this._handleDropdownKeydownBound);
- }
- }, {
- key: "_removeTemporaryEventHandlers",
- value: function _removeTemporaryEventHandlers() {
- // Use capture phase event handler to prevent click
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- document.body.removeEventListener('touchend', this._handleDocumentClickBound);
- document.body.removeEventListener('touchmove', this._handleDocumentTouchmoveBound);
- this.dropdownEl.removeEventListener('keydown', this._handleDropdownKeydownBound);
- }
- }, {
- key: "_handleClick",
- value: function _handleClick(e) {
- e.preventDefault();
- this.open();
- }
- }, {
- key: "_handleMouseEnter",
- value: function _handleMouseEnter() {
- this.open();
- }
- }, {
- key: "_handleMouseLeave",
- value: function _handleMouseLeave(e) {
- var toEl = e.toElement || e.relatedTarget;
- var leaveToDropdownContent = !!$(toEl).closest('.dropdown-content').length;
- var leaveToActiveDropdownTrigger = false;
-
- var $closestTrigger = $(toEl).closest('.dropdown-trigger');
- if ($closestTrigger.length && !!$closestTrigger[0].M_Dropdown && $closestTrigger[0].M_Dropdown.isOpen) {
- leaveToActiveDropdownTrigger = true;
- }
-
- // Close hover dropdown if mouse did not leave to either active dropdown-trigger or dropdown-content
- if (!leaveToActiveDropdownTrigger && !leaveToDropdownContent) {
- this.close();
- }
- }
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- var _this9 = this;
-
- var $target = $(e.target);
- if (this.options.closeOnClick && $target.closest('.dropdown-content').length && !this.isTouchMoving) {
- // isTouchMoving to check if scrolling on mobile.
- setTimeout(function () {
- _this9.close();
- }, 0);
- } else if ($target.closest('.dropdown-trigger').length || !$target.closest('.dropdown-content').length) {
- setTimeout(function () {
- _this9.close();
- }, 0);
- }
- this.isTouchMoving = false;
- }
- }, {
- key: "_handleTriggerKeydown",
- value: function _handleTriggerKeydown(e) {
- // ARROW DOWN OR ENTER WHEN SELECT IS CLOSED - open Dropdown
- if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ENTER) && !this.isOpen) {
- e.preventDefault();
- this.open();
- }
- }
-
- /**
- * Handle Document Touchmove
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentTouchmove",
- value: function _handleDocumentTouchmove(e) {
- var $target = $(e.target);
- if ($target.closest('.dropdown-content').length) {
- this.isTouchMoving = true;
- }
- }
-
- /**
- * Handle Dropdown Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleDropdownClick",
- value: function _handleDropdownClick(e) {
- // onItemClick callback
- if (typeof this.options.onItemClick === 'function') {
- var itemEl = $(e.target).closest('li')[0];
- this.options.onItemClick.call(this, itemEl);
- }
- }
-
- /**
- * Handle Dropdown Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleDropdownKeydown",
- value: function _handleDropdownKeydown(e) {
- if (e.which === M.keys.TAB) {
- e.preventDefault();
- this.close();
-
- // Navigate down dropdown list
- } else if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) && this.isOpen) {
- e.preventDefault();
- var direction = e.which === M.keys.ARROW_DOWN ? 1 : -1;
- var newFocusedIndex = this.focusedIndex;
- var foundNewIndex = false;
- do {
- newFocusedIndex = newFocusedIndex + direction;
-
- if (!!this.dropdownEl.children[newFocusedIndex] && this.dropdownEl.children[newFocusedIndex].tabIndex !== -1) {
- foundNewIndex = true;
- break;
- }
- } while (newFocusedIndex < this.dropdownEl.children.length && newFocusedIndex >= 0);
-
- if (foundNewIndex) {
- this.focusedIndex = newFocusedIndex;
- this._focusFocusedItem();
- }
-
- // ENTER selects choice on focused item
- } else if (e.which === M.keys.ENTER && this.isOpen) {
- // Search for and
- var focusedElement = this.dropdownEl.children[this.focusedIndex];
- var $activatableElement = $(focusedElement).find('a, button').first();
-
- // Click a or button tag if exists, otherwise click li tag
- !!$activatableElement.length ? $activatableElement[0].click() : focusedElement.click();
-
- // Close dropdown on ESC
- } else if (e.which === M.keys.ESC && this.isOpen) {
- e.preventDefault();
- this.close();
- }
-
- // CASE WHEN USER TYPE LETTERS
- var letter = String.fromCharCode(e.which).toLowerCase(),
- nonLetters = [9, 13, 27, 38, 40];
- if (letter && nonLetters.indexOf(e.which) === -1) {
- this.filterQuery.push(letter);
-
- var string = this.filterQuery.join(''),
- newOptionEl = $(this.dropdownEl).find('li').filter(function (el) {
- return $(el).text().toLowerCase().indexOf(string) === 0;
- })[0];
-
- if (newOptionEl) {
- this.focusedIndex = $(newOptionEl).index();
- this._focusFocusedItem();
- }
- }
-
- this.filterTimeout = setTimeout(this._resetFilterQueryBound, 1000);
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_resetFilterQuery",
- value: function _resetFilterQuery() {
- this.filterQuery = [];
- }
- }, {
- key: "_resetDropdownStyles",
- value: function _resetDropdownStyles() {
- this.$dropdownEl.css({
- display: '',
- width: '',
- height: '',
- left: '',
- top: '',
- 'transform-origin': '',
- transform: '',
- opacity: ''
- });
- }
- }, {
- key: "_makeDropdownFocusable",
- value: function _makeDropdownFocusable() {
- // Needed for arrow key navigation
- this.dropdownEl.tabIndex = 0;
-
- // Only set tabindex if it hasn't been set by user
- $(this.dropdownEl).children().each(function (el) {
- if (!el.getAttribute('tabindex')) {
- el.setAttribute('tabindex', 0);
- }
- });
- }
- }, {
- key: "_focusFocusedItem",
- value: function _focusFocusedItem() {
- if (this.focusedIndex >= 0 && this.focusedIndex < this.dropdownEl.children.length && this.options.autoFocus) {
- this.dropdownEl.children[this.focusedIndex].focus();
- }
- }
- }, {
- key: "_getDropdownPosition",
- value: function _getDropdownPosition() {
- var offsetParentBRect = this.el.offsetParent.getBoundingClientRect();
- var triggerBRect = this.el.getBoundingClientRect();
- var dropdownBRect = this.dropdownEl.getBoundingClientRect();
-
- var idealHeight = dropdownBRect.height;
- var idealWidth = dropdownBRect.width;
- var idealXPos = triggerBRect.left - dropdownBRect.left;
- var idealYPos = triggerBRect.top - dropdownBRect.top;
-
- var dropdownBounds = {
- left: idealXPos,
- top: idealYPos,
- height: idealHeight,
- width: idealWidth
- };
-
- // Countainer here will be closest ancestor with overflow: hidden
- var closestOverflowParent = this.dropdownEl.offsetParent;
- var alignments = M.checkPossibleAlignments(this.el, closestOverflowParent, dropdownBounds, this.options.coverTrigger ? 0 : triggerBRect.height);
-
- var verticalAlignment = 'top';
- var horizontalAlignment = this.options.alignment;
- idealYPos += this.options.coverTrigger ? 0 : triggerBRect.height;
-
- // Reset isScrollable
- this.isScrollable = false;
-
- if (!alignments.top) {
- if (alignments.bottom) {
- verticalAlignment = 'bottom';
- } else {
- this.isScrollable = true;
-
- // Determine which side has most space and cutoff at correct height
- if (alignments.spaceOnTop > alignments.spaceOnBottom) {
- verticalAlignment = 'bottom';
- idealHeight += alignments.spaceOnTop;
- idealYPos -= alignments.spaceOnTop;
- } else {
- idealHeight += alignments.spaceOnBottom;
- }
- }
- }
-
- // If preferred horizontal alignment is possible
- if (!alignments[horizontalAlignment]) {
- var oppositeAlignment = horizontalAlignment === 'left' ? 'right' : 'left';
- if (alignments[oppositeAlignment]) {
- horizontalAlignment = oppositeAlignment;
- } else {
- // Determine which side has most space and cutoff at correct height
- if (alignments.spaceOnLeft > alignments.spaceOnRight) {
- horizontalAlignment = 'right';
- idealWidth += alignments.spaceOnLeft;
- idealXPos -= alignments.spaceOnLeft;
- } else {
- horizontalAlignment = 'left';
- idealWidth += alignments.spaceOnRight;
- }
- }
- }
-
- if (verticalAlignment === 'bottom') {
- idealYPos = idealYPos - dropdownBRect.height + (this.options.coverTrigger ? triggerBRect.height : 0);
- }
- if (horizontalAlignment === 'right') {
- idealXPos = idealXPos - dropdownBRect.width + triggerBRect.width;
- }
- return {
- x: idealXPos,
- y: idealYPos,
- verticalAlignment: verticalAlignment,
- horizontalAlignment: horizontalAlignment,
- height: idealHeight,
- width: idealWidth
- };
- }
-
- /**
- * Animate in dropdown
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- var _this10 = this;
-
- anim.remove(this.dropdownEl);
- anim({
- targets: this.dropdownEl,
- opacity: {
- value: [0, 1],
- easing: 'easeOutQuad'
- },
- scaleX: [0.3, 1],
- scaleY: [0.3, 1],
- duration: this.options.inDuration,
- easing: 'easeOutQuint',
- complete: function (anim) {
- if (_this10.options.autoFocus) {
- _this10.dropdownEl.focus();
- }
-
- // onOpenEnd callback
- if (typeof _this10.options.onOpenEnd === 'function') {
- var elem = anim.animatables[0].target;
- _this10.options.onOpenEnd.call(elem, _this10.el);
- }
- }
- });
- }
-
- /**
- * Animate out dropdown
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- var _this11 = this;
-
- anim.remove(this.dropdownEl);
- anim({
- targets: this.dropdownEl,
- opacity: {
- value: 0,
- easing: 'easeOutQuint'
- },
- scaleX: 0.3,
- scaleY: 0.3,
- duration: this.options.outDuration,
- easing: 'easeOutQuint',
- complete: function (anim) {
- _this11._resetDropdownStyles();
-
- // onCloseEnd callback
- if (typeof _this11.options.onCloseEnd === 'function') {
- var elem = anim.animatables[0].target;
- _this11.options.onCloseEnd.call(_this11, _this11.el);
- }
- }
- });
- }
-
- /**
- * Place dropdown
- */
-
- }, {
- key: "_placeDropdown",
- value: function _placeDropdown() {
- // Set width before calculating positionInfo
- var idealWidth = this.options.constrainWidth ? this.el.getBoundingClientRect().width : this.dropdownEl.getBoundingClientRect().width;
- this.dropdownEl.style.width = idealWidth + 'px';
-
- var positionInfo = this._getDropdownPosition();
- this.dropdownEl.style.left = positionInfo.x + 'px';
- this.dropdownEl.style.top = positionInfo.y + 'px';
- this.dropdownEl.style.height = positionInfo.height + 'px';
- this.dropdownEl.style.width = positionInfo.width + 'px';
- this.dropdownEl.style.transformOrigin = (positionInfo.horizontalAlignment === 'left' ? '0' : '100%') + " " + (positionInfo.verticalAlignment === 'top' ? '0' : '100%');
- }
-
- /**
- * Open Dropdown
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
- this.isOpen = true;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Reset styles
- this._resetDropdownStyles();
- this.dropdownEl.style.display = 'block';
-
- this._placeDropdown();
- this._animateIn();
- this._setupTemporaryEventHandlers();
- }
-
- /**
- * Close Dropdown
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
- this.isOpen = false;
- this.focusedIndex = -1;
-
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- this._animateOut();
- this._removeTemporaryEventHandlers();
-
- if (this.options.autoFocus) {
- this.el.focus();
- }
- }
-
- /**
- * Recalculate dimensions
- */
-
- }, {
- key: "recalculateDimensions",
- value: function recalculateDimensions() {
- if (this.isOpen) {
- this.$dropdownEl.css({
- width: '',
- height: '',
- left: '',
- top: '',
- 'transform-origin': ''
- });
- this._placeDropdown();
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Dropdown.__proto__ || Object.getPrototypeOf(Dropdown), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Dropdown;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Dropdown;
- }(Component);
-
- /**
- * @static
- * @memberof Dropdown
- */
-
-
- Dropdown._dropdowns = [];
-
- window.M.Dropdown = Dropdown;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Dropdown, 'dropdown', 'M_Dropdown');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- opacity: 0.5,
- inDuration: 250,
- outDuration: 250,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- preventScrolling: true,
- dismissible: true,
- startingTop: '4%',
- endingTop: '10%'
- };
-
- /**
- * @class
- *
- */
-
- var Modal = function (_Component3) {
- _inherits(Modal, _Component3);
-
- /**
- * Construct Modal instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Modal(el, options) {
- _classCallCheck(this, Modal);
-
- var _this12 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
-
- _this12.el.M_Modal = _this12;
-
- /**
- * Options for the modal
- * @member Modal#options
- * @prop {Number} [opacity=0.5] - Opacity of the modal overlay
- * @prop {Number} [inDuration=250] - Length in ms of enter transition
- * @prop {Number} [outDuration=250] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Callback function called before modal is opened
- * @prop {Function} onOpenEnd - Callback function called after modal is opened
- * @prop {Function} onCloseStart - Callback function called before modal is closed
- * @prop {Function} onCloseEnd - Callback function called after modal is closed
- * @prop {Boolean} [dismissible=true] - Allow modal to be dismissed by keyboard or overlay click
- * @prop {String} [startingTop='4%'] - startingTop
- * @prop {String} [endingTop='10%'] - endingTop
- */
- _this12.options = $.extend({}, Modal.defaults, options);
-
- /**
- * Describes open/close state of modal
- * @type {Boolean}
- */
- _this12.isOpen = false;
-
- _this12.id = _this12.$el.attr('id');
- _this12._openingTrigger = undefined;
- _this12.$overlay = $('
');
- _this12.el.tabIndex = 0;
- _this12._nthModalOpened = 0;
-
- Modal._count++;
- _this12._setupEventHandlers();
- return _this12;
- }
-
- _createClass(Modal, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- Modal._count--;
- this._removeEventHandlers();
- this.el.removeAttribute('style');
- this.$overlay.remove();
- this.el.M_Modal = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleOverlayClickBound = this._handleOverlayClick.bind(this);
- this._handleModalCloseClickBound = this._handleModalCloseClick.bind(this);
-
- if (Modal._count === 1) {
- document.body.addEventListener('click', this._handleTriggerClick);
- }
- this.$overlay[0].addEventListener('click', this._handleOverlayClickBound);
- this.el.addEventListener('click', this._handleModalCloseClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (Modal._count === 0) {
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
- this.$overlay[0].removeEventListener('click', this._handleOverlayClickBound);
- this.el.removeEventListener('click', this._handleModalCloseClickBound);
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target).closest('.modal-trigger');
- if ($trigger.length) {
- var modalId = M.getIdFromTrigger($trigger[0]);
- var modalInstance = document.getElementById(modalId).M_Modal;
- if (modalInstance) {
- modalInstance.open($trigger);
- }
- e.preventDefault();
- }
- }
-
- /**
- * Handle Overlay Click
- */
-
- }, {
- key: "_handleOverlayClick",
- value: function _handleOverlayClick() {
- if (this.options.dismissible) {
- this.close();
- }
- }
-
- /**
- * Handle Modal Close Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleModalCloseClick",
- value: function _handleModalCloseClick(e) {
- var $closeTrigger = $(e.target).closest('.modal-close');
- if ($closeTrigger.length) {
- this.close();
- }
- }
-
- /**
- * Handle Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleKeydown",
- value: function _handleKeydown(e) {
- // ESC key
- if (e.keyCode === 27 && this.options.dismissible) {
- this.close();
- }
- }
-
- /**
- * Handle Focus
- * @param {Event} e
- */
-
- }, {
- key: "_handleFocus",
- value: function _handleFocus(e) {
- // Only trap focus if this modal is the last model opened (prevents loops in nested modals).
- if (!this.el.contains(e.target) && this._nthModalOpened === Modal._modalsOpen) {
- this.el.focus();
- }
- }
-
- /**
- * Animate in modal
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- var _this13 = this;
-
- // Set initial styles
- $.extend(this.el.style, {
- display: 'block',
- opacity: 0
- });
- $.extend(this.$overlay[0].style, {
- display: 'block',
- opacity: 0
- });
-
- // Animate overlay
- anim({
- targets: this.$overlay[0],
- opacity: this.options.opacity,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
-
- // Define modal animation options
- var enterAnimOptions = {
- targets: this.el,
- duration: this.options.inDuration,
- easing: 'easeOutCubic',
- // Handle modal onOpenEnd callback
- complete: function () {
- if (typeof _this13.options.onOpenEnd === 'function') {
- _this13.options.onOpenEnd.call(_this13, _this13.el, _this13._openingTrigger);
- }
- }
- };
-
- // Bottom sheet animation
- if (this.el.classList.contains('bottom-sheet')) {
- $.extend(enterAnimOptions, {
- bottom: 0,
- opacity: 1
- });
- anim(enterAnimOptions);
-
- // Normal modal animation
- } else {
- $.extend(enterAnimOptions, {
- top: [this.options.startingTop, this.options.endingTop],
- opacity: 1,
- scaleX: [0.8, 1],
- scaleY: [0.8, 1]
- });
- anim(enterAnimOptions);
- }
- }
-
- /**
- * Animate out modal
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- var _this14 = this;
-
- // Animate overlay
- anim({
- targets: this.$overlay[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuart'
- });
-
- // Define modal animation options
- var exitAnimOptions = {
- targets: this.el,
- duration: this.options.outDuration,
- easing: 'easeOutCubic',
- // Handle modal ready callback
- complete: function () {
- _this14.el.style.display = 'none';
- _this14.$overlay.remove();
-
- // Call onCloseEnd callback
- if (typeof _this14.options.onCloseEnd === 'function') {
- _this14.options.onCloseEnd.call(_this14, _this14.el);
- }
- }
- };
-
- // Bottom sheet animation
- if (this.el.classList.contains('bottom-sheet')) {
- $.extend(exitAnimOptions, {
- bottom: '-100%',
- opacity: 0
- });
- anim(exitAnimOptions);
-
- // Normal modal animation
- } else {
- $.extend(exitAnimOptions, {
- top: [this.options.endingTop, this.options.startingTop],
- opacity: 0,
- scaleX: 0.8,
- scaleY: 0.8
- });
- anim(exitAnimOptions);
- }
- }
-
- /**
- * Open Modal
- * @param {cash} [$trigger]
- */
-
- }, {
- key: "open",
- value: function open($trigger) {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- Modal._modalsOpen++;
- this._nthModalOpened = Modal._modalsOpen;
-
- // Set Z-Index based on number of currently open modals
- this.$overlay[0].style.zIndex = 1000 + Modal._modalsOpen * 2;
- this.el.style.zIndex = 1000 + Modal._modalsOpen * 2 + 1;
-
- // Set opening trigger, undefined indicates modal was opened by javascript
- this._openingTrigger = !!$trigger ? $trigger[0] : undefined;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el, this._openingTrigger);
- }
-
- if (this.options.preventScrolling) {
- document.body.style.overflow = 'hidden';
- }
-
- this.el.classList.add('open');
- this.el.insertAdjacentElement('afterend', this.$overlay[0]);
-
- if (this.options.dismissible) {
- this._handleKeydownBound = this._handleKeydown.bind(this);
- this._handleFocusBound = this._handleFocus.bind(this);
- document.addEventListener('keydown', this._handleKeydownBound);
- document.addEventListener('focus', this._handleFocusBound, true);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
- this._animateIn();
-
- // Focus modal
- this.el.focus();
-
- return this;
- }
-
- /**
- * Close Modal
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- Modal._modalsOpen--;
- this._nthModalOpened = 0;
-
- // Call onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- this.el.classList.remove('open');
-
- // Enable body scrolling only if there are no more modals open.
- if (Modal._modalsOpen === 0) {
- document.body.style.overflow = '';
- }
-
- if (this.options.dismissible) {
- document.removeEventListener('keydown', this._handleKeydownBound);
- document.removeEventListener('focus', this._handleFocusBound, true);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
- this._animateOut();
- return this;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Modal.__proto__ || Object.getPrototypeOf(Modal), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Modal;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Modal;
- }(Component);
-
- /**
- * @static
- * @memberof Modal
- */
-
-
- Modal._modalsOpen = 0;
-
- /**
- * @static
- * @memberof Modal
- */
- Modal._count = 0;
-
- M.Modal = Modal;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Modal, 'modal', 'M_Modal');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- inDuration: 275,
- outDuration: 200,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null
- };
-
- /**
- * @class
- *
- */
-
- var Materialbox = function (_Component4) {
- _inherits(Materialbox, _Component4);
-
- /**
- * Construct Materialbox instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Materialbox(el, options) {
- _classCallCheck(this, Materialbox);
-
- var _this15 = _possibleConstructorReturn(this, (Materialbox.__proto__ || Object.getPrototypeOf(Materialbox)).call(this, Materialbox, el, options));
-
- _this15.el.M_Materialbox = _this15;
-
- /**
- * Options for the modal
- * @member Materialbox#options
- * @prop {Number} [inDuration=275] - Length in ms of enter transition
- * @prop {Number} [outDuration=200] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Callback function called before materialbox is opened
- * @prop {Function} onOpenEnd - Callback function called after materialbox is opened
- * @prop {Function} onCloseStart - Callback function called before materialbox is closed
- * @prop {Function} onCloseEnd - Callback function called after materialbox is closed
- */
- _this15.options = $.extend({}, Materialbox.defaults, options);
-
- _this15.overlayActive = false;
- _this15.doneAnimating = true;
- _this15.placeholder = $('
').addClass('material-placeholder');
- _this15.originalWidth = 0;
- _this15.originalHeight = 0;
- _this15.originInlineStyles = _this15.$el.attr('style');
- _this15.caption = _this15.el.getAttribute('data-caption') || '';
-
- // Wrap
- _this15.$el.before(_this15.placeholder);
- _this15.placeholder.append(_this15.$el);
-
- _this15._setupEventHandlers();
- return _this15;
- }
-
- _createClass(Materialbox, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Materialbox = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleMaterialboxClickBound = this._handleMaterialboxClick.bind(this);
- this.el.addEventListener('click', this._handleMaterialboxClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleMaterialboxClickBound);
- }
-
- /**
- * Handle Materialbox Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleMaterialboxClick",
- value: function _handleMaterialboxClick(e) {
- // If already modal, return to original
- if (this.doneAnimating === false || this.overlayActive && this.doneAnimating) {
- this.close();
- } else {
- this.open();
- }
- }
-
- /**
- * Handle Window Scroll
- */
-
- }, {
- key: "_handleWindowScroll",
- value: function _handleWindowScroll() {
- if (this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- if (this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleWindowEscape",
- value: function _handleWindowEscape(e) {
- // ESC key
- if (e.keyCode === 27 && this.doneAnimating && this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Find ancestors with overflow: hidden; and make visible
- */
-
- }, {
- key: "_makeAncestorsOverflowVisible",
- value: function _makeAncestorsOverflowVisible() {
- this.ancestorsChanged = $();
- var ancestor = this.placeholder[0].parentNode;
- while (ancestor !== null && !$(ancestor).is(document)) {
- var curr = $(ancestor);
- if (curr.css('overflow') !== 'visible') {
- curr.css('overflow', 'visible');
- if (this.ancestorsChanged === undefined) {
- this.ancestorsChanged = curr;
- } else {
- this.ancestorsChanged = this.ancestorsChanged.add(curr);
- }
- }
- ancestor = ancestor.parentNode;
- }
- }
-
- /**
- * Animate image in
- */
-
- }, {
- key: "_animateImageIn",
- value: function _animateImageIn() {
- var _this16 = this;
-
- var animOptions = {
- targets: this.el,
- height: [this.originalHeight, this.newHeight],
- width: [this.originalWidth, this.newWidth],
- left: M.getDocumentScrollLeft() + this.windowWidth / 2 - this.placeholder.offset().left - this.newWidth / 2,
- top: M.getDocumentScrollTop() + this.windowHeight / 2 - this.placeholder.offset().top - this.newHeight / 2,
- duration: this.options.inDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this16.doneAnimating = true;
-
- // onOpenEnd callback
- if (typeof _this16.options.onOpenEnd === 'function') {
- _this16.options.onOpenEnd.call(_this16, _this16.el);
- }
- }
- };
-
- // Override max-width or max-height if needed
- this.maxWidth = this.$el.css('max-width');
- this.maxHeight = this.$el.css('max-height');
- if (this.maxWidth !== 'none') {
- animOptions.maxWidth = this.newWidth;
- }
- if (this.maxHeight !== 'none') {
- animOptions.maxHeight = this.newHeight;
- }
-
- anim(animOptions);
- }
-
- /**
- * Animate image out
- */
-
- }, {
- key: "_animateImageOut",
- value: function _animateImageOut() {
- var _this17 = this;
-
- var animOptions = {
- targets: this.el,
- width: this.originalWidth,
- height: this.originalHeight,
- left: 0,
- top: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this17.placeholder.css({
- height: '',
- width: '',
- position: '',
- top: '',
- left: ''
- });
-
- // Revert to width or height attribute
- if (_this17.attrWidth) {
- _this17.$el.attr('width', _this17.attrWidth);
- }
- if (_this17.attrHeight) {
- _this17.$el.attr('height', _this17.attrHeight);
- }
-
- _this17.$el.removeAttr('style');
- _this17.$el.attr('style', _this17.originInlineStyles);
-
- // Remove class
- _this17.$el.removeClass('active');
- _this17.doneAnimating = true;
-
- // Remove overflow overrides on ancestors
- if (_this17.ancestorsChanged.length) {
- _this17.ancestorsChanged.css('overflow', '');
- }
-
- // onCloseEnd callback
- if (typeof _this17.options.onCloseEnd === 'function') {
- _this17.options.onCloseEnd.call(_this17, _this17.el);
- }
- }
- };
-
- anim(animOptions);
- }
-
- /**
- * Update open and close vars
- */
-
- }, {
- key: "_updateVars",
- value: function _updateVars() {
- this.windowWidth = window.innerWidth;
- this.windowHeight = window.innerHeight;
- this.caption = this.el.getAttribute('data-caption') || '';
- }
-
- /**
- * Open Materialbox
- */
-
- }, {
- key: "open",
- value: function open() {
- var _this18 = this;
-
- this._updateVars();
- this.originalWidth = this.el.getBoundingClientRect().width;
- this.originalHeight = this.el.getBoundingClientRect().height;
-
- // Set states
- this.doneAnimating = false;
- this.$el.addClass('active');
- this.overlayActive = true;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Set positioning for placeholder
- this.placeholder.css({
- width: this.placeholder[0].getBoundingClientRect().width + 'px',
- height: this.placeholder[0].getBoundingClientRect().height + 'px',
- position: 'relative',
- top: 0,
- left: 0
- });
-
- this._makeAncestorsOverflowVisible();
-
- // Set css on origin
- this.$el.css({
- position: 'absolute',
- 'z-index': 1000,
- 'will-change': 'left, top, width, height'
- });
-
- // Change from width or height attribute to css
- this.attrWidth = this.$el.attr('width');
- this.attrHeight = this.$el.attr('height');
- if (this.attrWidth) {
- this.$el.css('width', this.attrWidth + 'px');
- this.$el.removeAttr('width');
- }
- if (this.attrHeight) {
- this.$el.css('width', this.attrHeight + 'px');
- this.$el.removeAttr('height');
- }
-
- // Add overlay
- this.$overlay = $('
').css({
- opacity: 0
- }).one('click', function () {
- if (_this18.doneAnimating) {
- _this18.close();
- }
- });
-
- // Put before in origin image to preserve z-index layering.
- this.$el.before(this.$overlay);
-
- // Set dimensions if needed
- var overlayOffset = this.$overlay[0].getBoundingClientRect();
- this.$overlay.css({
- width: this.windowWidth + 'px',
- height: this.windowHeight + 'px',
- left: -1 * overlayOffset.left + 'px',
- top: -1 * overlayOffset.top + 'px'
- });
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
-
- // Animate Overlay
- anim({
- targets: this.$overlay[0],
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
-
- // Add and animate caption if it exists
- if (this.caption !== '') {
- if (this.$photocaption) {
- anim.remove(this.$photoCaption[0]);
- }
- this.$photoCaption = $('
');
- this.$photoCaption.text(this.caption);
- $('body').append(this.$photoCaption);
- this.$photoCaption.css({ display: 'inline' });
-
- anim({
- targets: this.$photoCaption[0],
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
- }
-
- // Resize Image
- var ratio = 0;
- var widthPercent = this.originalWidth / this.windowWidth;
- var heightPercent = this.originalHeight / this.windowHeight;
- this.newWidth = 0;
- this.newHeight = 0;
-
- if (widthPercent > heightPercent) {
- ratio = this.originalHeight / this.originalWidth;
- this.newWidth = this.windowWidth * 0.9;
- this.newHeight = this.windowWidth * 0.9 * ratio;
- } else {
- ratio = this.originalWidth / this.originalHeight;
- this.newWidth = this.windowHeight * 0.9 * ratio;
- this.newHeight = this.windowHeight * 0.9;
- }
-
- this._animateImageIn();
-
- // Handle Exit triggers
- this._handleWindowScrollBound = this._handleWindowScroll.bind(this);
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- this._handleWindowEscapeBound = this._handleWindowEscape.bind(this);
-
- window.addEventListener('scroll', this._handleWindowScrollBound);
- window.addEventListener('resize', this._handleWindowResizeBound);
- window.addEventListener('keyup', this._handleWindowEscapeBound);
- }
-
- /**
- * Close Materialbox
- */
-
- }, {
- key: "close",
- value: function close() {
- var _this19 = this;
-
- this._updateVars();
- this.doneAnimating = false;
-
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
-
- if (this.caption !== '') {
- anim.remove(this.$photoCaption[0]);
- }
-
- // disable exit handlers
- window.removeEventListener('scroll', this._handleWindowScrollBound);
- window.removeEventListener('resize', this._handleWindowResizeBound);
- window.removeEventListener('keyup', this._handleWindowEscapeBound);
-
- anim({
- targets: this.$overlay[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this19.overlayActive = false;
- _this19.$overlay.remove();
- }
- });
-
- this._animateImageOut();
-
- // Remove Caption + reset css settings on image
- if (this.caption !== '') {
- anim({
- targets: this.$photoCaption[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this19.$photoCaption.remove();
- }
- });
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Materialbox.__proto__ || Object.getPrototypeOf(Materialbox), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Materialbox;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Materialbox;
- }(Component);
-
- M.Materialbox = Materialbox;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Materialbox, 'materialbox', 'M_Materialbox');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- responsiveThreshold: 0 // breakpoint for swipeable
- };
-
- var Parallax = function (_Component5) {
- _inherits(Parallax, _Component5);
-
- function Parallax(el, options) {
- _classCallCheck(this, Parallax);
-
- var _this20 = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, Parallax, el, options));
-
- _this20.el.M_Parallax = _this20;
-
- /**
- * Options for the Parallax
- * @member Parallax#options
- * @prop {Number} responsiveThreshold
- */
- _this20.options = $.extend({}, Parallax.defaults, options);
- _this20._enabled = window.innerWidth > _this20.options.responsiveThreshold;
-
- _this20.$img = _this20.$el.find('img').first();
- _this20.$img.each(function () {
- var el = this;
- if (el.complete) $(el).trigger('load');
- });
-
- _this20._updateParallax();
- _this20._setupEventHandlers();
- _this20._setupStyles();
-
- Parallax._parallaxes.push(_this20);
- return _this20;
- }
-
- _createClass(Parallax, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- Parallax._parallaxes.splice(Parallax._parallaxes.indexOf(this), 1);
- this.$img[0].style.transform = '';
- this._removeEventHandlers();
-
- this.$el[0].M_Parallax = undefined;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleImageLoadBound = this._handleImageLoad.bind(this);
- this.$img[0].addEventListener('load', this._handleImageLoadBound);
-
- if (Parallax._parallaxes.length === 0) {
- Parallax._handleScrollThrottled = M.throttle(Parallax._handleScroll, 5);
- window.addEventListener('scroll', Parallax._handleScrollThrottled);
-
- Parallax._handleWindowResizeThrottled = M.throttle(Parallax._handleWindowResize, 5);
- window.addEventListener('resize', Parallax._handleWindowResizeThrottled);
- }
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.$img[0].removeEventListener('load', this._handleImageLoadBound);
-
- if (Parallax._parallaxes.length === 0) {
- window.removeEventListener('scroll', Parallax._handleScrollThrottled);
- window.removeEventListener('resize', Parallax._handleWindowResizeThrottled);
- }
- }
- }, {
- key: "_setupStyles",
- value: function _setupStyles() {
- this.$img[0].style.opacity = 1;
- }
- }, {
- key: "_handleImageLoad",
- value: function _handleImageLoad() {
- this._updateParallax();
- }
- }, {
- key: "_updateParallax",
- value: function _updateParallax() {
- var containerHeight = this.$el.height() > 0 ? this.el.parentNode.offsetHeight : 500;
- var imgHeight = this.$img[0].offsetHeight;
- var parallaxDist = imgHeight - containerHeight;
- var bottom = this.$el.offset().top + containerHeight;
- var top = this.$el.offset().top;
- var scrollTop = M.getDocumentScrollTop();
- var windowHeight = window.innerHeight;
- var windowBottom = scrollTop + windowHeight;
- var percentScrolled = (windowBottom - top) / (containerHeight + windowHeight);
- var parallax = parallaxDist * percentScrolled;
-
- if (!this._enabled) {
- this.$img[0].style.transform = '';
- } else if (bottom > scrollTop && top < scrollTop + windowHeight) {
- this.$img[0].style.transform = "translate3D(-50%, " + parallax + "px, 0)";
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Parallax.__proto__ || Object.getPrototypeOf(Parallax), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Parallax;
- }
- }, {
- key: "_handleScroll",
- value: function _handleScroll() {
- for (var i = 0; i < Parallax._parallaxes.length; i++) {
- var parallaxInstance = Parallax._parallaxes[i];
- parallaxInstance._updateParallax.call(parallaxInstance);
- }
- }
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- for (var i = 0; i < Parallax._parallaxes.length; i++) {
- var parallaxInstance = Parallax._parallaxes[i];
- parallaxInstance._enabled = window.innerWidth > parallaxInstance.options.responsiveThreshold;
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Parallax;
- }(Component);
-
- /**
- * @static
- * @memberof Parallax
- */
-
-
- Parallax._parallaxes = [];
-
- M.Parallax = Parallax;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Parallax, 'parallax', 'M_Parallax');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- duration: 300,
- onShow: null,
- swipeable: false,
- responsiveThreshold: Infinity // breakpoint for swipeable
- };
-
- /**
- * @class
- *
- */
-
- var Tabs = function (_Component6) {
- _inherits(Tabs, _Component6);
-
- /**
- * Construct Tabs instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Tabs(el, options) {
- _classCallCheck(this, Tabs);
-
- var _this21 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, Tabs, el, options));
-
- _this21.el.M_Tabs = _this21;
-
- /**
- * Options for the Tabs
- * @member Tabs#options
- * @prop {Number} duration
- * @prop {Function} onShow
- * @prop {Boolean} swipeable
- * @prop {Number} responsiveThreshold
- */
- _this21.options = $.extend({}, Tabs.defaults, options);
-
- // Setup
- _this21.$tabLinks = _this21.$el.children('li.tab').children('a');
- _this21.index = 0;
- _this21._setTabsAndTabWidth();
- _this21._setupActiveTabLink();
- _this21._createIndicator();
-
- if (_this21.options.swipeable) {
- _this21._setupSwipeableTabs();
- } else {
- _this21._setupNormalTabs();
- }
-
- _this21._setupEventHandlers();
- return _this21;
- }
-
- _createClass(Tabs, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._indicator.parentNode.removeChild(this._indicator);
-
- if (this.options.swipeable) {
- this._teardownSwipeableTabs();
- } else {
- this._teardownNormalTabs();
- }
-
- this.$el[0].M_Tabs = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- window.addEventListener('resize', this._handleWindowResizeBound);
-
- this._handleTabClickBound = this._handleTabClick.bind(this);
- this.el.addEventListener('click', this._handleTabClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- window.removeEventListener('resize', this._handleWindowResizeBound);
- this.el.removeEventListener('click', this._handleTabClickBound);
- }
-
- /**
- * Handle window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- this._setTabsAndTabWidth();
-
- if (this.tabWidth !== 0 && this.tabsWidth !== 0) {
- this._indicator.style.left = this._calcLeftPos(this.$activeTabLink) + 'px';
- this._indicator.style.right = this._calcRightPos(this.$activeTabLink) + 'px';
- }
- }
-
- /**
- * Handle tab click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTabClick",
- value: function _handleTabClick(e) {
- var _this22 = this;
-
- var tab = $(e.target).closest('li.tab');
- var tabLink = $(e.target).closest('a');
-
- // Handle click on tab link only
- if (!tabLink.length || !tabLink.parent().hasClass('tab')) {
- return;
- }
-
- if (tab.hasClass('disabled')) {
- e.preventDefault();
- return;
- }
-
- // Act as regular link if target attribute is specified.
- if (!!tabLink.attr('target')) {
- return;
- }
-
- this._setTabsAndTabWidth();
-
- // Make the old tab inactive.
- this.$activeTabLink.removeClass('active');
- var $oldContent = this.$content;
-
- // Update the variables with the new link and content
- this.$activeTabLink = tabLink;
- this.$content = $(M.escapeHash(tabLink[0].hash));
- this.$tabLinks = this.$el.children('li.tab').children('a');
-
- // Make the tab active.
- this.$activeTabLink.addClass('active');
- var prevIndex = this.index;
- this.index = Math.max(this.$tabLinks.index(tabLink), 0);
-
- // Swap content
- if (this.options.swipeable) {
- if (this._tabsCarousel) {
- this._tabsCarousel.set(this.index, function () {
- if (typeof _this22.options.onShow === 'function') {
- _this22.options.onShow.call(_this22, _this22.$content[0]);
- }
- });
- }
- } else {
- if (this.$content.length) {
- this.$content[0].style.display = 'block';
- this.$content.addClass('active');
- if (typeof this.options.onShow === 'function') {
- this.options.onShow.call(this, this.$content[0]);
- }
-
- if ($oldContent.length && !$oldContent.is(this.$content)) {
- $oldContent[0].style.display = 'none';
- $oldContent.removeClass('active');
- }
- }
- }
-
- // Update indicator
- this._animateIndicator(prevIndex);
-
- // Prevent the anchor's default click action
- e.preventDefault();
- }
-
- /**
- * Generate elements for tab indicator.
- */
-
- }, {
- key: "_createIndicator",
- value: function _createIndicator() {
- var _this23 = this;
-
- var indicator = document.createElement('li');
- indicator.classList.add('indicator');
-
- this.el.appendChild(indicator);
- this._indicator = indicator;
-
- setTimeout(function () {
- _this23._indicator.style.left = _this23._calcLeftPos(_this23.$activeTabLink) + 'px';
- _this23._indicator.style.right = _this23._calcRightPos(_this23.$activeTabLink) + 'px';
- }, 0);
- }
-
- /**
- * Setup first active tab link.
- */
-
- }, {
- key: "_setupActiveTabLink",
- value: function _setupActiveTabLink() {
- // If the location.hash matches one of the links, use that as the active tab.
- this.$activeTabLink = $(this.$tabLinks.filter('[href="' + location.hash + '"]'));
-
- // If no match is found, use the first link or any with class 'active' as the initial active tab.
- if (this.$activeTabLink.length === 0) {
- this.$activeTabLink = this.$el.children('li.tab').children('a.active').first();
- }
- if (this.$activeTabLink.length === 0) {
- this.$activeTabLink = this.$el.children('li.tab').children('a').first();
- }
-
- this.$tabLinks.removeClass('active');
- this.$activeTabLink[0].classList.add('active');
-
- this.index = Math.max(this.$tabLinks.index(this.$activeTabLink), 0);
-
- if (this.$activeTabLink.length) {
- this.$content = $(M.escapeHash(this.$activeTabLink[0].hash));
- this.$content.addClass('active');
- }
- }
-
- /**
- * Setup swipeable tabs
- */
-
- }, {
- key: "_setupSwipeableTabs",
- value: function _setupSwipeableTabs() {
- var _this24 = this;
-
- // Change swipeable according to responsive threshold
- if (window.innerWidth > this.options.responsiveThreshold) {
- this.options.swipeable = false;
- }
-
- var $tabsContent = $();
- this.$tabLinks.each(function (link) {
- var $currContent = $(M.escapeHash(link.hash));
- $currContent.addClass('carousel-item');
- $tabsContent = $tabsContent.add($currContent);
- });
-
- var $tabsWrapper = $('
');
- $tabsContent.first().before($tabsWrapper);
- $tabsWrapper.append($tabsContent);
- $tabsContent[0].style.display = '';
-
- // Keep active tab index to set initial carousel slide
- var activeTabIndex = this.$activeTabLink.closest('.tab').index();
-
- this._tabsCarousel = M.Carousel.init($tabsWrapper[0], {
- fullWidth: true,
- noWrap: true,
- onCycleTo: function (item) {
- var prevIndex = _this24.index;
- _this24.index = $(item).index();
- _this24.$activeTabLink.removeClass('active');
- _this24.$activeTabLink = _this24.$tabLinks.eq(_this24.index);
- _this24.$activeTabLink.addClass('active');
- _this24._animateIndicator(prevIndex);
- if (typeof _this24.options.onShow === 'function') {
- _this24.options.onShow.call(_this24, _this24.$content[0]);
- }
- }
- });
-
- // Set initial carousel slide to active tab
- this._tabsCarousel.set(activeTabIndex);
- }
-
- /**
- * Teardown normal tabs.
- */
-
- }, {
- key: "_teardownSwipeableTabs",
- value: function _teardownSwipeableTabs() {
- var $tabsWrapper = this._tabsCarousel.$el;
- this._tabsCarousel.destroy();
-
- // Unwrap
- $tabsWrapper.after($tabsWrapper.children());
- $tabsWrapper.remove();
- }
-
- /**
- * Setup normal tabs.
- */
-
- }, {
- key: "_setupNormalTabs",
- value: function _setupNormalTabs() {
- // Hide Tabs Content
- this.$tabLinks.not(this.$activeTabLink).each(function (link) {
- if (!!link.hash) {
- var $currContent = $(M.escapeHash(link.hash));
- if ($currContent.length) {
- $currContent[0].style.display = 'none';
- }
- }
- });
- }
-
- /**
- * Teardown normal tabs.
- */
-
- }, {
- key: "_teardownNormalTabs",
- value: function _teardownNormalTabs() {
- // show Tabs Content
- this.$tabLinks.each(function (link) {
- if (!!link.hash) {
- var $currContent = $(M.escapeHash(link.hash));
- if ($currContent.length) {
- $currContent[0].style.display = '';
- }
- }
- });
- }
-
- /**
- * set tabs and tab width
- */
-
- }, {
- key: "_setTabsAndTabWidth",
- value: function _setTabsAndTabWidth() {
- this.tabsWidth = this.$el.width();
- this.tabWidth = Math.max(this.tabsWidth, this.el.scrollWidth) / this.$tabLinks.length;
- }
-
- /**
- * Finds right attribute for indicator based on active tab.
- * @param {cash} el
- */
-
- }, {
- key: "_calcRightPos",
- value: function _calcRightPos(el) {
- return Math.ceil(this.tabsWidth - el.position().left - el[0].getBoundingClientRect().width);
- }
-
- /**
- * Finds left attribute for indicator based on active tab.
- * @param {cash} el
- */
-
- }, {
- key: "_calcLeftPos",
- value: function _calcLeftPos(el) {
- return Math.floor(el.position().left);
- }
- }, {
- key: "updateTabIndicator",
- value: function updateTabIndicator() {
- this._animateIndicator(this.index);
- }
-
- /**
- * Animates Indicator to active tab.
- * @param {Number} prevIndex
- */
-
- }, {
- key: "_animateIndicator",
- value: function _animateIndicator(prevIndex) {
- var leftDelay = 0,
- rightDelay = 0;
-
- if (this.index - prevIndex >= 0) {
- leftDelay = 90;
- } else {
- rightDelay = 90;
- }
-
- // Animate
- var animOptions = {
- targets: this._indicator,
- left: {
- value: this._calcLeftPos(this.$activeTabLink),
- delay: leftDelay
- },
- right: {
- value: this._calcRightPos(this.$activeTabLink),
- delay: rightDelay
- },
- duration: this.options.duration,
- easing: 'easeOutQuad'
- };
- anim.remove(this._indicator);
- anim(animOptions);
- }
-
- /**
- * Select tab.
- * @param {String} tabId
- */
-
- }, {
- key: "select",
- value: function select(tabId) {
- var tab = this.$tabLinks.filter('[href="#' + tabId + '"]');
- if (tab.length) {
- tab.trigger('click');
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Tabs.__proto__ || Object.getPrototypeOf(Tabs), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Tabs;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Tabs;
- }(Component);
-
- window.M.Tabs = Tabs;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Tabs, 'tabs', 'M_Tabs');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- exitDelay: 200,
- enterDelay: 0,
- html: null,
- margin: 5,
- inDuration: 250,
- outDuration: 200,
- position: 'bottom',
- transitionMovement: 10
- };
-
- /**
- * @class
- *
- */
-
- var Tooltip = function (_Component7) {
- _inherits(Tooltip, _Component7);
-
- /**
- * Construct Tooltip instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Tooltip(el, options) {
- _classCallCheck(this, Tooltip);
-
- var _this25 = _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, Tooltip, el, options));
-
- _this25.el.M_Tooltip = _this25;
- _this25.options = $.extend({}, Tooltip.defaults, options);
-
- _this25.isOpen = false;
- _this25.isHovered = false;
- _this25.isFocused = false;
- _this25._appendTooltipEl();
- _this25._setupEventHandlers();
- return _this25;
- }
-
- _createClass(Tooltip, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- $(this.tooltipEl).remove();
- this._removeEventHandlers();
- this.el.M_Tooltip = undefined;
- }
- }, {
- key: "_appendTooltipEl",
- value: function _appendTooltipEl() {
- var tooltipEl = document.createElement('div');
- tooltipEl.classList.add('material-tooltip');
- this.tooltipEl = tooltipEl;
-
- var tooltipContentEl = document.createElement('div');
- tooltipContentEl.classList.add('tooltip-content');
- tooltipContentEl.innerHTML = this.options.html;
- tooltipEl.appendChild(tooltipContentEl);
- document.body.appendChild(tooltipEl);
- }
- }, {
- key: "_updateTooltipContent",
- value: function _updateTooltipContent() {
- this.tooltipEl.querySelector('.tooltip-content').innerHTML = this.options.html;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
- this._handleMouseLeaveBound = this._handleMouseLeave.bind(this);
- this._handleFocusBound = this._handleFocus.bind(this);
- this._handleBlurBound = this._handleBlur.bind(this);
- this.el.addEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.addEventListener('mouseleave', this._handleMouseLeaveBound);
- this.el.addEventListener('focus', this._handleFocusBound, true);
- this.el.addEventListener('blur', this._handleBlurBound, true);
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- this.el.removeEventListener('focus', this._handleFocusBound, true);
- this.el.removeEventListener('blur', this._handleBlurBound, true);
- }
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
- this.isOpen = true;
- // Update tooltip content with HTML attribute options
- this.options = $.extend({}, this.options, this._getAttributeOptions());
- this._updateTooltipContent();
- this._setEnterDelayTimeout();
- }
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isHovered = false;
- this.isFocused = false;
- this.isOpen = false;
- this._setExitDelayTimeout();
- }
-
- /**
- * Create timeout which delays when the tooltip closes
- */
-
- }, {
- key: "_setExitDelayTimeout",
- value: function _setExitDelayTimeout() {
- var _this26 = this;
-
- clearTimeout(this._exitDelayTimeout);
-
- this._exitDelayTimeout = setTimeout(function () {
- if (_this26.isHovered || _this26.isFocused) {
- return;
- }
-
- _this26._animateOut();
- }, this.options.exitDelay);
- }
-
- /**
- * Create timeout which delays when the toast closes
- */
-
- }, {
- key: "_setEnterDelayTimeout",
- value: function _setEnterDelayTimeout() {
- var _this27 = this;
-
- clearTimeout(this._enterDelayTimeout);
-
- this._enterDelayTimeout = setTimeout(function () {
- if (!_this27.isHovered && !_this27.isFocused) {
- return;
- }
-
- _this27._animateIn();
- }, this.options.enterDelay);
- }
- }, {
- key: "_positionTooltip",
- value: function _positionTooltip() {
- var origin = this.el,
- tooltip = this.tooltipEl,
- originHeight = origin.offsetHeight,
- originWidth = origin.offsetWidth,
- tooltipHeight = tooltip.offsetHeight,
- tooltipWidth = tooltip.offsetWidth,
- newCoordinates = void 0,
- margin = this.options.margin,
- targetTop = void 0,
- targetLeft = void 0;
-
- this.xMovement = 0, this.yMovement = 0;
-
- targetTop = origin.getBoundingClientRect().top + M.getDocumentScrollTop();
- targetLeft = origin.getBoundingClientRect().left + M.getDocumentScrollLeft();
-
- if (this.options.position === 'top') {
- targetTop += -tooltipHeight - margin;
- targetLeft += originWidth / 2 - tooltipWidth / 2;
- this.yMovement = -this.options.transitionMovement;
- } else if (this.options.position === 'right') {
- targetTop += originHeight / 2 - tooltipHeight / 2;
- targetLeft += originWidth + margin;
- this.xMovement = this.options.transitionMovement;
- } else if (this.options.position === 'left') {
- targetTop += originHeight / 2 - tooltipHeight / 2;
- targetLeft += -tooltipWidth - margin;
- this.xMovement = -this.options.transitionMovement;
- } else {
- targetTop += originHeight + margin;
- targetLeft += originWidth / 2 - tooltipWidth / 2;
- this.yMovement = this.options.transitionMovement;
- }
-
- newCoordinates = this._repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
- $(tooltip).css({
- top: newCoordinates.y + 'px',
- left: newCoordinates.x + 'px'
- });
- }
- }, {
- key: "_repositionWithinScreen",
- value: function _repositionWithinScreen(x, y, width, height) {
- var scrollLeft = M.getDocumentScrollLeft();
- var scrollTop = M.getDocumentScrollTop();
- var newX = x - scrollLeft;
- var newY = y - scrollTop;
-
- var bounding = {
- left: newX,
- top: newY,
- width: width,
- height: height
- };
-
- var offset = this.options.margin + this.options.transitionMovement;
- var edges = M.checkWithinContainer(document.body, bounding, offset);
-
- if (edges.left) {
- newX = offset;
- } else if (edges.right) {
- newX -= newX + width - window.innerWidth;
- }
-
- if (edges.top) {
- newY = offset;
- } else if (edges.bottom) {
- newY -= newY + height - window.innerHeight;
- }
-
- return {
- x: newX + scrollLeft,
- y: newY + scrollTop
- };
- }
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- this._positionTooltip();
- this.tooltipEl.style.visibility = 'visible';
- anim.remove(this.tooltipEl);
- anim({
- targets: this.tooltipEl,
- opacity: 1,
- translateX: this.xMovement,
- translateY: this.yMovement,
- duration: this.options.inDuration,
- easing: 'easeOutCubic'
- });
- }
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- anim.remove(this.tooltipEl);
- anim({
- targets: this.tooltipEl,
- opacity: 0,
- translateX: 0,
- translateY: 0,
- duration: this.options.outDuration,
- easing: 'easeOutCubic'
- });
- }
- }, {
- key: "_handleMouseEnter",
- value: function _handleMouseEnter() {
- this.isHovered = true;
- this.isFocused = false; // Allows close of tooltip when opened by focus.
- this.open();
- }
- }, {
- key: "_handleMouseLeave",
- value: function _handleMouseLeave() {
- this.isHovered = false;
- this.isFocused = false; // Allows close of tooltip when opened by focus.
- this.close();
- }
- }, {
- key: "_handleFocus",
- value: function _handleFocus() {
- if (M.tabPressed) {
- this.isFocused = true;
- this.open();
- }
- }
- }, {
- key: "_handleBlur",
- value: function _handleBlur() {
- this.isFocused = false;
- this.close();
- }
- }, {
- key: "_getAttributeOptions",
- value: function _getAttributeOptions() {
- var attributeOptions = {};
- var tooltipTextOption = this.el.getAttribute('data-tooltip');
- var positionOption = this.el.getAttribute('data-position');
-
- if (tooltipTextOption) {
- attributeOptions.html = tooltipTextOption;
- }
-
- if (positionOption) {
- attributeOptions.position = positionOption;
- }
- return attributeOptions;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Tooltip.__proto__ || Object.getPrototypeOf(Tooltip), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Tooltip;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Tooltip;
- }(Component);
-
- M.Tooltip = Tooltip;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Tooltip, 'tooltip', 'M_Tooltip');
- }
-})(cash, M.anime);
-; /*!
- * Waves v0.6.4
- * http://fian.my.id/Waves
- *
- * Copyright 2014 Alfiana E. Sibuea and other contributors
- * Released under the MIT license
- * https://github.com/fians/Waves/blob/master/LICENSE
- */
-
-;(function (window) {
- 'use strict';
-
- var Waves = Waves || {};
- var $$ = document.querySelectorAll.bind(document);
-
- // Find exact position of element
- function isWindow(obj) {
- return obj !== null && obj === obj.window;
- }
-
- function getWindow(elem) {
- return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;
- }
-
- function offset(elem) {
- var docElem,
- win,
- box = { top: 0, left: 0 },
- doc = elem && elem.ownerDocument;
-
- docElem = doc.documentElement;
-
- if (typeof elem.getBoundingClientRect !== typeof undefined) {
- box = elem.getBoundingClientRect();
- }
- win = getWindow(doc);
- return {
- top: box.top + win.pageYOffset - docElem.clientTop,
- left: box.left + win.pageXOffset - docElem.clientLeft
- };
- }
-
- function convertStyle(obj) {
- var style = '';
-
- for (var a in obj) {
- if (obj.hasOwnProperty(a)) {
- style += a + ':' + obj[a] + ';';
- }
- }
-
- return style;
- }
-
- var Effect = {
-
- // Effect delay
- duration: 750,
-
- show: function (e, element) {
-
- // Disable right click
- if (e.button === 2) {
- return false;
- }
-
- var el = element || this;
-
- // Create ripple
- var ripple = document.createElement('div');
- ripple.className = 'waves-ripple';
- el.appendChild(ripple);
-
- // Get click coordinate and element witdh
- var pos = offset(el);
- var relativeY = e.pageY - pos.top;
- var relativeX = e.pageX - pos.left;
- var scale = 'scale(' + el.clientWidth / 100 * 10 + ')';
-
- // Support for touch devices
- if ('touches' in e) {
- relativeY = e.touches[0].pageY - pos.top;
- relativeX = e.touches[0].pageX - pos.left;
- }
-
- // Attach data to element
- ripple.setAttribute('data-hold', Date.now());
- ripple.setAttribute('data-scale', scale);
- ripple.setAttribute('data-x', relativeX);
- ripple.setAttribute('data-y', relativeY);
-
- // Set ripple position
- var rippleStyle = {
- 'top': relativeY + 'px',
- 'left': relativeX + 'px'
- };
-
- ripple.className = ripple.className + ' waves-notransition';
- ripple.setAttribute('style', convertStyle(rippleStyle));
- ripple.className = ripple.className.replace('waves-notransition', '');
-
- // Scale the ripple
- rippleStyle['-webkit-transform'] = scale;
- rippleStyle['-moz-transform'] = scale;
- rippleStyle['-ms-transform'] = scale;
- rippleStyle['-o-transform'] = scale;
- rippleStyle.transform = scale;
- rippleStyle.opacity = '1';
-
- rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['transition-duration'] = Effect.duration + 'ms';
-
- rippleStyle['-webkit-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['-moz-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['-o-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
-
- ripple.setAttribute('style', convertStyle(rippleStyle));
- },
-
- hide: function (e) {
- TouchHandler.touchup(e);
-
- var el = this;
- var width = el.clientWidth * 1.4;
-
- // Get first ripple
- var ripple = null;
- var ripples = el.getElementsByClassName('waves-ripple');
- if (ripples.length > 0) {
- ripple = ripples[ripples.length - 1];
- } else {
- return false;
- }
-
- var relativeX = ripple.getAttribute('data-x');
- var relativeY = ripple.getAttribute('data-y');
- var scale = ripple.getAttribute('data-scale');
-
- // Get delay beetween mousedown and mouse leave
- var diff = Date.now() - Number(ripple.getAttribute('data-hold'));
- var delay = 350 - diff;
-
- if (delay < 0) {
- delay = 0;
- }
-
- // Fade out ripple after delay
- setTimeout(function () {
- var style = {
- 'top': relativeY + 'px',
- 'left': relativeX + 'px',
- 'opacity': '0',
-
- // Duration
- '-webkit-transition-duration': Effect.duration + 'ms',
- '-moz-transition-duration': Effect.duration + 'ms',
- '-o-transition-duration': Effect.duration + 'ms',
- 'transition-duration': Effect.duration + 'ms',
- '-webkit-transform': scale,
- '-moz-transform': scale,
- '-ms-transform': scale,
- '-o-transform': scale,
- 'transform': scale
- };
-
- ripple.setAttribute('style', convertStyle(style));
-
- setTimeout(function () {
- try {
- el.removeChild(ripple);
- } catch (e) {
- return false;
- }
- }, Effect.duration);
- }, delay);
- },
-
- // Little hack to make can perform waves effect
- wrapInput: function (elements) {
- for (var a = 0; a < elements.length; a++) {
- var el = elements[a];
-
- if (el.tagName.toLowerCase() === 'input') {
- var parent = el.parentNode;
-
- // If input already have parent just pass through
- if (parent.tagName.toLowerCase() === 'i' && parent.className.indexOf('waves-effect') !== -1) {
- continue;
- }
-
- // Put element class and style to the specified parent
- var wrapper = document.createElement('i');
- wrapper.className = el.className + ' waves-input-wrapper';
-
- var elementStyle = el.getAttribute('style');
-
- if (!elementStyle) {
- elementStyle = '';
- }
-
- wrapper.setAttribute('style', elementStyle);
-
- el.className = 'waves-button-input';
- el.removeAttribute('style');
-
- // Put element as child
- parent.replaceChild(wrapper, el);
- wrapper.appendChild(el);
- }
- }
- }
- };
-
- /**
- * Disable mousedown event for 500ms during and after touch
- */
- var TouchHandler = {
- /* uses an integer rather than bool so there's no issues with
- * needing to clear timeouts if another touch event occurred
- * within the 500ms. Cannot mouseup between touchstart and
- * touchend, nor in the 500ms after touchend. */
- touches: 0,
- allowEvent: function (e) {
- var allow = true;
-
- if (e.type === 'touchstart') {
- TouchHandler.touches += 1; //push
- } else if (e.type === 'touchend' || e.type === 'touchcancel') {
- setTimeout(function () {
- if (TouchHandler.touches > 0) {
- TouchHandler.touches -= 1; //pop after 500ms
- }
- }, 500);
- } else if (e.type === 'mousedown' && TouchHandler.touches > 0) {
- allow = false;
- }
-
- return allow;
- },
- touchup: function (e) {
- TouchHandler.allowEvent(e);
- }
- };
-
- /**
- * Delegated click handler for .waves-effect element.
- * returns null when .waves-effect element not in "click tree"
- */
- function getWavesEffectElement(e) {
- if (TouchHandler.allowEvent(e) === false) {
- return null;
- }
-
- var element = null;
- var target = e.target || e.srcElement;
-
- while (target.parentNode !== null) {
- if (!(target instanceof SVGElement) && target.className.indexOf('waves-effect') !== -1) {
- element = target;
- break;
- }
- target = target.parentNode;
- }
- return element;
- }
-
- /**
- * Bubble the click and show effect if .waves-effect elem was found
- */
- function showEffect(e) {
- var element = getWavesEffectElement(e);
-
- if (element !== null) {
- Effect.show(e, element);
-
- if ('ontouchstart' in window) {
- element.addEventListener('touchend', Effect.hide, false);
- element.addEventListener('touchcancel', Effect.hide, false);
- }
-
- element.addEventListener('mouseup', Effect.hide, false);
- element.addEventListener('mouseleave', Effect.hide, false);
- element.addEventListener('dragend', Effect.hide, false);
- }
- }
-
- Waves.displayEffect = function (options) {
- options = options || {};
-
- if ('duration' in options) {
- Effect.duration = options.duration;
- }
-
- //Wrap input inside tag
- Effect.wrapInput($$('.waves-effect'));
-
- if ('ontouchstart' in window) {
- document.body.addEventListener('touchstart', showEffect, false);
- }
-
- document.body.addEventListener('mousedown', showEffect, false);
- };
-
- /**
- * Attach Waves to an input element (or any element which doesn't
- * bubble mouseup/mousedown events).
- * Intended to be used with dynamically loaded forms/inputs, or
- * where the user doesn't want a delegated click handler.
- */
- Waves.attach = function (element) {
- //FUTURE: automatically add waves classes and allow users
- // to specify them with an options param? Eg. light/classic/button
- if (element.tagName.toLowerCase() === 'input') {
- Effect.wrapInput([element]);
- element = element.parentNode;
- }
-
- if ('ontouchstart' in window) {
- element.addEventListener('touchstart', showEffect, false);
- }
-
- element.addEventListener('mousedown', showEffect, false);
- };
-
- window.Waves = Waves;
-
- document.addEventListener('DOMContentLoaded', function () {
- Waves.displayEffect();
- }, false);
-})(window);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- html: '',
- displayLength: 4000,
- inDuration: 300,
- outDuration: 375,
- classes: '',
- completeCallback: null,
- activationPercent: 0.8
- };
-
- var Toast = function () {
- function Toast(options) {
- _classCallCheck(this, Toast);
-
- /**
- * Options for the toast
- * @member Toast#options
- */
- this.options = $.extend({}, Toast.defaults, options);
- this.message = this.options.html;
-
- /**
- * Describes current pan state toast
- * @type {Boolean}
- */
- this.panning = false;
-
- /**
- * Time remaining until toast is removed
- */
- this.timeRemaining = this.options.displayLength;
-
- if (Toast._toasts.length === 0) {
- Toast._createContainer();
- }
-
- // Create new toast
- Toast._toasts.push(this);
- var toastElement = this._createToast();
- toastElement.M_Toast = this;
- this.el = toastElement;
- this.$el = $(toastElement);
- this._animateIn();
- this._setTimer();
- }
-
- _createClass(Toast, [{
- key: "_createToast",
-
-
- /**
- * Create toast and append it to toast container
- */
- value: function _createToast() {
- var toast = document.createElement('div');
- toast.classList.add('toast');
-
- // Add custom classes onto toast
- if (!!this.options.classes.length) {
- $(toast).addClass(this.options.classes);
- }
-
- // Set content
- if (typeof HTMLElement === 'object' ? this.message instanceof HTMLElement : this.message && typeof this.message === 'object' && this.message !== null && this.message.nodeType === 1 && typeof this.message.nodeName === 'string') {
- toast.appendChild(this.message);
-
- // Check if it is jQuery object
- } else if (!!this.message.jquery) {
- $(toast).append(this.message[0]);
-
- // Insert as html;
- } else {
- toast.innerHTML = this.message;
- }
-
- // Append toasft
- Toast._container.appendChild(toast);
- return toast;
- }
-
- /**
- * Animate in toast
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- // Animate toast in
- anim({
- targets: this.el,
- top: 0,
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutCubic'
- });
- }
-
- /**
- * Create setInterval which automatically removes toast when timeRemaining >= 0
- * has been reached
- */
-
- }, {
- key: "_setTimer",
- value: function _setTimer() {
- var _this28 = this;
-
- if (this.timeRemaining !== Infinity) {
- this.counterInterval = setInterval(function () {
- // If toast is not being dragged, decrease its time remaining
- if (!_this28.panning) {
- _this28.timeRemaining -= 20;
- }
-
- // Animate toast out
- if (_this28.timeRemaining <= 0) {
- _this28.dismiss();
- }
- }, 20);
- }
- }
-
- /**
- * Dismiss toast with animation
- */
-
- }, {
- key: "dismiss",
- value: function dismiss() {
- var _this29 = this;
-
- window.clearInterval(this.counterInterval);
- var activationDistance = this.el.offsetWidth * this.options.activationPercent;
-
- if (this.wasSwiped) {
- this.el.style.transition = 'transform .05s, opacity .05s';
- this.el.style.transform = "translateX(" + activationDistance + "px)";
- this.el.style.opacity = 0;
- }
-
- anim({
- targets: this.el,
- opacity: 0,
- marginTop: -40,
- duration: this.options.outDuration,
- easing: 'easeOutExpo',
- complete: function () {
- // Call the optional callback
- if (typeof _this29.options.completeCallback === 'function') {
- _this29.options.completeCallback();
- }
- // Remove toast from DOM
- _this29.$el.remove();
- Toast._toasts.splice(Toast._toasts.indexOf(_this29), 1);
- if (Toast._toasts.length === 0) {
- Toast._removeContainer();
- }
- }
- });
- }
- }], [{
- key: "getInstance",
-
-
- /**
- * Get Instance
- */
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Toast;
- }
-
- /**
- * Append toast container and add event handlers
- */
-
- }, {
- key: "_createContainer",
- value: function _createContainer() {
- var container = document.createElement('div');
- container.setAttribute('id', 'toast-container');
-
- // Add event handler
- container.addEventListener('touchstart', Toast._onDragStart);
- container.addEventListener('touchmove', Toast._onDragMove);
- container.addEventListener('touchend', Toast._onDragEnd);
-
- container.addEventListener('mousedown', Toast._onDragStart);
- document.addEventListener('mousemove', Toast._onDragMove);
- document.addEventListener('mouseup', Toast._onDragEnd);
-
- document.body.appendChild(container);
- Toast._container = container;
- }
-
- /**
- * Remove toast container and event handlers
- */
-
- }, {
- key: "_removeContainer",
- value: function _removeContainer() {
- // Add event handler
- document.removeEventListener('mousemove', Toast._onDragMove);
- document.removeEventListener('mouseup', Toast._onDragEnd);
-
- $(Toast._container).remove();
- Toast._container = null;
- }
-
- /**
- * Begin drag handler
- * @param {Event} e
- */
-
- }, {
- key: "_onDragStart",
- value: function _onDragStart(e) {
- if (e.target && $(e.target).closest('.toast').length) {
- var $toast = $(e.target).closest('.toast');
- var toast = $toast[0].M_Toast;
- toast.panning = true;
- Toast._draggedToast = toast;
- toast.el.classList.add('panning');
- toast.el.style.transition = '';
- toast.startingXPos = Toast._xPos(e);
- toast.time = Date.now();
- toast.xPos = Toast._xPos(e);
- }
- }
-
- /**
- * Drag move handler
- * @param {Event} e
- */
-
- }, {
- key: "_onDragMove",
- value: function _onDragMove(e) {
- if (!!Toast._draggedToast) {
- e.preventDefault();
- var toast = Toast._draggedToast;
- toast.deltaX = Math.abs(toast.xPos - Toast._xPos(e));
- toast.xPos = Toast._xPos(e);
- toast.velocityX = toast.deltaX / (Date.now() - toast.time);
- toast.time = Date.now();
-
- var totalDeltaX = toast.xPos - toast.startingXPos;
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
- toast.el.style.transform = "translateX(" + totalDeltaX + "px)";
- toast.el.style.opacity = 1 - Math.abs(totalDeltaX / activationDistance);
- }
- }
-
- /**
- * End drag handler
- */
-
- }, {
- key: "_onDragEnd",
- value: function _onDragEnd() {
- if (!!Toast._draggedToast) {
- var toast = Toast._draggedToast;
- toast.panning = false;
- toast.el.classList.remove('panning');
-
- var totalDeltaX = toast.xPos - toast.startingXPos;
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
- var shouldBeDismissed = Math.abs(totalDeltaX) > activationDistance || toast.velocityX > 1;
-
- // Remove toast
- if (shouldBeDismissed) {
- toast.wasSwiped = true;
- toast.dismiss();
-
- // Animate toast back to original position
- } else {
- toast.el.style.transition = 'transform .2s, opacity .2s';
- toast.el.style.transform = '';
- toast.el.style.opacity = '';
- }
- Toast._draggedToast = null;
- }
- }
-
- /**
- * Get x position of mouse or touch event
- * @param {Event} e
- */
-
- }, {
- key: "_xPos",
- value: function _xPos(e) {
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientX;
- }
- // mouse event
- return e.clientX;
- }
-
- /**
- * Remove all toasts
- */
-
- }, {
- key: "dismissAll",
- value: function dismissAll() {
- for (var toastIndex in Toast._toasts) {
- Toast._toasts[toastIndex].dismiss();
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Toast;
- }();
-
- /**
- * @static
- * @memberof Toast
- * @type {Array.}
- */
-
-
- Toast._toasts = [];
-
- /**
- * @static
- * @memberof Toast
- */
- Toast._container = null;
-
- /**
- * @static
- * @memberof Toast
- * @type {Toast}
- */
- Toast._draggedToast = null;
-
- M.Toast = Toast;
- M.toast = function (options) {
- return new Toast(options);
- };
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- edge: 'left',
- draggable: true,
- inDuration: 250,
- outDuration: 200,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- preventScrolling: true
- };
-
- /**
- * @class
- */
-
- var Sidenav = function (_Component8) {
- _inherits(Sidenav, _Component8);
-
- /**
- * Construct Sidenav instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Sidenav(el, options) {
- _classCallCheck(this, Sidenav);
-
- var _this30 = _possibleConstructorReturn(this, (Sidenav.__proto__ || Object.getPrototypeOf(Sidenav)).call(this, Sidenav, el, options));
-
- _this30.el.M_Sidenav = _this30;
- _this30.id = _this30.$el.attr('id');
-
- /**
- * Options for the Sidenav
- * @member Sidenav#options
- * @prop {String} [edge='left'] - Side of screen on which Sidenav appears
- * @prop {Boolean} [draggable=true] - Allow swipe gestures to open/close Sidenav
- * @prop {Number} [inDuration=250] - Length in ms of enter transition
- * @prop {Number} [outDuration=200] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Function called when sidenav starts entering
- * @prop {Function} onOpenEnd - Function called when sidenav finishes entering
- * @prop {Function} onCloseStart - Function called when sidenav starts exiting
- * @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
- */
- _this30.options = $.extend({}, Sidenav.defaults, options);
-
- /**
- * Describes open/close state of Sidenav
- * @type {Boolean}
- */
- _this30.isOpen = false;
-
- /**
- * Describes if Sidenav is fixed
- * @type {Boolean}
- */
- _this30.isFixed = _this30.el.classList.contains('sidenav-fixed');
-
- /**
- * Describes if Sidenav is being draggeed
- * @type {Boolean}
- */
- _this30.isDragged = false;
-
- // Window size variables for window resize checks
- _this30.lastWindowWidth = window.innerWidth;
- _this30.lastWindowHeight = window.innerHeight;
-
- _this30._createOverlay();
- _this30._createDragTarget();
- _this30._setupEventHandlers();
- _this30._setupClasses();
- _this30._setupFixed();
-
- Sidenav._sidenavs.push(_this30);
- return _this30;
- }
-
- _createClass(Sidenav, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._overlay.parentNode.removeChild(this._overlay);
- this.dragTarget.parentNode.removeChild(this.dragTarget);
- this.el.M_Sidenav = undefined;
- this.el.style.transform = '';
-
- var index = Sidenav._sidenavs.indexOf(this);
- if (index >= 0) {
- Sidenav._sidenavs.splice(index, 1);
- }
- }
- }, {
- key: "_createOverlay",
- value: function _createOverlay() {
- var overlay = document.createElement('div');
- this._closeBound = this.close.bind(this);
- overlay.classList.add('sidenav-overlay');
-
- overlay.addEventListener('click', this._closeBound);
-
- document.body.appendChild(overlay);
- this._overlay = overlay;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- if (Sidenav._sidenavs.length === 0) {
- document.body.addEventListener('click', this._handleTriggerClick);
- }
-
- this._handleDragTargetDragBound = this._handleDragTargetDrag.bind(this);
- this._handleDragTargetReleaseBound = this._handleDragTargetRelease.bind(this);
- this._handleCloseDragBound = this._handleCloseDrag.bind(this);
- this._handleCloseReleaseBound = this._handleCloseRelease.bind(this);
- this._handleCloseTriggerClickBound = this._handleCloseTriggerClick.bind(this);
-
- this.dragTarget.addEventListener('touchmove', this._handleDragTargetDragBound);
- this.dragTarget.addEventListener('touchend', this._handleDragTargetReleaseBound);
- this._overlay.addEventListener('touchmove', this._handleCloseDragBound);
- this._overlay.addEventListener('touchend', this._handleCloseReleaseBound);
- this.el.addEventListener('touchmove', this._handleCloseDragBound);
- this.el.addEventListener('touchend', this._handleCloseReleaseBound);
- this.el.addEventListener('click', this._handleCloseTriggerClickBound);
-
- // Add resize for side nav fixed
- if (this.isFixed) {
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- window.addEventListener('resize', this._handleWindowResizeBound);
- }
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (Sidenav._sidenavs.length === 1) {
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
-
- this.dragTarget.removeEventListener('touchmove', this._handleDragTargetDragBound);
- this.dragTarget.removeEventListener('touchend', this._handleDragTargetReleaseBound);
- this._overlay.removeEventListener('touchmove', this._handleCloseDragBound);
- this._overlay.removeEventListener('touchend', this._handleCloseReleaseBound);
- this.el.removeEventListener('touchmove', this._handleCloseDragBound);
- this.el.removeEventListener('touchend', this._handleCloseReleaseBound);
- this.el.removeEventListener('click', this._handleCloseTriggerClickBound);
-
- // Remove resize for side nav fixed
- if (this.isFixed) {
- window.removeEventListener('resize', this._handleWindowResizeBound);
- }
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target).closest('.sidenav-trigger');
- if (e.target && $trigger.length) {
- var sidenavId = M.getIdFromTrigger($trigger[0]);
-
- var sidenavInstance = document.getElementById(sidenavId).M_Sidenav;
- if (sidenavInstance) {
- sidenavInstance.open($trigger);
- }
- e.preventDefault();
- }
- }
-
- /**
- * Set variables needed at the beggining of drag
- * and stop any current transition.
- * @param {Event} e
- */
-
- }, {
- key: "_startDrag",
- value: function _startDrag(e) {
- var clientX = e.targetTouches[0].clientX;
- this.isDragged = true;
- this._startingXpos = clientX;
- this._xPos = this._startingXpos;
- this._time = Date.now();
- this._width = this.el.getBoundingClientRect().width;
- this._overlay.style.display = 'block';
- this._initialScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
- this._verticallyScrolling = false;
- anim.remove(this.el);
- anim.remove(this._overlay);
- }
-
- /**
- * Set variables needed at each drag move update tick
- * @param {Event} e
- */
-
- }, {
- key: "_dragMoveUpdate",
- value: function _dragMoveUpdate(e) {
- var clientX = e.targetTouches[0].clientX;
- var currentScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
- this.deltaX = Math.abs(this._xPos - clientX);
- this._xPos = clientX;
- this.velocityX = this.deltaX / (Date.now() - this._time);
- this._time = Date.now();
- if (this._initialScrollTop !== currentScrollTop) {
- this._verticallyScrolling = true;
- }
- }
-
- /**
- * Handles Dragging of Sidenav
- * @param {Event} e
- */
-
- }, {
- key: "_handleDragTargetDrag",
- value: function _handleDragTargetDrag(e) {
- // Check if draggable
- if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
- return;
- }
-
- // If not being dragged, set initial drag start variables
- if (!this.isDragged) {
- this._startDrag(e);
- }
-
- // Run touchmove updates
- this._dragMoveUpdate(e);
-
- // Calculate raw deltaX
- var totalDeltaX = this._xPos - this._startingXpos;
-
- // dragDirection is the attempted user drag direction
- var dragDirection = totalDeltaX > 0 ? 'right' : 'left';
-
- // Don't allow totalDeltaX to exceed Sidenav width or be dragged in the opposite direction
- totalDeltaX = Math.min(this._width, Math.abs(totalDeltaX));
- if (this.options.edge === dragDirection) {
- totalDeltaX = 0;
- }
-
- /**
- * transformX is the drag displacement
- * transformPrefix is the initial transform placement
- * Invert values if Sidenav is right edge
- */
- var transformX = totalDeltaX;
- var transformPrefix = 'translateX(-100%)';
- if (this.options.edge === 'right') {
- transformPrefix = 'translateX(100%)';
- transformX = -transformX;
- }
-
- // Calculate open/close percentage of sidenav, with open = 1 and close = 0
- this.percentOpen = Math.min(1, totalDeltaX / this._width);
-
- // Set transform and opacity styles
- this.el.style.transform = transformPrefix + " translateX(" + transformX + "px)";
- this._overlay.style.opacity = this.percentOpen;
- }
-
- /**
- * Handle Drag Target Release
- */
-
- }, {
- key: "_handleDragTargetRelease",
- value: function _handleDragTargetRelease() {
- if (this.isDragged) {
- if (this.percentOpen > 0.2) {
- this.open();
- } else {
- this._animateOut();
- }
-
- this.isDragged = false;
- this._verticallyScrolling = false;
- }
- }
-
- /**
- * Handle Close Drag
- * @param {Event} e
- */
-
- }, {
- key: "_handleCloseDrag",
- value: function _handleCloseDrag(e) {
- if (this.isOpen) {
- // Check if draggable
- if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
- return;
- }
-
- // If not being dragged, set initial drag start variables
- if (!this.isDragged) {
- this._startDrag(e);
- }
-
- // Run touchmove updates
- this._dragMoveUpdate(e);
-
- // Calculate raw deltaX
- var totalDeltaX = this._xPos - this._startingXpos;
-
- // dragDirection is the attempted user drag direction
- var dragDirection = totalDeltaX > 0 ? 'right' : 'left';
-
- // Don't allow totalDeltaX to exceed Sidenav width or be dragged in the opposite direction
- totalDeltaX = Math.min(this._width, Math.abs(totalDeltaX));
- if (this.options.edge !== dragDirection) {
- totalDeltaX = 0;
- }
-
- var transformX = -totalDeltaX;
- if (this.options.edge === 'right') {
- transformX = -transformX;
- }
-
- // Calculate open/close percentage of sidenav, with open = 1 and close = 0
- this.percentOpen = Math.min(1, 1 - totalDeltaX / this._width);
-
- // Set transform and opacity styles
- this.el.style.transform = "translateX(" + transformX + "px)";
- this._overlay.style.opacity = this.percentOpen;
- }
- }
-
- /**
- * Handle Close Release
- */
-
- }, {
- key: "_handleCloseRelease",
- value: function _handleCloseRelease() {
- if (this.isOpen && this.isDragged) {
- if (this.percentOpen > 0.8) {
- this._animateIn();
- } else {
- this.close();
- }
-
- this.isDragged = false;
- this._verticallyScrolling = false;
- }
- }
-
- /**
- * Handles closing of Sidenav when element with class .sidenav-close
- */
-
- }, {
- key: "_handleCloseTriggerClick",
- value: function _handleCloseTriggerClick(e) {
- var $closeTrigger = $(e.target).closest('.sidenav-close');
- if ($closeTrigger.length && !this._isCurrentlyFixed()) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- // Only handle horizontal resizes
- if (this.lastWindowWidth !== window.innerWidth) {
- if (window.innerWidth > 992) {
- this.open();
- } else {
- this.close();
- }
- }
-
- this.lastWindowWidth = window.innerWidth;
- this.lastWindowHeight = window.innerHeight;
- }
- }, {
- key: "_setupClasses",
- value: function _setupClasses() {
- if (this.options.edge === 'right') {
- this.el.classList.add('right-aligned');
- this.dragTarget.classList.add('right-aligned');
- }
- }
- }, {
- key: "_removeClasses",
- value: function _removeClasses() {
- this.el.classList.remove('right-aligned');
- this.dragTarget.classList.remove('right-aligned');
- }
- }, {
- key: "_setupFixed",
- value: function _setupFixed() {
- if (this._isCurrentlyFixed()) {
- this.open();
- }
- }
- }, {
- key: "_isCurrentlyFixed",
- value: function _isCurrentlyFixed() {
- return this.isFixed && window.innerWidth > 992;
- }
- }, {
- key: "_createDragTarget",
- value: function _createDragTarget() {
- var dragTarget = document.createElement('div');
- dragTarget.classList.add('drag-target');
- document.body.appendChild(dragTarget);
- this.dragTarget = dragTarget;
- }
- }, {
- key: "_preventBodyScrolling",
- value: function _preventBodyScrolling() {
- var body = document.body;
- body.style.overflow = 'hidden';
- }
- }, {
- key: "_enableBodyScrolling",
- value: function _enableBodyScrolling() {
- var body = document.body;
- body.style.overflow = '';
- }
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen === true) {
- return;
- }
-
- this.isOpen = true;
-
- // Run onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Handle fixed Sidenav
- if (this._isCurrentlyFixed()) {
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: 0,
- duration: 0,
- easing: 'easeOutQuad'
- });
- this._enableBodyScrolling();
- this._overlay.style.display = 'none';
-
- // Handle non-fixed Sidenav
- } else {
- if (this.options.preventScrolling) {
- this._preventBodyScrolling();
- }
-
- if (!this.isDragged || this.percentOpen != 1) {
- this._animateIn();
- }
- }
- }
- }, {
- key: "close",
- value: function close() {
- if (this.isOpen === false) {
- return;
- }
-
- this.isOpen = false;
-
- // Run onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- // Handle fixed Sidenav
- if (this._isCurrentlyFixed()) {
- var transformX = this.options.edge === 'left' ? '-105%' : '105%';
- this.el.style.transform = "translateX(" + transformX + ")";
-
- // Handle non-fixed Sidenav
- } else {
- this._enableBodyScrolling();
-
- if (!this.isDragged || this.percentOpen != 0) {
- this._animateOut();
- } else {
- this._overlay.style.display = 'none';
- }
- }
- }
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- this._animateSidenavIn();
- this._animateOverlayIn();
- }
- }, {
- key: "_animateSidenavIn",
- value: function _animateSidenavIn() {
- var _this31 = this;
-
- var slideOutPercent = this.options.edge === 'left' ? -1 : 1;
- if (this.isDragged) {
- slideOutPercent = this.options.edge === 'left' ? slideOutPercent + this.percentOpen : slideOutPercent - this.percentOpen;
- }
-
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: [slideOutPercent * 100 + "%", 0],
- duration: this.options.inDuration,
- easing: 'easeOutQuad',
- complete: function () {
- // Run onOpenEnd callback
- if (typeof _this31.options.onOpenEnd === 'function') {
- _this31.options.onOpenEnd.call(_this31, _this31.el);
- }
- }
- });
- }
- }, {
- key: "_animateOverlayIn",
- value: function _animateOverlayIn() {
- var start = 0;
- if (this.isDragged) {
- start = this.percentOpen;
- } else {
- $(this._overlay).css({
- display: 'block'
- });
- }
-
- anim.remove(this._overlay);
- anim({
- targets: this._overlay,
- opacity: [start, 1],
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
- }
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- this._animateSidenavOut();
- this._animateOverlayOut();
- }
- }, {
- key: "_animateSidenavOut",
- value: function _animateSidenavOut() {
- var _this32 = this;
-
- var endPercent = this.options.edge === 'left' ? -1 : 1;
- var slideOutPercent = 0;
- if (this.isDragged) {
- slideOutPercent = this.options.edge === 'left' ? endPercent + this.percentOpen : endPercent - this.percentOpen;
- }
-
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: [slideOutPercent * 100 + "%", endPercent * 105 + "%"],
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- // Run onOpenEnd callback
- if (typeof _this32.options.onCloseEnd === 'function') {
- _this32.options.onCloseEnd.call(_this32, _this32.el);
- }
- }
- });
- }
- }, {
- key: "_animateOverlayOut",
- value: function _animateOverlayOut() {
- var _this33 = this;
-
- anim.remove(this._overlay);
- anim({
- targets: this._overlay,
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- $(_this33._overlay).css('display', 'none');
- }
- });
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Sidenav.__proto__ || Object.getPrototypeOf(Sidenav), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Sidenav;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Sidenav;
- }(Component);
-
- /**
- * @static
- * @memberof Sidenav
- * @type {Array.}
- */
-
-
- Sidenav._sidenavs = [];
-
- window.M.Sidenav = Sidenav;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Sidenav, 'sidenav', 'M_Sidenav');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- throttle: 100,
- scrollOffset: 200, // offset - 200 allows elements near bottom of page to scroll
- activeClass: 'active',
- getActiveElement: function (id) {
- return 'a[href="#' + id + '"]';
- }
- };
-
- /**
- * @class
- *
- */
-
- var ScrollSpy = function (_Component9) {
- _inherits(ScrollSpy, _Component9);
-
- /**
- * Construct ScrollSpy instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function ScrollSpy(el, options) {
- _classCallCheck(this, ScrollSpy);
-
- var _this34 = _possibleConstructorReturn(this, (ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy)).call(this, ScrollSpy, el, options));
-
- _this34.el.M_ScrollSpy = _this34;
-
- /**
- * Options for the modal
- * @member Modal#options
- * @prop {Number} [throttle=100] - Throttle of scroll handler
- * @prop {Number} [scrollOffset=200] - Offset for centering element when scrolled to
- * @prop {String} [activeClass='active'] - Class applied to active elements
- * @prop {Function} [getActiveElement] - Used to find active element
- */
- _this34.options = $.extend({}, ScrollSpy.defaults, options);
-
- // setup
- ScrollSpy._elements.push(_this34);
- ScrollSpy._count++;
- ScrollSpy._increment++;
- _this34.tickId = -1;
- _this34.id = ScrollSpy._increment;
- _this34._setupEventHandlers();
- _this34._handleWindowScroll();
- return _this34;
- }
-
- _createClass(ScrollSpy, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- ScrollSpy._elements.splice(ScrollSpy._elements.indexOf(this), 1);
- ScrollSpy._elementsInView.splice(ScrollSpy._elementsInView.indexOf(this), 1);
- ScrollSpy._visibleElements.splice(ScrollSpy._visibleElements.indexOf(this.$el), 1);
- ScrollSpy._count--;
- this._removeEventHandlers();
- $(this.options.getActiveElement(this.$el.attr('id'))).removeClass(this.options.activeClass);
- this.el.M_ScrollSpy = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var throttledResize = M.throttle(this._handleWindowScroll, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
- this._handleWindowScrollBound = this._handleWindowScroll.bind(this);
- if (ScrollSpy._count === 1) {
- window.addEventListener('scroll', this._handleWindowScrollBound);
- window.addEventListener('resize', this._handleThrottledResizeBound);
- document.body.addEventListener('click', this._handleTriggerClick);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (ScrollSpy._count === 0) {
- window.removeEventListener('scroll', this._handleWindowScrollBound);
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target);
- for (var i = ScrollSpy._elements.length - 1; i >= 0; i--) {
- var scrollspy = ScrollSpy._elements[i];
- if ($trigger.is('a[href="#' + scrollspy.$el.attr('id') + '"]')) {
- e.preventDefault();
- var offset = scrollspy.$el.offset().top + 1;
-
- anim({
- targets: [document.documentElement, document.body],
- scrollTop: offset - scrollspy.options.scrollOffset,
- duration: 400,
- easing: 'easeOutCubic'
- });
- break;
- }
- }
- }
-
- /**
- * Handle Window Scroll
- */
-
- }, {
- key: "_handleWindowScroll",
- value: function _handleWindowScroll() {
- // unique tick id
- ScrollSpy._ticks++;
-
- // viewport rectangle
- var top = M.getDocumentScrollTop(),
- left = M.getDocumentScrollLeft(),
- right = left + window.innerWidth,
- bottom = top + window.innerHeight;
-
- // determine which elements are in view
- var intersections = ScrollSpy._findElements(top, right, bottom, left);
- for (var i = 0; i < intersections.length; i++) {
- var scrollspy = intersections[i];
- var lastTick = scrollspy.tickId;
- if (lastTick < 0) {
- // entered into view
- scrollspy._enter();
- }
-
- // update tick id
- scrollspy.tickId = ScrollSpy._ticks;
- }
-
- for (var _i = 0; _i < ScrollSpy._elementsInView.length; _i++) {
- var _scrollspy = ScrollSpy._elementsInView[_i];
- var _lastTick = _scrollspy.tickId;
- if (_lastTick >= 0 && _lastTick !== ScrollSpy._ticks) {
- // exited from view
- _scrollspy._exit();
- _scrollspy.tickId = -1;
- }
- }
-
- // remember elements in view for next tick
- ScrollSpy._elementsInView = intersections;
- }
-
- /**
- * Find elements that are within the boundary
- * @param {number} top
- * @param {number} right
- * @param {number} bottom
- * @param {number} left
- * @return {Array.} A collection of elements
- */
-
- }, {
- key: "_enter",
- value: function _enter() {
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
- return value.height() != 0;
- });
-
- if (ScrollSpy._visibleElements[0]) {
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
- if (ScrollSpy._visibleElements[0][0].M_ScrollSpy && this.id < ScrollSpy._visibleElements[0][0].M_ScrollSpy.id) {
- ScrollSpy._visibleElements.unshift(this.$el);
- } else {
- ScrollSpy._visibleElements.push(this.$el);
- }
- } else {
- ScrollSpy._visibleElements.push(this.$el);
- }
-
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).addClass(this.options.activeClass);
- }
- }, {
- key: "_exit",
- value: function _exit() {
- var _this35 = this;
-
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
- return value.height() != 0;
- });
-
- if (ScrollSpy._visibleElements[0]) {
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
-
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (el) {
- return el.attr('id') != _this35.$el.attr('id');
- });
- if (ScrollSpy._visibleElements[0]) {
- // Check if empty
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).addClass(this.options.activeClass);
- }
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_ScrollSpy;
- }
- }, {
- key: "_findElements",
- value: function _findElements(top, right, bottom, left) {
- var hits = [];
- for (var i = 0; i < ScrollSpy._elements.length; i++) {
- var scrollspy = ScrollSpy._elements[i];
- var currTop = top + scrollspy.options.scrollOffset || 200;
-
- if (scrollspy.$el.height() > 0) {
- var elTop = scrollspy.$el.offset().top,
- elLeft = scrollspy.$el.offset().left,
- elRight = elLeft + scrollspy.$el.width(),
- elBottom = elTop + scrollspy.$el.height();
-
- var isIntersect = !(elLeft > right || elRight < left || elTop > bottom || elBottom < currTop);
-
- if (isIntersect) {
- hits.push(scrollspy);
- }
- }
- }
- return hits;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return ScrollSpy;
- }(Component);
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
-
-
- ScrollSpy._elements = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
- ScrollSpy._elementsInView = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
- ScrollSpy._visibleElements = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._count = 0;
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._increment = 0;
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._ticks = 0;
-
- M.ScrollSpy = ScrollSpy;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(ScrollSpy, 'scrollSpy', 'M_ScrollSpy');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- data: {}, // Autocomplete data set
- limit: Infinity, // Limit of results the autocomplete shows
- onAutocomplete: null, // Callback for when autocompleted
- minLength: 1, // Min characters before autocomplete starts
- sortFunction: function (a, b, inputString) {
- // Sort function for sorting autocomplete results
- return a.indexOf(inputString) - b.indexOf(inputString);
- }
- };
-
- /**
- * @class
- *
- */
-
- var Autocomplete = function (_Component10) {
- _inherits(Autocomplete, _Component10);
-
- /**
- * Construct Autocomplete instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Autocomplete(el, options) {
- _classCallCheck(this, Autocomplete);
-
- var _this36 = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, Autocomplete, el, options));
-
- _this36.el.M_Autocomplete = _this36;
-
- /**
- * Options for the autocomplete
- * @member Autocomplete#options
- * @prop {Number} duration
- * @prop {Number} dist
- * @prop {number} shift
- * @prop {number} padding
- * @prop {Boolean} fullWidth
- * @prop {Boolean} indicators
- * @prop {Boolean} noWrap
- * @prop {Function} onCycleTo
- */
- _this36.options = $.extend({}, Autocomplete.defaults, options);
-
- // Setup
- _this36.isOpen = false;
- _this36.count = 0;
- _this36.activeIndex = -1;
- _this36.oldVal;
- _this36.$inputField = _this36.$el.closest('.input-field');
- _this36.$active = $();
- _this36._mousedown = false;
- _this36._setupDropdown();
-
- _this36._setupEventHandlers();
- return _this36;
- }
-
- _createClass(Autocomplete, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeDropdown();
- this.el.M_Autocomplete = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputBlurBound = this._handleInputBlur.bind(this);
- this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this);
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this);
- this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this);
-
- this.el.addEventListener('blur', this._handleInputBlurBound);
- this.el.addEventListener('keyup', this._handleInputKeyupAndFocusBound);
- this.el.addEventListener('focus', this._handleInputKeyupAndFocusBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.el.addEventListener('click', this._handleInputClickBound);
- this.container.addEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
- this.container.addEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.container.addEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
- this.container.addEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('blur', this._handleInputBlurBound);
- this.el.removeEventListener('keyup', this._handleInputKeyupAndFocusBound);
- this.el.removeEventListener('focus', this._handleInputKeyupAndFocusBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.container.removeEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
- this.container.removeEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.container.removeEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
- this.container.removeEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupDropdown",
- value: function _setupDropdown() {
- var _this37 = this;
-
- this.container = document.createElement('ul');
- this.container.id = "autocomplete-options-" + M.guid();
- $(this.container).addClass('autocomplete-content dropdown-content');
- this.$inputField.append(this.container);
- this.el.setAttribute('data-target', this.container.id);
-
- this.dropdown = M.Dropdown.init(this.el, {
- autoFocus: false,
- closeOnClick: false,
- coverTrigger: false,
- onItemClick: function (itemEl) {
- _this37.selectOption($(itemEl));
- }
- });
-
- // Sketchy removal of dropdown click handler
- this.el.removeEventListener('click', this.dropdown._handleClickBound);
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeDropdown",
- value: function _removeDropdown() {
- this.container.parentNode.removeChild(this.container);
- }
-
- /**
- * Handle Input Blur
- */
-
- }, {
- key: "_handleInputBlur",
- value: function _handleInputBlur() {
- if (!this._mousedown) {
- this.close();
- this._resetAutocomplete();
- }
- }
-
- /**
- * Handle Input Keyup and Focus
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeyupAndFocus",
- value: function _handleInputKeyupAndFocus(e) {
- if (e.type === 'keyup') {
- Autocomplete._keydown = false;
- }
-
- this.count = 0;
- var val = this.el.value.toLowerCase();
-
- // Don't capture enter or arrow key usage.
- if (e.keyCode === 13 || e.keyCode === 38 || e.keyCode === 40) {
- return;
- }
-
- // Check if the input isn't empty
- // Check if focus triggered by tab
- if (this.oldVal !== val && M.tabPressed) {
- this.open();
- }
-
- // Update oldVal
- this.oldVal = val;
- }
-
- /**
- * Handle Input Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- Autocomplete._keydown = true;
-
- // Arrow keys and enter key usage
- var keyCode = e.keyCode,
- liElement = void 0,
- numItems = $(this.container).children('li').length;
-
- // select element on Enter
- if (keyCode === M.keys.ENTER && this.activeIndex >= 0) {
- liElement = $(this.container).children('li').eq(this.activeIndex);
- if (liElement.length) {
- this.selectOption(liElement);
- e.preventDefault();
- }
- return;
- }
-
- // Capture up and down key
- if (keyCode === M.keys.ARROW_UP || keyCode === M.keys.ARROW_DOWN) {
- e.preventDefault();
-
- if (keyCode === M.keys.ARROW_UP && this.activeIndex > 0) {
- this.activeIndex--;
- }
-
- if (keyCode === M.keys.ARROW_DOWN && this.activeIndex < numItems - 1) {
- this.activeIndex++;
- }
-
- this.$active.removeClass('active');
- if (this.activeIndex >= 0) {
- this.$active = $(this.container).children('li').eq(this.activeIndex);
- this.$active.addClass('active');
- }
- }
- }
-
- /**
- * Handle Input Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick(e) {
- this.open();
- }
-
- /**
- * Handle Container Mousedown and Touchstart
- * @param {Event} e
- */
-
- }, {
- key: "_handleContainerMousedownAndTouchstart",
- value: function _handleContainerMousedownAndTouchstart(e) {
- this._mousedown = true;
- }
-
- /**
- * Handle Container Mouseup and Touchend
- * @param {Event} e
- */
-
- }, {
- key: "_handleContainerMouseupAndTouchend",
- value: function _handleContainerMouseupAndTouchend(e) {
- this._mousedown = false;
- }
-
- /**
- * Highlight partial match
- */
-
- }, {
- key: "_highlight",
- value: function _highlight(string, $el) {
- var img = $el.find('img');
- var matchStart = $el.text().toLowerCase().indexOf('' + string.toLowerCase() + ''),
- matchEnd = matchStart + string.length - 1,
- beforeMatch = $el.text().slice(0, matchStart),
- matchText = $el.text().slice(matchStart, matchEnd + 1),
- afterMatch = $el.text().slice(matchEnd + 1);
- $el.html("" + beforeMatch + "" + matchText + " " + afterMatch + " ");
- if (img.length) {
- $el.prepend(img);
- }
- }
-
- /**
- * Reset current element position
- */
-
- }, {
- key: "_resetCurrentElement",
- value: function _resetCurrentElement() {
- this.activeIndex = -1;
- this.$active.removeClass('active');
- }
-
- /**
- * Reset autocomplete elements
- */
-
- }, {
- key: "_resetAutocomplete",
- value: function _resetAutocomplete() {
- $(this.container).empty();
- this._resetCurrentElement();
- this.oldVal = null;
- this.isOpen = false;
- this._mousedown = false;
- }
-
- /**
- * Select autocomplete option
- * @param {Element} el Autocomplete option list item element
- */
-
- }, {
- key: "selectOption",
- value: function selectOption(el) {
- var text = el.text().trim();
- this.el.value = text;
- this.$el.trigger('change');
- this._resetAutocomplete();
- this.close();
-
- // Handle onAutocomplete callback.
- if (typeof this.options.onAutocomplete === 'function') {
- this.options.onAutocomplete.call(this, text);
- }
- }
-
- /**
- * Render dropdown content
- * @param {Object} data data set
- * @param {String} val current input value
- */
-
- }, {
- key: "_renderDropdown",
- value: function _renderDropdown(data, val) {
- var _this38 = this;
-
- this._resetAutocomplete();
-
- var matchingData = [];
-
- // Gather all matching data
- for (var key in data) {
- if (data.hasOwnProperty(key) && key.toLowerCase().indexOf(val) !== -1) {
- // Break if past limit
- if (this.count >= this.options.limit) {
- break;
- }
-
- var entry = {
- data: data[key],
- key: key
- };
- matchingData.push(entry);
-
- this.count++;
- }
- }
-
- // Sort
- if (this.options.sortFunction) {
- var sortFunctionBound = function (a, b) {
- return _this38.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
- };
- matchingData.sort(sortFunctionBound);
- }
-
- // Render
- for (var i = 0; i < matchingData.length; i++) {
- var _entry = matchingData[i];
- var $autocompleteOption = $(' ');
- if (!!_entry.data) {
- $autocompleteOption.append("" + _entry.key + " ");
- } else {
- $autocompleteOption.append('' + _entry.key + ' ');
- }
-
- $(this.container).append($autocompleteOption);
- this._highlight(val, $autocompleteOption);
- }
- }
-
- /**
- * Open Autocomplete Dropdown
- */
-
- }, {
- key: "open",
- value: function open() {
- var val = this.el.value.toLowerCase();
-
- this._resetAutocomplete();
-
- if (val.length >= this.options.minLength) {
- this.isOpen = true;
- this._renderDropdown(this.options.data, val);
- }
-
- // Open dropdown
- if (!this.dropdown.isOpen) {
- this.dropdown.open();
- } else {
- // Recalculate dropdown when its already open
- this.dropdown.recalculateDimensions();
- }
- }
-
- /**
- * Close Autocomplete Dropdown
- */
-
- }, {
- key: "close",
- value: function close() {
- this.dropdown.close();
- }
-
- /**
- * Update Data
- * @param {Object} data
- */
-
- }, {
- key: "updateData",
- value: function updateData(data) {
- var val = this.el.value.toLowerCase();
- this.options.data = data;
-
- if (this.isOpen) {
- this._renderDropdown(data, val);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Autocomplete;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Autocomplete;
- }(Component);
-
- /**
- * @static
- * @memberof Autocomplete
- */
-
-
- Autocomplete._keydown = false;
-
- M.Autocomplete = Autocomplete;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Autocomplete, 'autocomplete', 'M_Autocomplete');
- }
-})(cash);
-;(function ($) {
- // Function to update labels of text fields
- M.updateTextFields = function () {
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
- $(input_selector).each(function (element, index) {
- var $this = $(this);
- if (element.value.length > 0 || $(element).is(':focus') || element.autofocus || $this.attr('placeholder') !== null) {
- $this.siblings('label').addClass('active');
- } else if (element.validity) {
- $this.siblings('label').toggleClass('active', element.validity.badInput === true);
- } else {
- $this.siblings('label').removeClass('active');
- }
- });
- };
-
- M.validate_field = function (object) {
- var hasLength = object.attr('data-length') !== null;
- var lenAttr = parseInt(object.attr('data-length'));
- var len = object[0].value.length;
-
- if (len === 0 && object[0].validity.badInput === false && !object.is(':required')) {
- if (object.hasClass('validate')) {
- object.removeClass('valid');
- object.removeClass('invalid');
- }
- } else {
- if (object.hasClass('validate')) {
- // Check for character counter attributes
- if (object.is(':valid') && hasLength && len <= lenAttr || object.is(':valid') && !hasLength) {
- object.removeClass('invalid');
- object.addClass('valid');
- } else {
- object.removeClass('valid');
- object.addClass('invalid');
- }
- }
- }
- };
-
- M.textareaAutoResize = function ($textarea) {
- // Wrap if native element
- if ($textarea instanceof Element) {
- $textarea = $($textarea);
- }
-
- if (!$textarea.length) {
- console.error('No textarea element found');
- return;
- }
-
- // Textarea Auto Resize
- var hiddenDiv = $('.hiddendiv').first();
- if (!hiddenDiv.length) {
- hiddenDiv = $('
');
- $('body').append(hiddenDiv);
- }
-
- // Set font properties of hiddenDiv
- var fontFamily = $textarea.css('font-family');
- var fontSize = $textarea.css('font-size');
- var lineHeight = $textarea.css('line-height');
-
- // Firefox can't handle padding shorthand.
- var paddingTop = $textarea.css('padding-top');
- var paddingRight = $textarea.css('padding-right');
- var paddingBottom = $textarea.css('padding-bottom');
- var paddingLeft = $textarea.css('padding-left');
-
- if (fontSize) {
- hiddenDiv.css('font-size', fontSize);
- }
- if (fontFamily) {
- hiddenDiv.css('font-family', fontFamily);
- }
- if (lineHeight) {
- hiddenDiv.css('line-height', lineHeight);
- }
- if (paddingTop) {
- hiddenDiv.css('padding-top', paddingTop);
- }
- if (paddingRight) {
- hiddenDiv.css('padding-right', paddingRight);
- }
- if (paddingBottom) {
- hiddenDiv.css('padding-bottom', paddingBottom);
- }
- if (paddingLeft) {
- hiddenDiv.css('padding-left', paddingLeft);
- }
-
- // Set original-height, if none
- if (!$textarea.data('original-height')) {
- $textarea.data('original-height', $textarea.height());
- }
-
- if ($textarea.attr('wrap') === 'off') {
- hiddenDiv.css('overflow-wrap', 'normal').css('white-space', 'pre');
- }
-
- hiddenDiv.text($textarea[0].value + '\n');
- var content = hiddenDiv.html().replace(/\n/g, ' ');
- hiddenDiv.html(content);
-
- // When textarea is hidden, width goes crazy.
- // Approximate with half of window size
-
- if ($textarea[0].offsetWidth > 0 && $textarea[0].offsetHeight > 0) {
- hiddenDiv.css('width', $textarea.width() + 'px');
- } else {
- hiddenDiv.css('width', window.innerWidth / 2 + 'px');
- }
-
- /**
- * Resize if the new height is greater than the
- * original height of the textarea
- */
- if ($textarea.data('original-height') <= hiddenDiv.innerHeight()) {
- $textarea.css('height', hiddenDiv.innerHeight() + 'px');
- } else if ($textarea[0].value.length < $textarea.data('previous-length')) {
- /**
- * In case the new height is less than original height, it
- * means the textarea has less text than before
- * So we set the height to the original one
- */
- $textarea.css('height', $textarea.data('original-height') + 'px');
- }
- $textarea.data('previous-length', $textarea[0].value.length);
- };
-
- $(document).ready(function () {
- // Text based inputs
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
-
- // Add active if form auto complete
- $(document).on('change', input_selector, function () {
- if (this.value.length !== 0 || $(this).attr('placeholder') !== null) {
- $(this).siblings('label').addClass('active');
- }
- M.validate_field($(this));
- });
-
- // Add active if input element has been pre-populated on document ready
- $(document).ready(function () {
- M.updateTextFields();
- });
-
- // HTML DOM FORM RESET handling
- $(document).on('reset', function (e) {
- var formReset = $(e.target);
- if (formReset.is('form')) {
- formReset.find(input_selector).removeClass('valid').removeClass('invalid');
- formReset.find(input_selector).each(function (e) {
- if (this.value.length) {
- $(this).siblings('label').removeClass('active');
- }
- });
-
- // Reset select (after native reset)
- setTimeout(function () {
- formReset.find('select').each(function () {
- // check if initialized
- if (this.M_FormSelect) {
- var reset_text = $(this).find('option[selected]').text();
- $(this).siblings('input.select-dropdown')[0].value = reset_text;
- }
- });
- }, 0);
- }
- });
-
- /**
- * Add active when element has focus
- * @param {Event} e
- */
- document.addEventListener('focus', function (e) {
- if ($(e.target).is(input_selector)) {
- $(e.target).siblings('label, .prefix').addClass('active');
- }
- }, true);
-
- /**
- * Remove active when element is blurred
- * @param {Event} e
- */
- document.addEventListener('blur', function (e) {
- var $inputElement = $(e.target);
- if ($inputElement.is(input_selector)) {
- var selector = '.prefix';
-
- if ($inputElement[0].value.length === 0 && $inputElement[0].validity.badInput !== true && $inputElement.attr('placeholder') === null) {
- selector += ', label';
- }
- $inputElement.siblings(selector).removeClass('active');
- M.validate_field($inputElement);
- }
- }, true);
-
- // Radio and Checkbox focus class
- var radio_checkbox = 'input[type=radio], input[type=checkbox]';
- $(document).on('keyup', radio_checkbox, function (e) {
- // TAB, check if tabbing to radio or checkbox.
- if (e.which === M.keys.TAB) {
- $(this).addClass('tabbed');
- var $this = $(this);
- $this.one('blur', function (e) {
- $(this).removeClass('tabbed');
- });
- return;
- }
- });
-
- var text_area_selector = '.materialize-textarea';
- $(text_area_selector).each(function () {
- var $textarea = $(this);
- /**
- * Resize textarea on document load after storing
- * the original height and the original length
- */
- $textarea.data('original-height', $textarea.height());
- $textarea.data('previous-length', this.value.length);
- M.textareaAutoResize($textarea);
- });
-
- $(document).on('keyup', text_area_selector, function () {
- M.textareaAutoResize($(this));
- });
- $(document).on('keydown', text_area_selector, function () {
- M.textareaAutoResize($(this));
- });
-
- // File Input Path
- $(document).on('change', '.file-field input[type="file"]', function () {
- var file_field = $(this).closest('.file-field');
- var path_input = file_field.find('input.file-path');
- var files = $(this)[0].files;
- var file_names = [];
- for (var i = 0; i < files.length; i++) {
- file_names.push(files[i].name);
- }
- path_input[0].value = file_names.join(', ');
- path_input.trigger('change');
- });
- }); // End of $(document).ready
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- indicators: true,
- height: 400,
- duration: 500,
- interval: 6000
- };
-
- /**
- * @class
- *
- */
-
- var Slider = function (_Component11) {
- _inherits(Slider, _Component11);
-
- /**
- * Construct Slider instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Slider(el, options) {
- _classCallCheck(this, Slider);
-
- var _this39 = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, Slider, el, options));
-
- _this39.el.M_Slider = _this39;
-
- /**
- * Options for the modal
- * @member Slider#options
- * @prop {Boolean} [indicators=true] - Show indicators
- * @prop {Number} [height=400] - height of slider
- * @prop {Number} [duration=500] - Length in ms of slide transition
- * @prop {Number} [interval=6000] - Length in ms of slide interval
- */
- _this39.options = $.extend({}, Slider.defaults, options);
-
- // setup
- _this39.$slider = _this39.$el.find('.slides');
- _this39.$slides = _this39.$slider.children('li');
- _this39.activeIndex = _this39.$slides.filter(function (item) {
- return $(item).hasClass('active');
- }).first().index();
- if (_this39.activeIndex != -1) {
- _this39.$active = _this39.$slides.eq(_this39.activeIndex);
- }
-
- _this39._setSliderHeight();
-
- // Set initial positions of captions
- _this39.$slides.find('.caption').each(function (el) {
- _this39._animateCaptionIn(el, 0);
- });
-
- // Move img src into background-image
- _this39.$slides.find('img').each(function (el) {
- var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
- if ($(el).attr('src') !== placeholderBase64) {
- $(el).css('background-image', 'url("' + $(el).attr('src') + '")');
- $(el).attr('src', placeholderBase64);
- }
- });
-
- _this39._setupIndicators();
-
- // Show active slide
- if (_this39.$active) {
- _this39.$active.css('display', 'block');
- } else {
- _this39.$slides.first().addClass('active');
- anim({
- targets: _this39.$slides.first()[0],
- opacity: 1,
- duration: _this39.options.duration,
- easing: 'easeOutQuad'
- });
-
- _this39.activeIndex = 0;
- _this39.$active = _this39.$slides.eq(_this39.activeIndex);
-
- // Update indicators
- if (_this39.options.indicators) {
- _this39.$indicators.eq(_this39.activeIndex).addClass('active');
- }
- }
-
- // Adjust height to current slide
- _this39.$active.find('img').each(function (el) {
- anim({
- targets: _this39.$active.find('.caption')[0],
- opacity: 1,
- translateX: 0,
- translateY: 0,
- duration: _this39.options.duration,
- easing: 'easeOutQuad'
- });
- });
-
- _this39._setupEventHandlers();
-
- // auto scroll
- _this39.start();
- return _this39;
- }
-
- _createClass(Slider, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this.pause();
- this._removeIndicators();
- this._removeEventHandlers();
- this.el.M_Slider = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this40 = this;
-
- this._handleIntervalBound = this._handleInterval.bind(this);
- this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
-
- if (this.options.indicators) {
- this.$indicators.each(function (el) {
- el.addEventListener('click', _this40._handleIndicatorClickBound);
- });
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this41 = this;
-
- if (this.options.indicators) {
- this.$indicators.each(function (el) {
- el.removeEventListener('click', _this41._handleIndicatorClickBound);
- });
- }
- }
-
- /**
- * Handle indicator click
- * @param {Event} e
- */
-
- }, {
- key: "_handleIndicatorClick",
- value: function _handleIndicatorClick(e) {
- var currIndex = $(e.target).index();
- this.set(currIndex);
- }
-
- /**
- * Handle Interval
- */
-
- }, {
- key: "_handleInterval",
- value: function _handleInterval() {
- var newActiveIndex = this.$slider.find('.active').index();
- if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
- // loop to start
- else newActiveIndex += 1;
-
- this.set(newActiveIndex);
- }
-
- /**
- * Animate in caption
- * @param {Element} caption
- * @param {Number} duration
- */
-
- }, {
- key: "_animateCaptionIn",
- value: function _animateCaptionIn(caption, duration) {
- var animOptions = {
- targets: caption,
- opacity: 0,
- duration: duration,
- easing: 'easeOutQuad'
- };
-
- if ($(caption).hasClass('center-align')) {
- animOptions.translateY = -100;
- } else if ($(caption).hasClass('right-align')) {
- animOptions.translateX = 100;
- } else if ($(caption).hasClass('left-align')) {
- animOptions.translateX = -100;
- }
-
- anim(animOptions);
- }
-
- /**
- * Set height of slider
- */
-
- }, {
- key: "_setSliderHeight",
- value: function _setSliderHeight() {
- // If fullscreen, do nothing
- if (!this.$el.hasClass('fullscreen')) {
- if (this.options.indicators) {
- // Add height if indicators are present
- this.$el.css('height', this.options.height + 40 + 'px');
- } else {
- this.$el.css('height', this.options.height + 'px');
- }
- this.$slider.css('height', this.options.height + 'px');
- }
- }
-
- /**
- * Setup indicators
- */
-
- }, {
- key: "_setupIndicators",
- value: function _setupIndicators() {
- var _this42 = this;
-
- if (this.options.indicators) {
- this.$indicators = $('');
- this.$slides.each(function (el, index) {
- var $indicator = $(' ');
- _this42.$indicators.append($indicator[0]);
- });
- this.$el.append(this.$indicators[0]);
- this.$indicators = this.$indicators.children('li.indicator-item');
- }
- }
-
- /**
- * Remove indicators
- */
-
- }, {
- key: "_removeIndicators",
- value: function _removeIndicators() {
- this.$el.find('ul.indicators').remove();
- }
-
- /**
- * Cycle to nth item
- * @param {Number} index
- */
-
- }, {
- key: "set",
- value: function set(index) {
- var _this43 = this;
-
- // Wrap around indices.
- if (index >= this.$slides.length) index = 0;else if (index < 0) index = this.$slides.length - 1;
-
- // Only do if index changes
- if (this.activeIndex != index) {
- this.$active = this.$slides.eq(this.activeIndex);
- var $caption = this.$active.find('.caption');
- this.$active.removeClass('active');
-
- anim({
- targets: this.$active[0],
- opacity: 0,
- duration: this.options.duration,
- easing: 'easeOutQuad',
- complete: function () {
- _this43.$slides.not('.active').each(function (el) {
- anim({
- targets: el,
- opacity: 0,
- translateX: 0,
- translateY: 0,
- duration: 0,
- easing: 'easeOutQuad'
- });
- });
- }
- });
-
- this._animateCaptionIn($caption[0], this.options.duration);
-
- // Update indicators
- if (this.options.indicators) {
- this.$indicators.eq(this.activeIndex).removeClass('active');
- this.$indicators.eq(index).addClass('active');
- }
-
- anim({
- targets: this.$slides.eq(index)[0],
- opacity: 1,
- duration: this.options.duration,
- easing: 'easeOutQuad'
- });
-
- anim({
- targets: this.$slides.eq(index).find('.caption')[0],
- opacity: 1,
- translateX: 0,
- translateY: 0,
- duration: this.options.duration,
- delay: this.options.duration,
- easing: 'easeOutQuad'
- });
-
- this.$slides.eq(index).addClass('active');
- this.activeIndex = index;
-
- // Reset interval
- this.start();
- }
- }
-
- /**
- * Pause slider interval
- */
-
- }, {
- key: "pause",
- value: function pause() {
- clearInterval(this.interval);
- }
-
- /**
- * Start slider interval
- */
-
- }, {
- key: "start",
- value: function start() {
- clearInterval(this.interval);
- this.interval = setInterval(this._handleIntervalBound, this.options.duration + this.options.interval);
- }
-
- /**
- * Move to next slide
- */
-
- }, {
- key: "next",
- value: function next() {
- var newIndex = this.activeIndex + 1;
-
- // Wrap around indices.
- if (newIndex >= this.$slides.length) newIndex = 0;else if (newIndex < 0) newIndex = this.$slides.length - 1;
-
- this.set(newIndex);
- }
-
- /**
- * Move to previous slide
- */
-
- }, {
- key: "prev",
- value: function prev() {
- var newIndex = this.activeIndex - 1;
-
- // Wrap around indices.
- if (newIndex >= this.$slides.length) newIndex = 0;else if (newIndex < 0) newIndex = this.$slides.length - 1;
-
- this.set(newIndex);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Slider.__proto__ || Object.getPrototypeOf(Slider), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Slider;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Slider;
- }(Component);
-
- M.Slider = Slider;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Slider, 'slider', 'M_Slider');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- $(document).on('click', '.card', function (e) {
- if ($(this).children('.card-reveal').length) {
- var $card = $(e.target).closest('.card');
- if ($card.data('initialOverflow') === undefined) {
- $card.data('initialOverflow', $card.css('overflow') === undefined ? '' : $card.css('overflow'));
- }
- var $cardReveal = $(this).find('.card-reveal');
- if ($(e.target).is($('.card-reveal .card-title')) || $(e.target).is($('.card-reveal .card-title i'))) {
- // Make Reveal animate down and display none
- anim({
- targets: $cardReveal[0],
- translateY: 0,
- duration: 225,
- easing: 'easeInOutQuad',
- complete: function (anim) {
- var el = anim.animatables[0].target;
- $(el).css({ display: 'none' });
- $card.css('overflow', $card.data('initialOverflow'));
- }
- });
- } else if ($(e.target).is($('.card .activator')) || $(e.target).is($('.card .activator i'))) {
- $card.css('overflow', 'hidden');
- $cardReveal.css({ display: 'block' });
- anim({
- targets: $cardReveal[0],
- translateY: '-100%',
- duration: 300,
- easing: 'easeInOutQuad'
- });
- }
- }
- });
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- data: [],
- placeholder: '',
- secondaryPlaceholder: '',
- autocompleteOptions: {},
- limit: Infinity,
- onChipAdd: null,
- onChipSelect: null,
- onChipDelete: null
- };
-
- /**
- * @typedef {Object} chip
- * @property {String} tag chip tag string
- * @property {String} [image] chip avatar image string
- */
-
- /**
- * @class
- *
- */
-
- var Chips = function (_Component12) {
- _inherits(Chips, _Component12);
-
- /**
- * Construct Chips instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Chips(el, options) {
- _classCallCheck(this, Chips);
-
- var _this44 = _possibleConstructorReturn(this, (Chips.__proto__ || Object.getPrototypeOf(Chips)).call(this, Chips, el, options));
-
- _this44.el.M_Chips = _this44;
-
- /**
- * Options for the modal
- * @member Chips#options
- * @prop {Array} data
- * @prop {String} placeholder
- * @prop {String} secondaryPlaceholder
- * @prop {Object} autocompleteOptions
- */
- _this44.options = $.extend({}, Chips.defaults, options);
-
- _this44.$el.addClass('chips input-field');
- _this44.chipsData = [];
- _this44.$chips = $();
- _this44._setupInput();
- _this44.hasAutocomplete = Object.keys(_this44.options.autocompleteOptions).length > 0;
-
- // Set input id
- if (!_this44.$input.attr('id')) {
- _this44.$input.attr('id', M.guid());
- }
-
- // Render initial chips
- if (_this44.options.data.length) {
- _this44.chipsData = _this44.options.data;
- _this44._renderChips(_this44.chipsData);
- }
-
- // Setup autocomplete if needed
- if (_this44.hasAutocomplete) {
- _this44._setupAutocomplete();
- }
-
- _this44._setPlaceholder();
- _this44._setupLabel();
- _this44._setupEventHandlers();
- return _this44;
- }
-
- _createClass(Chips, [{
- key: "getData",
-
-
- /**
- * Get Chips Data
- */
- value: function getData() {
- return this.chipsData;
- }
-
- /**
- * Teardown component
- */
-
- }, {
- key: "destroy",
- value: function destroy() {
- this._removeEventHandlers();
- this.$chips.remove();
- this.el.M_Chips = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleChipClickBound = this._handleChipClick.bind(this);
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputFocusBound = this._handleInputFocus.bind(this);
- this._handleInputBlurBound = this._handleInputBlur.bind(this);
-
- this.el.addEventListener('click', this._handleChipClickBound);
- document.addEventListener('keydown', Chips._handleChipsKeydown);
- document.addEventListener('keyup', Chips._handleChipsKeyup);
- this.el.addEventListener('blur', Chips._handleChipsBlur, true);
- this.$input[0].addEventListener('focus', this._handleInputFocusBound);
- this.$input[0].addEventListener('blur', this._handleInputBlurBound);
- this.$input[0].addEventListener('keydown', this._handleInputKeydownBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleChipClickBound);
- document.removeEventListener('keydown', Chips._handleChipsKeydown);
- document.removeEventListener('keyup', Chips._handleChipsKeyup);
- this.el.removeEventListener('blur', Chips._handleChipsBlur, true);
- this.$input[0].removeEventListener('focus', this._handleInputFocusBound);
- this.$input[0].removeEventListener('blur', this._handleInputBlurBound);
- this.$input[0].removeEventListener('keydown', this._handleInputKeydownBound);
- }
-
- /**
- * Handle Chip Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipClick",
- value: function _handleChipClick(e) {
- var $chip = $(e.target).closest('.chip');
- var clickedClose = $(e.target).is('.close');
- if ($chip.length) {
- var index = $chip.index();
- if (clickedClose) {
- // delete chip
- this.deleteChip(index);
- this.$input[0].focus();
- } else {
- // select chip
- this.selectChip(index);
- }
-
- // Default handle click to focus on input
- } else {
- this.$input[0].focus();
- }
- }
-
- /**
- * Handle Chips Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputFocus",
-
-
- /**
- * Handle Input Focus
- */
- value: function _handleInputFocus() {
- this.$el.addClass('focus');
- }
-
- /**
- * Handle Input Blur
- */
-
- }, {
- key: "_handleInputBlur",
- value: function _handleInputBlur() {
- this.$el.removeClass('focus');
- }
-
- /**
- * Handle Input Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- Chips._keydown = true;
-
- // enter
- if (e.keyCode === 13) {
- // Override enter if autocompleting.
- if (this.hasAutocomplete && this.autocomplete && this.autocomplete.isOpen) {
- return;
- }
-
- e.preventDefault();
- this.addChip({
- tag: this.$input[0].value
- });
- this.$input[0].value = '';
-
- // delete or left
- } else if ((e.keyCode === 8 || e.keyCode === 37) && this.$input[0].value === '' && this.chipsData.length) {
- e.preventDefault();
- this.selectChip(this.chipsData.length - 1);
- }
- }
-
- /**
- * Render Chip
- * @param {chip} chip
- * @return {Element}
- */
-
- }, {
- key: "_renderChip",
- value: function _renderChip(chip) {
- if (!chip.tag) {
- return;
- }
-
- var renderedChip = document.createElement('div');
- var closeIcon = document.createElement('i');
- renderedChip.classList.add('chip');
- renderedChip.textContent = chip.tag;
- renderedChip.setAttribute('tabindex', 0);
- $(closeIcon).addClass('material-icons close');
- closeIcon.textContent = 'close';
-
- // attach image if needed
- if (chip.image) {
- var img = document.createElement('img');
- img.setAttribute('src', chip.image);
- renderedChip.insertBefore(img, renderedChip.firstChild);
- }
-
- renderedChip.appendChild(closeIcon);
- return renderedChip;
- }
-
- /**
- * Render Chips
- */
-
- }, {
- key: "_renderChips",
- value: function _renderChips() {
- this.$chips.remove();
- for (var i = 0; i < this.chipsData.length; i++) {
- var chipEl = this._renderChip(this.chipsData[i]);
- this.$el.append(chipEl);
- this.$chips.add(chipEl);
- }
-
- // move input to end
- this.$el.append(this.$input[0]);
- }
-
- /**
- * Setup Autocomplete
- */
-
- }, {
- key: "_setupAutocomplete",
- value: function _setupAutocomplete() {
- var _this45 = this;
-
- this.options.autocompleteOptions.onAutocomplete = function (val) {
- _this45.addChip({
- tag: val
- });
- _this45.$input[0].value = '';
- _this45.$input[0].focus();
- };
-
- this.autocomplete = M.Autocomplete.init(this.$input[0], this.options.autocompleteOptions);
- }
-
- /**
- * Setup Input
- */
-
- }, {
- key: "_setupInput",
- value: function _setupInput() {
- this.$input = this.$el.find('input');
- if (!this.$input.length) {
- this.$input = $(' ');
- this.$el.append(this.$input);
- }
-
- this.$input.addClass('input');
- }
-
- /**
- * Setup Label
- */
-
- }, {
- key: "_setupLabel",
- value: function _setupLabel() {
- this.$label = this.$el.find('label');
- if (this.$label.length) {
- this.$label.setAttribute('for', this.$input.attr('id'));
- }
- }
-
- /**
- * Set placeholder
- */
-
- }, {
- key: "_setPlaceholder",
- value: function _setPlaceholder() {
- if (this.chipsData !== undefined && !this.chipsData.length && this.options.placeholder) {
- $(this.$input).prop('placeholder', this.options.placeholder);
- } else if ((this.chipsData === undefined || !!this.chipsData.length) && this.options.secondaryPlaceholder) {
- $(this.$input).prop('placeholder', this.options.secondaryPlaceholder);
- }
- }
-
- /**
- * Check if chip is valid
- * @param {chip} chip
- */
-
- }, {
- key: "_isValid",
- value: function _isValid(chip) {
- if (chip.hasOwnProperty('tag') && chip.tag !== '') {
- var exists = false;
- for (var i = 0; i < this.chipsData.length; i++) {
- if (this.chipsData[i].tag === chip.tag) {
- exists = true;
- break;
- }
- }
- return !exists;
- }
-
- return false;
- }
-
- /**
- * Add chip
- * @param {chip} chip
- */
-
- }, {
- key: "addChip",
- value: function addChip(chip) {
- if (!this._isValid(chip) || this.chipsData.length >= this.options.limit) {
- return;
- }
-
- var renderedChip = this._renderChip(chip);
- this.$chips.add(renderedChip);
- this.chipsData.push(chip);
- $(this.$input).before(renderedChip);
- this._setPlaceholder();
-
- // fire chipAdd callback
- if (typeof this.options.onChipAdd === 'function') {
- this.options.onChipAdd.call(this, this.$el, renderedChip);
- }
- }
-
- /**
- * Delete chip
- * @param {Number} chip
- */
-
- }, {
- key: "deleteChip",
- value: function deleteChip(chipIndex) {
- var $chip = this.$chips.eq(chipIndex);
- this.$chips.eq(chipIndex).remove();
- this.$chips = this.$chips.filter(function (el) {
- return $(el).index() >= 0;
- });
- this.chipsData.splice(chipIndex, 1);
- this._setPlaceholder();
-
- // fire chipDelete callback
- if (typeof this.options.onChipDelete === 'function') {
- this.options.onChipDelete.call(this, this.$el, $chip[0]);
- }
- }
-
- /**
- * Select chip
- * @param {Number} chip
- */
-
- }, {
- key: "selectChip",
- value: function selectChip(chipIndex) {
- var $chip = this.$chips.eq(chipIndex);
- this._selectedChip = $chip;
- $chip[0].focus();
-
- // fire chipSelect callback
- if (typeof this.options.onChipSelect === 'function') {
- this.options.onChipSelect.call(this, this.$el, $chip[0]);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Chips.__proto__ || Object.getPrototypeOf(Chips), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Chips;
- }
- }, {
- key: "_handleChipsKeydown",
- value: function _handleChipsKeydown(e) {
- Chips._keydown = true;
-
- var $chips = $(e.target).closest('.chips');
- var chipsKeydown = e.target && $chips.length;
-
- // Don't handle keydown inputs on input and textarea
- if ($(e.target).is('input, textarea') || !chipsKeydown) {
- return;
- }
-
- var currChips = $chips[0].M_Chips;
-
- // backspace and delete
- if (e.keyCode === 8 || e.keyCode === 46) {
- e.preventDefault();
-
- var selectIndex = currChips.chipsData.length;
- if (currChips._selectedChip) {
- var index = currChips._selectedChip.index();
- currChips.deleteChip(index);
- currChips._selectedChip = null;
-
- // Make sure selectIndex doesn't go negative
- selectIndex = Math.max(index - 1, 0);
- }
-
- if (currChips.chipsData.length) {
- currChips.selectChip(selectIndex);
- }
-
- // left arrow key
- } else if (e.keyCode === 37) {
- if (currChips._selectedChip) {
- var _selectIndex = currChips._selectedChip.index() - 1;
- if (_selectIndex < 0) {
- return;
- }
- currChips.selectChip(_selectIndex);
- }
-
- // right arrow key
- } else if (e.keyCode === 39) {
- if (currChips._selectedChip) {
- var _selectIndex2 = currChips._selectedChip.index() + 1;
-
- if (_selectIndex2 >= currChips.chipsData.length) {
- currChips.$input[0].focus();
- } else {
- currChips.selectChip(_selectIndex2);
- }
- }
- }
- }
-
- /**
- * Handle Chips Keyup
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipsKeyup",
- value: function _handleChipsKeyup(e) {
- Chips._keydown = false;
- }
-
- /**
- * Handle Chips Blur
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipsBlur",
- value: function _handleChipsBlur(e) {
- if (!Chips._keydown) {
- var $chips = $(e.target).closest('.chips');
- var currChips = $chips[0].M_Chips;
-
- currChips._selectedChip = null;
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Chips;
- }(Component);
-
- /**
- * @static
- * @memberof Chips
- */
-
-
- Chips._keydown = false;
-
- M.Chips = Chips;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Chips, 'chips', 'M_Chips');
- }
-
- $(document).ready(function () {
- // Handle removal of static chips.
- $(document.body).on('click', '.chip .close', function () {
- var $chips = $(this).closest('.chips');
- if ($chips.length && $chips[0].M_Chips) {
- return;
- }
- $(this).closest('.chip').remove();
- });
- });
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- top: 0,
- bottom: Infinity,
- offset: 0,
- onPositionChange: null
- };
-
- /**
- * @class
- *
- */
-
- var Pushpin = function (_Component13) {
- _inherits(Pushpin, _Component13);
-
- /**
- * Construct Pushpin instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Pushpin(el, options) {
- _classCallCheck(this, Pushpin);
-
- var _this46 = _possibleConstructorReturn(this, (Pushpin.__proto__ || Object.getPrototypeOf(Pushpin)).call(this, Pushpin, el, options));
-
- _this46.el.M_Pushpin = _this46;
-
- /**
- * Options for the modal
- * @member Pushpin#options
- */
- _this46.options = $.extend({}, Pushpin.defaults, options);
-
- _this46.originalOffset = _this46.el.offsetTop;
- Pushpin._pushpins.push(_this46);
- _this46._setupEventHandlers();
- _this46._updatePosition();
- return _this46;
- }
-
- _createClass(Pushpin, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this.el.style.top = null;
- this._removePinClasses();
- this._removeEventHandlers();
-
- // Remove pushpin Inst
- var index = Pushpin._pushpins.indexOf(this);
- Pushpin._pushpins.splice(index, 1);
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- document.addEventListener('scroll', Pushpin._updateElements);
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- document.removeEventListener('scroll', Pushpin._updateElements);
- }
- }, {
- key: "_updatePosition",
- value: function _updatePosition() {
- var scrolled = M.getDocumentScrollTop() + this.options.offset;
-
- if (this.options.top <= scrolled && this.options.bottom >= scrolled && !this.el.classList.contains('pinned')) {
- this._removePinClasses();
-
- this.el.style.top = this.options.offset + "px";
- this.el.classList.add('pinned');
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pinned');
- }
- }
-
- // Add pin-top (when scrolled position is above top)
- if (scrolled < this.options.top && !this.el.classList.contains('pin-top')) {
- this._removePinClasses();
- this.el.style.top = 0;
- this.el.classList.add('pin-top');
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pin-top');
- }
- }
-
- // Add pin-bottom (when scrolled position is below bottom)
- if (scrolled > this.options.bottom && !this.el.classList.contains('pin-bottom')) {
- this._removePinClasses();
- this.el.classList.add('pin-bottom');
- this.el.style.top = this.options.bottom - this.originalOffset + "px";
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pin-bottom');
- }
- }
- }
- }, {
- key: "_removePinClasses",
- value: function _removePinClasses() {
- this.el.classList.remove('pin-top', 'pinned', 'pin-bottom');
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Pushpin.__proto__ || Object.getPrototypeOf(Pushpin), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Pushpin;
- }
- }, {
- key: "_updateElements",
- value: function _updateElements() {
- for (var elIndex in Pushpin._pushpins) {
- var pInstance = Pushpin._pushpins[elIndex];
- pInstance._updatePosition();
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Pushpin;
- }(Component);
-
- /**
- * @static
- * @memberof Pushpin
- */
-
-
- Pushpin._pushpins = [];
-
- M.Pushpin = Pushpin;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Pushpin, 'pushpin', 'M_Pushpin');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- direction: 'top',
- hoverEnabled: true,
- toolbarEnabled: false
- };
-
- $.fn.reverse = [].reverse;
-
- /**
- * @class
- *
- */
-
- var FloatingActionButton = function (_Component14) {
- _inherits(FloatingActionButton, _Component14);
-
- /**
- * Construct FloatingActionButton instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function FloatingActionButton(el, options) {
- _classCallCheck(this, FloatingActionButton);
-
- var _this47 = _possibleConstructorReturn(this, (FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton)).call(this, FloatingActionButton, el, options));
-
- _this47.el.M_FloatingActionButton = _this47;
-
- /**
- * Options for the fab
- * @member FloatingActionButton#options
- * @prop {Boolean} [direction] - Direction fab menu opens
- * @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
- * @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
- */
- _this47.options = $.extend({}, FloatingActionButton.defaults, options);
-
- _this47.isOpen = false;
- _this47.$anchor = _this47.$el.children('a').first();
- _this47.$menu = _this47.$el.children('ul').first();
- _this47.$floatingBtns = _this47.$el.find('ul .btn-floating');
- _this47.$floatingBtnsReverse = _this47.$el.find('ul .btn-floating').reverse();
- _this47.offsetY = 0;
- _this47.offsetX = 0;
-
- _this47.$el.addClass("direction-" + _this47.options.direction);
- if (_this47.options.direction === 'top') {
- _this47.offsetY = 40;
- } else if (_this47.options.direction === 'right') {
- _this47.offsetX = -40;
- } else if (_this47.options.direction === 'bottom') {
- _this47.offsetY = -40;
- } else {
- _this47.offsetX = 40;
- }
- _this47._setupEventHandlers();
- return _this47;
- }
-
- _createClass(FloatingActionButton, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_FloatingActionButton = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleFABClickBound = this._handleFABClick.bind(this);
- this._handleOpenBound = this.open.bind(this);
- this._handleCloseBound = this.close.bind(this);
-
- if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
- this.el.addEventListener('mouseenter', this._handleOpenBound);
- this.el.addEventListener('mouseleave', this._handleCloseBound);
- } else {
- this.el.addEventListener('click', this._handleFABClickBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
- this.el.removeEventListener('mouseenter', this._handleOpenBound);
- this.el.removeEventListener('mouseleave', this._handleCloseBound);
- } else {
- this.el.removeEventListener('click', this._handleFABClickBound);
- }
- }
-
- /**
- * Handle FAB Click
- */
-
- }, {
- key: "_handleFABClick",
- value: function _handleFABClick() {
- if (this.isOpen) {
- this.close();
- } else {
- this.open();
- }
- }
-
- /**
- * Handle Document Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- if (!$(e.target).closest(this.$menu).length) {
- this.close();
- }
- }
-
- /**
- * Open FAB
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- if (this.options.toolbarEnabled) {
- this._animateInToolbar();
- } else {
- this._animateInFAB();
- }
- this.isOpen = true;
- }
-
- /**
- * Close FAB
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- if (this.options.toolbarEnabled) {
- window.removeEventListener('scroll', this._handleCloseBound, true);
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- this._animateOutToolbar();
- } else {
- this._animateOutFAB();
- }
- this.isOpen = false;
- }
-
- /**
- * Classic FAB Menu open
- */
-
- }, {
- key: "_animateInFAB",
- value: function _animateInFAB() {
- var _this48 = this;
-
- this.$el.addClass('active');
-
- var time = 0;
- this.$floatingBtnsReverse.each(function (el) {
- anim({
- targets: el,
- opacity: 1,
- scale: [0.4, 1],
- translateY: [_this48.offsetY, 0],
- translateX: [_this48.offsetX, 0],
- duration: 275,
- delay: time,
- easing: 'easeInOutQuad'
- });
- time += 40;
- });
- }
-
- /**
- * Classic FAB Menu close
- */
-
- }, {
- key: "_animateOutFAB",
- value: function _animateOutFAB() {
- var _this49 = this;
-
- this.$floatingBtnsReverse.each(function (el) {
- anim.remove(el);
- anim({
- targets: el,
- opacity: 0,
- scale: 0.4,
- translateY: _this49.offsetY,
- translateX: _this49.offsetX,
- duration: 175,
- easing: 'easeOutQuad',
- complete: function () {
- _this49.$el.removeClass('active');
- }
- });
- });
- }
-
- /**
- * Toolbar transition Menu open
- */
-
- }, {
- key: "_animateInToolbar",
- value: function _animateInToolbar() {
- var _this50 = this;
-
- var scaleFactor = void 0;
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var btnRect = this.el.getBoundingClientRect();
- var backdrop = $('
');
- var fabColor = this.$anchor.css('background-color');
- this.$anchor.append(backdrop);
-
- this.offsetX = btnRect.left - windowWidth / 2 + btnRect.width / 2;
- this.offsetY = windowHeight - btnRect.bottom;
- scaleFactor = windowWidth / backdrop[0].clientWidth;
- this.btnBottom = btnRect.bottom;
- this.btnLeft = btnRect.left;
- this.btnWidth = btnRect.width;
-
- // Set initial state
- this.$el.addClass('active');
- this.$el.css({
- 'text-align': 'center',
- width: '100%',
- bottom: 0,
- left: 0,
- transform: 'translateX(' + this.offsetX + 'px)',
- transition: 'none'
- });
- this.$anchor.css({
- transform: 'translateY(' + -this.offsetY + 'px)',
- transition: 'none'
- });
- backdrop.css({
- 'background-color': fabColor
- });
-
- setTimeout(function () {
- _this50.$el.css({
- transform: '',
- transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
- });
- _this50.$anchor.css({
- overflow: 'visible',
- transform: '',
- transition: 'transform .2s'
- });
-
- setTimeout(function () {
- _this50.$el.css({
- overflow: 'hidden',
- 'background-color': fabColor
- });
- backdrop.css({
- transform: 'scale(' + scaleFactor + ')',
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
- });
- _this50.$menu.children('li').children('a').css({
- opacity: 1
- });
-
- // Scroll to close.
- _this50._handleDocumentClickBound = _this50._handleDocumentClick.bind(_this50);
- window.addEventListener('scroll', _this50._handleCloseBound, true);
- document.body.addEventListener('click', _this50._handleDocumentClickBound, true);
- }, 100);
- }, 0);
- }
-
- /**
- * Toolbar transition Menu close
- */
-
- }, {
- key: "_animateOutToolbar",
- value: function _animateOutToolbar() {
- var _this51 = this;
-
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var backdrop = this.$el.find('.fab-backdrop');
- var fabColor = this.$anchor.css('background-color');
-
- this.offsetX = this.btnLeft - windowWidth / 2 + this.btnWidth / 2;
- this.offsetY = windowHeight - this.btnBottom;
-
- // Hide backdrop
- this.$el.removeClass('active');
- this.$el.css({
- 'background-color': 'transparent',
- transition: 'none'
- });
- this.$anchor.css({
- transition: 'none'
- });
- backdrop.css({
- transform: 'scale(0)',
- 'background-color': fabColor
- });
- this.$menu.children('li').children('a').css({
- opacity: ''
- });
-
- setTimeout(function () {
- backdrop.remove();
-
- // Set initial state.
- _this51.$el.css({
- 'text-align': '',
- width: '',
- bottom: '',
- left: '',
- overflow: '',
- 'background-color': '',
- transform: 'translate3d(' + -_this51.offsetX + 'px,0,0)'
- });
- _this51.$anchor.css({
- overflow: '',
- transform: 'translate3d(0,' + _this51.offsetY + 'px,0)'
- });
-
- setTimeout(function () {
- _this51.$el.css({
- transform: 'translate3d(0,0,0)',
- transition: 'transform .2s'
- });
- _this51.$anchor.css({
- transform: 'translate3d(0,0,0)',
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
- });
- }, 20);
- }, 200);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_FloatingActionButton;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return FloatingActionButton;
- }(Component);
-
- M.FloatingActionButton = FloatingActionButton;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(FloatingActionButton, 'floatingActionButton', 'M_FloatingActionButton');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- // Close when date is selected
- autoClose: false,
-
- // the default output format for the input field value
- format: 'mmm dd, yyyy',
-
- // Used to create date object from current input string
- parse: null,
-
- // The initial date to view when first opened
- defaultDate: null,
-
- // Make the `defaultDate` the initial selected value
- setDefaultDate: false,
-
- disableWeekends: false,
-
- disableDayFn: null,
-
- // First day of week (0: Sunday, 1: Monday etc)
- firstDay: 0,
-
- // The earliest date that can be selected
- minDate: null,
- // Thelatest date that can be selected
- maxDate: null,
-
- // Number of years either side, or array of upper/lower range
- yearRange: 10,
-
- // used internally (don't config outside)
- minYear: 0,
- maxYear: 9999,
- minMonth: undefined,
- maxMonth: undefined,
-
- startRange: null,
- endRange: null,
-
- isRTL: false,
-
- // Render the month after year in the calendar title
- showMonthAfterYear: false,
-
- // Render days of the calendar grid that fall in the next or previous month
- showDaysInNextAndPreviousMonths: false,
-
- // Specify a DOM element to render the calendar in
- container: null,
-
- // Show clear button
- showClearBtn: false,
-
- // internationalization
- i18n: {
- cancel: 'Cancel',
- clear: 'Clear',
- done: 'Ok',
- previousMonth: '‹',
- nextMonth: '›',
- months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
- weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
- weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
- weekdaysAbbrev: ['S', 'M', 'T', 'W', 'T', 'F', 'S']
- },
-
- // events array
- events: [],
-
- // callback function
- onSelect: null,
- onOpen: null,
- onClose: null,
- onDraw: null
- };
-
- /**
- * @class
- *
- */
-
- var Datepicker = function (_Component15) {
- _inherits(Datepicker, _Component15);
-
- /**
- * Construct Datepicker instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Datepicker(el, options) {
- _classCallCheck(this, Datepicker);
-
- var _this52 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
-
- _this52.el.M_Datepicker = _this52;
-
- _this52.options = $.extend({}, Datepicker.defaults, options);
-
- // make sure i18n defaults are not lost when only few i18n option properties are passed
- if (!!options && options.hasOwnProperty('i18n') && typeof options.i18n === 'object') {
- _this52.options.i18n = $.extend({}, Datepicker.defaults.i18n, options.i18n);
- }
-
- // Remove time component from minDate and maxDate options
- if (_this52.options.minDate) _this52.options.minDate.setHours(0, 0, 0, 0);
- if (_this52.options.maxDate) _this52.options.maxDate.setHours(0, 0, 0, 0);
-
- _this52.id = M.guid();
-
- _this52._setupVariables();
- _this52._insertHTMLIntoDOM();
- _this52._setupModal();
-
- _this52._setupEventHandlers();
-
- if (!_this52.options.defaultDate) {
- _this52.options.defaultDate = new Date(Date.parse(_this52.el.value));
- }
-
- var defDate = _this52.options.defaultDate;
- if (Datepicker._isDate(defDate)) {
- if (_this52.options.setDefaultDate) {
- _this52.setDate(defDate, true);
- _this52.setInputValue();
- } else {
- _this52.gotoDate(defDate);
- }
- } else {
- _this52.gotoDate(new Date());
- }
-
- /**
- * Describes open/close state of datepicker
- * @type {Boolean}
- */
- _this52.isOpen = false;
- return _this52;
- }
-
- _createClass(Datepicker, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.modal.destroy();
- $(this.modalEl).remove();
- this.destroySelects();
- this.el.M_Datepicker = undefined;
- }
- }, {
- key: "destroySelects",
- value: function destroySelects() {
- var oldYearSelect = this.calendarEl.querySelector('.orig-select-year');
- if (oldYearSelect) {
- M.FormSelect.getInstance(oldYearSelect).destroy();
- }
- var oldMonthSelect = this.calendarEl.querySelector('.orig-select-month');
- if (oldMonthSelect) {
- M.FormSelect.getInstance(oldMonthSelect).destroy();
- }
- }
- }, {
- key: "_insertHTMLIntoDOM",
- value: function _insertHTMLIntoDOM() {
- if (this.options.showClearBtn) {
- $(this.clearBtn).css({ visibility: '' });
- this.clearBtn.innerHTML = this.options.i18n.clear;
- }
-
- this.doneBtn.innerHTML = this.options.i18n.done;
- this.cancelBtn.innerHTML = this.options.i18n.cancel;
-
- if (this.options.container) {
- this.$modalEl.appendTo(this.options.container);
- } else {
- this.$modalEl.insertBefore(this.el);
- }
- }
- }, {
- key: "_setupModal",
- value: function _setupModal() {
- var _this53 = this;
-
- this.modalEl.id = 'modal-' + this.id;
- this.modal = M.Modal.init(this.modalEl, {
- onCloseEnd: function () {
- _this53.isOpen = false;
- }
- });
- }
- }, {
- key: "toString",
- value: function toString(format) {
- var _this54 = this;
-
- format = format || this.options.format;
- if (!Datepicker._isDate(this.date)) {
- return '';
- }
-
- var formatArray = format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);
- var formattedDate = formatArray.map(function (label) {
- if (_this54.formats[label]) {
- return _this54.formats[label]();
- }
-
- return label;
- }).join('');
- return formattedDate;
- }
- }, {
- key: "setDate",
- value: function setDate(date, preventOnSelect) {
- if (!date) {
- this.date = null;
- this._renderDateDisplay();
- return this.draw();
- }
- if (typeof date === 'string') {
- date = new Date(Date.parse(date));
- }
- if (!Datepicker._isDate(date)) {
- return;
- }
-
- var min = this.options.minDate,
- max = this.options.maxDate;
-
- if (Datepicker._isDate(min) && date < min) {
- date = min;
- } else if (Datepicker._isDate(max) && date > max) {
- date = max;
- }
-
- this.date = new Date(date.getTime());
-
- this._renderDateDisplay();
-
- Datepicker._setToStartOfDay(this.date);
- this.gotoDate(this.date);
-
- if (!preventOnSelect && typeof this.options.onSelect === 'function') {
- this.options.onSelect.call(this, this.date);
- }
- }
- }, {
- key: "setInputValue",
- value: function setInputValue() {
- this.el.value = this.toString();
- this.$el.trigger('change', { firedBy: this });
- }
- }, {
- key: "_renderDateDisplay",
- value: function _renderDateDisplay() {
- var displayDate = Datepicker._isDate(this.date) ? this.date : new Date();
- var i18n = this.options.i18n;
- var day = i18n.weekdaysShort[displayDate.getDay()];
- var month = i18n.monthsShort[displayDate.getMonth()];
- var date = displayDate.getDate();
- this.yearTextEl.innerHTML = displayDate.getFullYear();
- this.dateTextEl.innerHTML = day + ", " + month + " " + date;
- }
-
- /**
- * change view to a specific date
- */
-
- }, {
- key: "gotoDate",
- value: function gotoDate(date) {
- var newCalendar = true;
-
- if (!Datepicker._isDate(date)) {
- return;
- }
-
- if (this.calendars) {
- var firstVisibleDate = new Date(this.calendars[0].year, this.calendars[0].month, 1),
- lastVisibleDate = new Date(this.calendars[this.calendars.length - 1].year, this.calendars[this.calendars.length - 1].month, 1),
- visibleDate = date.getTime();
- // get the end of the month
- lastVisibleDate.setMonth(lastVisibleDate.getMonth() + 1);
- lastVisibleDate.setDate(lastVisibleDate.getDate() - 1);
- newCalendar = visibleDate < firstVisibleDate.getTime() || lastVisibleDate.getTime() < visibleDate;
- }
-
- if (newCalendar) {
- this.calendars = [{
- month: date.getMonth(),
- year: date.getFullYear()
- }];
- }
-
- this.adjustCalendars();
- }
- }, {
- key: "adjustCalendars",
- value: function adjustCalendars() {
- this.calendars[0] = this.adjustCalendar(this.calendars[0]);
- this.draw();
- }
- }, {
- key: "adjustCalendar",
- value: function adjustCalendar(calendar) {
- if (calendar.month < 0) {
- calendar.year -= Math.ceil(Math.abs(calendar.month) / 12);
- calendar.month += 12;
- }
- if (calendar.month > 11) {
- calendar.year += Math.floor(Math.abs(calendar.month) / 12);
- calendar.month -= 12;
- }
- return calendar;
- }
- }, {
- key: "nextMonth",
- value: function nextMonth() {
- this.calendars[0].month++;
- this.adjustCalendars();
- }
- }, {
- key: "prevMonth",
- value: function prevMonth() {
- this.calendars[0].month--;
- this.adjustCalendars();
- }
- }, {
- key: "render",
- value: function render(year, month, randId) {
- var opts = this.options,
- now = new Date(),
- days = Datepicker._getDaysInMonth(year, month),
- before = new Date(year, month, 1).getDay(),
- data = [],
- row = [];
- Datepicker._setToStartOfDay(now);
- if (opts.firstDay > 0) {
- before -= opts.firstDay;
- if (before < 0) {
- before += 7;
- }
- }
- var previousMonth = month === 0 ? 11 : month - 1,
- nextMonth = month === 11 ? 0 : month + 1,
- yearOfPreviousMonth = month === 0 ? year - 1 : year,
- yearOfNextMonth = month === 11 ? year + 1 : year,
- daysInPreviousMonth = Datepicker._getDaysInMonth(yearOfPreviousMonth, previousMonth);
- var cells = days + before,
- after = cells;
- while (after > 7) {
- after -= 7;
- }
- cells += 7 - after;
- var isWeekSelected = false;
- for (var i = 0, r = 0; i < cells; i++) {
- var day = new Date(year, month, 1 + (i - before)),
- isSelected = Datepicker._isDate(this.date) ? Datepicker._compareDates(day, this.date) : false,
- isToday = Datepicker._compareDates(day, now),
- hasEvent = opts.events.indexOf(day.toDateString()) !== -1 ? true : false,
- isEmpty = i < before || i >= days + before,
- dayNumber = 1 + (i - before),
- monthNumber = month,
- yearNumber = year,
- isStartRange = opts.startRange && Datepicker._compareDates(opts.startRange, day),
- isEndRange = opts.endRange && Datepicker._compareDates(opts.endRange, day),
- isInRange = opts.startRange && opts.endRange && opts.startRange < day && day < opts.endRange,
- isDisabled = opts.minDate && day < opts.minDate || opts.maxDate && day > opts.maxDate || opts.disableWeekends && Datepicker._isWeekend(day) || opts.disableDayFn && opts.disableDayFn(day);
-
- if (isEmpty) {
- if (i < before) {
- dayNumber = daysInPreviousMonth + dayNumber;
- monthNumber = previousMonth;
- yearNumber = yearOfPreviousMonth;
- } else {
- dayNumber = dayNumber - days;
- monthNumber = nextMonth;
- yearNumber = yearOfNextMonth;
- }
- }
-
- var dayConfig = {
- day: dayNumber,
- month: monthNumber,
- year: yearNumber,
- hasEvent: hasEvent,
- isSelected: isSelected,
- isToday: isToday,
- isDisabled: isDisabled,
- isEmpty: isEmpty,
- isStartRange: isStartRange,
- isEndRange: isEndRange,
- isInRange: isInRange,
- showDaysInNextAndPreviousMonths: opts.showDaysInNextAndPreviousMonths
- };
-
- row.push(this.renderDay(dayConfig));
-
- if (++r === 7) {
- data.push(this.renderRow(row, opts.isRTL, isWeekSelected));
- row = [];
- r = 0;
- isWeekSelected = false;
- }
- }
- return this.renderTable(opts, data, randId);
- }
- }, {
- key: "renderDay",
- value: function renderDay(opts) {
- var arr = [];
- var ariaSelected = 'false';
- if (opts.isEmpty) {
- if (opts.showDaysInNextAndPreviousMonths) {
- arr.push('is-outside-current-month');
- arr.push('is-selection-disabled');
- } else {
- return ' ';
- }
- }
- if (opts.isDisabled) {
- arr.push('is-disabled');
- }
-
- if (opts.isToday) {
- arr.push('is-today');
- }
- if (opts.isSelected) {
- arr.push('is-selected');
- ariaSelected = 'true';
- }
- if (opts.hasEvent) {
- arr.push('has-event');
- }
- if (opts.isInRange) {
- arr.push('is-inrange');
- }
- if (opts.isStartRange) {
- arr.push('is-startrange');
- }
- if (opts.isEndRange) {
- arr.push('is-endrange');
- }
- return "" + ("" + opts.day + " ") + ' ';
- }
- }, {
- key: "renderRow",
- value: function renderRow(days, isRTL, isRowSelected) {
- return '' + (isRTL ? days.reverse() : days).join('') + ' ';
- }
- }, {
- key: "renderTable",
- value: function renderTable(opts, data, randId) {
- return '' + this.renderHead(opts) + this.renderBody(data) + '
';
- }
- }, {
- key: "renderHead",
- value: function renderHead(opts) {
- var i = void 0,
- arr = [];
- for (i = 0; i < 7; i++) {
- arr.push("" + this.renderDayName(opts, i, true) + " ");
- }
- return '' + (opts.isRTL ? arr.reverse() : arr).join('') + ' ';
- }
- }, {
- key: "renderBody",
- value: function renderBody(rows) {
- return '' + rows.join('') + ' ';
- }
- }, {
- key: "renderTitle",
- value: function renderTitle(instance, c, year, month, refYear, randId) {
- var i = void 0,
- j = void 0,
- arr = void 0,
- opts = this.options,
- isMinYear = year === opts.minYear,
- isMaxYear = year === opts.maxYear,
- html = '',
- monthHtml = void 0,
- yearHtml = void 0,
- prev = true,
- next = true;
-
- for (arr = [], i = 0; i < 12; i++) {
- arr.push('
opts.maxMonth ? 'disabled="disabled"' : '') + '>' + opts.i18n.months[i] + ' ');
- }
-
- monthHtml = '
' + arr.join('') + ' ';
-
- if ($.isArray(opts.yearRange)) {
- i = opts.yearRange[0];
- j = opts.yearRange[1] + 1;
- } else {
- i = year - opts.yearRange;
- j = 1 + year + opts.yearRange;
- }
-
- for (arr = []; i < j && i <= opts.maxYear; i++) {
- if (i >= opts.minYear) {
- arr.push("
" + i + " ");
- }
- }
-
- yearHtml = "
" + arr.join('') + " ";
-
- var leftArrow = '
';
- html += "
" + leftArrow + " ";
-
- html += '
';
- if (opts.showMonthAfterYear) {
- html += yearHtml + monthHtml;
- } else {
- html += monthHtml + yearHtml;
- }
- html += '
';
-
- if (isMinYear && (month === 0 || opts.minMonth >= month)) {
- prev = false;
- }
-
- if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
- next = false;
- }
-
- var rightArrow = '
';
- html += "
" + rightArrow + " ";
-
- return html += '
';
- }
-
- /**
- * refresh the HTML
- */
-
- }, {
- key: "draw",
- value: function draw(force) {
- if (!this.isOpen && !force) {
- return;
- }
- var opts = this.options,
- minYear = opts.minYear,
- maxYear = opts.maxYear,
- minMonth = opts.minMonth,
- maxMonth = opts.maxMonth,
- html = '',
- randId = void 0;
-
- if (this._y <= minYear) {
- this._y = minYear;
- if (!isNaN(minMonth) && this._m < minMonth) {
- this._m = minMonth;
- }
- }
- if (this._y >= maxYear) {
- this._y = maxYear;
- if (!isNaN(maxMonth) && this._m > maxMonth) {
- this._m = maxMonth;
- }
- }
-
- randId = 'datepicker-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);
-
- for (var c = 0; c < 1; c++) {
- this._renderDateDisplay();
- html += this.renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId);
- }
-
- this.destroySelects();
-
- this.calendarEl.innerHTML = html;
-
- // Init Materialize Select
- var yearSelect = this.calendarEl.querySelector('.orig-select-year');
- var monthSelect = this.calendarEl.querySelector('.orig-select-month');
- M.FormSelect.init(yearSelect, {
- classes: 'select-year',
- dropdownOptions: { container: document.body, constrainWidth: false }
- });
- M.FormSelect.init(monthSelect, {
- classes: 'select-month',
- dropdownOptions: { container: document.body, constrainWidth: false }
- });
-
- // Add change handlers for select
- yearSelect.addEventListener('change', this._handleYearChange.bind(this));
- monthSelect.addEventListener('change', this._handleMonthChange.bind(this));
-
- if (typeof this.options.onDraw === 'function') {
- this.options.onDraw(this);
- }
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleInputChangeBound = this._handleInputChange.bind(this);
- this._handleCalendarClickBound = this._handleCalendarClick.bind(this);
- this._finishSelectionBound = this._finishSelection.bind(this);
- this._handleMonthChange = this._handleMonthChange.bind(this);
- this._closeBound = this.close.bind(this);
-
- this.el.addEventListener('click', this._handleInputClickBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.el.addEventListener('change', this._handleInputChangeBound);
- this.calendarEl.addEventListener('click', this._handleCalendarClickBound);
- this.doneBtn.addEventListener('click', this._finishSelectionBound);
- this.cancelBtn.addEventListener('click', this._closeBound);
-
- if (this.options.showClearBtn) {
- this._handleClearClickBound = this._handleClearClick.bind(this);
- this.clearBtn.addEventListener('click', this._handleClearClickBound);
- }
- }
- }, {
- key: "_setupVariables",
- value: function _setupVariables() {
- var _this55 = this;
-
- this.$modalEl = $(Datepicker._template);
- this.modalEl = this.$modalEl[0];
-
- this.calendarEl = this.modalEl.querySelector('.datepicker-calendar');
-
- this.yearTextEl = this.modalEl.querySelector('.year-text');
- this.dateTextEl = this.modalEl.querySelector('.date-text');
- if (this.options.showClearBtn) {
- this.clearBtn = this.modalEl.querySelector('.datepicker-clear');
- }
- this.doneBtn = this.modalEl.querySelector('.datepicker-done');
- this.cancelBtn = this.modalEl.querySelector('.datepicker-cancel');
-
- this.formats = {
- d: function () {
- return _this55.date.getDate();
- },
- dd: function () {
- var d = _this55.date.getDate();
- return (d < 10 ? '0' : '') + d;
- },
- ddd: function () {
- return _this55.options.i18n.weekdaysShort[_this55.date.getDay()];
- },
- dddd: function () {
- return _this55.options.i18n.weekdays[_this55.date.getDay()];
- },
- m: function () {
- return _this55.date.getMonth() + 1;
- },
- mm: function () {
- var m = _this55.date.getMonth() + 1;
- return (m < 10 ? '0' : '') + m;
- },
- mmm: function () {
- return _this55.options.i18n.monthsShort[_this55.date.getMonth()];
- },
- mmmm: function () {
- return _this55.options.i18n.months[_this55.date.getMonth()];
- },
- yy: function () {
- return ('' + _this55.date.getFullYear()).slice(2);
- },
- yyyy: function () {
- return _this55.date.getFullYear();
- }
- };
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- this.el.removeEventListener('change', this._handleInputChangeBound);
- this.calendarEl.removeEventListener('click', this._handleCalendarClickBound);
- }
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- this.open();
- }
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- if (e.which === M.keys.ENTER) {
- e.preventDefault();
- this.open();
- }
- }
- }, {
- key: "_handleCalendarClick",
- value: function _handleCalendarClick(e) {
- if (!this.isOpen) {
- return;
- }
-
- var $target = $(e.target);
- if (!$target.hasClass('is-disabled')) {
- if ($target.hasClass('datepicker-day-button') && !$target.hasClass('is-empty') && !$target.parent().hasClass('is-disabled')) {
- this.setDate(new Date(e.target.getAttribute('data-year'), e.target.getAttribute('data-month'), e.target.getAttribute('data-day')));
- if (this.options.autoClose) {
- this._finishSelection();
- }
- } else if ($target.closest('.month-prev').length) {
- this.prevMonth();
- } else if ($target.closest('.month-next').length) {
- this.nextMonth();
- }
- }
- }
- }, {
- key: "_handleClearClick",
- value: function _handleClearClick() {
- this.date = null;
- this.setInputValue();
- this.close();
- }
- }, {
- key: "_handleMonthChange",
- value: function _handleMonthChange(e) {
- this.gotoMonth(e.target.value);
- }
- }, {
- key: "_handleYearChange",
- value: function _handleYearChange(e) {
- this.gotoYear(e.target.value);
- }
-
- /**
- * change view to a specific month (zero-index, e.g. 0: January)
- */
-
- }, {
- key: "gotoMonth",
- value: function gotoMonth(month) {
- if (!isNaN(month)) {
- this.calendars[0].month = parseInt(month, 10);
- this.adjustCalendars();
- }
- }
-
- /**
- * change view to a specific full year (e.g. "2012")
- */
-
- }, {
- key: "gotoYear",
- value: function gotoYear(year) {
- if (!isNaN(year)) {
- this.calendars[0].year = parseInt(year, 10);
- this.adjustCalendars();
- }
- }
- }, {
- key: "_handleInputChange",
- value: function _handleInputChange(e) {
- var date = void 0;
-
- // Prevent change event from being fired when triggered by the plugin
- if (e.firedBy === this) {
- return;
- }
- if (this.options.parse) {
- date = this.options.parse(this.el.value, this.options.format);
- } else {
- date = new Date(Date.parse(this.el.value));
- }
-
- if (Datepicker._isDate(date)) {
- this.setDate(date);
- }
- }
- }, {
- key: "renderDayName",
- value: function renderDayName(opts, day, abbr) {
- day += opts.firstDay;
- while (day >= 7) {
- day -= 7;
- }
- return abbr ? opts.i18n.weekdaysAbbrev[day] : opts.i18n.weekdays[day];
- }
-
- /**
- * Set input value to the selected date and close Datepicker
- */
-
- }, {
- key: "_finishSelection",
- value: function _finishSelection() {
- this.setInputValue();
- this.close();
- }
-
- /**
- * Open Datepicker
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- if (typeof this.options.onOpen === 'function') {
- this.options.onOpen.call(this);
- }
- this.draw();
- this.modal.open();
- return this;
- }
-
- /**
- * Close Datepicker
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- if (typeof this.options.onClose === 'function') {
- this.options.onClose.call(this);
- }
- this.modal.close();
- return this;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Datepicker.__proto__ || Object.getPrototypeOf(Datepicker), "init", this).call(this, this, els, options);
- }
- }, {
- key: "_isDate",
- value: function _isDate(obj) {
- return (/Date/.test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime())
- );
- }
- }, {
- key: "_isWeekend",
- value: function _isWeekend(date) {
- var day = date.getDay();
- return day === 0 || day === 6;
- }
- }, {
- key: "_setToStartOfDay",
- value: function _setToStartOfDay(date) {
- if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0);
- }
- }, {
- key: "_getDaysInMonth",
- value: function _getDaysInMonth(year, month) {
- return [31, Datepicker._isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
- }
- }, {
- key: "_isLeapYear",
- value: function _isLeapYear(year) {
- // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
- return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
- }
- }, {
- key: "_compareDates",
- value: function _compareDates(a, b) {
- // weak date comparison (use setToStartOfDay(date) to ensure correct result)
- return a.getTime() === b.getTime();
- }
- }, {
- key: "_setToStartOfDay",
- value: function _setToStartOfDay(date) {
- if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Datepicker;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Datepicker;
- }(Component);
-
- Datepicker._template = [''].join('');
-
- M.Datepicker = Datepicker;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Datepicker, 'datepicker', 'M_Datepicker');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- dialRadius: 135,
- outerRadius: 105,
- innerRadius: 70,
- tickRadius: 20,
- duration: 350,
- container: null,
- defaultTime: 'now', // default time, 'now' or '13:14' e.g.
- fromNow: 0, // Millisecond offset from the defaultTime
- showClearBtn: false,
-
- // internationalization
- i18n: {
- cancel: 'Cancel',
- clear: 'Clear',
- done: 'Ok'
- },
-
- autoClose: false, // auto close when minute is selected
- twelveHour: true, // change to 12 hour AM/PM clock from 24 hour
- vibrate: true, // vibrate the device when dragging clock hand
-
- // Callbacks
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- onSelect: null
- };
-
- /**
- * @class
- *
- */
-
- var Timepicker = function (_Component16) {
- _inherits(Timepicker, _Component16);
-
- function Timepicker(el, options) {
- _classCallCheck(this, Timepicker);
-
- var _this56 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options));
-
- _this56.el.M_Timepicker = _this56;
-
- _this56.options = $.extend({}, Timepicker.defaults, options);
-
- _this56.id = M.guid();
- _this56._insertHTMLIntoDOM();
- _this56._setupModal();
- _this56._setupVariables();
- _this56._setupEventHandlers();
-
- _this56._clockSetup();
- _this56._pickerSetup();
- return _this56;
- }
-
- _createClass(Timepicker, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.modal.destroy();
- $(this.modalEl).remove();
- this.el.M_Timepicker = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleClockClickStartBound = this._handleClockClickStart.bind(this);
- this._handleDocumentClickMoveBound = this._handleDocumentClickMove.bind(this);
- this._handleDocumentClickEndBound = this._handleDocumentClickEnd.bind(this);
-
- this.el.addEventListener('click', this._handleInputClickBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.plate.addEventListener('mousedown', this._handleClockClickStartBound);
- this.plate.addEventListener('touchstart', this._handleClockClickStartBound);
-
- $(this.spanHours).on('click', this.showView.bind(this, 'hours'));
- $(this.spanMinutes).on('click', this.showView.bind(this, 'minutes'));
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- }
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- this.open();
- }
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- if (e.which === M.keys.ENTER) {
- e.preventDefault();
- this.open();
- }
- }
- }, {
- key: "_handleClockClickStart",
- value: function _handleClockClickStart(e) {
- e.preventDefault();
- var clockPlateBR = this.plate.getBoundingClientRect();
- var offset = { x: clockPlateBR.left, y: clockPlateBR.top };
-
- this.x0 = offset.x + this.options.dialRadius;
- this.y0 = offset.y + this.options.dialRadius;
- this.moved = false;
- var clickPos = Timepicker._Pos(e);
- this.dx = clickPos.x - this.x0;
- this.dy = clickPos.y - this.y0;
-
- // Set clock hands
- this.setHand(this.dx, this.dy, false);
-
- // Mousemove on document
- document.addEventListener('mousemove', this._handleDocumentClickMoveBound);
- document.addEventListener('touchmove', this._handleDocumentClickMoveBound);
-
- // Mouseup on document
- document.addEventListener('mouseup', this._handleDocumentClickEndBound);
- document.addEventListener('touchend', this._handleDocumentClickEndBound);
- }
- }, {
- key: "_handleDocumentClickMove",
- value: function _handleDocumentClickMove(e) {
- e.preventDefault();
- var clickPos = Timepicker._Pos(e);
- var x = clickPos.x - this.x0;
- var y = clickPos.y - this.y0;
- this.moved = true;
- this.setHand(x, y, false, true);
- }
- }, {
- key: "_handleDocumentClickEnd",
- value: function _handleDocumentClickEnd(e) {
- var _this57 = this;
-
- e.preventDefault();
- document.removeEventListener('mouseup', this._handleDocumentClickEndBound);
- document.removeEventListener('touchend', this._handleDocumentClickEndBound);
- var clickPos = Timepicker._Pos(e);
- var x = clickPos.x - this.x0;
- var y = clickPos.y - this.y0;
- if (this.moved && x === this.dx && y === this.dy) {
- this.setHand(x, y);
- }
-
- if (this.currentView === 'hours') {
- this.showView('minutes', this.options.duration / 2);
- } else if (this.options.autoClose) {
- $(this.minutesView).addClass('timepicker-dial-out');
- setTimeout(function () {
- _this57.done();
- }, this.options.duration / 2);
- }
-
- if (typeof this.options.onSelect === 'function') {
- this.options.onSelect.call(this, this.hours, this.minutes);
- }
-
- // Unbind mousemove event
- document.removeEventListener('mousemove', this._handleDocumentClickMoveBound);
- document.removeEventListener('touchmove', this._handleDocumentClickMoveBound);
- }
- }, {
- key: "_insertHTMLIntoDOM",
- value: function _insertHTMLIntoDOM() {
- this.$modalEl = $(Timepicker._template);
- this.modalEl = this.$modalEl[0];
- this.modalEl.id = 'modal-' + this.id;
-
- // Append popover to input by default
- var containerEl = document.querySelector(this.options.container);
- if (this.options.container && !!containerEl) {
- this.$modalEl.appendTo(containerEl);
- } else {
- this.$modalEl.insertBefore(this.el);
- }
- }
- }, {
- key: "_setupModal",
- value: function _setupModal() {
- var _this58 = this;
-
- this.modal = M.Modal.init(this.modalEl, {
- onOpenStart: this.options.onOpenStart,
- onOpenEnd: this.options.onOpenEnd,
- onCloseStart: this.options.onCloseStart,
- onCloseEnd: function () {
- if (typeof _this58.options.onCloseEnd === 'function') {
- _this58.options.onCloseEnd.call(_this58);
- }
- _this58.isOpen = false;
- }
- });
- }
- }, {
- key: "_setupVariables",
- value: function _setupVariables() {
- this.currentView = 'hours';
- this.vibrate = navigator.vibrate ? 'vibrate' : navigator.webkitVibrate ? 'webkitVibrate' : null;
-
- this._canvas = this.modalEl.querySelector('.timepicker-canvas');
- this.plate = this.modalEl.querySelector('.timepicker-plate');
-
- this.hoursView = this.modalEl.querySelector('.timepicker-hours');
- this.minutesView = this.modalEl.querySelector('.timepicker-minutes');
- this.spanHours = this.modalEl.querySelector('.timepicker-span-hours');
- this.spanMinutes = this.modalEl.querySelector('.timepicker-span-minutes');
- this.spanAmPm = this.modalEl.querySelector('.timepicker-span-am-pm');
- this.footer = this.modalEl.querySelector('.timepicker-footer');
- this.amOrPm = 'PM';
- }
- }, {
- key: "_pickerSetup",
- value: function _pickerSetup() {
- var $clearBtn = $("" + this.options.i18n.clear + " ").appendTo(this.footer).on('click', this.clear.bind(this));
- if (this.options.showClearBtn) {
- $clearBtn.css({ visibility: '' });
- }
-
- var confirmationBtnsContainer = $('
');
- $('' + this.options.i18n.cancel + ' ').appendTo(confirmationBtnsContainer).on('click', this.close.bind(this));
- $('' + this.options.i18n.done + ' ').appendTo(confirmationBtnsContainer).on('click', this.done.bind(this));
- confirmationBtnsContainer.appendTo(this.footer);
- }
- }, {
- key: "_clockSetup",
- value: function _clockSetup() {
- if (this.options.twelveHour) {
- this.$amBtn = $('AM
');
- this.$pmBtn = $('PM
');
- this.$amBtn.on('click', this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm);
- this.$pmBtn.on('click', this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm);
- }
-
- this._buildHoursView();
- this._buildMinutesView();
- this._buildSVGClock();
- }
- }, {
- key: "_buildSVGClock",
- value: function _buildSVGClock() {
- // Draw clock hands and others
- var dialRadius = this.options.dialRadius;
- var tickRadius = this.options.tickRadius;
- var diameter = dialRadius * 2;
-
- var svg = Timepicker._createSVGEl('svg');
- svg.setAttribute('class', 'timepicker-svg');
- svg.setAttribute('width', diameter);
- svg.setAttribute('height', diameter);
- var g = Timepicker._createSVGEl('g');
- g.setAttribute('transform', 'translate(' + dialRadius + ',' + dialRadius + ')');
- var bearing = Timepicker._createSVGEl('circle');
- bearing.setAttribute('class', 'timepicker-canvas-bearing');
- bearing.setAttribute('cx', 0);
- bearing.setAttribute('cy', 0);
- bearing.setAttribute('r', 4);
- var hand = Timepicker._createSVGEl('line');
- hand.setAttribute('x1', 0);
- hand.setAttribute('y1', 0);
- var bg = Timepicker._createSVGEl('circle');
- bg.setAttribute('class', 'timepicker-canvas-bg');
- bg.setAttribute('r', tickRadius);
- g.appendChild(hand);
- g.appendChild(bg);
- g.appendChild(bearing);
- svg.appendChild(g);
- this._canvas.appendChild(svg);
-
- this.hand = hand;
- this.bg = bg;
- this.bearing = bearing;
- this.g = g;
- }
- }, {
- key: "_buildHoursView",
- value: function _buildHoursView() {
- var $tick = $('
');
- // Hours view
- if (this.options.twelveHour) {
- for (var i = 1; i < 13; i += 1) {
- var tick = $tick.clone();
- var radian = i / 6 * Math.PI;
- var radius = this.options.outerRadius;
- tick.css({
- left: this.options.dialRadius + Math.sin(radian) * radius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(radian) * radius - this.options.tickRadius + 'px'
- });
- tick.html(i === 0 ? '00' : i);
- this.hoursView.appendChild(tick[0]);
- // tick.on(mousedownEvent, mousedown);
- }
- } else {
- for (var _i2 = 0; _i2 < 24; _i2 += 1) {
- var _tick = $tick.clone();
- var _radian = _i2 / 6 * Math.PI;
- var inner = _i2 > 0 && _i2 < 13;
- var _radius = inner ? this.options.innerRadius : this.options.outerRadius;
- _tick.css({
- left: this.options.dialRadius + Math.sin(_radian) * _radius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(_radian) * _radius - this.options.tickRadius + 'px'
- });
- _tick.html(_i2 === 0 ? '00' : _i2);
- this.hoursView.appendChild(_tick[0]);
- // tick.on(mousedownEvent, mousedown);
- }
- }
- }
- }, {
- key: "_buildMinutesView",
- value: function _buildMinutesView() {
- var $tick = $('
');
- // Minutes view
- for (var i = 0; i < 60; i += 5) {
- var tick = $tick.clone();
- var radian = i / 30 * Math.PI;
- tick.css({
- left: this.options.dialRadius + Math.sin(radian) * this.options.outerRadius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(radian) * this.options.outerRadius - this.options.tickRadius + 'px'
- });
- tick.html(Timepicker._addLeadingZero(i));
- this.minutesView.appendChild(tick[0]);
- }
- }
- }, {
- key: "_handleAmPmClick",
- value: function _handleAmPmClick(e) {
- var $btnClicked = $(e.target);
- this.amOrPm = $btnClicked.hasClass('am-btn') ? 'AM' : 'PM';
- this._updateAmPmView();
- }
- }, {
- key: "_updateAmPmView",
- value: function _updateAmPmView() {
- if (this.options.twelveHour) {
- this.$amBtn.toggleClass('text-primary', this.amOrPm === 'AM');
- this.$pmBtn.toggleClass('text-primary', this.amOrPm === 'PM');
- }
- }
- }, {
- key: "_updateTimeFromInput",
- value: function _updateTimeFromInput() {
- // Get the time
- var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
- if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
- if (value[1].toUpperCase().indexOf('AM') > 0) {
- this.amOrPm = 'AM';
- } else {
- this.amOrPm = 'PM';
- }
- value[1] = value[1].replace('AM', '').replace('PM', '');
- }
- if (value[0] === 'now') {
- var now = new Date(+new Date() + this.options.fromNow);
- value = [now.getHours(), now.getMinutes()];
- if (this.options.twelveHour) {
- this.amOrPm = value[0] >= 12 && value[0] < 24 ? 'PM' : 'AM';
- }
- }
- this.hours = +value[0] || 0;
- this.minutes = +value[1] || 0;
- this.spanHours.innerHTML = this.hours;
- this.spanMinutes.innerHTML = Timepicker._addLeadingZero(this.minutes);
-
- this._updateAmPmView();
- }
- }, {
- key: "showView",
- value: function showView(view, delay) {
- if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') {
- // raiseCallback(this.options.beforeHourSelect);
- }
- var isHours = view === 'hours',
- nextView = isHours ? this.hoursView : this.minutesView,
- hideView = isHours ? this.minutesView : this.hoursView;
- this.currentView = view;
-
- $(this.spanHours).toggleClass('text-primary', isHours);
- $(this.spanMinutes).toggleClass('text-primary', !isHours);
-
- // Transition view
- hideView.classList.add('timepicker-dial-out');
- $(nextView).css('visibility', 'visible').removeClass('timepicker-dial-out');
-
- // Reset clock hand
- this.resetClock(delay);
-
- // After transitions ended
- clearTimeout(this.toggleViewTimer);
- this.toggleViewTimer = setTimeout(function () {
- $(hideView).css('visibility', 'hidden');
- }, this.options.duration);
- }
- }, {
- key: "resetClock",
- value: function resetClock(delay) {
- var view = this.currentView,
- value = this[view],
- isHours = view === 'hours',
- unit = Math.PI / (isHours ? 6 : 30),
- radian = value * unit,
- radius = isHours && value > 0 && value < 13 ? this.options.innerRadius : this.options.outerRadius,
- x = Math.sin(radian) * radius,
- y = -Math.cos(radian) * radius,
- self = this;
-
- if (delay) {
- $(this.canvas).addClass('timepicker-canvas-out');
- setTimeout(function () {
- $(self.canvas).removeClass('timepicker-canvas-out');
- self.setHand(x, y);
- }, delay);
- } else {
- this.setHand(x, y);
- }
- }
- }, {
- key: "setHand",
- value: function setHand(x, y, roundBy5) {
- var _this59 = this;
-
- var radian = Math.atan2(x, -y),
- isHours = this.currentView === 'hours',
- unit = Math.PI / (isHours || roundBy5 ? 6 : 30),
- z = Math.sqrt(x * x + y * y),
- inner = isHours && z < (this.options.outerRadius + this.options.innerRadius) / 2,
- radius = inner ? this.options.innerRadius : this.options.outerRadius;
-
- if (this.options.twelveHour) {
- radius = this.options.outerRadius;
- }
-
- // Radian should in range [0, 2PI]
- if (radian < 0) {
- radian = Math.PI * 2 + radian;
- }
-
- // Get the round value
- var value = Math.round(radian / unit);
-
- // Get the round radian
- radian = value * unit;
-
- // Correct the hours or minutes
- if (this.options.twelveHour) {
- if (isHours) {
- if (value === 0) value = 12;
- } else {
- if (roundBy5) value *= 5;
- if (value === 60) value = 0;
- }
- } else {
- if (isHours) {
- if (value === 12) {
- value = 0;
- }
- value = inner ? value === 0 ? 12 : value : value === 0 ? 0 : value + 12;
- } else {
- if (roundBy5) {
- value *= 5;
- }
- if (value === 60) {
- value = 0;
- }
- }
- }
-
- // Once hours or minutes changed, vibrate the device
- if (this[this.currentView] !== value) {
- if (this.vibrate && this.options.vibrate) {
- // Do not vibrate too frequently
- if (!this.vibrateTimer) {
- navigator[this.vibrate](10);
- this.vibrateTimer = setTimeout(function () {
- _this59.vibrateTimer = null;
- }, 100);
- }
- }
- }
-
- this[this.currentView] = value;
- if (isHours) {
- this['spanHours'].innerHTML = value;
- } else {
- this['spanMinutes'].innerHTML = Timepicker._addLeadingZero(value);
- }
-
- // Set clock hand and others' position
- var cx1 = Math.sin(radian) * (radius - this.options.tickRadius),
- cy1 = -Math.cos(radian) * (radius - this.options.tickRadius),
- cx2 = Math.sin(radian) * radius,
- cy2 = -Math.cos(radian) * radius;
- this.hand.setAttribute('x2', cx1);
- this.hand.setAttribute('y2', cy1);
- this.bg.setAttribute('cx', cx2);
- this.bg.setAttribute('cy', cy2);
- }
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- this._updateTimeFromInput();
- this.showView('hours');
-
- this.modal.open();
- }
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- this.modal.close();
- }
-
- /**
- * Finish timepicker selection.
- */
-
- }, {
- key: "done",
- value: function done(e, clearValue) {
- // Set input value
- var last = this.el.value;
- var value = clearValue ? '' : Timepicker._addLeadingZero(this.hours) + ':' + Timepicker._addLeadingZero(this.minutes);
- this.time = value;
- if (!clearValue && this.options.twelveHour) {
- value = value + " " + this.amOrPm;
- }
- this.el.value = value;
-
- // Trigger change event
- if (value !== last) {
- this.$el.trigger('change');
- }
-
- this.close();
- this.el.focus();
- }
- }, {
- key: "clear",
- value: function clear() {
- this.done(null, true);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Timepicker.__proto__ || Object.getPrototypeOf(Timepicker), "init", this).call(this, this, els, options);
- }
- }, {
- key: "_addLeadingZero",
- value: function _addLeadingZero(num) {
- return (num < 10 ? '0' : '') + num;
- }
- }, {
- key: "_createSVGEl",
- value: function _createSVGEl(name) {
- var svgNS = 'http://www.w3.org/2000/svg';
- return document.createElementNS(svgNS, name);
- }
-
- /**
- * @typedef {Object} Point
- * @property {number} x The X Coordinate
- * @property {number} y The Y Coordinate
- */
-
- /**
- * Get x position of mouse or touch event
- * @param {Event} e
- * @return {Point} x and y location
- */
-
- }, {
- key: "_Pos",
- value: function _Pos(e) {
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return { x: e.targetTouches[0].clientX, y: e.targetTouches[0].clientY };
- }
- // mouse event
- return { x: e.clientX, y: e.clientY };
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Timepicker;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Timepicker;
- }(Component);
-
- Timepicker._template = ['', '
', '
', '
', '
', ' ', ':', ' ', '
', '
', '
', '
', '
', '
', '
'].join('');
-
- M.Timepicker = Timepicker;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Timepicker, 'timepicker', 'M_Timepicker');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {};
-
- /**
- * @class
- *
- */
-
- var CharacterCounter = function (_Component17) {
- _inherits(CharacterCounter, _Component17);
-
- /**
- * Construct CharacterCounter instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function CharacterCounter(el, options) {
- _classCallCheck(this, CharacterCounter);
-
- var _this60 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options));
-
- _this60.el.M_CharacterCounter = _this60;
-
- /**
- * Options for the character counter
- */
- _this60.options = $.extend({}, CharacterCounter.defaults, options);
-
- _this60.isInvalid = false;
- _this60.isValidLength = false;
- _this60._setupCounter();
- _this60._setupEventHandlers();
- return _this60;
- }
-
- _createClass(CharacterCounter, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.CharacterCounter = undefined;
- this._removeCounter();
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleUpdateCounterBound = this.updateCounter.bind(this);
-
- this.el.addEventListener('focus', this._handleUpdateCounterBound, true);
- this.el.addEventListener('input', this._handleUpdateCounterBound, true);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('focus', this._handleUpdateCounterBound, true);
- this.el.removeEventListener('input', this._handleUpdateCounterBound, true);
- }
-
- /**
- * Setup counter element
- */
-
- }, {
- key: "_setupCounter",
- value: function _setupCounter() {
- this.counterEl = document.createElement('span');
- $(this.counterEl).addClass('character-counter').css({
- float: 'right',
- 'font-size': '12px',
- height: 1
- });
-
- this.$el.parent().append(this.counterEl);
- }
-
- /**
- * Remove counter element
- */
-
- }, {
- key: "_removeCounter",
- value: function _removeCounter() {
- $(this.counterEl).remove();
- }
-
- /**
- * Update counter
- */
-
- }, {
- key: "updateCounter",
- value: function updateCounter() {
- var maxLength = +this.$el.attr('data-length'),
- actualLength = this.el.value.length;
- this.isValidLength = actualLength <= maxLength;
- var counterString = actualLength;
-
- if (maxLength) {
- counterString += '/' + maxLength;
- this._validateInput();
- }
-
- $(this.counterEl).html(counterString);
- }
-
- /**
- * Add validation classes
- */
-
- }, {
- key: "_validateInput",
- value: function _validateInput() {
- if (this.isValidLength && this.isInvalid) {
- this.isInvalid = false;
- this.$el.removeClass('invalid');
- } else if (!this.isValidLength && !this.isInvalid) {
- this.isInvalid = true;
- this.$el.removeClass('valid');
- this.$el.addClass('invalid');
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_CharacterCounter;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return CharacterCounter;
- }(Component);
-
- M.CharacterCounter = CharacterCounter;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(CharacterCounter, 'characterCounter', 'M_CharacterCounter');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- duration: 200, // ms
- dist: -100, // zoom scale TODO: make this more intuitive as an option
- shift: 0, // spacing for center image
- padding: 0, // Padding between non center items
- numVisible: 5, // Number of visible items in carousel
- fullWidth: false, // Change to full width styles
- indicators: false, // Toggle indicators
- noWrap: false, // Don't wrap around and cycle through items.
- onCycleTo: null // Callback for when a new slide is cycled to.
- };
-
- /**
- * @class
- *
- */
-
- var Carousel = function (_Component18) {
- _inherits(Carousel, _Component18);
-
- /**
- * Construct Carousel instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Carousel(el, options) {
- _classCallCheck(this, Carousel);
-
- var _this61 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options));
-
- _this61.el.M_Carousel = _this61;
-
- /**
- * Options for the carousel
- * @member Carousel#options
- * @prop {Number} duration
- * @prop {Number} dist
- * @prop {Number} shift
- * @prop {Number} padding
- * @prop {Number} numVisible
- * @prop {Boolean} fullWidth
- * @prop {Boolean} indicators
- * @prop {Boolean} noWrap
- * @prop {Function} onCycleTo
- */
- _this61.options = $.extend({}, Carousel.defaults, options);
-
- // Setup
- _this61.hasMultipleSlides = _this61.$el.find('.carousel-item').length > 1;
- _this61.showIndicators = _this61.options.indicators && _this61.hasMultipleSlides;
- _this61.noWrap = _this61.options.noWrap || !_this61.hasMultipleSlides;
- _this61.pressed = false;
- _this61.dragged = false;
- _this61.offset = _this61.target = 0;
- _this61.images = [];
- _this61.itemWidth = _this61.$el.find('.carousel-item').first().innerWidth();
- _this61.itemHeight = _this61.$el.find('.carousel-item').first().innerHeight();
- _this61.dim = _this61.itemWidth * 2 + _this61.options.padding || 1; // Make sure dim is non zero for divisions.
- _this61._autoScrollBound = _this61._autoScroll.bind(_this61);
- _this61._trackBound = _this61._track.bind(_this61);
-
- // Full Width carousel setup
- if (_this61.options.fullWidth) {
- _this61.options.dist = 0;
- _this61._setCarouselHeight();
-
- // Offset fixed items when indicators.
- if (_this61.showIndicators) {
- _this61.$el.find('.carousel-fixed-item').addClass('with-indicators');
- }
- }
-
- // Iterate through slides
- _this61.$indicators = $('');
- _this61.$el.find('.carousel-item').each(function (el, i) {
- _this61.images.push(el);
- if (_this61.showIndicators) {
- var $indicator = $(' ');
-
- // Add active to first by default.
- if (i === 0) {
- $indicator[0].classList.add('active');
- }
-
- _this61.$indicators.append($indicator);
- }
- });
- if (_this61.showIndicators) {
- _this61.$el.append(_this61.$indicators);
- }
- _this61.count = _this61.images.length;
-
- // Cap numVisible at count
- _this61.options.numVisible = Math.min(_this61.count, _this61.options.numVisible);
-
- // Setup cross browser string
- _this61.xform = 'transform';
- ['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
- var e = prefix + 'Transform';
- if (typeof document.body.style[e] !== 'undefined') {
- _this61.xform = e;
- return false;
- }
- return true;
- });
-
- _this61._setupEventHandlers();
- _this61._scroll(_this61.offset);
- return _this61;
- }
-
- _createClass(Carousel, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Carousel = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this62 = this;
-
- this._handleCarouselTapBound = this._handleCarouselTap.bind(this);
- this._handleCarouselDragBound = this._handleCarouselDrag.bind(this);
- this._handleCarouselReleaseBound = this._handleCarouselRelease.bind(this);
- this._handleCarouselClickBound = this._handleCarouselClick.bind(this);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.el.addEventListener('touchstart', this._handleCarouselTapBound);
- this.el.addEventListener('touchmove', this._handleCarouselDragBound);
- this.el.addEventListener('touchend', this._handleCarouselReleaseBound);
- }
-
- this.el.addEventListener('mousedown', this._handleCarouselTapBound);
- this.el.addEventListener('mousemove', this._handleCarouselDragBound);
- this.el.addEventListener('mouseup', this._handleCarouselReleaseBound);
- this.el.addEventListener('mouseleave', this._handleCarouselReleaseBound);
- this.el.addEventListener('click', this._handleCarouselClickBound);
-
- if (this.showIndicators && this.$indicators) {
- this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
- this.$indicators.find('.indicator-item').each(function (el, i) {
- el.addEventListener('click', _this62._handleIndicatorClickBound);
- });
- }
-
- // Resize
- var throttledResize = M.throttle(this._handleResize, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
-
- window.addEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this63 = this;
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.el.removeEventListener('touchstart', this._handleCarouselTapBound);
- this.el.removeEventListener('touchmove', this._handleCarouselDragBound);
- this.el.removeEventListener('touchend', this._handleCarouselReleaseBound);
- }
- this.el.removeEventListener('mousedown', this._handleCarouselTapBound);
- this.el.removeEventListener('mousemove', this._handleCarouselDragBound);
- this.el.removeEventListener('mouseup', this._handleCarouselReleaseBound);
- this.el.removeEventListener('mouseleave', this._handleCarouselReleaseBound);
- this.el.removeEventListener('click', this._handleCarouselClickBound);
-
- if (this.showIndicators && this.$indicators) {
- this.$indicators.find('.indicator-item').each(function (el, i) {
- el.removeEventListener('click', _this63._handleIndicatorClickBound);
- });
- }
-
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Handle Carousel Tap
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselTap",
- value: function _handleCarouselTap(e) {
- // Fixes firefox draggable image bug
- if (e.type === 'mousedown' && $(e.target).is('img')) {
- e.preventDefault();
- }
- this.pressed = true;
- this.dragged = false;
- this.verticalDragged = false;
- this.reference = this._xpos(e);
- this.referenceY = this._ypos(e);
-
- this.velocity = this.amplitude = 0;
- this.frame = this.offset;
- this.timestamp = Date.now();
- clearInterval(this.ticker);
- this.ticker = setInterval(this._trackBound, 100);
- }
-
- /**
- * Handle Carousel Drag
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselDrag",
- value: function _handleCarouselDrag(e) {
- var x = void 0,
- y = void 0,
- delta = void 0,
- deltaY = void 0;
- if (this.pressed) {
- x = this._xpos(e);
- y = this._ypos(e);
- delta = this.reference - x;
- deltaY = Math.abs(this.referenceY - y);
- if (deltaY < 30 && !this.verticalDragged) {
- // If vertical scrolling don't allow dragging.
- if (delta > 2 || delta < -2) {
- this.dragged = true;
- this.reference = x;
- this._scroll(this.offset + delta);
- }
- } else if (this.dragged) {
- // If dragging don't allow vertical scroll.
- e.preventDefault();
- e.stopPropagation();
- return false;
- } else {
- // Vertical scrolling.
- this.verticalDragged = true;
- }
- }
-
- if (this.dragged) {
- // If dragging don't allow vertical scroll.
- e.preventDefault();
- e.stopPropagation();
- return false;
- }
- }
-
- /**
- * Handle Carousel Release
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselRelease",
- value: function _handleCarouselRelease(e) {
- if (this.pressed) {
- this.pressed = false;
- } else {
- return;
- }
-
- clearInterval(this.ticker);
- this.target = this.offset;
- if (this.velocity > 10 || this.velocity < -10) {
- this.amplitude = 0.9 * this.velocity;
- this.target = this.offset + this.amplitude;
- }
- this.target = Math.round(this.target / this.dim) * this.dim;
-
- // No wrap of items.
- if (this.noWrap) {
- if (this.target >= this.dim * (this.count - 1)) {
- this.target = this.dim * (this.count - 1);
- } else if (this.target < 0) {
- this.target = 0;
- }
- }
- this.amplitude = this.target - this.offset;
- this.timestamp = Date.now();
- requestAnimationFrame(this._autoScrollBound);
-
- if (this.dragged) {
- e.preventDefault();
- e.stopPropagation();
- }
- return false;
- }
-
- /**
- * Handle Carousel CLick
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselClick",
- value: function _handleCarouselClick(e) {
- // Disable clicks if carousel was dragged.
- if (this.dragged) {
- e.preventDefault();
- e.stopPropagation();
- return false;
- } else if (!this.options.fullWidth) {
- var clickedIndex = $(e.target).closest('.carousel-item').index();
- var diff = this._wrap(this.center) - clickedIndex;
-
- // Disable clicks if carousel was shifted by click
- if (diff !== 0) {
- e.preventDefault();
- e.stopPropagation();
- }
- this._cycleTo(clickedIndex);
- }
- }
-
- /**
- * Handle Indicator CLick
- * @param {Event} e
- */
-
- }, {
- key: "_handleIndicatorClick",
- value: function _handleIndicatorClick(e) {
- e.stopPropagation();
-
- var indicator = $(e.target).closest('.indicator-item');
- if (indicator.length) {
- this._cycleTo(indicator.index());
- }
- }
-
- /**
- * Handle Throttle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleResize",
- value: function _handleResize(e) {
- if (this.options.fullWidth) {
- this.itemWidth = this.$el.find('.carousel-item').first().innerWidth();
- this.imageHeight = this.$el.find('.carousel-item.active').height();
- this.dim = this.itemWidth * 2 + this.options.padding;
- this.offset = this.center * 2 * this.itemWidth;
- this.target = this.offset;
- this._setCarouselHeight(true);
- } else {
- this._scroll();
- }
- }
-
- /**
- * Set carousel height based on first slide
- * @param {Booleam} imageOnly - true for image slides
- */
-
- }, {
- key: "_setCarouselHeight",
- value: function _setCarouselHeight(imageOnly) {
- var _this64 = this;
-
- var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first();
- var firstImage = firstSlide.find('img').first();
- if (firstImage.length) {
- if (firstImage[0].complete) {
- // If image won't trigger the load event
- var imageHeight = firstImage.height();
- if (imageHeight > 0) {
- this.$el.css('height', imageHeight + 'px');
- } else {
- // If image still has no height, use the natural dimensions to calculate
- var naturalWidth = firstImage[0].naturalWidth;
- var naturalHeight = firstImage[0].naturalHeight;
- var adjustedHeight = this.$el.width() / naturalWidth * naturalHeight;
- this.$el.css('height', adjustedHeight + 'px');
- }
- } else {
- // Get height when image is loaded normally
- firstImage.one('load', function (el, i) {
- _this64.$el.css('height', el.offsetHeight + 'px');
- });
- }
- } else if (!imageOnly) {
- var slideHeight = firstSlide.height();
- this.$el.css('height', slideHeight + 'px');
- }
- }
-
- /**
- * Get x position from event
- * @param {Event} e
- */
-
- }, {
- key: "_xpos",
- value: function _xpos(e) {
- // touch event
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientX;
- }
-
- // mouse event
- return e.clientX;
- }
-
- /**
- * Get y position from event
- * @param {Event} e
- */
-
- }, {
- key: "_ypos",
- value: function _ypos(e) {
- // touch event
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientY;
- }
-
- // mouse event
- return e.clientY;
- }
-
- /**
- * Wrap index
- * @param {Number} x
- */
-
- }, {
- key: "_wrap",
- value: function _wrap(x) {
- return x >= this.count ? x % this.count : x < 0 ? this._wrap(this.count + x % this.count) : x;
- }
-
- /**
- * Tracks scrolling information
- */
-
- }, {
- key: "_track",
- value: function _track() {
- var now = void 0,
- elapsed = void 0,
- delta = void 0,
- v = void 0;
-
- now = Date.now();
- elapsed = now - this.timestamp;
- this.timestamp = now;
- delta = this.offset - this.frame;
- this.frame = this.offset;
-
- v = 1000 * delta / (1 + elapsed);
- this.velocity = 0.8 * v + 0.2 * this.velocity;
- }
-
- /**
- * Auto scrolls to nearest carousel item.
- */
-
- }, {
- key: "_autoScroll",
- value: function _autoScroll() {
- var elapsed = void 0,
- delta = void 0;
-
- if (this.amplitude) {
- elapsed = Date.now() - this.timestamp;
- delta = this.amplitude * Math.exp(-elapsed / this.options.duration);
- if (delta > 2 || delta < -2) {
- this._scroll(this.target - delta);
- requestAnimationFrame(this._autoScrollBound);
- } else {
- this._scroll(this.target);
- }
- }
- }
-
- /**
- * Scroll to target
- * @param {Number} x
- */
-
- }, {
- key: "_scroll",
- value: function _scroll(x) {
- var _this65 = this;
-
- // Track scrolling state
- if (!this.$el.hasClass('scrolling')) {
- this.el.classList.add('scrolling');
- }
- if (this.scrollingTimeout != null) {
- window.clearTimeout(this.scrollingTimeout);
- }
- this.scrollingTimeout = window.setTimeout(function () {
- _this65.$el.removeClass('scrolling');
- }, this.options.duration);
-
- // Start actual scroll
- var i = void 0,
- half = void 0,
- delta = void 0,
- dir = void 0,
- tween = void 0,
- el = void 0,
- alignment = void 0,
- zTranslation = void 0,
- tweenedOpacity = void 0,
- centerTweenedOpacity = void 0;
- var lastCenter = this.center;
- var numVisibleOffset = 1 / this.options.numVisible;
-
- this.offset = typeof x === 'number' ? x : this.offset;
- this.center = Math.floor((this.offset + this.dim / 2) / this.dim);
- delta = this.offset - this.center * this.dim;
- dir = delta < 0 ? 1 : -1;
- tween = -dir * delta * 2 / this.dim;
- half = this.count >> 1;
-
- if (this.options.fullWidth) {
- alignment = 'translateX(0)';
- centerTweenedOpacity = 1;
- } else {
- alignment = 'translateX(' + (this.el.clientWidth - this.itemWidth) / 2 + 'px) ';
- alignment += 'translateY(' + (this.el.clientHeight - this.itemHeight) / 2 + 'px)';
- centerTweenedOpacity = 1 - numVisibleOffset * tween;
- }
-
- // Set indicator active
- if (this.showIndicators) {
- var diff = this.center % this.count;
- var activeIndicator = this.$indicators.find('.indicator-item.active');
- if (activeIndicator.index() !== diff) {
- activeIndicator.removeClass('active');
- this.$indicators.find('.indicator-item').eq(diff)[0].classList.add('active');
- }
- }
-
- // center
- // Don't show wrapped items.
- if (!this.noWrap || this.center >= 0 && this.center < this.count) {
- el = this.images[this._wrap(this.center)];
-
- // Add active class to center item.
- if (!$(el).hasClass('active')) {
- this.$el.find('.carousel-item').removeClass('active');
- el.classList.add('active');
- }
- var transformString = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween * i + "px) translateZ(" + this.options.dist * tween + "px)";
- this._updateItemStyle(el, centerTweenedOpacity, 0, transformString);
- }
-
- for (i = 1; i <= half; ++i) {
- // right side
- if (this.options.fullWidth) {
- zTranslation = this.options.dist;
- tweenedOpacity = i === half && delta < 0 ? 1 - tween : 1;
- } else {
- zTranslation = this.options.dist * (i * 2 + tween * dir);
- tweenedOpacity = 1 - numVisibleOffset * (i * 2 + tween * dir);
- }
- // Don't show wrapped items.
- if (!this.noWrap || this.center + i < this.count) {
- el = this.images[this._wrap(this.center + i)];
- var _transformString = alignment + " translateX(" + (this.options.shift + (this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
- this._updateItemStyle(el, tweenedOpacity, -i, _transformString);
- }
-
- // left side
- if (this.options.fullWidth) {
- zTranslation = this.options.dist;
- tweenedOpacity = i === half && delta > 0 ? 1 - tween : 1;
- } else {
- zTranslation = this.options.dist * (i * 2 - tween * dir);
- tweenedOpacity = 1 - numVisibleOffset * (i * 2 - tween * dir);
- }
- // Don't show wrapped items.
- if (!this.noWrap || this.center - i >= 0) {
- el = this.images[this._wrap(this.center - i)];
- var _transformString2 = alignment + " translateX(" + (-this.options.shift + (-this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
- this._updateItemStyle(el, tweenedOpacity, -i, _transformString2);
- }
- }
-
- // center
- // Don't show wrapped items.
- if (!this.noWrap || this.center >= 0 && this.center < this.count) {
- el = this.images[this._wrap(this.center)];
- var _transformString3 = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween + "px) translateZ(" + this.options.dist * tween + "px)";
- this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3);
- }
-
- // onCycleTo callback
- var $currItem = this.$el.find('.carousel-item').eq(this._wrap(this.center));
- if (lastCenter !== this.center && typeof this.options.onCycleTo === 'function') {
- this.options.onCycleTo.call(this, $currItem[0], this.dragged);
- }
-
- // One time callback
- if (typeof this.oneTimeCallback === 'function') {
- this.oneTimeCallback.call(this, $currItem[0], this.dragged);
- this.oneTimeCallback = null;
- }
- }
-
- /**
- * Cycle to target
- * @param {Element} el
- * @param {Number} opacity
- * @param {Number} zIndex
- * @param {String} transform
- */
-
- }, {
- key: "_updateItemStyle",
- value: function _updateItemStyle(el, opacity, zIndex, transform) {
- el.style[this.xform] = transform;
- el.style.zIndex = zIndex;
- el.style.opacity = opacity;
- el.style.visibility = 'visible';
- }
-
- /**
- * Cycle to target
- * @param {Number} n
- * @param {Function} callback
- */
-
- }, {
- key: "_cycleTo",
- value: function _cycleTo(n, callback) {
- var diff = this.center % this.count - n;
-
- // Account for wraparound.
- if (!this.noWrap) {
- if (diff < 0) {
- if (Math.abs(diff + this.count) < Math.abs(diff)) {
- diff += this.count;
- }
- } else if (diff > 0) {
- if (Math.abs(diff - this.count) < diff) {
- diff -= this.count;
- }
- }
- }
-
- this.target = this.dim * Math.round(this.offset / this.dim);
- // Next
- if (diff < 0) {
- this.target += this.dim * Math.abs(diff);
-
- // Prev
- } else if (diff > 0) {
- this.target -= this.dim * diff;
- }
-
- // Set one time callback
- if (typeof callback === 'function') {
- this.oneTimeCallback = callback;
- }
-
- // Scroll
- if (this.offset !== this.target) {
- this.amplitude = this.target - this.offset;
- this.timestamp = Date.now();
- requestAnimationFrame(this._autoScrollBound);
- }
- }
-
- /**
- * Cycle to next item
- * @param {Number} [n]
- */
-
- }, {
- key: "next",
- value: function next(n) {
- if (n === undefined || isNaN(n)) {
- n = 1;
- }
-
- var index = this.center + n;
- if (index > this.count || index < 0) {
- if (this.noWrap) {
- return;
- }
-
- index = this._wrap(index);
- }
- this._cycleTo(index);
- }
-
- /**
- * Cycle to previous item
- * @param {Number} [n]
- */
-
- }, {
- key: "prev",
- value: function prev(n) {
- if (n === undefined || isNaN(n)) {
- n = 1;
- }
-
- var index = this.center - n;
- if (index > this.count || index < 0) {
- if (this.noWrap) {
- return;
- }
-
- index = this._wrap(index);
- }
-
- this._cycleTo(index);
- }
-
- /**
- * Cycle to nth item
- * @param {Number} [n]
- * @param {Function} callback
- */
-
- }, {
- key: "set",
- value: function set(n, callback) {
- if (n === undefined || isNaN(n)) {
- n = 0;
- }
-
- if (n > this.count || n < 0) {
- if (this.noWrap) {
- return;
- }
-
- n = this._wrap(n);
- }
-
- this._cycleTo(n, callback);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Carousel.__proto__ || Object.getPrototypeOf(Carousel), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Carousel;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Carousel;
- }(Component);
-
- M.Carousel = Carousel;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Carousel, 'carousel', 'M_Carousel');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- onOpen: undefined,
- onClose: undefined
- };
-
- /**
- * @class
- *
- */
-
- var TapTarget = function (_Component19) {
- _inherits(TapTarget, _Component19);
-
- /**
- * Construct TapTarget instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function TapTarget(el, options) {
- _classCallCheck(this, TapTarget);
-
- var _this66 = _possibleConstructorReturn(this, (TapTarget.__proto__ || Object.getPrototypeOf(TapTarget)).call(this, TapTarget, el, options));
-
- _this66.el.M_TapTarget = _this66;
-
- /**
- * Options for the select
- * @member TapTarget#options
- * @prop {Function} onOpen - Callback function called when feature discovery is opened
- * @prop {Function} onClose - Callback function called when feature discovery is closed
- */
- _this66.options = $.extend({}, TapTarget.defaults, options);
-
- _this66.isOpen = false;
-
- // setup
- _this66.$origin = $('#' + _this66.$el.attr('data-target'));
- _this66._setup();
-
- _this66._calculatePositioning();
- _this66._setupEventHandlers();
- return _this66;
- }
-
- _createClass(TapTarget, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.TapTarget = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleDocumentClickBound = this._handleDocumentClick.bind(this);
- this._handleTargetClickBound = this._handleTargetClick.bind(this);
- this._handleOriginClickBound = this._handleOriginClick.bind(this);
-
- this.el.addEventListener('click', this._handleTargetClickBound);
- this.originEl.addEventListener('click', this._handleOriginClickBound);
-
- // Resize
- var throttledResize = M.throttle(this._handleResize, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
-
- window.addEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleTargetClickBound);
- this.originEl.removeEventListener('click', this._handleOriginClickBound);
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Handle Target Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTargetClick",
- value: function _handleTargetClick(e) {
- this.open();
- }
-
- /**
- * Handle Origin Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleOriginClick",
- value: function _handleOriginClick(e) {
- this.close();
- }
-
- /**
- * Handle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleResize",
- value: function _handleResize(e) {
- this._calculatePositioning();
- }
-
- /**
- * Handle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- if (!$(e.target).closest('.tap-target-wrapper').length) {
- this.close();
- e.preventDefault();
- e.stopPropagation();
- }
- }
-
- /**
- * Setup Tap Target
- */
-
- }, {
- key: "_setup",
- value: function _setup() {
- // Creating tap target
- this.wrapper = this.$el.parent()[0];
- this.waveEl = $(this.wrapper).find('.tap-target-wave')[0];
- this.originEl = $(this.wrapper).find('.tap-target-origin')[0];
- this.contentEl = this.$el.find('.tap-target-content')[0];
-
- // Creating wrapper
- if (!$(this.wrapper).hasClass('.tap-target-wrapper')) {
- this.wrapper = document.createElement('div');
- this.wrapper.classList.add('tap-target-wrapper');
- this.$el.before($(this.wrapper));
- this.wrapper.append(this.el);
- }
-
- // Creating content
- if (!this.contentEl) {
- this.contentEl = document.createElement('div');
- this.contentEl.classList.add('tap-target-content');
- this.$el.append(this.contentEl);
- }
-
- // Creating foreground wave
- if (!this.waveEl) {
- this.waveEl = document.createElement('div');
- this.waveEl.classList.add('tap-target-wave');
-
- // Creating origin
- if (!this.originEl) {
- this.originEl = this.$origin.clone(true, true);
- this.originEl.addClass('tap-target-origin');
- this.originEl.removeAttr('id');
- this.originEl.removeAttr('style');
- this.originEl = this.originEl[0];
- this.waveEl.append(this.originEl);
- }
-
- this.wrapper.append(this.waveEl);
- }
- }
-
- /**
- * Calculate positioning
- */
-
- }, {
- key: "_calculatePositioning",
- value: function _calculatePositioning() {
- // Element or parent is fixed position?
- var isFixed = this.$origin.css('position') === 'fixed';
- if (!isFixed) {
- var parents = this.$origin.parents();
- for (var i = 0; i < parents.length; i++) {
- isFixed = $(parents[i]).css('position') == 'fixed';
- if (isFixed) {
- break;
- }
- }
- }
-
- // Calculating origin
- var originWidth = this.$origin.outerWidth();
- var originHeight = this.$origin.outerHeight();
- var originTop = isFixed ? this.$origin.offset().top - M.getDocumentScrollTop() : this.$origin.offset().top;
- var originLeft = isFixed ? this.$origin.offset().left - M.getDocumentScrollLeft() : this.$origin.offset().left;
-
- // Calculating screen
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var centerX = windowWidth / 2;
- var centerY = windowHeight / 2;
- var isLeft = originLeft <= centerX;
- var isRight = originLeft > centerX;
- var isTop = originTop <= centerY;
- var isBottom = originTop > centerY;
- var isCenterX = originLeft >= windowWidth * 0.25 && originLeft <= windowWidth * 0.75;
-
- // Calculating tap target
- var tapTargetWidth = this.$el.outerWidth();
- var tapTargetHeight = this.$el.outerHeight();
- var tapTargetTop = originTop + originHeight / 2 - tapTargetHeight / 2;
- var tapTargetLeft = originLeft + originWidth / 2 - tapTargetWidth / 2;
- var tapTargetPosition = isFixed ? 'fixed' : 'absolute';
-
- // Calculating content
- var tapTargetTextWidth = isCenterX ? tapTargetWidth : tapTargetWidth / 2 + originWidth;
- var tapTargetTextHeight = tapTargetHeight / 2;
- var tapTargetTextTop = isTop ? tapTargetHeight / 2 : 0;
- var tapTargetTextBottom = 0;
- var tapTargetTextLeft = isLeft && !isCenterX ? tapTargetWidth / 2 - originWidth : 0;
- var tapTargetTextRight = 0;
- var tapTargetTextPadding = originWidth;
- var tapTargetTextAlign = isBottom ? 'bottom' : 'top';
-
- // Calculating wave
- var tapTargetWaveWidth = originWidth > originHeight ? originWidth * 2 : originWidth * 2;
- var tapTargetWaveHeight = tapTargetWaveWidth;
- var tapTargetWaveTop = tapTargetHeight / 2 - tapTargetWaveHeight / 2;
- var tapTargetWaveLeft = tapTargetWidth / 2 - tapTargetWaveWidth / 2;
-
- // Setting tap target
- var tapTargetWrapperCssObj = {};
- tapTargetWrapperCssObj.top = isTop ? tapTargetTop + 'px' : '';
- tapTargetWrapperCssObj.right = isRight ? windowWidth - tapTargetLeft - tapTargetWidth + 'px' : '';
- tapTargetWrapperCssObj.bottom = isBottom ? windowHeight - tapTargetTop - tapTargetHeight + 'px' : '';
- tapTargetWrapperCssObj.left = isLeft ? tapTargetLeft + 'px' : '';
- tapTargetWrapperCssObj.position = tapTargetPosition;
- $(this.wrapper).css(tapTargetWrapperCssObj);
-
- // Setting content
- $(this.contentEl).css({
- width: tapTargetTextWidth + 'px',
- height: tapTargetTextHeight + 'px',
- top: tapTargetTextTop + 'px',
- right: tapTargetTextRight + 'px',
- bottom: tapTargetTextBottom + 'px',
- left: tapTargetTextLeft + 'px',
- padding: tapTargetTextPadding + 'px',
- verticalAlign: tapTargetTextAlign
- });
-
- // Setting wave
- $(this.waveEl).css({
- top: tapTargetWaveTop + 'px',
- left: tapTargetWaveLeft + 'px',
- width: tapTargetWaveWidth + 'px',
- height: tapTargetWaveHeight + 'px'
- });
- }
-
- /**
- * Open TapTarget
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- // onOpen callback
- if (typeof this.options.onOpen === 'function') {
- this.options.onOpen.call(this, this.$origin[0]);
- }
-
- this.isOpen = true;
- this.wrapper.classList.add('open');
-
- document.body.addEventListener('click', this._handleDocumentClickBound, true);
- document.body.addEventListener('touchend', this._handleDocumentClickBound);
- }
-
- /**
- * Close Tap Target
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- // onClose callback
- if (typeof this.options.onClose === 'function') {
- this.options.onClose.call(this, this.$origin[0]);
- }
-
- this.isOpen = false;
- this.wrapper.classList.remove('open');
-
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- document.body.removeEventListener('touchend', this._handleDocumentClickBound);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(TapTarget.__proto__ || Object.getPrototypeOf(TapTarget), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_TapTarget;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return TapTarget;
- }(Component);
-
- M.TapTarget = TapTarget;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(TapTarget, 'tapTarget', 'M_TapTarget');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- classes: '',
- dropdownOptions: {}
- };
-
- /**
- * @class
- *
- */
-
- var FormSelect = function (_Component20) {
- _inherits(FormSelect, _Component20);
-
- /**
- * Construct FormSelect instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function FormSelect(el, options) {
- _classCallCheck(this, FormSelect);
-
- // Don't init if browser default version
- var _this67 = _possibleConstructorReturn(this, (FormSelect.__proto__ || Object.getPrototypeOf(FormSelect)).call(this, FormSelect, el, options));
-
- if (_this67.$el.hasClass('browser-default')) {
- return _possibleConstructorReturn(_this67);
- }
-
- _this67.el.M_FormSelect = _this67;
-
- /**
- * Options for the select
- * @member FormSelect#options
- */
- _this67.options = $.extend({}, FormSelect.defaults, options);
-
- _this67.isMultiple = _this67.$el.prop('multiple');
-
- // Setup
- _this67.el.tabIndex = -1;
- _this67._keysSelected = {};
- _this67._valueDict = {}; // Maps key to original and generated option element.
- _this67._setupDropdown();
-
- _this67._setupEventHandlers();
- return _this67;
- }
-
- _createClass(FormSelect, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeDropdown();
- this.el.M_FormSelect = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this68 = this;
-
- this._handleSelectChangeBound = this._handleSelectChange.bind(this);
- this._handleOptionClickBound = this._handleOptionClick.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
-
- $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
- el.addEventListener('click', _this68._handleOptionClickBound);
- });
- this.el.addEventListener('change', this._handleSelectChangeBound);
- this.input.addEventListener('click', this._handleInputClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this69 = this;
-
- $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
- el.removeEventListener('click', _this69._handleOptionClickBound);
- });
- this.el.removeEventListener('change', this._handleSelectChangeBound);
- this.input.removeEventListener('click', this._handleInputClickBound);
- }
-
- /**
- * Handle Select Change
- * @param {Event} e
- */
-
- }, {
- key: "_handleSelectChange",
- value: function _handleSelectChange(e) {
- this._setValueToInput();
- }
-
- /**
- * Handle Option Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleOptionClick",
- value: function _handleOptionClick(e) {
- e.preventDefault();
- var option = $(e.target).closest('li')[0];
- var key = option.id;
- if (!$(option).hasClass('disabled') && !$(option).hasClass('optgroup') && key.length) {
- var selected = true;
-
- if (this.isMultiple) {
- // Deselect placeholder option if still selected.
- var placeholderOption = $(this.dropdownOptions).find('li.disabled.selected');
- if (placeholderOption.length) {
- placeholderOption.removeClass('selected');
- placeholderOption.find('input[type="checkbox"]').prop('checked', false);
- this._toggleEntryFromArray(placeholderOption[0].id);
- }
- selected = this._toggleEntryFromArray(key);
- } else {
- $(this.dropdownOptions).find('li').removeClass('selected');
- $(option).toggleClass('selected', selected);
- }
-
- // Set selected on original select option
- $(this._valueDict[key].el).prop('selected', selected);
- this.$el.trigger('change');
- }
-
- e.stopPropagation();
- }
-
- /**
- * Handle Input Click
- */
-
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- if (this.dropdown && this.dropdown.isOpen) {
- this._setValueToInput();
- this._setSelectedStates();
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupDropdown",
- value: function _setupDropdown() {
- var _this70 = this;
-
- this.wrapper = document.createElement('div');
- $(this.wrapper).addClass('select-wrapper ' + this.options.classes);
- this.$el.before($(this.wrapper));
- this.wrapper.appendChild(this.el);
-
- if (this.el.disabled) {
- this.wrapper.classList.add('disabled');
- }
-
- // Create dropdown
- this.$selectOptions = this.$el.children('option, optgroup');
- this.dropdownOptions = document.createElement('ul');
- this.dropdownOptions.id = "select-options-" + M.guid();
- $(this.dropdownOptions).addClass('dropdown-content select-dropdown ' + (this.isMultiple ? 'multiple-select-dropdown' : ''));
-
- // Create dropdown structure.
- if (this.$selectOptions.length) {
- this.$selectOptions.each(function (el) {
- if ($(el).is('option')) {
- // Direct descendant option.
- var optionEl = void 0;
- if (_this70.isMultiple) {
- optionEl = _this70._appendOptionWithIcon(_this70.$el, el, 'multiple');
- } else {
- optionEl = _this70._appendOptionWithIcon(_this70.$el, el);
- }
-
- _this70._addOptionToValueDict(el, optionEl);
- } else if ($(el).is('optgroup')) {
- // Optgroup.
- var selectOptions = $(el).children('option');
- $(_this70.dropdownOptions).append($('' + el.getAttribute('label') + ' ')[0]);
-
- selectOptions.each(function (el) {
- var optionEl = _this70._appendOptionWithIcon(_this70.$el, el, 'optgroup-option');
- _this70._addOptionToValueDict(el, optionEl);
- });
- }
- });
- }
-
- this.$el.after(this.dropdownOptions);
-
- // Add input dropdown
- this.input = document.createElement('input');
- $(this.input).addClass('select-dropdown dropdown-trigger');
- this.input.setAttribute('type', 'text');
- this.input.setAttribute('readonly', 'true');
- this.input.setAttribute('data-target', this.dropdownOptions.id);
- if (this.el.disabled) {
- $(this.input).prop('disabled', 'true');
- }
-
- this.$el.before(this.input);
- this._setValueToInput();
-
- // Add caret
- var dropdownIcon = $(' ');
- this.$el.before(dropdownIcon[0]);
-
- // Initialize dropdown
- if (!this.el.disabled) {
- var dropdownOptions = $.extend({}, this.options.dropdownOptions);
-
- // Add callback for centering selected option when dropdown content is scrollable
- dropdownOptions.onOpenEnd = function (el) {
- var selectedOption = $(_this70.dropdownOptions).find('.selected').first();
- if (_this70.dropdown.isScrollable && selectedOption.length) {
- var scrollOffset = selectedOption[0].getBoundingClientRect().top - _this70.dropdownOptions.getBoundingClientRect().top; // scroll to selected option
- scrollOffset -= _this70.dropdownOptions.clientHeight / 2; // center in dropdown
- _this70.dropdownOptions.scrollTop = scrollOffset;
- }
- };
-
- if (this.isMultiple) {
- dropdownOptions.closeOnClick = false;
- }
- this.dropdown = M.Dropdown.init(this.input, dropdownOptions);
- }
-
- // Add initial selections
- this._setSelectedStates();
- }
-
- /**
- * Add option to value dict
- * @param {Element} el original option element
- * @param {Element} optionEl generated option element
- */
-
- }, {
- key: "_addOptionToValueDict",
- value: function _addOptionToValueDict(el, optionEl) {
- var index = Object.keys(this._valueDict).length;
- var key = this.dropdownOptions.id + index;
- var obj = {};
- optionEl.id = key;
-
- obj.el = el;
- obj.optionEl = optionEl;
- this._valueDict[key] = obj;
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeDropdown",
- value: function _removeDropdown() {
- $(this.wrapper).find('.caret').remove();
- $(this.input).remove();
- $(this.dropdownOptions).remove();
- $(this.wrapper).before(this.$el);
- $(this.wrapper).remove();
- }
-
- /**
- * Setup dropdown
- * @param {Element} select select element
- * @param {Element} option option element from select
- * @param {String} type
- * @return {Element} option element added
- */
-
- }, {
- key: "_appendOptionWithIcon",
- value: function _appendOptionWithIcon(select, option, type) {
- // Add disabled attr if disabled
- var disabledClass = option.disabled ? 'disabled ' : '';
- var optgroupClass = type === 'optgroup-option' ? 'optgroup-option ' : '';
- var multipleCheckbox = this.isMultiple ? "" + option.innerHTML + " " : option.innerHTML;
- var liEl = $(' ');
- var spanEl = $(' ');
- spanEl.html(multipleCheckbox);
- liEl.addClass(disabledClass + " " + optgroupClass);
- liEl.append(spanEl);
-
- // add icons
- var iconUrl = option.getAttribute('data-icon');
- if (!!iconUrl) {
- var imgEl = $(" ");
- liEl.prepend(imgEl);
- }
-
- // Check for multiple type.
- $(this.dropdownOptions).append(liEl[0]);
- return liEl[0];
- }
-
- /**
- * Toggle entry from option
- * @param {String} key Option key
- * @return {Boolean} if entry was added or removed
- */
-
- }, {
- key: "_toggleEntryFromArray",
- value: function _toggleEntryFromArray(key) {
- var notAdded = !this._keysSelected.hasOwnProperty(key);
- var $optionLi = $(this._valueDict[key].optionEl);
-
- if (notAdded) {
- this._keysSelected[key] = true;
- } else {
- delete this._keysSelected[key];
- }
-
- $optionLi.toggleClass('selected', notAdded);
-
- // Set checkbox checked value
- $optionLi.find('input[type="checkbox"]').prop('checked', notAdded);
-
- // use notAdded instead of true (to detect if the option is selected or not)
- $optionLi.prop('selected', notAdded);
-
- return notAdded;
- }
-
- /**
- * Set text value to input
- */
-
- }, {
- key: "_setValueToInput",
- value: function _setValueToInput() {
- var values = [];
- var options = this.$el.find('option');
-
- options.each(function (el) {
- if ($(el).prop('selected')) {
- var text = $(el).text();
- values.push(text);
- }
- });
-
- if (!values.length) {
- var firstDisabled = this.$el.find('option:disabled').eq(0);
- if (firstDisabled.length && firstDisabled[0].value === '') {
- values.push(firstDisabled.text());
- }
- }
-
- this.input.value = values.join(', ');
- }
-
- /**
- * Set selected state of dropdown to match actual select element
- */
-
- }, {
- key: "_setSelectedStates",
- value: function _setSelectedStates() {
- this._keysSelected = {};
-
- for (var key in this._valueDict) {
- var option = this._valueDict[key];
- var optionIsSelected = $(option.el).prop('selected');
- $(option.optionEl).find('input[type="checkbox"]').prop('checked', optionIsSelected);
- if (optionIsSelected) {
- this._activateOption($(this.dropdownOptions), $(option.optionEl));
- this._keysSelected[key] = true;
- } else {
- $(option.optionEl).removeClass('selected');
- }
- }
- }
-
- /**
- * Make option as selected and scroll to selected position
- * @param {jQuery} collection Select options jQuery element
- * @param {Element} newOption element of the new option
- */
-
- }, {
- key: "_activateOption",
- value: function _activateOption(collection, newOption) {
- if (newOption) {
- if (!this.isMultiple) {
- collection.find('li.selected').removeClass('selected');
- }
- var option = $(newOption);
- option.addClass('selected');
- }
- }
-
- /**
- * Get Selected Values
- * @return {Array} Array of selected values
- */
-
- }, {
- key: "getSelectedValues",
- value: function getSelectedValues() {
- var selectedValues = [];
- for (var key in this._keysSelected) {
- selectedValues.push(this._valueDict[key].el.value);
- }
- return selectedValues;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(FormSelect.__proto__ || Object.getPrototypeOf(FormSelect), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_FormSelect;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return FormSelect;
- }(Component);
-
- M.FormSelect = FormSelect;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(FormSelect, 'formSelect', 'M_FormSelect');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {};
-
- /**
- * @class
- *
- */
-
- var Range = function (_Component21) {
- _inherits(Range, _Component21);
-
- /**
- * Construct Range instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Range(el, options) {
- _classCallCheck(this, Range);
-
- var _this71 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options));
-
- _this71.el.M_Range = _this71;
-
- /**
- * Options for the range
- * @member Range#options
- */
- _this71.options = $.extend({}, Range.defaults, options);
-
- _this71._mousedown = false;
-
- // Setup
- _this71._setupThumb();
-
- _this71._setupEventHandlers();
- return _this71;
- }
-
- _createClass(Range, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeThumb();
- this.el.M_Range = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleRangeChangeBound = this._handleRangeChange.bind(this);
- this._handleRangeMousedownTouchstartBound = this._handleRangeMousedownTouchstart.bind(this);
- this._handleRangeInputMousemoveTouchmoveBound = this._handleRangeInputMousemoveTouchmove.bind(this);
- this._handleRangeMouseupTouchendBound = this._handleRangeMouseupTouchend.bind(this);
- this._handleRangeBlurMouseoutTouchleaveBound = this._handleRangeBlurMouseoutTouchleave.bind(this);
-
- this.el.addEventListener('change', this._handleRangeChangeBound);
-
- this.el.addEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
- this.el.addEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
-
- this.el.addEventListener('input', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.addEventListener('mousemove', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.addEventListener('touchmove', this._handleRangeInputMousemoveTouchmoveBound);
-
- this.el.addEventListener('mouseup', this._handleRangeMouseupTouchendBound);
- this.el.addEventListener('touchend', this._handleRangeMouseupTouchendBound);
-
- this.el.addEventListener('blur', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.addEventListener('mouseout', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.addEventListener('touchleave', this._handleRangeBlurMouseoutTouchleaveBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('change', this._handleRangeChangeBound);
-
- this.el.removeEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
- this.el.removeEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
-
- this.el.removeEventListener('input', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.removeEventListener('mousemove', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.removeEventListener('touchmove', this._handleRangeInputMousemoveTouchmoveBound);
-
- this.el.removeEventListener('mouseup', this._handleRangeMouseupTouchendBound);
- this.el.removeEventListener('touchend', this._handleRangeMouseupTouchendBound);
-
- this.el.removeEventListener('blur', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.removeEventListener('mouseout', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.removeEventListener('touchleave', this._handleRangeBlurMouseoutTouchleaveBound);
- }
-
- /**
- * Handle Range Change
- * @param {Event} e
- */
-
- }, {
- key: "_handleRangeChange",
- value: function _handleRangeChange() {
- $(this.value).html(this.$el.val());
-
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- }
-
- /**
- * Handle Range Mousedown and Touchstart
- * @param {Event} e
- */
-
- }, {
- key: "_handleRangeMousedownTouchstart",
- value: function _handleRangeMousedownTouchstart(e) {
- // Set indicator value
- $(this.value).html(this.$el.val());
-
- this._mousedown = true;
- this.$el.addClass('active');
-
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- if (e.type !== 'input') {
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- }
- }
-
- /**
- * Handle Range Input, Mousemove and Touchmove
- */
-
- }, {
- key: "_handleRangeInputMousemoveTouchmove",
- value: function _handleRangeInputMousemoveTouchmove() {
- if (this._mousedown) {
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- $(this.value).html(this.$el.val());
- }
- }
-
- /**
- * Handle Range Mouseup and Touchend
- */
-
- }, {
- key: "_handleRangeMouseupTouchend",
- value: function _handleRangeMouseupTouchend() {
- this._mousedown = false;
- this.$el.removeClass('active');
- }
-
- /**
- * Handle Range Blur, Mouseout and Touchleave
- */
-
- }, {
- key: "_handleRangeBlurMouseoutTouchleave",
- value: function _handleRangeBlurMouseoutTouchleave() {
- if (!this._mousedown) {
- var paddingLeft = parseInt(this.$el.css('padding-left'));
- var marginLeft = 7 + paddingLeft + 'px';
-
- if ($(this.thumb).hasClass('active')) {
- anim.remove(this.thumb);
- anim({
- targets: this.thumb,
- height: 0,
- width: 0,
- top: 10,
- easing: 'easeOutQuad',
- marginLeft: marginLeft,
- duration: 100
- });
- }
- $(this.thumb).removeClass('active');
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupThumb",
- value: function _setupThumb() {
- this.thumb = document.createElement('span');
- this.value = document.createElement('span');
- $(this.thumb).addClass('thumb');
- $(this.value).addClass('value');
- $(this.thumb).append(this.value);
- this.$el.after(this.thumb);
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeThumb",
- value: function _removeThumb() {
- $(this.thumb).remove();
- }
-
- /**
- * morph thumb into bubble
- */
-
- }, {
- key: "_showRangeBubble",
- value: function _showRangeBubble() {
- var paddingLeft = parseInt($(this.thumb).parent().css('padding-left'));
- var marginLeft = -7 + paddingLeft + 'px'; // TODO: fix magic number?
- anim.remove(this.thumb);
- anim({
- targets: this.thumb,
- height: 30,
- width: 30,
- top: -30,
- marginLeft: marginLeft,
- duration: 300,
- easing: 'easeOutQuint'
- });
- }
-
- /**
- * Calculate the offset of the thumb
- * @return {Number} offset in pixels
- */
-
- }, {
- key: "_calcRangeOffset",
- value: function _calcRangeOffset() {
- var width = this.$el.width() - 15;
- var max = parseFloat(this.$el.attr('max')) || 100; // Range default max
- var min = parseFloat(this.$el.attr('min')) || 0; // Range default min
- var percent = (parseFloat(this.$el.val()) - min) / (max - min);
- return percent * width;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Range.__proto__ || Object.getPrototypeOf(Range), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Range;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Range;
- }(Component);
-
- M.Range = Range;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Range, 'range', 'M_Range');
- }
-
- Range.init($('input[type=range]'));
-})(cash, M.anime);
diff --git a/themes/materialize/js/materialize.min.js b/themes/materialize/js/materialize.min.js
deleted file mode 100644
index d4bb20d..0000000
--- a/themes/materialize/js/materialize.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Materialize v1.0.0-rc.1 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;if(void 0!==a)return a.call(n)},_createClass=function(){function t(t,e){for(var i=0;i=0&&a.splice(n,1)):(o(a,function(i){t.removeEventListener(e,i)}),a=[]))}function k(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(/%20/g,"+")}function b(t){var e=[];return o(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null}function w(t){var e=t.selectedIndex;return e>=0?t.options[e].value:null}function C(t){var e=t.type;if(!e)return null;switch(e.toLowerCase()){case"select-one":return w(t);case"select-multiple":return b(t);case"radio":case"checkbox":return t.checked?t.value:null;default:return t.value?t.value:null}}function E(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}function M(t,e,i){var n=A(e);n||!e.length?o(t,n?function(t){return t.insertAdjacentHTML(i?"afterbegin":"beforeend",e)}:function(t,n){return E(t,0===n?e:e.cloneNode(!0),i)}):o(e,function(e){return M(t,e,i)})}var O,x=document,L=window,T=Array.prototype,$=T.slice,B=T.filter,D=T.push,S=function(){},I=function(t){return typeof t==typeof S&&t.call},A=function(t){return"string"==typeof t},R=/^#[\w-]*$/,H=/^\.[\w-]*$/,P=/<.+>/,W=/^\w+$/,j=s.fn=s.prototype=n.prototype={cash:!0,length:0,push:D,splice:T.splice,map:T.map,init:n};Object.defineProperty(j,"constructor",{value:s}),s.parseHTML=e,s.noop=S,s.isFunction=I,s.isString=A,s.extend=j.extend=function(t){t=t||{};var e=$.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n1?this.each(function(i){return i.style[t]=e}):L.getComputedStyle(this[0])[t];for(var i in t)this.css(i,t[i]);return this}}),o(["Width","Height"],function(t){var e=t.toLowerCase();j[e]=function(){return this[0].getBoundingClientRect()[e]},j["inner"+t]=function(){return this[0]["client"+t]},j["outer"+t]=function(e){return this[0]["offset"+t]+(e?g(this,"margin"+("Width"===t?"Left":"Top"))+g(this,"margin"+("Width"===t?"Right":"Bottom")):0)}}),j.extend({off:function(t,e){return this.each(function(i){return y(i,t,e)})},on:function(t,e,n,s){var o;if(!A(t)){for(var r in t)this.on(r,e,t[r]);return this}return I(e)&&(n=e,e=null),"ready"===t?(i(n),this):(e&&(o=n,n=function(t){for(var i=t.target;!a(i,e);){if(i===this||null===i)return i=!1;i=i.parentNode}i&&o.call(i,t)}),this.each(function(e){var i=n;s&&(i=function(){n.apply(this,arguments),y(e,t,i)}),_(e,t,i)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:i,trigger:function(t,e){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),j.extend({serialize:function(){var t="";return o(this[0].elements||this,function(e){if(!e.disabled&&"FIELDSET"!==e.tagName){var i=e.name;switch(e.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var n=C(e);null!==n&&o(n,function(e){t+=k(i,e)});break;default:var s=C(e);null!==s&&(t+=k(i,s))}}}),t.substr(1)},val:function(t){return void 0===t?C(this[0]):this.each(function(e){return e.value=t})}}),j.extend({after:function(t){return s(t).insertAfter(this),this},append:function(t){return M(this,t),this},appendTo:function(t){return M(s(t),this),this},before:function(t){return s(t).insertBefore(this),this},clone:function(){return s(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var e=this;return s(t).each(function(t,i){var n=t.parentNode,s=t.nextSibling;e.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),s)})}),this},insertBefore:function(t){var e=this;return s(t).each(function(t,i){var n=t.parentNode;e.each(function(e){n.insertBefore(0===i?e:e.cloneNode(!0),t)})}),this},prepend:function(t){return M(this,t,!0),this},prependTo:function(t){return M(s(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(t){return void 0===t?this[0].textContent:this.each(function(e){return e.textContent=t})}});var V=x.documentElement;return j.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+L.pageYOffset-V.clientTop,left:t.left+L.pageXOffset-V.clientLeft}},offsetParent:function(){return s(this[0].offsetParent)}}),j.extend({children:function(t){var e=[];return this.each(function(t){D.apply(e,t.children)}),e=l(e),t?e.filter(function(e){return a(e,t)}):e},closest:function(t){return!t||this.length<1?s():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(t){if(!t)return!1;var e=!1,i=r(t);return this.each(function(n){return!(e=i(n,t))}),e},find:function(e){if(!e||e.nodeType)return s(e&&this.has(e).length?e:null);var i=[];return this.each(function(n){D.apply(i,t(e,n))}),l(i)},has:function(e){var i=A(e)?function(i){return 0!==t(e,i).length}:function(t){return t.contains(e)};return this.filter(i)},next:function(){return s(this[0].nextElementSibling)},not:function(t){if(!t)return this;var e=r(t);return this.filter(function(i){return!e(i,t)})},parent:function(){var t=[];return this.each(function(e){e&&e.parentNode&&t.push(e.parentNode)}),l(t)},parents:function(t){var e,i=[];return this.each(function(n){for(e=n;e&&e.parentNode&&e!==x.body.parentNode;)e=e.parentNode,(!t||t&&a(e,t))&&i.push(e)}),l(i)},prev:function(){return s(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),s});var Component=function(){function t(e,i,n){_classCallCheck(this,t),i instanceof Element||console.error(Error(i+" is not an HTML Element"));var s=e.getInstance(i);s&&s.destroy(),this.el=i,this.$el=cash(i)}return _createClass(t,null,[{key:"init",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;os.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(ho-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(t,e,i){var n=void 0,s=void 0,o=void 0,a=null,r=0;i||(i={});var l=function(){r=!1===i.leading?0:getTime(),a=null,o=t.apply(n,s),n=s=null};return function(){var h=getTime();r||!1!==i.leading||(r=h);var d=e-(h-r);return n=this,s=arguments,d<=0?(clearTimeout(a),a=null,r=h,o=t.apply(n,s),n=s=null):a||!1===i.trailing||(a=setTimeout(l,d)),o}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return ei&&(i+=1),1i?e:i<2/3?t+(e-t)*(2/3-i)*6:t}s=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(s[1])/360;var i=parseInt(s[2])/100,n=parseInt(s[3])/100,s=s[4]||1;if(0==i)n=i=t=n;else{var o=.5>n?n*(1+i):n+i-n*i,a=2*n-o,n=e(a,o,t+1/3),i=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*n+","+255*i+","+255*t+","+s+")"}function d(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function u(t){return-1=v.currentTime)for(var k=0;k=p||!e)&&(v.began||(v.began=!0,o("begin")),o("run")),g>r&&g=e&&f!==e||!e)&&(s(e),m||a())),o("update"),t>=e&&(v.remaining?(h=l,"alternate"===v.direction&&(v.reversed=!v.reversed)):(v.pause(),v.completed||(v.completed=!0,o("complete"),"Promise"in window&&(u(),c=i()))),d=0)}t=void 0===t?{}:t;var l,h,d=0,u=null,c=i(),v=B(t);return v.reset=function(){var t=v.direction,e=v.loop;for(v.currentTime=0,v.progress=0,v.paused=!0,v.began=!1,v.completed=!1,v.reversed="reverse"===t,v.remaining="alternate"===t&&1===e?2:e,s(0),t=v.children.length;t--;)v.children[t].reset()},v.tick=function(t){l=t,h||(h=l),r((d+l-h)*D.speed)},v.seek=function(t){r(n(t))},v.pause=function(){var t=F.indexOf(v);-1=e&&0<=n&&1>=n){var o=new Float32Array(11);if(e!==i||n!==s)for(var a=0;11>a;++a)o[a]=t(.1*a,e,n);return function(a){if(e===i&&n===s)return a;if(0===a)return 0;if(1===a)return 1;for(var r=0,l=1;10!==l&&o[l]<=a;++l)r+=.1;var l=r+(a-o[--l])/(o[l+1]-o[l])*.1,h=3*(1-3*n+3*e)*l*l+2*(3*n-6*e)*l+3*e;if(.001<=h){for(r=0;4>r&&0!=(h=3*(1-3*n+3*e)*l*l+2*(3*n-6*e)*l+3*e);++r)var d=t(l,e,n)-a,l=l-d/h;a=l}else if(0===h)a=l;else{var l=r,r=r+.1,u=0;do{0<(h=t(d=l+(r-l)/2,e,n)-a)?r=d:l=d}while(1e-7++u);a=d}return t(a,i,s)}}}}(),W=function(){function t(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var e,i="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),n={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],t],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(e,i){return 1-t(1-e,i)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(e,i){return.5>e?t(2*e,i)/2:1-t(-2*e+2,i)/2}]},s={linear:P(.25,.25,.75,.75)},o={};for(e in n)o.type=e,n[o.type].forEach(function(t){return function(e,n){s["ease"+t.type+i[n]]=H.fnc(e)?e:P.apply($jscomp$this,e)}}(o)),o={type:o.type};return s}(),j={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+"("+i+")")}},F=[],q=0,N=function(){function t(){q=requestAnimationFrame(e)}function e(e){var i=F.length;if(i){for(var n=0;ni&&(e.duration=n.duration),e.children.push(n)}),e.seek(0),e.reset(),e.autoplay&&e.restart(),e},e},D.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},D}),function(t,e){"use strict";var i={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));n.el.M_Collapsible=n,n.options=t.extend({},s.defaults,i),n.$headers=n.$el.children("li").children(".collapsible-header"),n.$headers.attr("tabindex",0),n._setupEventHandlers();var o=n.$el.children("li.active").children(".collapsible-body");return n.options.accordion?o.first().css("display","block"):o.css("display","block"),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var t=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(e){e.addEventListener("keydown",t._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleCollapsibleClickBound)}},{key:"_handleCollapsibleClick",value:function(e){var i=t(e.target).closest(".collapsible-header");if(e.target&&i.length){var n=i.closest(".collapsible");if(n[0]===this.el){var s=i.closest("li"),o=n.children("li"),a=s[0].classList.contains("active"),r=o.index(s);a?this.close(r):this.open(r)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var i=this,n=this.$el.children("li").eq(t);if(n.length){var s=n.children(".collapsible-body");e.remove(s[0]),s.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var o=s.css("padding-top"),a=s.css("padding-bottom"),r=s[0].scrollHeight;s.css({paddingTop:0,paddingBottom:0}),e({targets:s[0],height:r,paddingTop:o,paddingBottom:a,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){s.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof i.options.onOpenEnd&&i.options.onOpenEnd.call(i,n[0])}})}}},{key:"_animateOut",value:function(t){var i=this,n=this.$el.children("li").eq(t);if(n.length){var s=n.children(".collapsible-body");e.remove(s[0]),s.css("overflow","hidden"),e({targets:s[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){s.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof i.options.onCloseEnd&&i.options.onCloseEnd.call(i,n[0])}})}}},{key:"open",value:function(e){var i=this,n=this.$el.children("li").eq(e);if(n.length&&!n[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,n[0]),this.options.accordion){var s=this.$el.children("li");this.$el.children("li.active").each(function(e){var n=s.index(t(e));i.close(n)})}n[0].classList.add("active"),this._animateIn(e)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return i}}]),s}(Component);M.Collapsible=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"collapsible","M_Collapsible")}(cash,M.anime),function(t,e){"use strict";var i={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Dropdown=n,s._dropdowns.push(n),n.id=M.getIdFromTrigger(e),n.dropdownEl=document.getElementById(n.id),n.$dropdownEl=t(n.dropdownEl),n.options=t.extend({},s.defaults,i),n.isOpen=!1,n.isScrollable=!1,n.isTouchMoving=!1,n.focusedIndex=-1,n.filterQuery=[],n.options.container?t(n.options.container).append(n.dropdownEl):n.$el.after(n.dropdownEl),n._makeDropdownFocusable(),n._resetFilterQueryBound=n._resetFilterQuery.bind(n),n._handleDocumentClickBound=n._handleDocumentClick.bind(n),n._handleDocumentTouchmoveBound=n._handleDocumentTouchmove.bind(n),n._handleDropdownClickBound=n._handleDropdownClick.bind(n),n._handleDropdownKeydownBound=n._handleDropdownKeydown.bind(n),n._handleTriggerKeydownBound=n._handleTriggerKeydown.bind(n),n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),s._dropdowns.splice(s._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(e){var i=e.toElement||e.relatedTarget,n=!!t(i).closest(".dropdown-content").length,s=!1,o=t(i).closest(".dropdown-trigger");o.length&&o[0].M_Dropdown&&o[0].M_Dropdown.isOpen&&(s=!0),s||n||this.close()}},{key:"_handleDocumentClick",value:function(e){var i=this,n=t(e.target);this.options.closeOnClick&&n.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){i.close()},0):!n.closest(".dropdown-trigger").length&&n.closest(".dropdown-content").length||setTimeout(function(){i.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(e){t(e.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(e){if("function"==typeof this.options.onItemClick){var i=t(e.target).closest("li")[0];this.options.onItemClick.call(this,i)}}},{key:"_handleDropdownKeydown",value:function(e){if(e.which===M.keys.TAB)e.preventDefault(),this.close();else if(e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||!this.isOpen)if(e.which===M.keys.ENTER&&this.isOpen){var i=this.dropdownEl.children[this.focusedIndex],n=t(i).find("a, button").first();n.length?n[0].click():i.click()}else e.which===M.keys.ESC&&this.isOpen&&(e.preventDefault(),this.close());else{e.preventDefault();var s=e.which===M.keys.ARROW_DOWN?1:-1,o=this.focusedIndex,a=!1;do{if(o+=s,this.dropdownEl.children[o]&&-1!==this.dropdownEl.children[o].tabIndex){a=!0;break}}while(o=0);a&&(this.focusedIndex=o,this._focusFocusedItem())}var r=String.fromCharCode(e.which).toLowerCase(),l=[9,13,27,38,40];if(r&&-1===l.indexOf(e.which)){this.filterQuery.push(r);var h=this.filterQuery.join(""),d=t(this.dropdownEl).find("li").filter(function(e){return 0===t(e).text().toLowerCase().indexOf(h)})[0];d&&(this.focusedIndex=t(d).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,t(this.dropdownEl).children().each(function(t){t.getAttribute("tabindex")||t.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){this.focusedIndex>=0&&this.focusedIndexl.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var t=this;e.remove(this.dropdownEl),e({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(e){if(t.options.autoFocus&&t.dropdownEl.focus(),"function"==typeof t.options.onOpenEnd){var i=e.animatables[0].target;t.options.onOpenEnd.call(i,t.el)}}})}},{key:"_animateOut",value:function(){var t=this;e.remove(this.dropdownEl),e({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(e){if(t._resetDropdownStyles(),"function"==typeof t.options.onCloseEnd){e.animatables[0].target;t.options.onCloseEnd.call(t,t.el)}}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return i}}]),s}(Component);n._dropdowns=[],window.M.Dropdown=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"dropdown","M_Dropdown")}(cash,M.anime),function(t,e){"use strict";var i={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Modal=n,n.options=t.extend({},s.defaults,i),n.isOpen=!1,n.id=n.$el.attr("id"),n._openingTrigger=void 0,n.$overlay=t('
'),n.el.tabIndex=0,n._nthModalOpened=0,s._count++,n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){s._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===s._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===s._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(e){var i=t(e.target).closest(".modal-trigger");if(i.length){var n=M.getIdFromTrigger(i[0]),s=document.getElementById(n).M_Modal;s&&s.open(i),e.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(e){t(e.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==s._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var i=this;t.extend(this.el.style,{display:"block",opacity:0}),t.extend(this.$overlay[0].style,{display:"block",opacity:0}),e({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var n={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof i.options.onOpenEnd&&i.options.onOpenEnd.call(i,i.el,i._openingTrigger)}};this.el.classList.contains("bottom-sheet")?(t.extend(n,{bottom:0,opacity:1}),e(n)):(t.extend(n,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),e(n))}},{key:"_animateOut",value:function(){var i=this;e({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var n={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){i.el.style.display="none",i.$overlay.remove(),"function"==typeof i.options.onCloseEnd&&i.options.onCloseEnd.call(i,i.el)}};this.el.classList.contains("bottom-sheet")?(t.extend(n,{bottom:"-100%",opacity:0}),e(n)):(t.extend(n,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),e(n))}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,s._modalsOpen++,this._nthModalOpened=s._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*s._modalsOpen,this.el.style.zIndex=1e3+2*s._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),e.remove(this.el),e.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,s._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===s._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),e.remove(this.el),e.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return i}}]),s}(Component);n._modalsOpen=0,n._count=0,M.Modal=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"modal","M_Modal")}(cash,M.anime),function(t,e){"use strict";var i={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Materialbox=n,n.options=t.extend({},s.defaults,i),n.overlayActive=!1,n.doneAnimating=!0,n.placeholder=t("
").addClass("material-placeholder"),n.originalWidth=0,n.originalHeight=0,n.originInlineStyles=n.$el.attr("style"),n.caption=n.el.getAttribute("data-caption")||"",n.$el.before(n.placeholder),n.placeholder.append(n.$el),n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=t();for(var e=this.placeholder[0].parentNode;null!==e&&!t(e).is(document);){var i=t(e);"visible"!==i.css("overflow")&&(i.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=i:this.ancestorsChanged=this.ancestorsChanged.add(i)),e=e.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,i={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(i.maxWidth=this.newWidth),"none"!==this.maxHeight&&(i.maxHeight=this.newHeight),e(i)}},{key:"_animateImageOut",value:function(){var t=this,i={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};e(i)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var i=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=t('
').css({opacity:0}).one("click",function(){i.doneAnimating&&i.close()}),this.$el.before(this.$overlay);var n=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*n.left+"px",top:-1*n.top+"px"}),e.remove(this.el),e.remove(this.$overlay[0]),e({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&e.remove(this.$photoCaption[0]),this.$photoCaption=t('
'),this.$photoCaption.text(this.caption),t("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),e({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var s=0,o=this.originalWidth/this.windowWidth,a=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,o>a?(s=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*s):(s=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*s,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),e.remove(this.el),e.remove(this.$overlay[0]),""!==this.caption&&e.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),e({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&e({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.$photoCaption.remove()}})}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:"defaults",get:function(){return i}}]),s}(Component);M.Materialbox=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"materialbox","M_Materialbox")}(cash,M.anime),function(t){"use strict";var e={responsiveThreshold:0},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_Parallax=s,s.options=t.extend({},n.defaults,i),s._enabled=window.innerWidth>s.options.responsiveThreshold,s.$img=s.$el.find("img").first(),s.$img.each(function(){var e=this;e.complete&&t(e).trigger("load")}),s._updateParallax(),s._setupEventHandlers(),s._setupStyles(),n._parallaxes.push(s),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=this.$el.height()>0?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?i>s&&ne.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}(Component);i._parallaxes=[],M.Parallax=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"parallax","M_Parallax")}(cash),function(t,e){"use strict";var i={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Tabs=n,n.options=t.extend({},s.defaults,i),n.$tabLinks=n.$el.children("li.tab").children("a"),n.index=0,n._setTabsAndTabWidth(),n._setupActiveTabLink(),n._createIndicator(),n.options.swipeable?n._setupSwipeableTabs():n._setupNormalTabs(),n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(e){var i=this,n=t(e.target).closest("li.tab"),s=t(e.target).closest("a");if(s.length&&s.parent().hasClass("tab"))if(n.hasClass("disabled"))e.preventDefault();else if(!s.attr("target")){this._setTabsAndTabWidth(),this.$activeTabLink.removeClass("active");var o=this.$content;this.$activeTabLink=s,this.$content=t(M.escapeHash(s[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var a=this.index;this.index=Math.max(this.$tabLinks.index(s),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),o.length&&!o.is(this.$content)&&(o[0].style.display="none",o.removeClass("active"))),this._animateIndicator(a),e.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=t(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=t(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var e=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var i=t();this.$tabLinks.each(function(e){var n=t(M.escapeHash(e.hash));n.addClass("carousel-item"),i=i.add(n)});var n=t('
');i.first().before(n),n.append(i),i[0].style.display="";var s=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(n[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(i){var n=e.index;e.index=t(i).index(),e.$activeTabLink.removeClass("active"),e.$activeTabLink=e.$tabLinks.eq(e.index),e.$activeTabLink.addClass("active"),e._animateIndicator(n),"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}}),this._tabsCarousel.set(s)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(e){if(e.hash){var i=t(M.escapeHash(e.hash));i.length&&(i[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(e){if(e.hash){var i=t(M.escapeHash(e.hash));i.length&&(i[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var i=0,n=0;this.index-t>=0?i=90:n=90;var s={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:i},right:{value:this._calcRightPos(this.$activeTabLink),delay:n},duration:this.options.duration,easing:"easeOutQuad"};e.remove(this._indicator),e(s)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return i}}]),s}(Component);window.M.Tabs=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"tabs","M_Tabs")}(cash,M.anime),function(t,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Tooltip=n,n.options=t.extend({},s.defaults,i),n.isOpen=!1,n.isHovered=!1,n.isFocused=!1,n._appendTooltipEl(),n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){t(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this.options=t.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout())}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(){var t=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(t.isHovered||t.isFocused)&&t._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=void 0,l=this.options.margin,h=void 0,d=void 0;this.xMovement=0,this.yMovement=0,h=e.getBoundingClientRect().top+M.getDocumentScrollTop(),d=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(h+=-o-l,d+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(h+=n/2-o/2,d+=s+l,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(h+=n/2-o/2,d+=-a-l,this.xMovement=-this.options.transitionMovement):(h+=n+l,d+=s/2-a/2,this.yMovement=this.options.transitionMovement),r=this._repositionWithinScreen(d,h,a,o),t(i).css({top:r.y+"px",left:r.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open()}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open())}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),s}(Component);M.Tooltip=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"tooltip","M_Tooltip")}(cash,M.anime),function(t){"use strict";function e(t){return null!==t&&t===t.window}function i(t){return e(t)?t:9===t.nodeType&&t.defaultView}function n(t){var e,n,s={top:0,left:0},o=t&&t.ownerDocument;return e=o.documentElement,void 0!==t.getBoundingClientRect&&(s=t.getBoundingClientRect()),n=i(o),{top:s.top+n.pageYOffset-e.clientTop,left:s.left+n.pageXOffset-e.clientLeft}}function s(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}function o(t){if(!1===d.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){e=i;break}i=i.parentNode}return e}function a(e){var i=o(e);null!==i&&(h.show(e,i),"ontouchstart"in t&&(i.addEventListener("touchend",h.hide,!1),i.addEventListener("touchcancel",h.hide,!1)),i.addEventListener("mouseup",h.hide,!1),i.addEventListener("mouseleave",h.hide,!1),i.addEventListener("dragend",h.hide,!1))}var r=r||{},l=document.querySelectorAll.bind(document),h={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,o=document.createElement("div");o.className="waves-ripple",i.appendChild(o);var a=n(i),r=t.pageY-a.top,l=t.pageX-a.left,d="scale("+i.clientWidth/100*10+")";"touches"in t&&(r=t.touches[0].pageY-a.top,l=t.touches[0].pageX-a.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",d),o.setAttribute("data-x",l),o.setAttribute("data-y",r);var u={top:r+"px",left:l+"px"};o.className=o.className+" waves-notransition",o.setAttribute("style",s(u)),o.className=o.className.replace("waves-notransition",""),u["-webkit-transform"]=d,u["-moz-transform"]=d,u["-ms-transform"]=d,u["-o-transform"]=d,u.transform=d,u.opacity="1",u["-webkit-transition-duration"]=h.duration+"ms",u["-moz-transition-duration"]=h.duration+"ms",u["-o-transition-duration"]=h.duration+"ms",u["transition-duration"]=h.duration+"ms",u["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",u["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",o.setAttribute("style",s(u))},hide:function(t){d.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(n.length>0))return!1;var o=(i=n[n.length-1]).getAttribute("data-x"),a=i.getAttribute("data-y"),r=i.getAttribute("data-scale"),l=350-(Date.now()-Number(i.getAttribute("data-hold")));l<0&&(l=0),setTimeout(function(){var t={top:a+"px",left:o+"px",opacity:"0","-webkit-transition-duration":h.duration+"ms","-moz-transition-duration":h.duration+"ms","-o-transition-duration":h.duration+"ms","transition-duration":h.duration+"ms","-webkit-transform":r,"-moz-transform":r,"-ms-transform":r,"-o-transform":r,transform:r};i.setAttribute("style",s(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},h.duration)},l)},wrapInput:function(t){for(var e=0;e0&&(d.touches-=1)},500):"mousedown"===t.type&&d.touches>0&&(e=!1),e},touchup:function(t){d.allowEvent(t)}};r.displayEffect=function(e){"duration"in(e=e||{})&&(h.duration=e.duration),h.wrapInput(l(".waves-effect")),"ontouchstart"in t&&document.body.addEventListener("touchstart",a,!1),document.body.addEventListener("mousedown",a,!1)},r.attach=function(e){"input"===e.tagName.toLowerCase()&&(h.wrapInput([e]),e=e.parentNode),"ontouchstart"in t&&e.addEventListener("touchstart",a,!1),e.addEventListener("mousedown",a,!1)},t.Waves=r,document.addEventListener("DOMContentLoaded",function(){r.displayEffect()},!1)}(window),function(t,e){"use strict";var i={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},n=function(){function n(e){_classCallCheck(this,n),this.options=t.extend({},n.defaults,e),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===n._toasts.length&&n._createContainer(),n._toasts.push(this);var i=this._createToast();i.M_Toast=this,this.el=i,this.$el=t(i),this._animateIn(),this._setTimer()}return _createClass(n,[{key:"_createToast",value:function(){var e=document.createElement("div");return e.classList.add("toast"),this.options.classes.length&&t(e).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?e.appendChild(this.message):this.message.jquery?t(e).append(this.message[0]):e.innerHTML=this.message,n._container.appendChild(e),e}},{key:"_animateIn",value:function(){e({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var i=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+i+"px)",this.el.style.opacity=0),e({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),n._toasts.splice(n._toasts.indexOf(t),1),0===n._toasts.length&&n._removeContainer()}})}}],[{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",n._onDragStart),t.addEventListener("touchmove",n._onDragMove),t.addEventListener("touchend",n._onDragEnd),t.addEventListener("mousedown",n._onDragStart),document.addEventListener("mousemove",n._onDragMove),document.addEventListener("mouseup",n._onDragEnd),document.body.appendChild(t),n._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",n._onDragMove),document.removeEventListener("mouseup",n._onDragEnd),t(n._container).remove(),n._container=null}},{key:"_onDragStart",value:function(e){if(e.target&&t(e.target).closest(".toast").length){var i=t(e.target).closest(".toast")[0].M_Toast;i.panning=!0,n._draggedToast=i,i.el.classList.add("panning"),i.el.style.transition="",i.startingXPos=n._xPos(e),i.time=Date.now(),i.xPos=n._xPos(e)}}},{key:"_onDragMove",value:function(t){if(n._draggedToast){t.preventDefault();var e=n._draggedToast;e.deltaX=Math.abs(e.xPos-n._xPos(t)),e.xPos=n._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,s=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform="translateX("+i+"px)",e.el.style.opacity=1-Math.abs(i/s)}}},{key:"_onDragEnd",value:function(){if(n._draggedToast){var t=n._draggedToast;t.panning=!1,t.el.classList.remove("panning");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||t.velocityX>1?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),n._draggedToast=null}}},{key:"_xPos",value:function(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientX:t.clientX}},{key:"dismissAll",value:function(){for(var t in n._toasts)n._toasts[t].dismiss()}},{key:"defaults",get:function(){return i}}]),n}();n._toasts=[],n._container=null,n._draggedToast=null,M.Toast=n,M.toast=function(t){return new n(t)}}(cash,M.anime),function(t,e){"use strict";var i={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Sidenav=n,n.id=n.$el.attr("id"),n.options=t.extend({},s.defaults,i),n.isOpen=!1,n.isFixed=n.el.classList.contains("sidenav-fixed"),n.isDragged=!1,n.lastWindowWidth=window.innerWidth,n.lastWindowHeight=window.innerHeight,n._createOverlay(),n._createDragTarget(),n._setupEventHandlers(),n._setupClasses(),n._setupFixed(),s._sidenavs.push(n),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var t=s._sidenavs.indexOf(this);t>=0&&s._sidenavs.splice(t,1)}},{key:"_createOverlay",value:function(){var t=document.createElement("div");this._closeBound=this.close.bind(this),t.classList.add("sidenav-overlay"),t.addEventListener("click",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:"_setupEventHandlers",value:function(){0===s._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===s._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(e){var i=t(e.target).closest(".sidenav-trigger");if(e.target&&i.length){var n=M.getIdFromTrigger(i[0]),s=document.getElementById(n).M_Sidenav;s&&s.open(i),e.preventDefault()}}},{key:"_startDrag",value:function(t){var i=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=i,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,e.remove(this.el),e.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=e>0?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(this.percentOpen>.2?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=e>0?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(this.percentOpen>.8?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(e){t(e.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(window.innerWidth>992?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&window.innerWidth>992}},{key:"_createDragTarget",value:function(){var t=document.createElement("div");t.classList.add("drag-target"),document.body.appendChild(t),this.dragTarget=t}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(e.remove(this.el),e({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+t+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var t=this,i="left"===this.options.edge?-1:1;this.isDragged&&(i="left"===this.options.edge?i+this.percentOpen:i-this.percentOpen),e.remove(this.el),e({targets:this.el,translateX:[100*i+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:"_animateOverlayIn",value:function(){var i=0;this.isDragged?i=this.percentOpen:t(this._overlay).css({display:"block"}),e.remove(this._overlay),e({targets:this._overlay,opacity:[i,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var t=this,i="left"===this.options.edge?-1:1,n=0;this.isDragged&&(n="left"===this.options.edge?i+this.percentOpen:i-this.percentOpen),e.remove(this.el),e({targets:this.el,translateX:[100*n+"%",105*i+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:"_animateOverlayOut",value:function(){var i=this;e.remove(this._overlay),e({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t(i._overlay).css("display","none")}})}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:"defaults",get:function(){return i}}]),s}(Component);n._sidenavs=[],window.M.Sidenav=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"sidenav","M_Sidenav")}(cash,M.anime),function(t,e){"use strict";var i={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(t){return'a[href="#'+t+'"]'}},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_ScrollSpy=n,n.options=t.extend({},s.defaults,i),s._elements.push(n),s._count++,s._increment++,n.tickId=-1,n.id=s._increment,n._setupEventHandlers(),n._handleWindowScroll(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){s._elements.splice(s._elements.indexOf(this),1),s._elementsInView.splice(s._elementsInView.indexOf(this),1),s._visibleElements.splice(s._visibleElements.indexOf(this.$el),1),s._count--,this._removeEventHandlers(),t(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===s._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===s._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(i){for(var n=t(i.target),o=s._elements.length-1;o>=0;o--){var a=s._elements[o];if(n.is('a[href="#'+a.$el.attr("id")+'"]')){i.preventDefault();var r=a.$el.offset().top+1;e({targets:[document.documentElement,document.body],scrollTop:r-a.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){s._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,o=s._findElements(t,i,n,e),a=0;a=0&&d!==s._ticks&&(h._exit(),h.tickId=-1)}s._elementsInView=o}},{key:"_enter",value:function(){s._visibleElements=s._visibleElements.filter(function(t){return 0!=t.height()}),s._visibleElements[0]?(t(this.options.getActiveElement(s._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),s._visibleElements[0][0].M_ScrollSpy&&this.id0){var h=r.$el.offset().top,d=r.$el.offset().left,u=d+r.$el.width(),c=h+r.$el.height();!(d>e||ui||c=0?(s=t(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(s),e.preventDefault()):i!==M.keys.ARROW_UP&&i!==M.keys.ARROW_DOWN||(e.preventDefault(),i===M.keys.ARROW_UP&&this.activeIndex>0&&this.activeIndex--,i===M.keys.ARROW_DOWN&&this.activeIndex=0&&(this.$active=t(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(t){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(t){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(t){this._mousedown=!1}},{key:"_highlight",value:function(t,e){var i=e.find("img"),n=e.text().toLowerCase().indexOf(""+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html(""+o+""+a+" "+r+" "),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){t(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(e,i){var n=this;this._resetAutocomplete();var s=[];for(var o in e)if(e.hasOwnProperty(o)&&-1!==o.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var a={data:e[o],key:o};s.push(a),this.count++}if(this.options.sortFunction){s.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var r=0;r ");l.data?h.append(''+l.key+" "):h.append(""+l.key+" "),t(this.container).append(h),this._highlight(i,h)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),n}(Component);i._keydown=!1,M.Autocomplete=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"autocomplete","M_Autocomplete")}(cash),function(t){M.updateTextFields=function(){t("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(e,i){var n=t(this);e.value.length>0||t(e).is(":focus")||e.autofocus||null!==n.attr("placeholder")?n.siblings("label").addClass("active"):e.validity?n.siblings("label").toggleClass("active",!0===e.validity.badInput):n.siblings("label").removeClass("active")})},M.validate_field=function(t){var e=null!==t.attr("data-length"),i=parseInt(t.attr("data-length")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(":required")?t.hasClass("validate")&&(t.is(":valid")&&e&&n<=i||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid"))):t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid"))},M.textareaAutoResize=function(e){if(e instanceof Element&&(e=t(e)),e.length){var i=t(".hiddendiv").first();i.length||(i=t('
'),t("body").append(i));var n=e.css("font-family"),s=e.css("font-size"),o=e.css("line-height"),a=e.css("padding-top"),r=e.css("padding-right"),l=e.css("padding-bottom"),h=e.css("padding-left");s&&i.css("font-size",s),n&&i.css("font-family",n),o&&i.css("line-height",o),a&&i.css("padding-top",a),r&&i.css("padding-right",r),l&&i.css("padding-bottom",l),h&&i.css("padding-left",h),e.data("original-height")||e.data("original-height",e.height()),"off"===e.attr("wrap")&&i.css("overflow-wrap","normal").css("white-space","pre"),i.text(e[0].value+"\n");var d=i.html().replace(/\n/g," ");i.html(d),e[0].offsetWidth>0&&e[0].offsetHeight>0?i.css("width",e.width()+"px"):i.css("width",window.innerWidth/2+"px"),e.data("original-height")<=i.innerHeight()?e.css("height",i.innerHeight()+"px"):e[0].value.length'),this.$slides.each(function(i,n){var s=t(' ');e.$indicators.append(s[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var i=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var n=this.$active.find(".caption");this.$active.removeClass("active"),e({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){i.$slides.not(".active").each(function(t){e({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(n[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),e({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),e({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return i}}]),s}(Component);M.Slider=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"slider","M_Slider")}(cash,M.anime),function(t,e){t(document).on("click",".card",function(i){if(t(this).children(".card-reveal").length){var n=t(i.target).closest(".card");void 0===n.data("initialOverflow")&&n.data("initialOverflow",void 0===n.css("overflow")?"":n.css("overflow"));var s=t(this).find(".card-reveal");t(i.target).is(t(".card-reveal .card-title"))||t(i.target).is(t(".card-reveal .card-title i"))?e({targets:s[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(e){var i=e.animatables[0].target;t(i).css({display:"none"}),n.css("overflow",n.data("initialOverflow"))}}):(t(i.target).is(t(".card .activator"))||t(i.target).is(t(".card .activator i")))&&(n.css("overflow","hidden"),s.css({display:"block"}),e({targets:s[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(t){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_Chips=s,s.options=t.extend({},n.defaults,i),s.$el.addClass("chips input-field"),s.chipsData=[],s.$chips=t(),s._setupInput(),s.hasAutocomplete=Object.keys(s.options.autocompleteOptions).length>0,s.$input.attr("id")||s.$input.attr("id",M.guid()),s.options.data.length&&(s.chipsData=s.options.data,s._renderChips(s.chipsData)),s.hasAutocomplete&&s._setupAutocomplete(),s._setPlaceholder(),s._setupLabel(),s._setupEventHandlers(),s}return _inherits(n,i),_createClass(n,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",n._handleChipsKeydown),document.addEventListener("keyup",n._handleChipsKeyup),this.el.addEventListener("blur",n._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",n._handleChipsKeydown),document.removeEventListener("keyup",n._handleChipsKeyup),this.el.removeEventListener("blur",n._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(e){var i=t(e.target).closest(".chip"),n=t(e.target).is(".close");if(i.length){var s=i.index();n?(this.deleteChip(s),this.$input[0].focus()):this.selectChip(s)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(t){if(n._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==t.keyCode&&37!==t.keyCode||""!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(e){if(e.tag){var i=document.createElement("div"),n=document.createElement("i");if(i.classList.add("chip"),i.textContent=e.tag,i.setAttribute("tabindex",0),t(n).addClass("material-icons close"),n.textContent="close",e.image){var s=document.createElement("img");s.setAttribute("src",e.image),i.insertBefore(s,i.firstChild)}return i.appendChild(n),i}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var t=0;t"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?t(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&t(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i=this.options.limit)){var i=this._renderChip(e);this.$chips.add(i),this.chipsData.push(e),t(this.$input).before(i),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,i)}}},{key:"deleteChip",value:function(e){var i=this.$chips.eq(e);this.$chips.eq(e).remove(),this.$chips=this.$chips.filter(function(e){return t(e).index()>=0}),this.chipsData.splice(e,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,i[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);this._selectedChip=e,e[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(e){n._keydown=!0;var i=t(e.target).closest(".chips"),s=e.target&&i.length;if(!t(e.target).is("input, textarea")&&s){var o=i[0].M_Chips;if(8===e.keyCode||46===e.keyCode){e.preventDefault();var a=o.chipsData.length;if(o._selectedChip){var r=o._selectedChip.index();o.deleteChip(r),o._selectedChip=null,a=Math.max(r-1,0)}o.chipsData.length&&o.selectChip(a)}else if(37===e.keyCode){if(o._selectedChip){var l=o._selectedChip.index()-1;if(l<0)return;o.selectChip(l)}}else if(39===e.keyCode&&o._selectedChip){var h=o._selectedChip.index()+1;h>=o.chipsData.length?o.$input[0].focus():o.selectChip(h)}}}},{key:"_handleChipsKeyup",value:function(t){n._keydown=!1}},{key:"_handleChipsBlur",value:function(e){n._keydown||(t(e.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),n}(Component);i._keydown=!1,M.Chips=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"chips","M_Chips"),t(document).ready(function(){t(document.body).on("click",".chip .close",function(){var e=t(this).closest(".chips");e.length&&e[0].M_Chips||t(this).closest(".chip").remove()})})}(cash),function(t){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_Pushpin=s,s.options=t.extend({},n.defaults,i),s.originalOffset=s.el.offsetTop,n._pushpins.push(s),s._setupEventHandlers(),s._updatePosition(),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),tthis.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top","pinned","pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins)n._pushpins[t]._updatePosition()}},{key:"defaults",get:function(){return e}}]),n}(Component);i._pushpins=[],M.Pushpin=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"pushpin","M_Pushpin")}(cash),function(t,e){"use strict";var i={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};t.fn.reverse=[].reverse;var n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_FloatingActionButton=n,n.options=t.extend({},s.defaults,i),n.isOpen=!1,n.$anchor=n.$el.children("a").first(),n.$menu=n.$el.children("ul").first(),n.$floatingBtns=n.$el.find("ul .btn-floating"),n.$floatingBtnsReverse=n.$el.find("ul .btn-floating").reverse(),n.offsetY=0,n.offsetX=0,n.$el.addClass("direction-"+n.options.direction),"top"===n.options.direction?n.offsetY=40:"right"===n.options.direction?n.offsetX=-40:"bottom"===n.options.direction?n.offsetY=-40:n.offsetX=40,n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(e){t(e.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var t=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(n){e({targets:n,opacity:1,scale:[.4,1],translateY:[t.offsetY,0],translateX:[t.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var t=this;this.$floatingBtnsReverse.each(function(i){e.remove(i),e({targets:i,opacity:0,scale:.4,translateY:t.offsetY,translateX:t.offsetX,duration:175,easing:"easeOutQuad",complete:function(){t.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var e=this,i=void 0,n=window.innerWidth,s=window.innerHeight,o=this.el.getBoundingClientRect(),a=t('
'),r=this.$anchor.css("background-color");this.$anchor.append(a),this.offsetX=o.left-n/2+o.width/2,this.offsetY=s-o.bottom,i=n/a[0].clientWidth,this.btnBottom=o.bottom,this.btnLeft=o.left,this.btnWidth=o.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),a.css({"background-color":r}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":r}),a.css({transform:"scale("+i+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return i}}]),s}(Component);M.FloatingActionButton=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(t){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));s.el.M_Datepicker=s,s.options=t.extend({},n.defaults,i),i&&i.hasOwnProperty("i18n")&&"object"==typeof i.i18n&&(s.options.i18n=t.extend({},n.defaults.i18n,i.i18n)),s.options.minDate&&s.options.minDate.setHours(0,0,0,0),s.options.maxDate&&s.options.maxDate.setHours(0,0,0,0),s.id=M.guid(),s._setupVariables(),s._insertHTMLIntoDOM(),s._setupModal(),s._setupEventHandlers(),s.options.defaultDate||(s.options.defaultDate=new Date(Date.parse(s.el.value)));var o=s.options.defaultDate;return n._isDate(o)?s.options.setDefaultDate?(s.setDate(o,!0),s.setInputValue()):s.gotoDate(o):s.gotoDate(new Date),s.isOpen=!1,s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),t(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(t(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,n._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),n._isDate(t)){var i=this.options.minDate,s=this.options.maxDate;n._isDate(i)&&ts&&(t=s),this.date=new Date(t.getTime()),this._renderDateDisplay(),n._setToStartOfDay(this.date),this.gotoDate(this.date),e||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var t=n._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],s=e.monthsShort[t.getMonth()],o=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+", "+s+" "+o}},{key:"gotoDate",value:function(t){var e=!0;if(n._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),s=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),o=t.getTime();s.setMonth(s.getMonth()+1),s.setDate(s.getDate()-1),e=o11&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(t,e,i){var s=this.options,o=new Date,a=n._getDaysInMonth(t,e),r=new Date(t,e,1).getDay(),l=[],h=[];n._setToStartOfDay(o),s.firstDay>0&&(r-=s.firstDay)<0&&(r+=7);for(var d=0===e?11:e-1,u=11===e?0:e+1,c=0===e?t-1:t,p=11===e?t+1:t,v=n._getDaysInMonth(c,d),f=a+r,m=f;m>7;)m-=7;f+=7-m;for(var g=!1,_=0,y=0;_=a+r,M=_-r+1,O=e,x=t,L=s.startRange&&n._compareDates(s.startRange,k),T=s.endRange&&n._compareDates(s.endRange,k),$=s.startRange&&s.endRange&&s.startRanges.maxDate||s.disableWeekends&&n._isWeekend(k)||s.disableDayFn&&s.disableDayFn(k);E&&(_';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),''+t.day+" "}},{key:"renderRow",value:function(t,e,i){return''+(e?t.reverse():t).join("")+" "}},{key:"renderTable",value:function(t,e,i){return''+this.renderHead(t)+this.renderBody(e)+"
"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push(''+this.renderDayName(t,e,!0)+" ");return""+(t.isRTL?i.reverse():i).join("")+" "}},{key:"renderBody",value:function(t){return""+t.join("")+" "}},{key:"renderTitle",value:function(e,i,n,s,o,a){var r=void 0,l=void 0,h=void 0,d=this.options,u=n===d.minYear,c=n===d.maxYear,p='',v=void 0,f=void 0,m=!0,g=!0;for(h=[],r=0;r<12;r++)h.push('
d.maxMonth?'disabled="disabled"':"")+">"+d.i18n.months[r]+" ");for(v='
'+h.join("")+" ",t.isArray(d.yearRange)?(r=d.yearRange[0],l=d.yearRange[1]+1):(r=n-d.yearRange,l=1+n+d.yearRange),h=[];r
=d.minYear&&h.push('"+r+" ");f=''+h.join("")+" ";p+=' ',p+='',d.showMonthAfterYear?p+=f+v:p+=v+f,p+="
",u&&(0===s||d.minMonth>=s)&&(m=!1),c&&(11===s||d.maxMonth<=s)&&(g=!1);return p+=' ',p+=" "}},{key:"draw",value:function(t){if(this.isOpen||t){var e=this.options,i=e.minYear,n=e.maxYear,s=e.minMonth,o=e.maxMonth,a="",r=void 0;this._y<=i&&(this._y=i,!isNaN(s)&&this._m=n&&(this._y=n,!isNaN(o)&&this._m>o&&(this._m=o)),r="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),a+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,r)+this.render(this.calendars[l].year,this.calendars[l].month,r);this.destroySelects(),this.calendarEl.innerHTML=a;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=t(n._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(e){if(this.isOpen){var i=t(e.target);i.hasClass("is-disabled")||(!i.hasClass("datepicker-day-button")||i.hasClass("is-empty")||i.parent().hasClass("is-disabled")?i.closest(".month-prev").length?this.prevMonth():i.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(e.target.getAttribute("data-year"),e.target.getAttribute("data-month"),e.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),n._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;e>=7;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){n._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,n._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){n._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),n}(Component);i._template=['"].join(""),M.Datepicker=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"datepicker","M_Datepicker")}(cash),function(t){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_Timepicker=s,s.options=t.extend({},n.defaults,i),s.id=M.guid(),s._insertHTMLIntoDOM(),s._setupModal(),s._setupVariables(),s._setupEventHandlers(),s._clockSetup(),s._pickerSetup(),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),t(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),t(this.spanHours).on("click",this.showView.bind(this,"hours")),t(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i={x:e.left,y:e.top};this.x0=i.x+this.options.dialRadius,this.y0=i.y+this.options.dialRadius,this.moved=!1;var s=n._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=n._Pos(t),i=e.x-this.x0,s=e.y-this.y0;this.moved=!0,this.setHand(i,s,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(e){var i=this;e.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var s=n._Pos(e),o=s.x-this.x0,a=s.y-this.y0;this.moved&&o===this.dx&&a===this.dy&&this.setHand(o,a),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(t(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){i.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=t(n._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var e=document.querySelector(this.options.container);this.options.container&&e?this.$modalEl.appendTo(e):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var e=t(''+this.options.i18n.clear+" ").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&e.css({visibility:""});var i=t('
');t(''+this.options.i18n.cancel+" ").appendTo(i).on("click",this.close.bind(this)),t(''+this.options.i18n.done+" ").appendTo(i).on("click",this.done.bind(this)),i.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=t('AM
'),this.$pmBtn=t('PM
'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,s=n._createSVGEl("svg");s.setAttribute("class","timepicker-svg"),s.setAttribute("width",i),s.setAttribute("height",i);var o=n._createSVGEl("g");o.setAttribute("transform","translate("+t+","+t+")");var a=n._createSVGEl("circle");a.setAttribute("class","timepicker-canvas-bearing"),a.setAttribute("cx",0),a.setAttribute("cy",0),a.setAttribute("r",4);var r=n._createSVGEl("line");r.setAttribute("x1",0),r.setAttribute("y1",0);var l=n._createSVGEl("circle");l.setAttribute("class","timepicker-canvas-bg"),l.setAttribute("r",e),o.appendChild(r),o.appendChild(l),o.appendChild(a),s.appendChild(o),this._canvas.appendChild(s),this.hand=r,this.bg=l,this.bearing=a,this.g=o}},{key:"_buildHoursView",value:function(){var e=t('
');if(this.options.twelveHour)for(var i=1;i<13;i+=1){var n=e.clone(),s=i/6*Math.PI,o=this.options.outerRadius;n.css({left:this.options.dialRadius+Math.sin(s)*o-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(s)*o-this.options.tickRadius+"px"}),n.html(0===i?"00":i),this.hoursView.appendChild(n[0])}else for(var a=0;a<24;a+=1){var r=e.clone(),l=a/6*Math.PI,h=a>0&&a<13?this.options.innerRadius:this.options.outerRadius;r.css({left:this.options.dialRadius+Math.sin(l)*h-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(l)*h-this.options.tickRadius+"px"}),r.html(0===a?"00":a),this.hoursView.appendChild(r[0])}}},{key:"_buildMinutesView",value:function(){for(var e=t('
'),i=0;i<60;i+=5){var s=e.clone(),o=i/30*Math.PI;s.css({left:this.options.dialRadius+Math.sin(o)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(o)*this.options.outerRadius-this.options.tickRadius+"px"}),s.html(n._addLeadingZero(i)),this.minutesView.appendChild(s[0])}}},{key:"_handleAmPmClick",value:function(e){var i=t(e.target);this.amOrPm=i.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(t[1].toUpperCase().indexOf("AM")>0?this.amOrPm="AM":this.amOrPm="PM",t[1]=t[1].replace("AM","").replace("PM","")),"now"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=t[0]>=12&&t[0]<24?"PM":"AM")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=n._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(e,i){"minutes"===e&&t(this.hoursView).css("visibility");var n="hours"===e,s=n?this.hoursView:this.minutesView,o=n?this.minutesView:this.hoursView;this.currentView=e,t(this.spanHours).toggleClass("text-primary",n),t(this.spanMinutes).toggleClass("text-primary",!n),o.classList.add("timepicker-dial-out"),t(s).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(i),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){t(o).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(e){var i=this.currentView,n=this[i],s="hours"===i,o=n*(Math.PI/(s?6:30)),a=s&&n>0&&n<13?this.options.innerRadius:this.options.outerRadius,r=Math.sin(o)*a,l=-Math.cos(o)*a,h=this;e?(t(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){t(h.canvas).removeClass("timepicker-canvas-out"),h.setHand(r,l)},e)):this.setHand(r,l)}},{key:"setHand",value:function(t,e,i){var s=this,o=Math.atan2(t,-e),a="hours"===this.currentView,r=Math.PI/(a||i?6:30),l=Math.sqrt(t*t+e*e),h=a&&l<(this.options.outerRadius+this.options.innerRadius)/2,d=h?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(d=this.options.outerRadius),o<0&&(o=2*Math.PI+o);var u=Math.round(o/r);o=u*r,this.options.twelveHour?a?0===u&&(u=12):(i&&(u*=5),60===u&&(u=0)):a?(12===u&&(u=0),u=h?0===u?12:u:0===u?0:u+12):(i&&(u*=5),60===u&&(u=0)),this[this.currentView]!==u&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){s.vibrateTimer=null},100))),this[this.currentView]=u,a?this.spanHours.innerHTML=u:this.spanMinutes.innerHTML=n._addLeadingZero(u);var c=Math.sin(o)*(d-this.options.tickRadius),p=-Math.cos(o)*(d-this.options.tickRadius),v=Math.sin(o)*d,f=-Math.cos(o)*d;this.hand.setAttribute("x2",c),this.hand.setAttribute("y2",p),this.bg.setAttribute("cx",v),this.bg.setAttribute("cy",f)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(t,e){var i=this.el.value,s=e?"":n._addLeadingZero(this.hours)+":"+n._addLeadingZero(this.minutes);this.time=s,!e&&this.options.twelveHour&&(s=s+" "+this.amOrPm),this.el.value=s,s!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"_addLeadingZero",value:function(t){return(t<10?"0":"")+t}},{key:"_createSVGEl",value:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}},{key:"_Pos",value:function(t){return t.targetTouches&&t.targetTouches.length>=1?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:"defaults",get:function(){return e}}]),n}(Component);i._template=['"].join(""),M.Timepicker=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"timepicker","M_Timepicker")}(cash),function(t){"use strict";var e={},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_CharacterCounter=s,s.options=t.extend({},n.defaults,i),s.isInvalid=!1,s.isValidLength=!1,s._setupCounter(),s._setupEventHandlers(),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),t(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){t(this.counterEl).remove()}},{key:"updateCounter",value:function(){var e=+this.$el.attr("data-length"),i=this.el.value.length;this.isValidLength=i<=e;var n=i;e&&(n+="/"+e,this._validateInput()),t(this.counterEl).html(n)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}(Component);M.CharacterCounter=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"characterCounter","M_CharacterCounter")}(cash),function(t){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_Carousel=s,s.options=t.extend({},n.defaults,i),s.hasMultipleSlides=s.$el.find(".carousel-item").length>1,s.showIndicators=s.options.indicators&&s.hasMultipleSlides,s.noWrap=s.options.noWrap||!s.hasMultipleSlides,s.pressed=!1,s.dragged=!1,s.offset=s.target=0,s.images=[],s.itemWidth=s.$el.find(".carousel-item").first().innerWidth(),s.itemHeight=s.$el.find(".carousel-item").first().innerHeight(),s.dim=2*s.itemWidth+s.options.padding||1,s._autoScrollBound=s._autoScroll.bind(s),s._trackBound=s._track.bind(s),s.options.fullWidth&&(s.options.dist=0,s._setCarouselHeight(),s.showIndicators&&s.$el.find(".carousel-fixed-item").addClass("with-indicators")),s.$indicators=t(''),s.$el.find(".carousel-item").each(function(e,i){if(s.images.push(e),s.showIndicators){var n=t(' ');0===i&&n[0].classList.add("active"),s.$indicators.append(n)}}),s.showIndicators&&s.$el.append(s.$indicators),s.count=s.images.length,s.options.numVisible=Math.min(s.count,s.options.numVisible),s.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(s.xform=e,!1)}),s._setupEventHandlers(),s._scroll(s.offset),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var t=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(e,i){e.addEventListener("click",t._handleIndicatorClickBound)}));var e=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=e.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var t=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(e,i){e.removeEventListener("click",t._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(e){"mousedown"===e.type&&t(e.target).is("img")&&e.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(e),this.referenceY=this._ypos(e),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(n>2||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(this.velocity>10||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(e){if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;if(!this.options.fullWidth){var i=t(e.target).closest(".carousel-item").index();0!==this._wrap(this.center)-i&&(e.preventDefault(),e.stopPropagation()),this._cycleTo(i)}}},{key:"_handleIndicatorClick",value:function(e){e.stopPropagation();var i=t(e.target).closest(".indicator-item");i.length&&this._cycleTo(i.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var e=this,i=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=i.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(s>0)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",function(t,i){e.$el.css("height",t.offsetHeight+"px")});else if(!t){var l=i.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientX:t.clientX}},{key:"_ypos",value:function(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientY:t.clientY}},{key:"_wrap",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t=void 0,e=void 0,i=void 0,n=void 0;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,(e=this.amplitude*Math.exp(-t/this.options.duration))>2||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(e){var i=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){i.$el.removeClass("scrolling")},this.options.duration);var n=void 0,s=void 0,o=void 0,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=void 0,p=this.center,v=1/this.options.numVisible;if(this.offset="number"==typeof e?e:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=this.offset-this.center*this.dim,a=o<0?1:-1,r=-a*o*2/this.dim,s=this.count>>1,this.options.fullWidth?(h="translateX(0)",c=1):(h="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",h+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",c=1-v*r),this.showIndicators){var f=this.center%this.count,m=this.$indicators.find(".indicator-item.active");m.index()!==f&&(m.removeClass("active"),this.$indicators.find(".indicator-item").eq(f)[0].classList.add("active"))}if(!this.noWrap||this.center>=0&&this.center0?1-r:1):(d=this.options.dist*(2*n-r*a),u=1-v*(2*n-r*a)),!this.noWrap||this.center-n>=0){l=this.images[this._wrap(this.center-n)];var y=h+" translateX("+(-this.options.shift+(-this.dim*n-o)/2)+"px) translateZ("+d+"px)";this._updateItemStyle(l,u,-n,y)}}if(!this.noWrap||this.center>=0&&this.center0&&Math.abs(i-this.count)0&&(this.target-=this.dim*i),"function"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),n}(Component);M.Carousel=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"carousel","M_Carousel")}(cash),function(t){"use strict";var e={onOpen:void 0,onClose:void 0},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.el.M_TapTarget=s,s.options=t.extend({},n.defaults,i),s.isOpen=!1,s.$origin=t("#"+s.$el.attr("data-target")),s._setup(),s._calculatePositioning(),s._setupEventHandlers(),s}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(e){t(e.target).closest(".tap-target-wrapper").length||(this.close(),e.preventDefault(),e.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=t(this.wrapper).find(".tap-target-wave")[0],this.originEl=t(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],t(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(t(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var e="fixed"===this.$origin.css("position");if(!e)for(var i=this.$origin.parents(),n=0;nd,v=a<=u,f=a>u,m=r>=.25*l&&r<=.75*l,g=this.$el.outerWidth(),_=this.$el.outerHeight(),y=a+o/2-_/2,k=r+s/2-g/2,b=e?"fixed":"absolute",w=m?g:g/2+s,C=_/2,E=v?_/2:0,O=c&&!m?g/2-s:0,x=s,L=f?"bottom":"top",T=2*s,$=T,B=_/2-$/2,D=g/2-T/2,S={};S.top=v?y+"px":"",S.right=p?l-k-g+"px":"",S.bottom=f?h-y-_+"px":"",S.left=c?k+"px":"",S.position=b,t(this.wrapper).css(S),t(this.contentEl).css({width:w+"px",height:C+"px",top:E+"px",right:"0px",bottom:"0px",left:O+"px",padding:x+"px",verticalAlign:L}),t(this.waveEl).css({top:B+"px",left:D+"px",width:T+"px",height:$+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:"defaults",get:function(){return e}}]),n}(Component);M.TapTarget=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"tapTarget","M_TapTarget")}(cash),function(t){"use strict";var e={classes:"",dropdownOptions:{}},i=function(i){function n(e,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,e,i));return s.$el.hasClass("browser-default")?_possibleConstructorReturn(s):(s.el.M_FormSelect=s,s.options=t.extend({},n.defaults,i),s.isMultiple=s.$el.prop("multiple"),s.el.tabIndex=-1,s._keysSelected={},s._valueDict={},s._setupDropdown(),s._setupEventHandlers(),s)}return _inherits(n,i),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),t(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;t(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(t){this._setValueToInput()}},{key:"_handleOptionClick",value:function(e){e.preventDefault();var i=t(e.target).closest("li")[0],n=i.id;if(!t(i).hasClass("disabled")&&!t(i).hasClass("optgroup")&&n.length){var s=!0;if(this.isMultiple){var o=t(this.dropdownOptions).find("li.disabled.selected");o.length&&(o.removeClass("selected"),o.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(o[0].id)),s=this._toggleEntryFromArray(n)}else t(this.dropdownOptions).find("li").removeClass("selected"),t(i).toggleClass("selected",s);t(this._valueDict[n].el).prop("selected",s),this.$el.trigger("change")}e.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var e=this;this.wrapper=document.createElement("div"),t(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(t(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),t(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(i){if(t(i).is("option")){var n=void 0;n=e.isMultiple?e._appendOptionWithIcon(e.$el,i,"multiple"):e._appendOptionWithIcon(e.$el,i),e._addOptionToValueDict(i,n)}else if(t(i).is("optgroup")){var s=t(i).children("option");t(e.dropdownOptions).append(t(''+i.getAttribute("label")+" ")[0]),s.each(function(t){var i=e._appendOptionWithIcon(e.$el,t,"optgroup-option");e._addOptionToValueDict(t,i)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),t(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&t(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var i=t(' ');if(this.$el.before(i[0]),!this.el.disabled){var n=t.extend({},this.options.dropdownOptions);n.onOpenEnd=function(i){var n=t(e.dropdownOptions).find(".selected").first();if(e.dropdown.isScrollable&&n.length){var s=n[0].getBoundingClientRect().top-e.dropdownOptions.getBoundingClientRect().top;s-=e.dropdownOptions.clientHeight/2,e.dropdownOptions.scrollTop=s}},this.isMultiple&&(n.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,n)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){t(this.wrapper).find(".caret").remove(),t(this.input).remove(),t(this.dropdownOptions).remove(),t(this.wrapper).before(this.$el),t(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(e,i,n){var s=i.disabled?"disabled ":"",o="optgroup-option"===n?"optgroup-option ":"",a=this.isMultiple?''+i.innerHTML+" ":i.innerHTML,r=t(" "),l=t(" ");l.html(a),r.addClass(s+" "+o),r.append(l);var h=i.getAttribute("data-icon");if(h){var d=t(' ');r.prepend(d)}return t(this.dropdownOptions).append(r[0]),r[0]}},{key:"_toggleEntryFromArray",value:function(e){var i=!this._keysSelected.hasOwnProperty(e),n=t(this._valueDict[e].optionEl);return i?this._keysSelected[e]=!0:delete this._keysSelected[e],n.toggleClass("selected",i),n.find('input[type="checkbox"]').prop("checked",i),n.prop("selected",i),i}},{key:"_setValueToInput",value:function(){var e=[];if(this.$el.find("option").each(function(i){if(t(i).prop("selected")){var n=t(i).text();e.push(n)}}),!e.length){var i=this.$el.find("option:disabled").eq(0);i.length&&""===i[0].value&&e.push(i.text())}this.input.value=e.join(", ")}},{key:"_setSelectedStates",value:function(){this._keysSelected={};for(var e in this._valueDict){var i=this._valueDict[e],n=t(i.el).prop("selected");t(i.optionEl).find('input[type="checkbox"]').prop("checked",n),n?(this._activateOption(t(this.dropdownOptions),t(i.optionEl)),this._keysSelected[e]=!0):t(i.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(e,i){i&&(this.isMultiple||e.find("li.selected").removeClass("selected"),t(i).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}(Component);M.FormSelect=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"formSelect","M_FormSelect")}(cash),function(t,e){"use strict";var i={},n=function(n){function s(e,i){_classCallCheck(this,s);var n=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,e,i));return n.el.M_Range=n,n.options=t.extend({},s.defaults,i),n._mousedown=!1,n._setupThumb(),n._setupEventHandlers(),n}return _inherits(s,n),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){t(this.value).html(this.$el.val()),t(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();t(this.thumb).addClass("active").css("left",e+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(e){if(t(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),t(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==e.type){var i=this._calcRangeOffset();t(this.thumb).addClass("active").css("left",i+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){t(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();t(this.thumb).addClass("active").css("left",e+"px"),t(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var i=7+parseInt(this.$el.css("padding-left"))+"px";t(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:i,duration:100})),t(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),t(this.thumb).addClass("thumb"),t(this.value).addClass("value"),t(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){t(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var i=-7+parseInt(t(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:i,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),s}(Component);M.Range=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"range","M_Range"),n.init(t("input[type=range]"))}(cash,M.anime);
\ No newline at end of file