cytoplasm 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/app/assets/images/cytoplasm/actions-circle-add-1.png +0 -0
  2. data/app/assets/images/cytoplasm/actions-circle-remove-1.png +0 -0
  3. data/app/assets/images/cytoplasm/artwork-paintroll.png +0 -0
  4. data/app/assets/images/cytoplasm/edition-delete-1.png +0 -0
  5. data/app/assets/images/cytoplasm/transparent_bg.jpg +0 -0
  6. data/app/assets/javascripts/cytoplasm/cytoColorPicker.js.erb +39 -29
  7. data/app/assets/javascripts/cytoplasm/cytoMenu.js.erb +173 -0
  8. data/app/assets/javascripts/cytoplasm/cytoSlider.js.erb +2 -0
  9. data/app/assets/javascripts/cytoplasm/cytoTable.js.erb +90 -7
  10. data/app/assets/javascripts/cytoplasm/cytoplasm.js.erb +36 -9
  11. data/app/assets/javascripts/cytoplasm/jquery.color-2.1.0.min.js +2 -0
  12. data/app/controllers/cytoplasm/settings_controller.rb +3 -2
  13. data/app/views/cytoplasm/fonts/_li.html.erb +39 -8
  14. data/app/views/cytoplasm/fonts/_style_list.html.erb +76 -37
  15. data/app/views/cytoplasm/settings/_colors.html.erb +78 -43
  16. data/app/views/cytoplasm/settings/colors.html.erb +5 -1
  17. data/app/views/cytoplasm/settings/general.html.erb +2 -5
  18. data/app/views/cytoplasm/settings/layout.html.erb +1 -1
  19. data/lib/cytoplasm.rb +23 -8
  20. data/lib/cytoplasm/version.rb +1 -1
  21. data/test/dummy/app/views/layouts/application.html.erb +16 -14
  22. data/test/dummy/config/cytoplasm-config.yml +33 -15
  23. data/test/dummy/log/development.log +82949 -0
  24. data/test/dummy/public/cytoplasm/cytoplasm.vars.less +23 -15
  25. data/test/dummy/public/fonts/enabled.yml +7 -1
  26. data/test/dummy/public/fonts/googlewebfonts.yml +1 -0
  27. data/test/dummy/tmp/cache/assets/C26/8F0/sprockets%2F3b5053120e76678a259691793a539bb4 +0 -0
  28. data/test/dummy/tmp/cache/assets/C80/300/sprockets%2F0097f55cbf6b44214787f422f41291d3 +0 -0
  29. data/test/dummy/tmp/cache/assets/C8F/0F0/sprockets%2F369f11075c8c5f939359cb5cb0569281 +0 -0
  30. data/test/dummy/tmp/cache/assets/CA8/E70/sprockets%2F5b16b7419ca6425b68262503ac627e4d +0 -0
  31. data/test/dummy/tmp/cache/assets/CB5/A90/sprockets%2F595675d0d782f6212f20570d6e4a42ff +0 -0
  32. data/test/dummy/tmp/cache/assets/CD4/490/sprockets%2F5609c0966d710286dad06a9ea4b42c11 +0 -0
  33. data/test/dummy/tmp/cache/assets/CD8/900/sprockets%2Fc68606f026190266d8099ada290bbaa4 +0 -0
  34. data/test/dummy/tmp/cache/assets/CF3/120/sprockets%2Fe2b304b015ce82a222d634e7e544b0b3 +0 -0
  35. data/test/dummy/tmp/cache/assets/D03/6B0/sprockets%2Fd3cfc780201b87a3439e35c5236bb71a +0 -0
  36. data/test/dummy/tmp/cache/assets/D04/CC0/sprockets%2F1c7e3330365910fa51cb5f8a4a841c7e +0 -0
  37. data/test/dummy/tmp/cache/assets/D0E/7D0/sprockets%2F89200785fe2710582a6c1b8d04ae7fbe +0 -0
  38. data/test/dummy/tmp/cache/assets/D14/170/sprockets%2F40a7b83bb067eea7ce2c8394e1529287 +0 -0
  39. data/test/dummy/tmp/cache/assets/D15/CE0/sprockets%2Fa1310379a19df3c1796f2f67dcd5915d +0 -0
  40. data/test/dummy/tmp/cache/assets/D19/600/sprockets%2F345fa0a7855237e1a82e64874af9d7cc +0 -0
  41. data/test/dummy/tmp/cache/assets/D26/750/sprockets%2Fb70b009a7a0d9e252ef0b082d5029be0 +0 -0
  42. data/test/dummy/tmp/cache/assets/D48/1C0/sprockets%2F7853aece2d8335fce33830d0b774ed68 +0 -0
  43. data/test/dummy/tmp/cache/assets/D66/290/sprockets%2Fe0bc90b225127451839ed2d6eca6ecb6 +0 -0
  44. data/test/dummy/tmp/cache/assets/D69/0A0/sprockets%2Fe6c078d521b528e004f5dd673ddb2a6d +0 -0
  45. data/test/dummy/tmp/cache/assets/D78/840/sprockets%2F326ec6387a9d1b45ec2cdf7093b79f0e +0 -0
  46. data/test/dummy/tmp/cache/assets/D83/C70/sprockets%2Ff536f7a68e692747fca1d2fcd5c07f57 +0 -0
  47. data/test/dummy/tmp/cache/assets/D87/200/sprockets%2Fe0c1351fbd86032af3fd4b32c408acd4 +0 -0
  48. data/test/dummy/tmp/cache/assets/D8D/930/sprockets%2Ff9a03a5e1622ce69a7d82ab0be00e6c3 +0 -0
  49. data/test/dummy/tmp/cache/assets/D91/130/sprockets%2F928ea21100ee49aa47c9ef50fa17dc1a +0 -0
  50. data/test/dummy/tmp/cache/assets/D94/9D0/sprockets%2F9cda9ba002e091c71087d8dba7aca098 +0 -0
  51. data/test/dummy/tmp/cache/assets/D97/1C0/sprockets%2Faa0ccf8e63f048456ade02a39fa8571a +0 -0
  52. data/test/dummy/tmp/cache/assets/E00/880/sprockets%2Fecb876bb310c1a3e6fd534ece45c9ed9 +0 -0
  53. data/test/dummy/tmp/cache/assets/E00/9A0/sprockets%2Ff1ece46dc13852f9cb8d4ed0fcf1640e +0 -0
  54. data/test/dummy/tmp/cache/assets/E8C/480/sprockets%2Fdacb331ac961cf7b7cbc69abe8fb74dd +0 -0
  55. data/test/dummy/tmp/pids/server.pid +1 -0
  56. metadata +45 -5
  57. data/app/assets/javascripts/cytoplasm/jquery.color.js +0 -663
@@ -14,27 +14,31 @@
14
14
  @layout_header_nav_align:right;
15
15
  @layout_header_nav_background:transparent;
16
16
  @layout_header_nav_font:light;
