pax_global_header00006660000000000000000000000064122032127140014504gustar00rootroot0000000000000052 comment=1928630ea820092f0911dbca8420740c96862538 jgrowl-1.2.13+dfsg/000077500000000000000000000000001220321271400140135ustar00rootroot00000000000000jgrowl-1.2.13+dfsg/.gitignore000066400000000000000000000000121220321271400157740ustar00rootroot00000000000000.DS_Store jgrowl-1.2.13+dfsg/LICENSE000066400000000000000000000020361220321271400150210ustar00rootroot00000000000000Copyright (c) 2012 Stan Lemon 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. jgrowl-1.2.13+dfsg/README.md000066400000000000000000000141251220321271400152750ustar00rootroot00000000000000# jGrowl jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, similar to the way that OS X's Growl Framework works. The idea is simple, deliver notifications to the end user in a noticeable way that doesn't obstruct the work flow and yet keeps the user informed. ## Example usages // Sample 1 $.jGrowl("Hello world!"); // Sample 2 $.jGrowl("Stick this!", { sticky: true }); // Sample 3 $.jGrowl("A message with a header", { header: 'Important' }); // Sample 4 $.jGrowl("A message that will live a little longer.", { life: 10000 }); // Sample 5 $.jGrowl("A message with a beforeOpen callback and a different opening animation.", { beforeClose: function(e,m) { alert('About to close this notification!'); }, animateOpen: { height: 'show' } }); ## Configuration Options | Option | Default | Description | |------------------|--------------------------------------|------------------------------------------------------------| | pool | 0 | Limit the number of messages appearing at a given time to the number in the pool. | | header | empty | Optional header to prefix the message, this is often helpful for associating messages to each other. | | group | empty | A css class to be applied to notifications when they are created, useful for 'grouping' notifications by a css selector. | | sticky | false | When set to true a message will stick to the screen until it is intentionally closed by the user. | | position | top-right | Designates a class which is applied to the jGrowl container and controls it's position on the screen. By Default there are five options available, top-left, top-right, bottom-left, bottom-right, center. This must be changed in the defaults before the startup method is called. | | glue | after | Designates whether a jGrowl notification should be appended to the container after all notifications, or whether it should be prepended to the container before all notifications. Options are after or before. | | theme | default | A CSS class designating custom styling for this particular message, intended for use with jQuery UI. | | themeState | highlight | A CSS class designating custom styling for this particular message and it's state, intended for use with jQuery UI. | | corners | 10px | If the corners jQuery plugin is include this option specifies the curvature radius to be used for the notifications as they are created. | | check | 250 | The frequency that jGrowl should check for messages to be scrubbed from the screen.This must be changed in the defaults before the startup method is called. | | life | 3000 | The lifespan of a non-sticky message on the screen. | | closeDuration | normal | The animation speed used to close a notification. | | openDuration | normal | The animation speed used to open a notification. | | easing | swing | The easing method to be used with the animation for opening and closing a notification. | | closer | true | Whether or not the close-all button should be used when more then one notification appears on the screen. Optionally this property can be set to a function which will be used as a callback when the close all button is clicked. This must be changed in the defaults before the startup method is called. | | closeTemplate | × | This content is used for the individual notification close links that are added to the corner of a notification. This must be changed in the defaults before the startup method is called. | | closerTemplate | <div>[ close all ]</div> | This content is used for the close-all link that is added to the bottom of a jGrowl container when it contains more than one notification. This must be changed in the defaults before the startup method is called. | | log | function(e,m,o) {} | Callback to be used before anything is done with the notification. This is intended to be used if the user would like to have some type of logging mechanism for all notifications passed to jGrowl. This callback receives the notification's DOM context, the notifications message and it's option object. | | beforeOpen | function(e,m,o) {} | Callback to be used before a new notification is opened. This callback receives the notification's DOM context, the notifications message and it's option object. | | afterOpen | function(e,m,o) {} | Callback to be used after a new notification is opened. This callback receives the notification's DOM context, the notifications message and it's option object. | | open | function(e,m,o) {} | Callback to be used when a new notification is opened. This callback receives the notification's DOM context, the notifications message and it's option object. | | beforeClose | function(e,m,o) {} | Callback to be used before a new notification is closed. This callback receives the notification's DOM context, the notifications message and it's option object. | | close | function(e,m,o) {} | Callback to be used when a new notification is closed. This callback receives the notification's DOM context, the notifications message and it's option object. | | animateOpen | { opacity: 'show' } | The animation properties to use when opening a new notification (default to fadeOut). | | animateClose | { opacity: 'hide' } | The animation properties to use when closing a new notification (defaults to fadeIn). |jgrowl-1.2.13+dfsg/examples/000077500000000000000000000000001220321271400156315ustar00rootroot00000000000000jgrowl-1.2.13+dfsg/examples/.DS_Store000066400000000000000000000140041220321271400173130ustar00rootroot00000000000000Bud1%  @ @ @ @ E%DSDB` @ @ @jgrowl-1.2.13+dfsg/examples/iphone.png000066400000000000000000000226451220321271400176320ustar00rootroot00000000000000PNG  IHDRVNItEXtSoftwareAdobe ImageReadyqe<%GIDATx얽N0gS#e-x/JLl ; @Z(~J(CqE^n.C!K .ѵd"D*hgН_& #k~}Pp6+2KE;/;wcp=``B*cce̻taj'S4CX7΀ ǷCz w gc*Cd(H4 <j:A$1I&/~lŋv!W8^.`~Xbs\(<9'<-Ç9[Gk|QW%9HV6-mI,v6u&cT^=rjcٻ\:O@7V&u` nD aDBSie{vvXZ\ee+X(xw|3l8\` ȷٙl]Ë>D*F4fJFRR}vu e8x/q+nJP֛.0RjɬLӛ=œ4 FwJ(_NWss+s9瀑dRvl MUUL{` @ NwS!<&Xf1 2 ?b7!҃wVU"!B&\s)_,DlJ<03\s V;9=w[X[` <+{@ٽ be$ZiMOba:"E B^!ufvfwB0A7ai:t"S sE2%~8O4*&  ʶ #j Y-)YS>50<95w P Q(Wxr R9xi'FEKHQGy)~Ldwl6D`N1MЩ@ SIaas/$G(=P@"d NFk@RX2IS|l2AU׽&nMk?2$Sy i'} 3 ɹ=i1nv_߸KELԿiY(Ϡb&-g/G( ;shZhmV}ZgډJ;E 2;<=:_`Wr|Nfmm&>`]8fwVOJA,M! _`g`ma!X("ĽΌ3ޛ &CXf&^D'=xr`/9[baJx/_g5'zuGs8?})ۻwwij/&OWel]`aPn.dpBׄAҦGj0!*.cSUZBi>q4mCgoSQ*.AKpR_,A%h PEPJcDb] "c@4Qc.^  "C4 FitIN%鄭)ﴦ=uL_}ک QR< 1#(L4/"2\f,l"P4 NKfӛK8_ [ .&Y2- bjTarSG'm\ {v HHSX˰%'*6"&eeE ]v9~檱@R%D?#&hN/8=KJYt8Y &i|SS{RC3mı>jiDJ#bZ-\_Y H,&;[?X9fLՉfVQi24z͘;177=utC&J׌'̳v5v.+!"vqhL)h&NKtZњVM,' YtEgYtEgYtEgYtEgYtk%y(\+סze{kk!ѝpk8|je Y5nfhYh+l'?JmE7rz0ttc_;߸ b 8ȊO2DD (!M 4AH4 ARХŢG )#b$cowgfg=_. ~ط#?{n>;3Cgc7a\F,gUUʫt$}HjށAABX>(?ܸLux:~)=M!|hQdAPU{^9U{fg`AOյ||y3K=__Hs.Fg2X \<~W-dI.)DĮQ8l3qb@6Aؘu>EG}fems'/>rK?]c$@PB mFSjHEg =6l_bFjCF81%Gv-\ ֊l- 1<;T߿M쨷@Hn,PYC,ag)XVD1i l{]:ai"uQpSiNH 20 KB(ꁗ S ؁ Xevv .\NIV)2E(E2akUaöL tp}JUXGQg$Jذ=/at~lLili2RTZ5Qu;S `_YRCU2]>M li WdƚVH 6_՘r< xl;lׂN laN~S3^`< 4c/NW]3m}&/K~|w|ܗjT *kvU쵊-ZzGS śl2_ڃTe;6|d XxT%ռv?_+a$7Gt9jؘ`#y)gnqNZ+iȜTwed4^j2S`hmSB1v(:w;tdm`Pɕّ8 0[T Uבɛ9uwE%Ʊ=Q͢ f-HdP( g(Uip>LlZVaWU'qI|1jrdOzHhTUU*jv Z]®VaWv !?}l\q7+ϟ~GOVC;³t"}7 f{=rYBEtd^^Ҭk +Im>j^ `رm:,'uu okWozKtnZlͶl6 Pl,n?Z}4m~3 |oKXnnf]MTEY\YDc DpzDn`DD/c W^41AY4,QȲu_uwU7+;cǩ#ӣ}܆zt͂)Fj>2 %R8OڗJ({?s<*ًữ?=rȵ-[yigvTZp; 3ݡBtcG?췻~+{?.]V_J>(jmz(@4ɇ9ZAyGwRi?4MiѰ16cbҘu--p۞6-|U.3dǥ?Z[3Np>yȪSin3 ߳2Lg&64 ,hF/?1{DuT{?@|)@<[¯tjkU(kV߼EZ\` Z'9u7J[ u!(}tNI~Xa&4 u)"un [idtp8bWսs.OnuYhNM u|JFFSUdeK6hÎ@SCrP:e74k}T4ahIDݪ(9r?=3[DJXtA(k7Ӕ{'xem5ڐ CJh2Y-mƨFh,˲2kK ޞ{g(ŵRB*.&hij8茺GYgM2hў6heYDF,UkFuj8NkF3:JOԑu׿Vw@;@S bG$ D3WF@ ^hJk nҌevՋB֌aF>z<tRD͒Y&n4mZeY~@ߚA-5I ;S"gkM3_v t|9@Em3U+Ѓ2:w,Mz'U*xeYۉleB_O]7n'JxPQ1lMe(5QQRĊxfymN@X *x, Hgp4<&ɪX9:R7k{I "BmZHCt^!6uFߞi ZgլYb@k]Fj1d$h)q5O[2ZE=d)0jMhf.hfئ@ItSպtNȪfAQJ Z&5Z' -ɚ3e4̕3Pwɚ1Z-lj7oLәy뙪." /v Jj(u4$RlQ;E0NmnZBǪhnM29 hJA=,K,ԭM3L͘J]s݌We fށb  ~r.uv(r~{{ZwM=C&;C4VCS;(˜&2BeetCv-d?¸߻DIF'[ huX~uOE&c(6Q^cYX@: n%ԻKOoP7W83"miRwT(TM|?K ֘ePetT!ldtNФnR_X1 b#M&"AZ u% {1cI-!@K-!@K} 12G7졵dP-!@Kܳ@[ C# B-!@K-!@K-!@K-!@K-@K 23!#9BC|C>Q7MCOmw8wȐƁ=;՛?8cN8ɯ/hD*,;u>UuoC]U]:3eoݻq[?[.;NOo4ide•Pc ohImZL#!0 &W!RDzkNcjS)/$uc.j\FM¿h}깓sw>Ye> RԴz\LD]*;PR'yj`ppw6baw]g72_Ԇ?EG ComP誆Աe!2},Ժ!c$r)1P֊YiYj`-I :J87GwJ=Rc;͉2Xj,"P#R~oTA)n~6Mk4Ǧm({/VVPAip5moeCMocjдSX0wP~2N@d#b9Lu Oww>2Wun-q+|dvYvSuV+rdVG ,ƉkR#yN9nw۠u3m:zbZjS_DA&RoVe-5RKͺ֯V5i[t8p;{[Z5`}`,hCK..m?3 s%H[jnS_6\ RVVmOeuʱ-uKlYn14P_`.]DH$E"@-jH$PDH$E"@-jH$PDH$zdJ4h-{""HD\LL"6H$H$E"@-jH$PDH$E"@-jH$PDH$E"@-jH$PDH$E"@-jH$PDH$.iwD׈d~_4ѓ!mSMM^TCʕnxbs+]yӇ%WF$چ^_[|ӟ}R޻;x{{>2 ES[oRwN[X;|C>pCyߕW|wA?uyer2jAˁ~R}|u|PuQWvH涡ۦI}6 u AB| _!n+*z\-ۘBܱԅ*n"ź6C]2;o|՟;`czÕ1naoTfgo׿;MY|ٗ/;>ezqY=u9s؉Sյ|PjPkUE;K5}vgܶ Tf.C]9##<8m0aT@F&2ܱ@dޫWkVR  Vl+ۄPvAyks* np*3]At D2aQm*yCymW莽 5?O]9?R5>gfgO7ԑG޿?ѸdwM._@_;/3;;sz:zlNa$3=h8Ce 7ؖ m±+Jxio vh0v/t촱VVK;ztG~wɵkr._3NdX7}1xLvDy[ E"?*y.~e-g{Æ+`ˤ[,=Z$`{u*{e9/RgfNH$Fg)ps֑EWjd\?SXmIENDB`jgrowl-1.2.13+dfsg/examples/jgrowl-pool.html000077500000000000000000000114351220321271400210010ustar00rootroot00000000000000 jGrowl Pooling Tests