17
- @layout_content_margin:0px;
18
- @layout_content_padding:20px;
17
+ @layout_section_margin:0px;
18
+ @layout_section_padding:20px;
19
19
  @layout_footer_margin:0px;
20
20
  @layout_footer_padding:10px;
21
21
  @layout_plugins_cytoButton_shadow:inset 0px 0px 10px rgba(0,0,0,0.5);
22
22
  @fonts_faces_light:TitilliumTextLight;
23
23
  @fonts_faces_regular:TitilliumTextRegular;
24
24
  @fonts_faces_bold:TitilliumTextBold;
25
- @fonts_sizes_small:12px;
26
- @fonts_sizes_normal:14px;
27
- @fonts_sizes_huge:48px;
28
- @fonts_sizes_heading_factor:1.8;
29
- @colors_global_background:green;
30
- @colors_global_text:black;
31
- @colors_global_accent:#aaff7f;
32
- @colors_header_background:transparent;
33
- @colors_header_text:white;
34
- @colors_content_background:white;
35
- @colors_content_text:inherit;
36
- @colors_footer_background:transparent;
37
- @colors_footer_text:white;
25
+ @fonts_sizes_small:13px;
26
+ @fonts_sizes_normal:16px;
27
+ @fonts_sizes_huge:80px;
28
+ @fonts_heading_factor:1.5;
29
+ @colors_global_background:hsl(120,100%,25%);
30
+ @colors_global_text:hsl(0,0%,0%);
31
+ @colors_global_accent:hsl(100,100%,75%);
32
+ @colors_header_background:hsla(0,0%,0%,0);
33
+ @colors_header_text:hsl(0,100%,100%);
34
+ @colors_section_background:hsl(0,100%,100%);
35
+ @colors_section_text:hsl(0,100%,0%);
36
+ @colors_footer_background:hsla(0,0%,0%,0);
37
+ @colors_footer_text:hsl(0,100%,100%);
38
+ @colors_links_unvisited_text:blue;
39
+ @colors_links_visited_text:purple;
40
+ @colors_links_hover_text:red;
41
+ @colors_links_active_text:yellow;
38
42
  @colors_plugins_cytoTable_background:#eeeeee;
39
43
  @colors_plugins_cytoTable_border:1px solid #cccccc;
40
44
  @colors_plugins_cytoTable_text:inherit;
@@ -42,5 +46,9 @@
42
46
  @colors_plugins_cytoButton_background_reverse:linear-gradient(to bottom, green, yellow);
43
47
  @colors_plugins_cytoButton_border:1px solid green;
44
48
  @colors_plugins_cytoButton_text:inherit;
49
+ @colors_link_unvisited_text:hsl(240,100%,50%);
50
+ @colors_link_visited_text:hsl(300,100%,25%);
51
+ @colors_link_hover_text:hsl(0,100%,50%);
52
+ @colors_link_active_text:hsl(60,100%,50%);
45
53
  @controller:cytoplasm/settings;
46
54
  @action:update;
@@ -3,4 +3,10 @@ fontsquirrel:
3
3
  1942-report: []
4
4
  TitilliumText: []
5
5
  Vitamin: []
6
- googlewebfonts: {}
6
+ 20-db: []
7
+ googlewebfonts:
8
+ ABeeZee:
9
+ - kind
10
+ - family
11
+ - variants
12
+ - subsets
@@ -1,3 +1,4 @@
1
1
  ---
2
2
  imported:
3
3
  - Abril Fatface
4
+ - ABeeZee
@@ -0,0 +1 @@
1
+ 14594
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cytoplasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-29 00:00:00.000000000 Z
12
+ date: 2013-02-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -106,6 +106,11 @@ executables: []
106
106
  extensions: []
107
107
  extra_rdoc_files: []
108
108
  files:
109
+ - app/assets/images/cytoplasm/actions-circle-add-1.png
110
+ - app/assets/images/cytoplasm/actions-circle-remove-1.png
111
+ - app/assets/images/cytoplasm/artwork-paintroll.png
112
+ - app/assets/images/cytoplasm/edition-delete-1.png
113
+ - app/assets/images/cytoplasm/transparent_bg.jpg
109
114
  - app/assets/images/cytoplasm/triangle-medium-circle-1.png
110
115
  - app/assets/images/cytoplasm/triangle-medium-circle-2.png
111
116
  - app/assets/images/cytoplasm/triangle-medium-circle-3.png
@@ -114,6 +119,7 @@ files:
114
119
  - app/assets/javascripts/cytoplasm/cytoColorPicker.js.erb
115
120
  - app/assets/javascripts/cytoplasm/cytoField.js.erb
116
121
  - app/assets/javascripts/cytoplasm/cytoLogo.js.erb
122
+ - app/assets/javascripts/cytoplasm/cytoMenu.js.erb
117
123
  - app/assets/javascripts/cytoplasm/cytoplasm.js.erb
118
124
  - app/assets/javascripts/cytoplasm/cytoRadio.js.erb
119
125
  - app/assets/javascripts/cytoplasm/cytoSelect.js.erb
@@ -121,7 +127,7 @@ files:
121
127
  - app/assets/javascripts/cytoplasm/cytoTable.js.erb
122
128
  - app/assets/javascripts/cytoplasm/cytoUpload.js.erb
123
129
  - app/assets/javascripts/cytoplasm/jquery.ba-throttle-debounce.min.js
124
- - app/assets/javascripts/cytoplasm/jquery.color.js
130
+ - app/assets/javascripts/cytoplasm/jquery.color-2.1.0.min.js
125
131
  - app/assets/javascripts/cytoplasm/less-1.3.1.min.js
126
132
  - app/assets/stylesheets/cytoplasm/cytoplasm.less
127
133
  - app/controllers/cytoplasm/fonts_controller.rb
@@ -288,23 +294,28 @@ files:
288
294
  - test/dummy/test/unit/helpers/home_helper_test.rb
289
295
  - test/dummy/tmp/cache/assets/C12/B20/sprockets%2F0c2660ea706c3e2682105026898f1403
290
296
  - test/dummy/tmp/cache/assets/C23/A50/sprockets%2F1011830ce123d00a75be4330f2721412
297
+ - test/dummy/tmp/cache/assets/C26/8F0/sprockets%2F3b5053120e76678a259691793a539bb4
291
298
  - test/dummy/tmp/cache/assets/C2E/4E0/sprockets%2F5b29288e435665a224409e7d76530c95
292
299
  - test/dummy/tmp/cache/assets/C75/590/sprockets%2Fc3abe8a0059292e1e3818278c0434027
293
300
  - test/dummy/tmp/cache/assets/C77/C20/sprockets%2F165a39476f3fa731c0af49432141049c
301
+ - test/dummy/tmp/cache/assets/C80/300/sprockets%2F0097f55cbf6b44214787f422f41291d3
294
302
  - test/dummy/tmp/cache/assets/C84/4A0/sprockets%2F8a760be2f29a644c90004cd461744978
295
303
  - test/dummy/tmp/cache/assets/C87/580/sprockets%2Fd904f7e82971fdde744127c702222195
296
304
  - test/dummy/tmp/cache/assets/C8F/0F0/sprockets%2F369f11075c8c5f939359cb5cb0569281
297
305
  - test/dummy/tmp/cache/assets/CA0/B40/sprockets%2F26961c657dc345435242accb433d260a
298
306
  - test/dummy/tmp/cache/assets/CA3/4B0/sprockets%2Fb78b7754bf248ba091802070be5c1630
299
307
  - test/dummy/tmp/cache/assets/CA7/8F0/sprockets%2F901b96894219d63a767e8898f73d4ce7
308
+ - test/dummy/tmp/cache/assets/CA8/E70/sprockets%2F5b16b7419ca6425b68262503ac627e4d
300
309
  - test/dummy/tmp/cache/assets/CAC/280/sprockets%2F408a235a236b0a3aa1302733211db5ba
301
310
  - test/dummy/tmp/cache/assets/CAE/FD0/sprockets%2F3bb22e4d409072c2278c1771893ec19e
302
311
  - test/dummy/tmp/cache/assets/CB2/AD0/sprockets%2F0c26131d87e0691ba9904e46ff5820b9
312
+ - test/dummy/tmp/cache/assets/CB5/A90/sprockets%2F595675d0d782f6212f20570d6e4a42ff
303
313
  - test/dummy/tmp/cache/assets/CB8/330/sprockets%2F8d9120752c9f38f7a5e164395e5d0c04
304
314
  - test/dummy/tmp/cache/assets/CBA/320/sprockets%2Fa34641007e856c6bd67567e2ac8668c4
305
315
  - test/dummy/tmp/cache/assets/CC4/F20/sprockets%2F7579067f2838847e2cf44a39d418fb1b
306
316
  - test/dummy/tmp/cache/assets/CCB/CA0/sprockets%2F2434294ecd716e768ead9a351978f965
307
317
  - test/dummy/tmp/cache/assets/CCE/F60/sprockets%2F37d1a6c1a8d398c4404b1b00076912fd
318
+ - test/dummy/tmp/cache/assets/CD4/490/sprockets%2F5609c0966d710286dad06a9ea4b42c11
308
319
  - test/dummy/tmp/cache/assets/CD7/990/sprockets%2F55411442048c5a69b45be06da29ee62c
309
320
  - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
310
321
  - test/dummy/tmp/cache/assets/CD8/900/sprockets%2Fc68606f026190266d8099ada290bbaa4
@@ -320,6 +331,7 @@ files:
320
331
  - test/dummy/tmp/cache/assets/CF7/ED0/sprockets%2F8061089f9dc8af8cc6353949d9b9d212
321
332
  - test/dummy/tmp/cache/assets/CF9/7C0/sprockets%2F40fc2f3d2a468a00e463f1d313cb1683
322
333
  - test/dummy/tmp/cache/assets/D03/6B0/sprockets%2Fd3cfc780201b87a3439e35c5236bb71a
334
+ - test/dummy/tmp/cache/assets/D04/CC0/sprockets%2F1c7e3330365910fa51cb5f8a4a841c7e
323
335
  - test/dummy/tmp/cache/assets/D05/D40/sprockets%2F1c9faaf28d05409b88ad3113374d613c
324
336
  - test/dummy/tmp/cache/assets/D06/7A0/sprockets%2Fa46b76e739460d2691f4121ffa8a0ca0
325
337
  - test/dummy/tmp/cache/assets/D0D/A10/sprockets%2F5c22f257a7abbc8e5720b17433657f6d
@@ -330,14 +342,17 @@ files:
330
342
  - test/dummy/tmp/cache/assets/D14/170/sprockets%2F40a7b83bb067eea7ce2c8394e1529287
331
343
  - test/dummy/tmp/cache/assets/D15/8E0/sprockets%2F4752afcb2967724e7e47b58b200d8ed2
332
344
  - test/dummy/tmp/cache/assets/D15/CE0/sprockets%2Fa1310379a19df3c1796f2f67dcd5915d
345
+ - test/dummy/tmp/cache/assets/D19/600/sprockets%2F345fa0a7855237e1a82e64874af9d7cc
333
346
  - test/dummy/tmp/cache/assets/D1A/780/sprockets%2F4ccacc2812e88c9176eb9740263e90d9
334
347
  - test/dummy/tmp/cache/assets/D21/A50/sprockets%2Feb094bfe70c49891ce65c0178d88d904
348
+ - test/dummy/tmp/cache/assets/D26/750/sprockets%2Fb70b009a7a0d9e252ef0b082d5029be0
335
349
  - test/dummy/tmp/cache/assets/D28/830/sprockets%2F1cd2012fe85799b84951d6fc7c8ff079
336
350
  - test/dummy/tmp/cache/assets/D2D/E60/sprockets%2F34ec37e4221a9a127bf1de1ee52951b0
337
351
  - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
338
352
  - test/dummy/tmp/cache/assets/D36/B20/sprockets%2F0dd47218aa33bc293a136c358f2eed67
339
353
  - test/dummy/tmp/cache/assets/D3E/380/sprockets%2Fc7b8211e5c7ea0299e8ac3404262fe7d
340
354
  - test/dummy/tmp/cache/assets/D47/930/sprockets%2F1a738430fd705a9dddde85a18dd29782
355
+ - test/dummy/tmp/cache/assets/D48/1C0/sprockets%2F7853aece2d8335fce33830d0b774ed68
341
356
  - test/dummy/tmp/cache/assets/D49/450/sprockets%2F2b7712073416ff8853efff262ddec53f
342
357
  - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
343
358
  - test/dummy/tmp/cache/assets/D50/750/sprockets%2F7fbcc321810c8f493f86364fee480ed9
@@ -346,6 +361,7 @@ files:
346
361
  - test/dummy/tmp/cache/assets/D60/2A0/sprockets%2Ff1857b8a367fbae328221040cfcb2f1c
347
362
  - test/dummy/tmp/cache/assets/D65/180/sprockets%2F346621e7334bd914afc87bc6a9d1bc0a
348
363
  - test/dummy/tmp/cache/assets/D65/F10/sprockets%2F0a60d2fd5c544ea66af4d382b5e3d147
364
+ - test/dummy/tmp/cache/assets/D66/290/sprockets%2Fe0bc90b225127451839ed2d6eca6ecb6
349
365
  - test/dummy/tmp/cache/assets/D68/A20/sprockets%2F8b8272d3eaf9323f1c34114cbcbf56f3
350
366
  - test/dummy/tmp/cache/assets/D69/0A0/sprockets%2Fe6c078d521b528e004f5dd673ddb2a6d
351
367
  - test/dummy/tmp/cache/assets/D69/0B0/sprockets%2Fb9e3ae8763ce66c2090d9413bdd400fa
@@ -354,8 +370,13 @@ files:
354
370
  - test/dummy/tmp/cache/assets/D78/840/sprockets%2F326ec6387a9d1b45ec2cdf7093b79f0e
355
371
  - test/dummy/tmp/cache/assets/D83/C70/sprockets%2Ff536f7a68e692747fca1d2fcd5c07f57