jGrowl Pooling Tests

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.

Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.

Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.

Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.

Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.

jgrowl-1.2.13+dfsg/examples/jgrowl.html000077500000000000000000000222311220321271400200260ustar00rootroot00000000000000 jGrowl Tests

jGrowl Tests

Click here to create a message on demand in the #jGrowl container in the top-right corner of the screen.

Shutdown jGrowl for the #test1 container in the top-left corner of the screen.

Close all in #test1.

An extra wide node, watch as the jGrowl containers stay put in the corners of the screen..

Log:


Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.

Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.

Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.

Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.

Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.

jgrowl-1.2.13+dfsg/examples/multiple-containers.html000066400000000000000000000014471220321271400225230ustar00rootroot00000000000000
jgrowl-1.2.13+dfsg/examples/sideways.html000066400000000000000000000102661220321271400203540ustar00rootroot00000000000000 jGrowl Tests

jGrowl Tests

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.

Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.

Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.

Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.

Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.

jgrowl-1.2.13+dfsg/examples/smoke.png000066400000000000000000000012351220321271400174560ustar00rootroot00000000000000PNG  IHDR*I-kotEXtSoftwareAdobe ImageReadyqe<?IDATxJTasJ Zl Qw]@A$Z 탂6E"j g`OpͿx96?7-fLv%l~>fZ9#^?=pLZg_~'Tsٳll/~IvycPڳdoF]Q-d ևCUȦPR\==̮9"'g/[>[$R@JJn8 bK;b3+M8@ **@ **@ @*@ @* @* @ * @ **@ **@ @* U1PuPn զs*s*͗3V6=1.4" } }jgrowl-1.2.13+dfsg/jquery.jgrowl.css000077500000000000000000000101161220321271400173510ustar00rootroot00000000000000 div.jGrowl { z-index: 9999; color: #fff; font-size: 12px; } /** Special IE6 Style Positioning **/ div.ie6 { position: absolute; } div.ie6.top-right { right: auto; bottom: auto; left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); } div.ie6.top-left { left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); } div.ie6.bottom-right { left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); } div.ie6.bottom-left { left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); } div.ie6.center { left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); width: 100%; } /** Normal Style Positions **/ div.jGrowl { position: absolute; } body > div.jGrowl { position: fixed; } div.jGrowl.top-left { left: 0px; top: 0px; } div.jGrowl.top-right { right: 0px; top: 0px; } div.jGrowl.bottom-left { left: 0px; bottom: 0px; } div.jGrowl.bottom-right { right: 0px; bottom: 0px; } div.jGrowl.center { top: 0px; width: 50%; left: 25%; } /** Cross Browser Styling **/ div.center div.jGrowl-notification, div.center div.jGrowl-closer { margin-left: auto; margin-right: auto; } div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer { background-color: #000; opacity: .85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85); zoom: 1; width: 235px; padding: 10px; margin-top: 5px; margin-bottom: 5px; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 1em; text-align: left; display: none; -moz-border-radius: 5px; -webkit-border-radius: 5px; } div.jGrowl div.jGrowl-notification { min-height: 40px; } div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer { margin: 10px; } div.jGrowl div.jGrowl-notification div.jGrowl-header { font-weight: bold; font-size: .85em; } div.jGrowl div.jGrowl-notification div.jGrowl-close { z-index: 99; float: right; font-weight: bold; font-size: 1em; cursor: pointer; } div.jGrowl div.jGrowl-closer { padding-top: 4px; padding-bottom: 4px; cursor: pointer; font-size: .9em; font-weight: bold; text-align: center; } /** Hide jGrowl when printing **/ @media print { div.jGrowl { display: none; } }jgrowl-1.2.13+dfsg/jquery.jgrowl.js000077500000000000000000000340521220321271400172020ustar00rootroot00000000000000/** * jGrowl 1.2.12 * * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. * * Written by Stan Lemon * Last updated: 2013.02.14 * * jGrowl is a jQuery plugin implementing unobtrusive userland notifications. These * notifications function similarly to the Growl Framework available for * Mac OS X (http://growl.info). * * To Do: * - Move library settings to containers and allow them to be changed per container * * Changes in 1.2.13 * - Fixed clearing interval when the container shuts down * * Changes in 1.2.12 * - Added compressed versions using UglifyJS and Sqwish * - Improved README with configuration options explanation * - Added a source map * * Changes in 1.2.11 * - Fix artifacts left behind by the shutdown method and text-cleanup * * Changes in 1.2.10 * - Fix beforeClose to be called in click event * * Changes in 1.2.9 * - Fixed BC break in jQuery 2.0 beta * * Changes in 1.2.8 * - Fixes for jQuery 1.9 and the MSIE6 check, note that with jQuery 2.0 support * jGrowl intends to drop support for IE6 altogether * * Changes in 1.2.6 * - Fixed js error when a notification is opening and closing at the same time * * Changes in 1.2.5 * - Changed wrapper jGrowl's options usage to "o" instead of $.jGrowl.defaults * - Added themeState option to control 'highlight' or 'error' for jQuery UI * - Ammended some CSS to provide default positioning for nested usage. * - Changed some CSS to be prefixed with jGrowl- to prevent namespacing issues * - Added two new options - openDuration and closeDuration to allow * better control of notification open and close speeds, respectively * Patch contributed by Jesse Vincet. * - Added afterOpen callback. Patch contributed by Russel Branca. * * Changes in 1.2.4 * - Fixed IE bug with the close-all button * - Fixed IE bug with the filter CSS attribute (special thanks to gotwic) * - Update IE opacity CSS * - Changed font sizes to use "em", and only set the base style * * Changes in 1.2.3 * - The callbacks no longer use the container as context, instead they use the actual notification * - The callbacks now receive the container as a parameter after the options parameter * - beforeOpen and beforeClose now check the return value, if it's false - the notification does * not continue. The open callback will also halt execution if it returns false. * - Fixed bug where containers would get confused * - Expanded the pause functionality to pause an entire container. * * Changes in 1.2.2 * - Notification can now be theme rolled for jQuery UI, special thanks to Jeff Chan! * * Changes in 1.2.1 * - Fixed instance where the interval would fire the close method multiple times. * - Added CSS to hide from print media * - Fixed issue with closer button when div { position: relative } is set * - Fixed leaking issue with multiple containers. Special thanks to Matthew Hanlon! * * Changes in 1.2.0 * - Added message pooling to limit the number of messages appearing at a given time. * - Closing a notification is now bound to the notification object and triggered by the close button. * * Changes in 1.1.2 * - Added iPhone styled example * - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied. * - Added template for the close button, so that it's content could be customized. * * Changes in 1.1.1 * - Fixed CSS styling bug for ie6 caused by a mispelling * - Changes height restriction on default notifications to min-height * - Added skinned examples using a variety of images * - Added the ability to customize the content of the [close all] box * - Added jTweet, an example of using jGrowl + Twitter * * Changes in 1.1.0 * - Multiple container and instances. * - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container. * - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName) * - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container * - Added new log callback which is called before anything is done for the notification * - Corner's attribute are now applied on an individual notification basis. * * Changes in 1.0.4 * - Various CSS fixes so that jGrowl renders correctly in IE6. * * Changes in 1.0.3 * - Fixed bug with options persisting across notifications * - Fixed theme application bug * - Simplified some selectors and manipulations. * - Added beforeOpen and beforeClose callbacks * - Reorganized some lines of code to be more readable * - Removed unnecessary this.defaults context * - If corners plugin is present, it's now customizable. * - Customizable open animation. * - Customizable close animation. * - Customizable animation easing. * - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center) * * Changes in 1.0.2 * - All CSS styling is now external. * - Added a theme parameter which specifies a secondary class for styling, such * that notifications can be customized in appearance on a per message basis. * - Notification life span is now customizable on a per message basis. * - Added the ability to disable the global closer, enabled by default. * - Added callbacks for when a notification is opened or closed. * - Added callback for the global closer. * - Customizable animation speed. * - jGrowl now set itself up and tears itself down. * * Changes in 1.0.1: * - Removed dependency on metadata plugin in favor of .data() * - Namespaced all events */ (function($) { /** Compatibility holdover for 1.9 to check IE6 **/ var $ie6 = (function(){ return false === $.support.boxModel && $.support.objectAll && $.support.leadingWhitespace; })(); /** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/ $.jGrowl = function( m , o ) { // To maintain compatibility with older version that only supported one instance we'll create the base container. if ( $('#jGrowl').size() == 0 ) $('
').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo('body'); // Create a notification on the container. $('#jGrowl').jGrowl(m,o); }; /** Raise jGrowl Notification on a jGrowl Container **/ $.fn.jGrowl = function( m , o ) { if ( $.isFunction(this.each) ) { var args = arguments; return this.each(function() { /** Create a jGrowl Instance on the Container if it does not exist **/ if ( $(this).data('jGrowl.instance') == undefined ) { $(this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], element: null, interval: null } )); $(this).data('jGrowl.instance').startup( this ); } /** Optionally call jGrowl instance methods, or just raise a normal notification **/ if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) { $(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) ); } else { $(this).data('jGrowl.instance').create( m , o ); } }); }; }; $.extend( $.fn.jGrowl.prototype , { /** Default JGrowl Settings **/ defaults: { pool: 0, header: '', group: '', sticky: false, position: 'top-right', glue: 'after', theme: 'default', themeState: 'highlight', corners: '10px', check: 250, life: 3000, closeDuration: 'normal', openDuration: 'normal', easing: 'swing', closer: true, closeTemplate: '×', closerTemplate: '
[ close all ]
', log: function() {}, beforeOpen: function() {}, afterOpen: function() {}, open: function() {}, beforeClose: function() {}, close: function() {}, animateOpen: { opacity: 'show' }, animateClose: { opacity: 'hide' } }, notifications: [], /** jGrowl Container Node **/ element: null, /** Interval Function **/ interval: null, /** Create a Notification **/ create: function( message , o ) { var o = $.extend({}, this.defaults, o); /* To keep backward compatibility with 1.24 and earlier, honor 'speed' if the user has set it */ if (typeof o.speed !== 'undefined') { o.openDuration = o.speed; o.closeDuration = o.speed; } this.notifications.push({ message: message , options: o }); o.log.apply( this.element , [this.element,message,o] ); }, render: function( notification ) { var self = this; var message = notification.message; var o = notification.options; // Support for jQuery theme-states, if this is not used it displays a widget header o.themeState = (o.themeState == '') ? '' : 'ui-state-' + o.themeState; var notification = $('
') .addClass('jGrowl-notification ' + o.themeState + ' ui-corner-all' + ((o.group != undefined && o.group != '') ? ' ' + o.group : '')) .append($('
').addClass('jGrowl-close').html(o.closeTemplate)) .append($('
').addClass('jGrowl-header').html(o.header)) .append($('
').addClass('jGrowl-message').html(message)) .data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl", function() { $(this).parent().trigger('jGrowl.beforeClose'); }) .parent(); /** Notification Actions **/ $(notification).bind("mouseover.jGrowl", function() { $('div.jGrowl-notification', self.element).data("jGrowl.pause", true); }).bind("mouseout.jGrowl", function() { $('div.jGrowl-notification', self.element).data("jGrowl.pause", false); }).bind('jGrowl.beforeOpen', function() { if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) !== false ) { $(this).trigger('jGrowl.open'); } }).bind('jGrowl.open', function() { if ( o.open.apply( notification , [notification,message,o,self.element] ) !== false ) { if ( o.glue == 'after' ) { $('div.jGrowl-notification:last', self.element).after(notification); } else { $('div.jGrowl-notification:first', self.element).before(notification); } $(this).animate(o.animateOpen, o.openDuration, o.easing, function() { // Fixes some anti-aliasing issues with IE filters. if ($.support.opacity === false) this.style.removeAttribute('filter'); if ( $(this).data("jGrowl") !== null ) // Happens when a notification is closing before it's open. $(this).data("jGrowl").created = new Date(); $(this).trigger('jGrowl.afterOpen'); }); } }).bind('jGrowl.afterOpen', function() { o.afterOpen.apply( notification , [notification,message,o,self.element] ); }).bind('jGrowl.beforeClose', function() { if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) !== false ) $(this).trigger('jGrowl.close'); }).bind('jGrowl.close', function() { // Pause the notification, lest during the course of animation another close event gets called. $(this).data('jGrowl.pause', true); $(this).animate(o.animateClose, o.closeDuration, o.easing, function() { if ( $.isFunction(o.close) ) { if ( o.close.apply( notification , [notification,message,o,self.element] ) !== false ) $(this).remove(); } else { $(this).remove(); } }); }).trigger('jGrowl.beforeOpen'); /** Optional Corners Plugin **/ if ( o.corners != '' && $.fn.corner != undefined ) $(notification).corner( o.corners ); /** Add a Global Closer if more than one notification exists **/ if ( $('div.jGrowl-notification:parent', self.element).size() > 1 && $('div.jGrowl-closer', self.element).size() == 0 && this.defaults.closer !== false ) { $(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme) .appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing) .bind("click.jGrowl", function() { $(this).siblings().trigger("jGrowl.beforeClose"); if ( $.isFunction( self.defaults.closer ) ) { self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] ); } }); }; }, /** Update the jGrowl Container, removing old jGrowl notifications **/ update: function() { $(this.element).find('div.jGrowl-notification:parent').each( function() { if ( $(this).data("jGrowl") != undefined && $(this).data("jGrowl").created !== undefined && ($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life)) < (new Date()).getTime() && $(this).data("jGrowl").sticky !== true && ($(this).data("jGrowl.pause") == undefined || $(this).data("jGrowl.pause") !== true) ) { // Pause the notification, lest during the course of animation another close event gets called. $(this).trigger('jGrowl.beforeClose'); } }); if ( this.notifications.length > 0 && (this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) ) this.render( this.notifications.shift() ); if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) { $(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() { $(this).remove(); }); } }, /** Setup the jGrowl Notification Container **/ startup: function(e) { this.element = $(e).addClass('jGrowl').append('
'); this.interval = setInterval( function() { $(e).data('jGrowl.instance').update(); }, parseInt(this.defaults.check)); if ($ie6) { $(this.element).addClass('ie6'); } }, /** Shutdown jGrowl, removing it and clearing the interval **/ shutdown: function() { $(this.element).removeClass('jGrowl') .find('div.jGrowl-notification').trigger('jGrowl.close') .parent().empty() clearInterval(this.interval); }, close: function() { $(this.element).find('div.jGrowl-notification').each(function(){ $(this).trigger('jGrowl.beforeClose'); }); } }); /** Reference the Defaults Object for compatibility with older versions of jGrowl **/ $.jGrowl.defaults = $.fn.jGrowl.prototype.defaults; })(jQuery);jgrowl-1.2.13+dfsg/jquery.jgrowl.map000066400000000000000000000131251220321271400173360ustar00rootroot00000000000000{"version":3,"file":"jquery.jgrowl.min.js","sources":["jquery.jgrowl.js"],"names":["$","$ie6","support","boxModel","objectAll","leadingWhitespace","jGrowl","m","o","size","addClass","position","defaults","appendTo","fn","isFunction","this","each","args","arguments","undefined","data","extend","notifications","element","interval","startup","apply","makeArray","slice","create","prototype","pool","header","group","sticky","glue","theme","themeState","corners","check","life","closeDuration","openDuration","easing","closer","closeTemplate","closerTemplate","log","beforeOpen","afterOpen","open","beforeClose","close","animateOpen","opacity","animateClose","message","speed","push","options","render","notification","self","append","html","children","bind","parent","trigger","after","before","animate","style","removeAttribute","created","Date","remove","corner","siblings","update","find","getTime","parseInt","length","shift","e","setInterval","shutdown","removeClass","empty","clearInterval","jQuery"],"mappings":"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"}