356
372
  - test/dummy/tmp/cache/assets/D85/6C0/sprockets%2F555d588aa6cc3cc52b3b26a1c4bd21a1
373
+ - test/dummy/tmp/cache/assets/D87/200/sprockets%2Fe0c1351fbd86032af3fd4b32c408acd4
357
374
  - test/dummy/tmp/cache/assets/D87/C40/sprockets%2F9dcd7a6999affe28e91e514cee079016
358
375
  - test/dummy/tmp/cache/assets/D88/700/sprockets%2Fe13c6f31271a8ac23e63ef0a118ebe2b
376
+ - test/dummy/tmp/cache/assets/D8D/930/sprockets%2Ff9a03a5e1622ce69a7d82ab0be00e6c3
377
+ - test/dummy/tmp/cache/assets/D91/130/sprockets%2F928ea21100ee49aa47c9ef50fa17dc1a
378
+ - test/dummy/tmp/cache/assets/D94/9D0/sprockets%2F9cda9ba002e091c71087d8dba7aca098
379
+ - test/dummy/tmp/cache/assets/D97/1C0/sprockets%2Faa0ccf8e63f048456ade02a39fa8571a
359
380
  - test/dummy/tmp/cache/assets/D98/8B0/sprockets%2Fedbef6e0d0a4742346cf479f2c522eb0
360
381
  - test/dummy/tmp/cache/assets/DA4/140/sprockets%2F24502b9d4e4eea6f709e089c0fdff30f
361
382
  - test/dummy/tmp/cache/assets/DBE/210/sprockets%2Fbedb89fd02eac0dc7aa93c820c612343
@@ -369,6 +390,7 @@ files:
369
390
  - test/dummy/tmp/cache/assets/DEE/F50/sprockets%2F6b8fab3db493fe00d2ea40e12bd8d7d0
370
391
  - test/dummy/tmp/cache/assets/DFB/400/sprockets%2F0c2b7f7aeeee011a378b79e3bc28fae5
371
392
  - test/dummy/tmp/cache/assets/E00/880/sprockets%2Fecb876bb310c1a3e6fd534ece45c9ed9
393
+ - test/dummy/tmp/cache/assets/E00/9A0/sprockets%2Ff1ece46dc13852f9cb8d4ed0fcf1640e
372
394
  - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
373
395
  - test/dummy/tmp/cache/assets/E05/E70/sprockets%2Fead5bfd3417fc5de81d3794c3e443cfe
374
396
  - test/dummy/tmp/cache/assets/E1A/970/sprockets%2Ff89b4657cfc95e2d28f6fad44c58edfb
@@ -378,6 +400,7 @@ files:
378
400
  - test/dummy/tmp/cache/assets/E71/0E0/sprockets%2Fcbbecea061be6e609adc04133b9badab
379
401
  - test/dummy/tmp/cache/assets/E8C/480/sprockets%2Fdacb331ac961cf7b7cbc69abe8fb74dd
380
402
  - test/dummy/tmp/cache/assets/E8D/B40/sprockets%2Fb862bf7fb4b4c634aeaa9dfc97babc6b
403
+ - test/dummy/tmp/pids/server.pid
381
404
  - test/test_helper.rb
382
405
  homepage: http://cytoplasm.mackinleysmith.com/
383
406
  licenses: []
@@ -393,7 +416,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
393
416
  version: '0'
394
417
  segments:
395
418
  - 0
396
- hash: 4309338810729263701
419
+ hash: 1561256756295571567
397
420
  required_rubygems_version: !ruby/object:Gem::Requirement
398
421
  none: false
399
422
  requirements:
@@ -402,7 +425,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
402
425
  version: '0'
403
426
  segments:
404
427
  - 0
405
- hash: 4309338810729263701
428
+ hash: 1561256756295571567
406
429
  requirements: []
407
430
  rubyforge_project:
408
431
  rubygems_version: 1.8.24
@@ -551,23 +574,28 @@ test_files:
551
574
  - test/dummy/test/unit/helpers/home_helper_test.rb
552
575
  - test/dummy/tmp/cache/assets/C12/B20/sprockets%2F0c2660ea706c3e2682105026898f1403
553
576
  - test/dummy/tmp/cache/assets/C23/A50/sprockets%2F1011830ce123d00a75be4330f2721412
577
+ - test/dummy/tmp/cache/assets/C26/8F0/sprockets%2F3b5053120e76678a259691793a539bb4
554
578
  - test/dummy/tmp/cache/assets/C2E/4E0/sprockets%2F5b29288e435665a224409e7d76530c95
555
579
  - test/dummy/tmp/cache/assets/C75/590/sprockets%2Fc3abe8a0059292e1e3818278c0434027
556
580
  - test/dummy/tmp/cache/assets/C77/C20/sprockets%2F165a39476f3fa731c0af49432141049c
581
+ - test/dummy/tmp/cache/assets/C80/300/sprockets%2F0097f55cbf6b44214787f422f41291d3
557
582
  - test/dummy/tmp/cache/assets/C84/4A0/sprockets%2F8a760be2f29a644c90004cd461744978
558
583
  - test/dummy/tmp/cache/assets/C87/580/sprockets%2Fd904f7e82971fdde744127c702222195
559
584
  - test/dummy/tmp/cache/assets/C8F/0F0/sprockets%2F369f11075c8c5f939359cb5cb0569281
560
585
  - test/dummy/tmp/cache/assets/CA0/B40/sprockets%2F26961c657dc345435242accb433d260a
561
586
  - test/dummy/tmp/cache/assets/CA3/4B0/sprockets%2Fb78b7754bf248ba091802070be5c1630
562
587
  - test/dummy/tmp/cache/assets/CA7/8F0/sprockets%2F901b96894219d63a767e8898f73d4ce7
588
+ - test/dummy/tmp/cache/assets/CA8/E70/sprockets%2F5b16b7419ca6425b68262503ac627e4d
563
589
  - test/dummy/tmp/cache/assets/CAC/280/sprockets%2F408a235a236b0a3aa1302733211db5ba
564
590
  - test/dummy/tmp/cache/assets/CAE/FD0/sprockets%2F3bb22e4d409072c2278c1771893ec19e
565
591
  - test/dummy/tmp/cache/assets/CB2/AD0/sprockets%2F0c26131d87e0691ba9904e46ff5820b9
592
+ - test/dummy/tmp/cache/assets/CB5/A90/sprockets%2F595675d0d782f6212f20570d6e4a42ff
566
593
  - test/dummy/tmp/cache/assets/CB8/330/sprockets%2F8d9120752c9f38f7a5e164395e5d0c04
567
594
  - test/dummy/tmp/cache/assets/CBA/320/sprockets%2Fa34641007e856c6bd67567e2ac8668c4
568
595
  - test/dummy/tmp/cache/assets/CC4/F20/sprockets%2F7579067f2838847e2cf44a39d418fb1b
569
596
  - test/dummy/tmp/cache/assets/CCB/CA0/sprockets%2F2434294ecd716e768ead9a351978f965
570
597
  - test/dummy/tmp/cache/assets/CCE/F60/sprockets%2F37d1a6c1a8d398c4404b1b00076912fd
598
+ - test/dummy/tmp/cache/assets/CD4/490/sprockets%2F5609c0966d710286dad06a9ea4b42c11
571
599
  - test/dummy/tmp/cache/assets/CD7/990/sprockets%2F55411442048c5a69b45be06da29ee62c
572
600
  - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
573
601
  - test/dummy/tmp/cache/assets/CD8/900/sprockets%2Fc68606f026190266d8099ada290bbaa4
@@ -583,6 +611,7 @@ test_files:
583
611
  - test/dummy/tmp/cache/assets/CF7/ED0/sprockets%2F8061089f9dc8af8cc6353949d9b9d212
584
612
  - test/dummy/tmp/cache/assets/CF9/7C0/sprockets%2F40fc2f3d2a468a00e463f1d313cb1683
585
613
  - test/dummy/tmp/cache/assets/D03/6B0/sprockets%2Fd3cfc780201b87a3439e35c5236bb71a
614
+ - test/dummy/tmp/cache/assets/D04/CC0/sprockets%2F1c7e3330365910fa51cb5f8a4a841c7e
586
615
  - test/dummy/tmp/cache/assets/D05/D40/sprockets%2F1c9faaf28d05409b88ad3113374d613c
587
616
  - test/dummy/tmp/cache/assets/D06/7A0/sprockets%2Fa46b76e739460d2691f4121ffa8a0ca0
588
617
  - test/dummy/tmp/cache/assets/D0D/A10/sprockets%2F5c22f257a7abbc8e5720b17433657f6d
@@ -593,14 +622,17 @@ test_files:
593
622
  - test/dummy/tmp/cache/assets/D14/170/sprockets%2F40a7b83bb067eea7ce2c8394e1529287
594
623
  - test/dummy/tmp/cache/assets/D15/8E0/sprockets%2F4752afcb2967724e7e47b58b200d8ed2
595
624
  - test/dummy/tmp/cache/assets/D15/CE0/sprockets%2Fa1310379a19df3c1796f2f67dcd5915d
625
+ - test/dummy/tmp/cache/assets/D19/600/sprockets%2F345fa0a7855237e1a82e64874af9d7cc
596
626
  - test/dummy/tmp/cache/assets/D1A/780/sprockets%2F4ccacc2812e88c9176eb9740263e90d9
597
627
  - test/dummy/tmp/cache/assets/D21/A50/sprockets%2Feb094bfe70c49891ce65c0178d88d904
628
+ - test/dummy/tmp/cache/assets/D26/750/sprockets%2Fb70b009a7a0d9e252ef0b082d5029be0
598
629
  - test/dummy/tmp/cache/assets/D28/830/sprockets%2F1cd2012fe85799b84951d6fc7c8ff079
599
630
  - test/dummy/tmp/cache/assets/D2D/E60/sprockets%2F34ec37e4221a9a127bf1de1ee52951b0
600
631
  - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
601
632
  - test/dummy/tmp/cache/assets/D36/B20/sprockets%2F0dd47218aa33bc293a136c358f2eed67
602
633
  - test/dummy/tmp/cache/assets/D3E/380/sprockets%2Fc7b8211e5c7ea0299e8ac3404262fe7d
603
634
  - test/dummy/tmp/cache/assets/D47/930/sprockets%2F1a738430fd705a9dddde85a18dd29782
635
+ - test/dummy/tmp/cache/assets/D48/1C0/sprockets%2F7853aece2d8335fce33830d0b774ed68
604
636
  - test/dummy/tmp/cache/assets/D49/450/sprockets%2F2b7712073416ff8853efff262ddec53f
605
637
  - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
606
638
  - test/dummy/tmp/cache/assets/D50/750/sprockets%2F7fbcc321810c8f493f86364fee480ed9
@@ -609,6 +641,7 @@ test_files:
609
641
  - test/dummy/tmp/cache/assets/D60/2A0/sprockets%2Ff1857b8a367fbae328221040cfcb2f1c
610
642
  - test/dummy/tmp/cache/assets/D65/180/sprockets%2F346621e7334bd914afc87bc6a9d1bc0a
611
643
  - test/dummy/tmp/cache/assets/D65/F10/sprockets%2F0a60d2fd5c544ea66af4d382b5e3d147
644
+ - test/dummy/tmp/cache/assets/D66/290/sprockets%2Fe0bc90b225127451839ed2d6eca6ecb6
612
645
  - test/dummy/tmp/cache/assets/D68/A20/sprockets%2F8b8272d3eaf9323f1c34114cbcbf56f3
613
646
  - test/dummy/tmp/cache/assets/D69/0A0/sprockets%2Fe6c078d521b528e004f5dd673ddb2a6d
614
647
  - test/dummy/tmp/cache/assets/D69/0B0/sprockets%2Fb9e3ae8763ce66c2090d9413bdd400fa
@@ -617,8 +650,13 @@ test_files:
617
650
  - test/dummy/tmp/cache/assets/D78/840/sprockets%2F326ec6387a9d1b45ec2cdf7093b79f0e
618
651
  - test/dummy/tmp/cache/assets/D83/C70/sprockets%2Ff536f7a68e692747fca1d2fcd5c07f57
619
652
  - test/dummy/tmp/cache/assets/D85/6C0/sprockets%2F555d588aa6cc3cc52b3b26a1c4bd21a1
653
+ - test/dummy/tmp/cache/assets/D87/200/sprockets%2Fe0c1351fbd86032af3fd4b32c408acd4
620
654
  - test/dummy/tmp/cache/assets/D87/C40/sprockets%2F9dcd7a6999affe28e91e514cee079016
621
655
  - test/dummy/tmp/cache/assets/D88/700/sprockets%2Fe13c6f31271a8ac23e63ef0a118ebe2b
656
+ - test/dummy/tmp/cache/assets/D8D/930/sprockets%2Ff9a03a5e1622ce69a7d82ab0be00e6c3
657
+ - test/dummy/tmp/cache/assets/D91/130/sprockets%2F928ea21100ee49aa47c9ef50fa17dc1a
658
+ - test/dummy/tmp/cache/assets/D94/9D0/sprockets%2F9cda9ba002e091c71087d8dba7aca098
659
+ - test/dummy/tmp/cache/assets/D97/1C0/sprockets%2Faa0ccf8e63f048456ade02a39fa8571a
622
660
  - test/dummy/tmp/cache/assets/D98/8B0/sprockets%2Fedbef6e0d0a4742346cf479f2c522eb0
623
661
  - test/dummy/tmp/cache/assets/DA4/140/sprockets%2F24502b9d4e4eea6f709e089c0fdff30f
624
662
  - test/dummy/tmp/cache/assets/DBE/210/sprockets%2Fbedb89fd02eac0dc7aa93c820c612343
@@ -632,6 +670,7 @@ test_files:
632
670
  - test/dummy/tmp/cache/assets/DEE/F50/sprockets%2F6b8fab3db493fe00d2ea40e12bd8d7d0
633
671
  - test/dummy/tmp/cache/assets/DFB/400/sprockets%2F0c2b7f7aeeee011a378b79e3bc28fae5
634
672
  - test/dummy/tmp/cache/assets/E00/880/sprockets%2Fecb876bb310c1a3e6fd534ece45c9ed9
673
+ - test/dummy/tmp/cache/assets/E00/9A0/sprockets%2Ff1ece46dc13852f9cb8d4ed0fcf1640e
635
674
  - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
636
675
  - test/dummy/tmp/cache/assets/E05/E70/sprockets%2Fead5bfd3417fc5de81d3794c3e443cfe
637
676
  - test/dummy/tmp/cache/assets/E1A/970/sprockets%2Ff89b4657cfc95e2d28f6fad44c58edfb
@@ -641,4 +680,5 @@ test_files:
641
680
  - test/dummy/tmp/cache/assets/E71/0E0/sprockets%2Fcbbecea061be6e609adc04133b9badab
642
681
  - test/dummy/tmp/cache/assets/E8C/480/sprockets%2Fdacb331ac961cf7b7cbc69abe8fb74dd
643
682
  - test/dummy/tmp/cache/assets/E8D/B40/sprockets%2Fb862bf7fb4b4c634aeaa9dfc97babc6b
683
+ - test/dummy/tmp/pids/server.pid
644
684
  - test/test_helper.rb
@@ -1,663 +0,0 @@
1
- /*!
2
- * jQuery Color Animations v@VERSION
3
- * https://github.com/jquery/jquery-color
4
- *
5
- * Copyright 2012 jQuery Foundation and other contributors
6
- * Released under the MIT license.
7
- * http://jquery.org/license
8
- *
9
- * Date: @DATE
10
- */
11
- (function( jQuery, undefined ) {
12
-
13
- var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
14
-
15
- // plusequals test for += 100 -= 100
16
- rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
17
- // a set of RE's that can match strings and generate color tuples.
18
- stringParsers = [{
19
- re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
20
- parse: function( execResult ) {
21
- return [
22
- execResult[ 1 ],
23
- execResult[ 2 ],
24
- execResult[ 3 ],
25
- execResult[ 4 ]
26
- ];
27
- }
28
- }, {
29
- re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
30
- parse: function( execResult ) {
31
- return [
32
- execResult[ 1 ] * 2.55,
33
- execResult[ 2 ] * 2.55,
34
- execResult[ 3 ] * 2.55,
35
- execResult[ 4 ]
36
- ];
37
- }
38
- }, {
39
- // this regex ignores A-F because it's compared against an already lowercased string
40
- re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
41
- parse: function( execResult ) {
42
- return [
43
- parseInt( execResult[ 1 ], 16 ),
44
- parseInt( execResult[ 2 ], 16 ),
45
- parseInt( execResult[ 3 ], 16 )
46
- ];
47
- }
48
- }, {
49
- // this regex ignores A-F because it's compared against an already lowercased string
50
- re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
51
- parse: function( execResult ) {
52
- return [
53
- parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
54
- parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
55
- parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
56
- ];
57
- }
58
- }, {
59
- re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
60
- space: "hsla",
61
- parse: function( execResult ) {
62
- return [
63
- execResult[ 1 ],
64
- execResult[ 2 ] / 100,
65
- execResult[ 3 ] / 100,
66
- execResult[ 4 ]
67
- ];
68
- }
69
- }],
70
-
71
- // jQuery.Color( )
72
- color = jQuery.Color = function( color, green, blue, alpha ) {
73
- return new jQuery.Color.fn.parse( color, green, blue, alpha );
74
- },
75
- spaces = {
76
- rgba: {
77
- props: {
78
- red: {
79
- idx: 0,
80
- type: "byte"
81
- },
82
- green: {
83
- idx: 1,
84
- type: "byte"
85
- },
86
- blue: {
87
- idx: 2,
88
- type: "byte"
89
- }
90
- }
91
- },
92
-
93
- hsla: {
94
- props: {
95
- hue: {
96
- idx: 0,
97
- type: "degrees"
98
- },
99
- saturation: {
100
- idx: 1,
101
- type: "percent"
102
- },
103
- lightness: {
104
- idx: 2,
105
- type: "percent"
106
- }
107
- }
108
- }
109
- },
110
- propTypes = {
111
- "byte": {
112
- floor: true,
113
- max: 255
114
- },
115
- "percent": {
116
- max: 1
117
- },
118
- "degrees": {
119
- mod: 360,
120
- floor: true
121
- }
122
- },
123
- support = color.support = {},
124
-
125
- // element for support tests
126
- supportElem = jQuery( "<p>" )[ 0 ],
127
-
128
- // colors = jQuery.Color.names
129
- colors,
130
-
131
- // local aliases of functions called often
132
- each = jQuery.each;
133
-
134
- // determine rgba support immediately
135
- supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
136
- support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
137
-
138
- // define cache name and alpha properties
139
- // for rgba and hsla spaces
140
- each( spaces, function( spaceName, space ) {
141
- space.cache = "_" + spaceName;
142
- space.props.alpha = {
143
- idx: 3,
144
- type: "percent",
145
- def: 1
146
- };
147
- });
148
-
149
- function clamp( value, prop, allowEmpty ) {
150
- var type = propTypes[ prop.type ] || {};
151
-
152
- if ( value == null ) {
153
- return (allowEmpty || !prop.def) ? null : prop.def;
154
- }
155
-
156
- // ~~ is an short way of doing floor for positive numbers
157
- value = type.floor ? ~~value : parseFloat( value );
158
-
159
- // IE will pass in empty strings as value for alpha,
160
- // which will hit this case
161
- if ( isNaN( value ) ) {
162
- return prop.def;
163
- }
164
-
165
- if ( type.mod ) {
166
- // we add mod before modding to make sure that negatives values
167
- // get converted properly: -10 -> 350
168
- return (value + type.mod) % type.mod;
169
- }
170
-
171
- // for now all property types without mod have min and max
172
- return 0 > value ? 0 : type.max < value ? type.max : value;
173
- }
174
-
175
- function stringParse( string ) {
176
- var inst = color(),
177
- rgba = inst._rgba = [];
178
-
179
- string = string.toLowerCase();
180
-
181
- each( stringParsers, function( i, parser ) {
182
- var parsed,
183
- match = parser.re.exec( string ),
184
- values = match && parser.parse( match ),
185
- spaceName = parser.space || "rgba";
186
-
187
- if ( values ) {
188
- parsed = inst[ spaceName ]( values );
189
-
190
- // if this was an rgba parse the assignment might happen twice
191
- // oh well....
192
- inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
193
- rgba = inst._rgba = parsed._rgba;
194
-
195
- // exit each( stringParsers ) here because we matched
196
- return false;
197
- }
198
- });
199
-
200
- // Found a stringParser that handled it
201
- if ( rgba.length ) {
202
-
203
- // if this came from a parsed string, force "transparent" when alpha is 0
204
- // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
205
- if ( rgba.join() === "0,0,0,0" ) {
206
- jQuery.extend( rgba, colors.transparent );
207
- }
208
- return inst;
209
- }
210
-
211
- // named colors
212
- return colors[ string ];
213
- }
214
-
215
- color.fn = jQuery.extend( color.prototype, {
216
- parse: function( red, green, blue, alpha ) {
217
- if ( red === undefined ) {
218
- this._rgba = [ null, null, null, null ];
219
- return this;
220
- }
221
- if ( red.jquery || red.nodeType ) {
222
- red = jQuery( red ).css( green );
223
- green = undefined;
224
- }
225
-
226
- var inst = this,
227
- type = jQuery.type( red ),
228
- rgba = this._rgba = [];
229
-
230
- // more than 1 argument specified - assume ( red, green, blue, alpha )
231
- if ( green !== undefined ) {
232
- red = [ red, green, blue, alpha ];
233
- type = "array";
234
- }
235
-
236
- if ( type === "string" ) {
237
- return this.parse( stringParse( red ) || colors._default );
238
- }
239
-
240
- if ( type === "array" ) {
241
- each( spaces.rgba.props, function( key, prop ) {
242
- rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
243
- });
244
- return this;
245
- }
246
-
247
- if ( type === "object" ) {
248
- if ( red instanceof color ) {
249
- each( spaces, function( spaceName, space ) {
250
- if ( red[ space.cache ] ) {
251
- inst[ space.cache ] = red[ space.cache ].slice();
252
- }
253
- });
254
- } else {
255
- each( spaces, function( spaceName, space ) {
256
- var cache = space.cache;
257
- each( space.props, function( key, prop ) {
258
-
259
- // if the cache doesn't exist, and we know how to convert
260
- if ( !inst[ cache ] && space.to ) {
261
-
262
- // if the value was null, we don't need to copy it
263
- // if the key was alpha, we don't need to copy it either
264
- if ( key === "alpha" || red[ key ] == null ) {
265
- return;
266
- }
267
- inst[ cache ] = space.to( inst._rgba );
268
- }
269
-
270
- // this is the only case where we allow nulls for ALL properties.
271
- // call clamp with alwaysAllowEmpty
272
- inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
273
- });
274
-
275
- // everything defined but alpha?
276
- if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
277
- // use the default of 1
278
- inst[ cache ][ 3 ] = 1;
279
- if ( space.from ) {
280
- inst._rgba = space.from( inst[ cache ] );
281
- }
282
- }
283
- });
284
- }
285
- return this;
286
- }
287
- },
288
- is: function( compare ) {
289
- var is = color( compare ),
290
- same = true,
291
- inst = this;
292
-
293
- each( spaces, function( _, space ) {
294
- var localCache,
295
- isCache = is[ space.cache ];
296
- if (isCache) {
297
- localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
298
- each( space.props, function( _, prop ) {
299
- if ( isCache[ prop.idx ] != null ) {
300
- same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
301
- return same;
302
- }
303
- });
304
- }
305
- return same;
306
- });
307
- return same;
308
- },
309
- _space: function() {
310
- var used = [],
311
- inst = this;
312
- each( spaces, function( spaceName, space ) {
313
- if ( inst[ space.cache ] ) {
314
- used.push( spaceName );
315
- }
316
- });
317
- return used.pop();
318
- },
319
- transition: function( other, distance ) {
320
- var end = color( other ),
321
- spaceName = end._space(),
322
- space = spaces[ spaceName ],
323
- startColor = this.alpha() === 0 ? color( "transparent" ) : this,
324
- start = startColor[ space.cache ] || space.to( startColor._rgba ),
325
- result = start.slice();
326
-
327
- end = end[ space.cache ];
328
- each( space.props, function( key, prop ) {
329
- var index = prop.idx,
330
- startValue = start[ index ],
331
- endValue = end[ index ],
332
- type = propTypes[ prop.type ] || {};
333
-
334
- // if null, don't override start value
335
- if ( endValue === null ) {
336
- return;
337
- }
338
- // if null - use end
339
- if ( startValue === null ) {
340
- result[ index ] = endValue;
341
- } else {
342
- if ( type.mod ) {
343
- if ( endValue - startValue > type.mod / 2 ) {
344
- startValue += type.mod;
345
- } else if ( startValue - endValue > type.mod / 2 ) {
346
- startValue -= type.mod;
347
- }
348
- }
349
- result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
350
- }
351
- });
352
- return this[ spaceName ]( result );
353
- },
354
- blend: function( opaque ) {
355
- // if we are already opaque - return ourself
356
- if ( this._rgba[ 3 ] === 1 ) {
357
- return this;
358
- }
359
-
360
- var rgb = this._rgba.slice(),
361
- a = rgb.pop(),
362
- blend = color( opaque )._rgba;
363
-
364
- return color( jQuery.map( rgb, function( v, i ) {
365
- return ( 1 - a ) * blend[ i ] + a * v;
366
- }));
367
- },
368
- toRgbaString: function() {
369
- var prefix = "rgba(",
370
- rgba = jQuery.map( this._rgba, function( v, i ) {
371
- return v == null ? ( i > 2 ? 1 : 0 ) : v;
372
- });
373
-
374
- if ( rgba[ 3 ] === 1 ) {
375
- rgba.pop();
376
- prefix = "rgb(";
377
- }
378
-
379
- return prefix + rgba.join() + ")";
380
- },
381
- toHslaString: function() {
382
- var prefix = "hsla(",
383
- hsla = jQuery.map( this.hsla(), function( v, i ) {
384
- if ( v == null ) {
385
- v = i > 2 ? 1 : 0;
386
- }
387
-
388
- // catch 1 and 2
389
- if ( i && i < 3 ) {
390
- v = Math.round( v * 100 ) + "%";
391
- }
392
- return v;
393
- });
394
-
395
- if ( hsla[ 3 ] === 1 ) {
396
- hsla.pop();
397
- prefix = "hsl(";
398
- }
399
- return prefix + hsla.join() + ")";
400
- },
401
- toHexString: function( includeAlpha ) {
402
- var rgba = this._rgba.slice(),
403
- alpha = rgba.pop();
404
-
405
- if ( includeAlpha ) {
406
- rgba.push( ~~( alpha * 255 ) );
407
- }
408
-
409
- return "#" + jQuery.map( rgba, function( v ) {
410
-
411
- // default to 0 when nulls exist
412
- v = ( v || 0 ).toString( 16 );
413
- return v.length === 1 ? "0" + v : v;
414
- }).join("");
415
- },
416
- toString: function() {
417
- return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
418
- }
419
- });
420
- color.fn.parse.prototype = color.fn;
421
-
422
- // hsla conversions adapted from:
423
- // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
424
-
425
- function hue2rgb( p, q, h ) {
426
- h = ( h + 1 ) % 1;
427
- if ( h * 6 < 1 ) {
428
- return p + (q - p) * h * 6;
429
- }
430
- if ( h * 2 < 1) {
431
- return q;
432
- }
433
- if ( h * 3 < 2 ) {
434
- return p + (q - p) * ((2/3) - h) * 6;
435
- }
436
- return p;
437
- }
438
-
439
- spaces.hsla.to = function ( rgba ) {
440
- if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
441
- return [ null, null, null, rgba[ 3 ] ];
442
- }
443
- var r = rgba[ 0 ] / 255,
444
- g = rgba[ 1 ] / 255,
445
- b = rgba[ 2 ] / 255,
446
- a = rgba[ 3 ],
447
- max = Math.max( r, g, b ),
448
- min = Math.min( r, g, b ),
449
- diff = max - min,
450
- add = max + min,
451
- l = add * 0.5,
452
- h, s;
453
-
454
- if ( min === max ) {
455
- h = 0;
456
- } else if ( r === max ) {
457
- h = ( 60 * ( g - b ) / diff ) + 360;
458
- } else if ( g === max ) {
459
- h = ( 60 * ( b - r ) / diff ) + 120;
460
- } else {
461
- h = ( 60 * ( r - g ) / diff ) + 240;
462
- }
463
-
464
- // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
465
- // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
466
- if ( diff === 0 ) {
467
- s = 0;
468
- } else if ( l <= 0.5 ) {
469
- s = diff / add;
470
- } else {
471
- s = diff / ( 2 - add );
472
- }
473
- return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
474
- };
475
-
476
- spaces.hsla.from = function ( hsla ) {
477
- if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
478
- return [ null, null, null, hsla[ 3 ] ];
479
- }
480
- var h = hsla[ 0 ] / 360,
481
- s = hsla[ 1 ],
482
- l = hsla[ 2 ],
483
- a = hsla[ 3 ],
484
- q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
485
- p = 2 * l - q;
486
-
487
- return [
488
- Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
489
- Math.round( hue2rgb( p, q, h ) * 255 ),
490
- Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
491
- a
492
- ];
493
- };
494
-
495
-
496
- each( spaces, function( spaceName, space ) {
497
- var props = space.props,
498
- cache = space.cache,
499
- to = space.to,
500
- from = space.from;
501
-
502
- // makes rgba() and hsla()
503
- color.fn[ spaceName ] = function( value ) {
504
-
505
- // generate a cache for this space if it doesn't exist
506
- if ( to && !this[ cache ] ) {
507
- this[ cache ] = to( this._rgba );
508
- }
509
- if ( value === undefined ) {
510
- return this[ cache ].slice();
511
- }
512
-
513
- var ret,
514
- type = jQuery.type( value ),
515
- arr = ( type === "array" || type === "object" ) ? value : arguments,
516
- local = this[ cache ].slice();
517
-
518
- each( props, function( key, prop ) {
519
- var val = arr[ type === "object" ? key : prop.idx ];
520
- if ( val == null ) {
521
- val = local[ prop.idx ];
522
- }
523
- local[ prop.idx ] = clamp( val, prop );
524
- });
525
-
526
- if ( from ) {
527
- ret = color( from( local ) );
528
- ret[ cache ] = local;
529
- return ret;
530
- } else {
531
- return color( local );
532
- }
533
- };
534
-
535
- // makes red() green() blue() alpha() hue() saturation() lightness()
536
- each( props, function( key, prop ) {
537
- // alpha is included in more than one space
538
- if ( color.fn[ key ] ) {
539
- return;
540
- }
541
- color.fn[ key ] = function( value ) {
542
- var vtype = jQuery.type( value ),
543
- fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
544
- local = this[ fn ](),
545
- cur = local[ prop.idx ],
546
- match;
547
-
548
- if ( vtype === "undefined" ) {
549
- return cur;
550
- }
551
-
552
- if ( vtype === "function" ) {
553
- value = value.call( this, cur );
554
- vtype = jQuery.type( value );
555
- }
556
- if ( value == null && prop.empty ) {
557
- return this;
558
- }
559
- if ( vtype === "string" ) {
560
- match = rplusequals.exec( value );
561
- if ( match ) {
562
- value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
563
- }
564
- }
565
- local[ prop.idx ] = value;
566
- return this[ fn ]( local );
567
- };
568
- });
569
- });
570
-
571
- // add cssHook and .fx.step function for each named hook.
572
- // accept a space separated string of properties
573
- color.hook = function( hook ) {
574
- var hooks = hook.split( " " );
575
- each( hooks, function( i, hook ) {
576
- jQuery.cssHooks[ hook ] = {
577
- set: function( elem, value ) {
578
- var parsed, curElem,
579
- backgroundColor = "";
580
-
581
- if ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) {
582
- value = color( parsed || value );
583
- if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
584
- curElem = hook === "backgroundColor" ? elem.parentNode : elem;
585
- while (
586
- (backgroundColor === "" || backgroundColor === "transparent") &&
587
- curElem && curElem.style
588
- ) {
589
- try {
590
- backgroundColor = jQuery.css( curElem, "backgroundColor" );
591
- curElem = curElem.parentNode;
592
- } catch ( e ) {
593
- }
594
- }
595
-
596
- value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
597
- backgroundColor :
598
- "_default" );
599
- }
600
-
601
- value = value.toRgbaString();
602
- }
603
- try {
604
- elem.style[ hook ] = value;
605
- } catch( e ) {
606
- // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
607
- }
608
- }
609
- };
610
- jQuery.fx.step[ hook ] = function( fx ) {
611
- if ( !fx.colorInit ) {
612
- fx.start = color( fx.elem, hook );
613
- fx.end = color( fx.end );
614
- fx.colorInit = true;
615
- }
616
- jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
617
- };
618
- });
619
-
620
- };
621
-
622
- color.hook( stepHooks );
623
-
624
- jQuery.cssHooks.borderColor = {
625
- expand: function( value ) {
626
- var expanded = {};
627
-
628
- each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
629
- expanded[ "border" + part + "Color" ] = value;
630
- });
631
- return expanded;
632
- }
633
- };
634
-
635
- // Basic color names only.
636
- // Usage of any of the other color names requires adding yourself or including
637
- // jquery.color.svg-names.js.
638
- colors = jQuery.Color.names = {
639
- // 4.1. Basic color keywords
640
- aqua: "#00ffff",
641
- black: "#000000",
642
- blue: "#0000ff",
643
- fuchsia: "#ff00ff",
644
- gray: "#808080",
645
- green: "#008000",
646
- lime: "#00ff00",
647
- maroon: "#800000",
648
- navy: "#000080",
649
- olive: "#808000",
650
- purple: "#800080",
651
- red: "#ff0000",
652
- silver: "#c0c0c0",
653
- teal: "#008080",
654
- white: "#ffffff",
655
- yellow: "#ffff00",
656
-
657
- // 4.2.3. "transparent" color keyword
658
- transparent: [ null, null, null, 0 ],
659
-
660
- _default: "#ffffff"
661
- };
662
-
663
- })( jQuery );