csster 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/csster.rb ADDED
@@ -0,0 +1,8 @@
1
+ require "csster/version"
2
+
3
+ module Csster
4
+ module Rails
5
+ class Engine < ::Rails::Engine
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module Csster
2
+ VERSION = "1.1.1"
3
+ end
@@ -0,0 +1,1442 @@
1
+ // Csster version 1.1.1; Copyright (c) Andrew J. Peterson / ndpsoftware.com. All Rights Reserved
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId])
11
+ /******/ return installedModules[moduleId].exports;
12
+
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ exports: {},
16
+ /******/ id: moduleId,
17
+ /******/ loaded: false
18
+ /******/ };
19
+
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.loaded = true;
25
+
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+
30
+
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+
37
+ /******/ // __webpack_public_path__
38
+ /******/ __webpack_require__.p = "";
39
+
40
+ /******/ // Load entry module and return exports
41
+ /******/ return __webpack_require__(0);
42
+ /******/ })
43
+ /************************************************************************/
44
+ /******/ ([
45
+ /* 0 */
46
+ /***/ function(module, exports, __webpack_require__) {
47
+
48
+ __webpack_require__(1);
49
+ module.exports = __webpack_require__(28);
50
+
51
+
52
+ /***/ },
53
+ /* 1 */
54
+ /***/ function(module, exports, __webpack_require__) {
55
+
56
+ 'use strict';
57
+
58
+ var _buildRules = __webpack_require__(2);
59
+
60
+ var _buildRules2 = _interopRequireDefault(_buildRules);
61
+
62
+ var _stringifyRules = __webpack_require__(12);
63
+
64
+ var _stringifyRules2 = _interopRequireDefault(_stringifyRules);
65
+
66
+ var _insertCss = __webpack_require__(17);
67
+
68
+ var _insertCss2 = _interopRequireDefault(_insertCss);
69
+
70
+ var _macros = __webpack_require__(18);
71
+
72
+ var macros = _interopRequireWildcard(_macros);
73
+
74
+ var _array = __webpack_require__(6);
75
+
76
+ var _browser = __webpack_require__(24);
77
+
78
+ var _color = __webpack_require__(27);
79
+
80
+ var _propertyNameValidator = __webpack_require__(11);
81
+
82
+ var propertyNameValidator = _interopRequireWildcard(_propertyNameValidator);
83
+
84
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
85
+
86
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87
+
88
+ if (!window.Csster) {
89
+ window.Csster = {};
90
+ }
91
+
92
+ Csster.buildCss = function (o) {
93
+ var rules = (0, _buildRules2.default)(o);
94
+ var css = (0, _stringifyRules2.default)(rules);
95
+ return css;
96
+ };
97
+
98
+ Csster.style = function (o) {
99
+ var css = Csster.buildCss(o);
100
+ (0, _insertCss2.default)(css);
101
+ };
102
+
103
+ // Make available various utilities
104
+
105
+ Csster.macros = macros;
106
+
107
+ Csster.arrayFlatten = _array.arrayFlatten;
108
+
109
+ Csster.browserInfo = _browser.browserInfo;
110
+
111
+ Csster.hslToHexColor = _color.hslToHexColor;
112
+ (0, _color.colorizeString)();
113
+
114
+ Csster.addPropertyNames = propertyNameValidator.addNames;
115
+
116
+ Csster.insertCss = _insertCss2.default;
117
+ Csster.buildRules = _buildRules2.default;
118
+
119
+ /***/ },
120
+ /* 2 */
121
+ /***/ function(module, exports, __webpack_require__) {
122
+
123
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
124
+
125
+ Object.defineProperty(exports, "__esModule", {
126
+ value: true
127
+ });
128
+ exports.rejectUnknownPropertyKeys = exports.dasherizePropertyKeys = undefined;
129
+
130
+ exports.default = function (obj) {
131
+ var rules = [];
132
+ (0, _array.arrayEach)((0, _array.arrayFlatten)([obj]), function (o) {
133
+ rules.push(process(o));
134
+ });
135
+ return (0, _array.arrayFlatten)(rules);
136
+ };
137
+
138
+ var _object = __webpack_require__(4);
139
+
140
+ var _array = __webpack_require__(6);
141
+
142
+ var _curry = __webpack_require__(5);
143
+
144
+ var _cssObject = __webpack_require__(7);
145
+
146
+ var _macroProcessor = __webpack_require__(9);
147
+
148
+ var _properties = __webpack_require__(10);
149
+
150
+ var applyMacros = (0, _object.filterValuesRecursively)(_macroProcessor.macroProcessor);
151
+
152
+ // @param cssRule { selector: { prop1: value, prop2: value, subselector: { prop3: value}}
153
+ var objectToRulesArray = function objectToRulesArray(o) {
154
+ var result = [];
155
+ for (var key in o) {
156
+ result.push({ sel: key, props: o[key] });
157
+ }
158
+ return result;
159
+ };
160
+
161
+ var dasherizePropertyKeys = exports.dasherizePropertyKeys = (0, _object.filterValuesRecursively)(_properties.dasherizeKeys);
162
+
163
+ var rejectUnknownPropertyKeys = exports.rejectUnknownPropertyKeys = (0, _object.filterValuesRecursively)(_properties.rejectUnknownKeys);
164
+
165
+ var pipeline = [];
166
+ pipeline.push(applyMacros);
167
+ pipeline.push(_cssObject.flattenObject);
168
+ pipeline.push(_cssObject.compressSelectors);
169
+ pipeline.push(dasherizePropertyKeys);
170
+ pipeline.push(rejectUnknownPropertyKeys);
171
+ pipeline.push(objectToRulesArray);
172
+
173
+ var process = function process(o) {
174
+ for (var i = 0; i < pipeline.length; i++) {
175
+ o = pipeline[i](o);
176
+ }
177
+ return o;
178
+ };
179
+
180
+ ;
181
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
182
+
183
+ /***/ },
184
+ /* 3 */
185
+ /***/ function(module, exports) {
186
+
187
+ // shim for using process in browser
188
+
189
+ var process = module.exports = {};
190
+ var queue = [];
191
+ var draining = false;
192
+ var currentQueue;
193
+ var queueIndex = -1;
194
+
195
+ function cleanUpNextTick() {
196
+ draining = false;
197
+ if (currentQueue.length) {
198
+ queue = currentQueue.concat(queue);
199
+ } else {
200
+ queueIndex = -1;
201
+ }
202
+ if (queue.length) {
203
+ drainQueue();
204
+ }
205
+ }
206
+
207
+ function drainQueue() {
208
+ if (draining) {
209
+ return;
210
+ }
211
+ var timeout = setTimeout(cleanUpNextTick);
212
+ draining = true;
213
+
214
+ var len = queue.length;
215
+ while(len) {
216
+ currentQueue = queue;
217
+ queue = [];
218
+ while (++queueIndex < len) {
219
+ if (currentQueue) {
220
+ currentQueue[queueIndex].run();
221
+ }
222
+ }
223
+ queueIndex = -1;
224
+ len = queue.length;
225
+ }
226
+ currentQueue = null;
227
+ draining = false;
228
+ clearTimeout(timeout);
229
+ }
230
+
231
+ process.nextTick = function (fun) {
232
+ var args = new Array(arguments.length - 1);
233
+ if (arguments.length > 1) {
234
+ for (var i = 1; i < arguments.length; i++) {
235
+ args[i - 1] = arguments[i];
236
+ }
237
+ }
238
+ queue.push(new Item(fun, args));
239
+ if (queue.length === 1 && !draining) {
240
+ setTimeout(drainQueue, 0);
241
+ }
242
+ };
243
+
244
+ // v8 likes predictible objects
245
+ function Item(fun, array) {
246
+ this.fun = fun;
247
+ this.array = array;
248
+ }
249
+ Item.prototype.run = function () {
250
+ this.fun.apply(null, this.array);
251
+ };
252
+ process.title = 'browser';
253
+ process.browser = true;
254
+ process.env = {};
255
+ process.argv = [];
256
+ process.version = ''; // empty string to avoid regexp issues
257
+ process.versions = {};
258
+
259
+ function noop() {}
260
+
261
+ process.on = noop;
262
+ process.addListener = noop;
263
+ process.once = noop;
264
+ process.off = noop;
265
+ process.removeListener = noop;
266
+ process.removeAllListeners = noop;
267
+ process.emit = noop;
268
+
269
+ process.binding = function (name) {
270
+ throw new Error('process.binding is not supported');
271
+ };
272
+
273
+ process.cwd = function () { return '/' };
274
+ process.chdir = function (dir) {
275
+ throw new Error('process.chdir is not supported');
276
+ };
277
+ process.umask = function() { return 0; };
278
+
279
+
280
+ /***/ },
281
+ /* 4 */
282
+ /***/ function(module, exports, __webpack_require__) {
283
+
284
+ 'use strict';
285
+
286
+ Object.defineProperty(exports, "__esModule", {
287
+ value: true
288
+ });
289
+ exports.filterValuesRecursively = exports.applyToKeys = exports.mergeHashInto = undefined;
290
+
291
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
292
+
293
+ var _curry = __webpack_require__(5);
294
+
295
+ // mergeHashInto(hashA, hashB, hashC...)
296
+ // merge all properties from B, C into hash A.
297
+ var mergeHashInto = exports.mergeHashInto = function mergeHashInto(dest) {
298
+ for (var _len = arguments.length, hashes = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
299
+ hashes[_key - 1] = arguments[_key];
300
+ }
301
+
302
+ for (var i = 0; i < hashes.length; i++) {
303
+ for (var k in hashes[i]) {
304
+ dest[k] = hashes[i][k];
305
+ }
306
+ }
307
+ return dest;
308
+ };
309
+
310
+ // Apply filter to keys of an object
311
+ // fn: (key) => new key
312
+ // o: object to filter
313
+ var applyToKeys = exports.applyToKeys = (0, _curry.curry)(function (fn, o) {
314
+ var out = {};
315
+ for (var k in o) {
316
+ out[fn(k)] = o[k];
317
+ }
318
+ return out;
319
+ });
320
+
321
+ // Filter values of an object, recursively
322
+ // fn: fn(value, key) => new value
323
+ // o: object to process
324
+ var filterValuesRecursively = exports.filterValuesRecursively = (0, _curry.curry)(function (fn, o) {
325
+ var out = {};
326
+ for (var k in o) {
327
+ var v = o[k];
328
+ var newValue = fn(v, k);
329
+
330
+ if ((typeof newV === 'undefined' ? 'undefined' : _typeof(newV)) === 'object') {
331
+ out[k] = filterValuesRecursively(fn, newValue);
332
+ } else {
333
+ out[k] = newValue;
334
+ }
335
+ }
336
+ return out;
337
+ });
338
+
339
+ /***/ },
340
+ /* 5 */
341
+ /***/ function(module, exports) {
342
+
343
+ "use strict";
344
+
345
+ Object.defineProperty(exports, "__esModule", {
346
+ value: true
347
+ });
348
+ exports.curry = curry;
349
+ function curry(fx) {
350
+ var arity = fx.length;
351
+
352
+ return function f1() {
353
+ var args = Array.prototype.slice.call(arguments, 0);
354
+ if (args.length >= arity) {
355
+ return fx.apply(null, args);
356
+ } else {
357
+ return function f2() {
358
+ var args2 = Array.prototype.slice.call(arguments, 0);
359
+ return f1.apply(null, args.concat(args2));
360
+ };
361
+ }
362
+ };
363
+ }
364
+
365
+ /***/ },
366
+ /* 6 */
367
+ /***/ function(module, exports) {
368
+
369
+ 'use strict';
370
+
371
+ Object.defineProperty(exports, "__esModule", {
372
+ value: true
373
+ });
374
+
375
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
376
+
377
+ var isArray = function isArray(object) {
378
+ return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && Object.prototype.toString.call(object) === '[object Array]';
379
+ };
380
+
381
+ // "each_with_index" from Ruby style
382
+ var arrayEach = function arrayEach(a, fn) {
383
+ for (var i = 0; i < a.length;) {
384
+ fn(a[i], i++);
385
+ }
386
+ return a;
387
+ };
388
+
389
+ var arrayInject = function arrayInject(a, memo, iterator) {
390
+ arrayEach(a, function (value, index) {
391
+ memo = iterator(memo, value, index);
392
+ });
393
+ return memo;
394
+ };
395
+
396
+ var arrayFlatten = function arrayFlatten(a) {
397
+ return arrayInject(a, [], function (array, value) {
398
+ if (isArray(value)) return array.concat(arrayFlatten(value));
399
+ array.push(value);
400
+ return array;
401
+ });
402
+ };
403
+
404
+ function includes(values, value) {
405
+ for (var i = 0; i < values.length; i++) {
406
+ if (value == values[i]) return true;
407
+ }
408
+ return false;
409
+ }
410
+
411
+ exports.isArray = isArray;
412
+ exports.arrayEach = arrayEach;
413
+ exports.arrayInject = arrayInject;
414
+ exports.arrayFlatten = arrayFlatten;
415
+ exports.includes = includes;
416
+
417
+ /***/ },
418
+ /* 7 */
419
+ /***/ function(module, exports, __webpack_require__) {
420
+
421
+ 'use strict';
422
+
423
+ Object.defineProperty(exports, "__esModule", {
424
+ value: true
425
+ });
426
+ exports.compressSelectors = exports.flattenObject = undefined;
427
+
428
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; /*
429
+ A Javascript object tha represents "CSS" rules. It:
430
+ * can be deeply nested, implying subselections
431
+ * keys can be CSS properties and values CSS property values
432
+ */
433
+
434
+ var _string = __webpack_require__(8);
435
+
436
+ var _macroProcessor = __webpack_require__(9);
437
+
438
+ var _object = __webpack_require__(4);
439
+
440
+ // Calculate "subselector", taking into account & rules and complex
441
+ // (comma separated) selectors.
442
+ function buildSubcontext(context, key) {
443
+ var keys = key.split(',');
444
+ for (var k = 0; k < keys.length; k++) {
445
+ var sel = (0, _string.trim)(keys[k]);
446
+ sel = sel.substr(0, 1) == '&' ? sel.substr(1) : ' ' + sel;
447
+ keys[k] = context + sel;
448
+ }
449
+
450
+ return (0, _string.trim)(keys.join(','));
451
+ }
452
+
453
+ function entryDefinesSubcontext(key, value) {
454
+ if (key.match(/^\.\#\&/)) return true;
455
+ return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object' && !(0, _macroProcessor.isMacroKey)(key);
456
+ }
457
+
458
+ var flattenObject = exports.flattenObject = function flattenObject(inputObject) {
459
+ var out = {};
460
+
461
+ var addRule = function addRule(selector, propertyName, propertyValue) {
462
+ selector = (0, _string.trim)(selector);
463
+ out[selector] = out[selector] || {};
464
+ if (out[selector][propertyName]) {
465
+ console.log('Replacing property ', propertyName, ' in ', selector, '; ', out[selector][propertyName], ' => ', propertyValue);
466
+ }
467
+ out[selector][propertyName] = propertyValue;
468
+ };
469
+
470
+ function addObject(o, context) {
471
+ // o: object with keys
472
+ // entries are either
473
+ // css property => value
474
+ // subselector => rules
475
+ for (var key in o) {
476
+ var value = o[key];
477
+ if (entryDefinesSubcontext(key, value)) {
478
+ var subcontext = buildSubcontext(context, key);
479
+ addObject(value, subcontext); // Recurse!
480
+ } else {
481
+ addRule(context, key, value);
482
+ }
483
+ }
484
+ }
485
+
486
+ addObject(inputObject, '');
487
+
488
+ return out;
489
+ };
490
+
491
+ /**
492
+ * TODO UPDATE DOCS
493
+ */
494
+
495
+ var compressSelector = function compressSelector(sel) {
496
+ while (sel.match(/.*#.*#.*/)) {
497
+ sel = sel.replace(/^.*#.*#/, '#');
498
+ }
499
+ return sel;
500
+ };
501
+
502
+ var compressSelectors = exports.compressSelectors = (0, _object.applyToKeys)(compressSelector);
503
+
504
+ /***/ },
505
+ /* 8 */
506
+ /***/ function(module, exports) {
507
+
508
+ "use strict";
509
+
510
+ Object.defineProperty(exports, "__esModule", {
511
+ value: true
512
+ });
513
+ // S T R I N G s
514
+ var dasherize = function dasherize(s) {
515
+ return s.replace(/([A-Z])/g, function ($1) {
516
+ return "-" + $1.toLowerCase();
517
+ });
518
+ };
519
+
520
+ var trim = function trim(text) {
521
+ return (text || "").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "");
522
+ };
523
+
524
+ exports.dasherize = dasherize;
525
+ exports.trim = trim;
526
+
527
+ /***/ },
528
+ /* 9 */
529
+ /***/ function(module, exports, __webpack_require__) {
530
+
531
+ 'use strict';
532
+
533
+ Object.defineProperty(exports, "__esModule", {
534
+ value: true
535
+ });
536
+ exports.setMacroKeys = setMacroKeys;
537
+ exports.macroProcessor = macroProcessor;
538
+ exports.isMacroKey = isMacroKey;
539
+
540
+ var _object = __webpack_require__(4);
541
+
542
+ var _array = __webpack_require__(6);
543
+
544
+ var macroKeys = ['has', 'mixin', 'mixins'];
545
+ function setMacroKeys(keys) {
546
+ macroKeys = keys;
547
+ }
548
+
549
+ function macroProcessor(properties) {
550
+
551
+ function applyMacros(macroList) {
552
+
553
+ var props = {};
554
+
555
+ var macros = (0, _array.arrayFlatten)([macroList]); // support single or multiple sets of properties
556
+ for (var i = 0; i < macros.length; i++) {
557
+ var macro = macros[i];
558
+ if (typeof macro == 'function') macro = macro();
559
+ for (var mp in macro) {
560
+ if (isMacroKey(mp)) {
561
+ (0, _object.mergeHashInto)(props, applyMacros(macro[mp]));
562
+ } else {
563
+ props[mp] = macro[mp];
564
+ }
565
+ }
566
+ }
567
+ return props;
568
+ }
569
+
570
+ for (var k in properties) {
571
+ if (isMacroKey(k)) {
572
+ var macros = properties[k];
573
+ delete properties[k];
574
+ if (macros) {
575
+ (0, _object.mergeHashInto)(properties, applyMacros(macros));
576
+ }
577
+ }
578
+ }
579
+ return properties;
580
+ }
581
+
582
+ function isMacroKey(k) {
583
+ return (0, _array.includes)(macroKeys, k);
584
+ }
585
+
586
+ /***/ },
587
+ /* 10 */
588
+ /***/ function(module, exports, __webpack_require__) {
589
+
590
+ 'use strict';
591
+
592
+ Object.defineProperty(exports, "__esModule", {
593
+ value: true
594
+ });
595
+ exports.rejectUnknownKeys = exports.dasherizeKeys = undefined;
596
+
597
+ var _string = __webpack_require__(8);
598
+
599
+ var _object = __webpack_require__(4);
600
+
601
+ var _curry = __webpack_require__(5);
602
+
603
+ var _propertyNameValidator = __webpack_require__(11);
604
+
605
+ var propertyNameValidator = _interopRequireWildcard(_propertyNameValidator);
606
+
607
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
608
+
609
+ var dasherizeKeys = exports.dasherizeKeys = (0, _object.applyToKeys)(_string.dasherize);
610
+
611
+ var propertyKeyVisitor = (0, _curry.curry)(function (fn, rules, ctx) {
612
+ for (var prop in rules) {
613
+ fn(prop, ctx);
614
+ }
615
+ return rules;
616
+ });
617
+
618
+ var rejectUnknownKeys = exports.rejectUnknownKeys = propertyKeyVisitor(function (prop, ctx) {
619
+ var error = propertyNameValidator.error(prop);
620
+ if (error) {
621
+ throw '' + error + '. Context: "' + ctx + '"';
622
+ }
623
+ });
624
+
625
+ /***/ },
626
+ /* 11 */
627
+ /***/ function(module, exports, __webpack_require__) {
628
+
629
+ 'use strict';
630
+
631
+ Object.defineProperty(exports, "__esModule", {
632
+ value: true
633
+ });
634
+ exports.setConfig = setConfig;
635
+ exports.addNames = addNames;
636
+ exports.validate = validate;
637
+ exports.error = error;
638
+
639
+ var _array = __webpack_require__(6);
640
+
641
+ var validNames = {};
642
+
643
+ var config = {
644
+ strictNames: true,
645
+ anyBrowserExtension: true
646
+ };
647
+ function setConfig(key, value) {
648
+ config[key] = value;
649
+ }
650
+
651
+ /**
652
+ * Add more valid properties to the list of valid property names.
653
+ */
654
+ function addNames() {
655
+ for (var _len = arguments.length, propertyNames = Array(_len), _key = 0; _key < _len; _key++) {
656
+ propertyNames[_key] = arguments[_key];
657
+ }
658
+
659
+ var names = (0, _array.arrayFlatten)([propertyNames]);
660
+ for (var i = 0; i < names.length; i++) {
661
+ validNames[names[i]] = true;
662
+ }
663
+ }
664
+
665
+ function validate(name) {
666
+ return !error(name) ? name : null;
667
+ }
668
+
669
+ function error(name) {
670
+ if (/^\-\w+\-/.exec(name)) {
671
+ if (!config.anyBrowserExtension && !validNames[name]) {
672
+ return 'Unrecognized "' + name + '" browser extension property name';
673
+ }
674
+ } else {
675
+ if (config.strictNames && !validNames[name]) {
676
+ return 'Unrecognized "' + name + '" property name';
677
+ }
678
+ }
679
+ return null;
680
+ }
681
+
682
+ addNames(['accelerator', 'azimuth', 'background', 'background-attachment', 'background-color', 'background-image', 'background-position', 'background-position-x', 'background-position-y', 'background-repeat', 'behavior', 'border', 'border-bottom', 'border-bottom-right-radius', 'border-bottom-left-radius', 'border-bottom-color', 'border-bottom-style', 'border-bottom-width', 'border-collapse', 'border-color', 'border-left', 'border-left-color', 'border-left-style', 'border-left-width', 'border-radius', 'border-right', 'border-right-color', 'border-right-style', 'border-right-width', 'border-spacing', 'border-style', 'border-top', 'border-top-color', 'border-top-style', 'border-top-width', 'border-top-left-radius', 'border-top-right-radius', 'border-width', 'box-shadow', 'bottom', 'caption-side', 'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset', 'cue', 'cue-after', 'cue-before', 'cursor', 'direction', 'display', 'elevation', 'empty-cells', 'filter', 'float', 'font', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'height', 'ime-mode', 'include-source', 'layer-background-color', 'layer-background-image', 'layout-flow', 'layout-grid', 'layout-grid-char', 'layout-grid-char-spacing', 'layout-grid-line', 'layout-grid-mode', 'layout-grid-type', 'letter-spacing', 'left', 'line-break', 'line-height', 'list-style', 'list-style-image', 'list-style-position', 'list-style-type', 'margin', 'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'marker-offset', 'marks', 'max-height', 'max-width', 'min-height', 'min-width', '-ms-filter', 'opacity', 'orphans', 'outline', 'outline-color', 'outline-style', 'outline-width', 'overflow', 'overflow-X', 'overflow-Y', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'page', 'page-break-after', 'page-break-before', 'page-break-inside', 'pause', 'pause-after', 'pause-before', 'pitch', 'pitch-range', 'play-during', 'position', 'quotes', 'richness', 'right', 'size', 'speak', 'speak-header', 'speak-numeral', 'speak-punctuation', 'speech-rate', 'stress', 'scrollbar-arrow-color', 'scrollbar-base-color', 'scrollbar-dark-shadow-color', 'scrollbar-face-color', 'scrollbar-highlight-color', 'scrollbar-shadow-color', 'scrollbar-3d-light-color', 'scrollbar-track-color', 'table-layout', 'text-align', 'text-align-last', 'text-decoration', 'text-indent', 'text-justify', 'text-offset', 'text-overflow', 'text-shadow', 'text-transform', 'text-autospace', 'text-kashida-space', 'text-underline-position', 'top', 'unicode-bidi', 'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows', 'width', 'word-break', 'word-spacing', 'word-wrap', 'writing-mode', 'z-index', 'zoom']);
683
+ addNames(['-moz-binding', '-moz-border-radius', '-moz-border-radius-topleft', '-moz-border-radius-topright', '-moz-border-radius-bottomright', '-moz-border-radius-bottomleft', '-moz-border-top-colors', '-moz-border-right-colors', '-moz-border-bottom-colors', '-moz-border-left-colors', '-moz-box-shadow', '-moz-opacity', '-moz-outline', '-moz-outline-color', '-moz-outline-style', '-moz-outline-width', '-moz-user-focus', '-moz-user-input', '-moz-user-modify', '-moz-user-select']);
684
+ addNames(['-webkit-animation', '-webkit-animation-delay', '-webkit-animation-direction', '-webkit-animation-duration', '-webkit-animation-iteration-count', '-webkit-animation-name', '-webkit-animation-play-state', '-webkit-animation-timing-function', '-webkit-appearance', '-webkit-backface-visibility', '-webkit-background-clip', '-webkit-background-composite', '-webkit-background-origin', '-webkit-background-size', '-webkit-border-bottom-left-radius', '-webkit-border-bottom-right-radius', '-webkit-border-horizontal-spacing', '-webkit-border-image', '-webkit-border-radius', '-webkit-border-top-left-radius', '-webkit-border-top-right-radius', '-webkit-border-vertical-spacing', '-webkit-box-align', '-webkit-box-direction', '-webkit-box-flex', '-webkit-box-flex-group', '-webkit-box-lines', '-webkit-box-ordinal-group', '-webkit-box-orient', '-webkit-box-pack', '-webkit-box-reflect', '-webkit-box-shadow', '-webkit-box-sizing', '-webkit-column-break-after', '-webkit-column-break-before', '-webkit-column-break-inside', '-webkit-column-count', '-webkit-column-gap', '-webkit-column-rule', '-webkit-column-rule-color', '-webkit-column-rule-style', '-webkit-column-rule-width', '-webkit-column-width', '-webkit-columns', '-webkit-dashboard-region', '-webkit-line-break', '-webkit-margin-bottom-collapse', '-webkit-margin-collapse', '-webkit-margin-start', '-webkit-margin-top-collapse', '-webkit-marquee', '-webkit-marquee-direction', '-webkit-marquee-increment', '-webkit-marquee-repetition', '-webkit-marquee-speed', '-webkit-marquee-style', '-webkit-mask', '-webkit-mask-attachment', '-webkit-mask-box-image', '-webkit-mask-clip', '-webkit-mask-composite', '-webkit-mask-image', '-webkit-mask-origin', '-webkit-mask-position', '-webkit-mask-position-x', '-webkit-mask-position-y', '-webkit-mask-repeat', '-webkit-mask-size', '-webkit-nbsp-mode', '-webkit-padding-start', '-webkit-perspective', '-webkit-perspective-origin', '-webkit-rtl-ordering', '-webkit-tap-highlight-color', '-webkit-text-fill-color', '-webkit-text-security', '-webkit-text-size-adjust', '-webkit-text-stroke', '-webkit-text-stroke-color', '-webkit-text-stroke-width', '-webkit-touch-callout', '-webkit-transform', '-webkit-transform-origin', '-webkit-transform-origin-x', '-webkit-transform-origin-y', '-webkit-transform-origin-z', '-webkit-transform-style', '-webkit-transition', '-webkit-transition-delay', '-webkit-transition-duration', '-webkit-transition-property', '-webkit-transition-timing-function', '-webkit-user-drag', '-webkit-user-modify', '-webkit-user-select']);
685
+
686
+ /***/ },
687
+ /* 12 */
688
+ /***/ function(module, exports, __webpack_require__) {
689
+
690
+ 'use strict';
691
+
692
+ Object.defineProperty(exports, "__esModule", {
693
+ value: true
694
+ });
695
+
696
+ exports.default = function (rules) {
697
+ return rules.reduce(function (s, rule) {
698
+ return s + (0, _rule.format)(rule);
699
+ }, '');
700
+ };
701
+
702
+ var _rule = __webpack_require__(13);
703
+
704
+ /***/ },
705
+ /* 13 */
706
+ /***/ function(module, exports, __webpack_require__) {
707
+
708
+ 'use strict';
709
+
710
+ Object.defineProperty(exports, "__esModule", {
711
+ value: true
712
+ });
713
+ exports.format = undefined;
714
+
715
+ var _propertyEntry = __webpack_require__(14);
716
+
717
+ var propertyEntry = _interopRequireWildcard(_propertyEntry);
718
+
719
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
720
+
721
+ var formatProperties = function formatProperties(props) {
722
+ return Object.keys(props).reduce(function (s, p) {
723
+ return s + propertyEntry.format(p, props[p]);
724
+ }, '');
725
+ };
726
+
727
+ // Rule: object with `sel` and `props` keys.
728
+ // .sel is the selector
729
+ // .props in an object holding CSS property rules
730
+ var format = exports.format = function format(rule) {
731
+ return rule.sel + ' { ' + formatProperties(rule.props) + '}\r';
732
+ };
733
+
734
+ /***/ },
735
+ /* 14 */
736
+ /***/ function(module, exports, __webpack_require__) {
737
+
738
+ 'use strict';
739
+
740
+ Object.defineProperty(exports, "__esModule", {
741
+ value: true
742
+ });
743
+ exports.format = undefined;
744
+
745
+ var _propertyName = __webpack_require__(15);
746
+
747
+ var propertyName = _interopRequireWildcard(_propertyName);
748
+
749
+ var _propertyValue = __webpack_require__(16);
750
+
751
+ var propertyValue = _interopRequireWildcard(_propertyValue);
752
+
753
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
754
+
755
+ var format = function format(name, value) {
756
+ return propertyName.format(name) + ": " + propertyValue.format(value, name) + ";\r";
757
+ };
758
+
759
+ exports.format = format;
760
+
761
+ /***/ },
762
+ /* 15 */
763
+ /***/ function(module, exports, __webpack_require__) {
764
+
765
+ 'use strict';
766
+
767
+ Object.defineProperty(exports, "__esModule", {
768
+ value: true
769
+ });
770
+ exports.valid = exports.format = exports.propertyNameOf = undefined;
771
+
772
+ var _string = __webpack_require__(8);
773
+
774
+ var _propertyNameValidator = __webpack_require__(11);
775
+
776
+ var propertyNameValidator = _interopRequireWildcard(_propertyNameValidator);
777
+
778
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
779
+
780
+ /*
781
+ Returns the CSS-correct lowercase property name, if it's recognized
782
+ as a property. Null otherwise.
783
+ */
784
+ var propertyNameOf = exports.propertyNameOf = function propertyNameOf(p) {
785
+ var name = (0, _string.dasherize)(p);
786
+ return propertyNameValidator.validate(name);
787
+ };
788
+
789
+ var format = exports.format = function format(name) {
790
+ return propertyNameOf(name);
791
+ };
792
+
793
+ var valid = exports.valid = propertyNameOf;
794
+
795
+ /***/ },
796
+ /* 16 */
797
+ /***/ function(module, exports) {
798
+
799
+ 'use strict';
800
+
801
+ Object.defineProperty(exports, "__esModule", {
802
+ value: true
803
+ });
804
+
805
+ var format = function format(value, name) {
806
+ if (value && typeof value == 'number' && name != 'z-index' && name != 'opacity' && name != 'zoom') {
807
+ return '' + value + 'px';
808
+ }
809
+ return value;
810
+ };
811
+
812
+ exports.format = format;
813
+
814
+ /***/ },
815
+ /* 17 */
816
+ /***/ function(module, exports) {
817
+
818
+ 'use strict';
819
+
820
+ Object.defineProperty(exports, "__esModule", {
821
+ value: true
822
+ });
823
+
824
+ exports.default = function (css) {
825
+ var e = document.createElement('STYLE');
826
+ var a = document.createAttribute('type');
827
+ a.nodeValue = 'text/css';
828
+ e.setAttributeNode(a);
829
+ var head = document.getElementsByTagName('HEAD')[0];
830
+ head.appendChild(e);
831
+ try {
832
+ e.appendChild(document.createTextNode(css));
833
+ } catch (e) {
834
+ var ss = document.styleSheets[document.styleSheets.length - 1];
835
+ ss.cssText = '' + ss.cssText + css;
836
+ }
837
+ };
838
+
839
+ /***/ },
840
+ /* 18 */
841
+ /***/ function(module, exports, __webpack_require__) {
842
+
843
+ 'use strict';
844
+
845
+ Object.defineProperty(exports, "__esModule", {
846
+ value: true
847
+ });
848
+ exports.imageReplacement = exports.clearfix = exports.linearGradient = exports.verticalCentering = exports.horizontalCentering = exports.boxShadow = exports.roundedCorners = undefined;
849
+
850
+ var _roundedCorners = __webpack_require__(19);
851
+
852
+ var _roundedCorners2 = _interopRequireDefault(_roundedCorners);
853
+
854
+ var _boxShadow = __webpack_require__(20);
855
+
856
+ var _boxShadow2 = _interopRequireDefault(_boxShadow);
857
+
858
+ var _horizontalCentering = __webpack_require__(21);
859
+
860
+ var _horizontalCentering2 = _interopRequireDefault(_horizontalCentering);
861
+
862
+ var _verticalCentering = __webpack_require__(22);
863
+
864
+ var _verticalCentering2 = _interopRequireDefault(_verticalCentering);
865
+
866
+ var _linearGradient = __webpack_require__(23);
867
+
868
+ var _linearGradient2 = _interopRequireDefault(_linearGradient);
869
+
870
+ var _clearfix = __webpack_require__(25);
871
+
872
+ var _clearfix2 = _interopRequireDefault(_clearfix);
873
+
874
+ var _imageReplacement = __webpack_require__(26);
875
+
876
+ var _imageReplacement2 = _interopRequireDefault(_imageReplacement);
877
+
878
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
879
+
880
+ exports.roundedCorners = _roundedCorners2.default;
881
+ exports.boxShadow = _boxShadow2.default;
882
+ exports.horizontalCentering = _horizontalCentering2.default;
883
+ exports.verticalCentering = _verticalCentering2.default;
884
+ exports.linearGradient = _linearGradient2.default;
885
+ exports.clearfix = _clearfix2.default;
886
+ exports.imageReplacement = _imageReplacement2.default; /*
887
+ * Functions that return a set of properties and their values.
888
+ * They can be inserted as style rules using "has" property.
889
+ */
890
+
891
+ /***/ },
892
+ /* 19 */
893
+ /***/ function(module, exports) {
894
+
895
+ 'use strict';
896
+
897
+ Object.defineProperty(exports, "__esModule", {
898
+ value: true
899
+ });
900
+ exports.default = roundedCorners;
901
+ /**
902
+ * Return rounded corner properties. Call with an optional side and a radius.
903
+ *
904
+ * roundedCorners(10);
905
+ * roundedCorners('left', 8);
906
+ * roundedCorners('tl', 6);
907
+ *
908
+ * @param side tl, tr, bl, br, left, right, top or bottom or "all", the default
909
+ * @param radius pixel measurement
910
+ */
911
+ function roundedCorners(side, radius) {
912
+ if (!radius) {
913
+ radius = side || 10;
914
+ side = 'all';
915
+ }
916
+ if (side == 'all') {
917
+ return {
918
+ '-moz-border-radius': radius,
919
+ 'border-radius': radius,
920
+ '-webkit-border-radius': radius
921
+ };
922
+ } else {
923
+ var rules = {};
924
+ if (side == 'tl' || side == 'top' || side == 'left') {
925
+ rules['-moz-border-radius-topleft'] = radius;
926
+ rules['-webkit-border-top-left-radius'] = radius;
927
+ rules['border-top-left-radius'] = radius;
928
+ }
929
+ if (side == 'tr' || side == 'top' || side == 'right') {
930
+ rules['-webkit-border-top-right-radius'] = radius;
931
+ rules['-moz-border-radius-topright'] = radius;
932
+ rules['border-top-right-radius'] = radius;
933
+ }
934
+ if (side == 'bl' || side == 'bottom' || side == 'left') {
935
+ rules['-webkit-border-bottom-left-radius'] = radius;
936
+ rules['-moz-border-radius-bottomleft'] = radius;
937
+ rules['border-bottom-left-radius'] = radius;
938
+ }
939
+ if (side == 'br' || side == 'bottom' || side == 'right') {
940
+ rules['-webkit-border-bottom-right-radius'] = radius;
941
+ rules['-moz-border-radius-bottomright'] = radius;
942
+ rules['border-bottom-right-radius'] = radius;
943
+ }
944
+ return rules;
945
+ }
946
+ }
947
+
948
+ /***/ },
949
+ /* 20 */
950
+ /***/ function(module, exports) {
951
+
952
+ 'use strict';
953
+
954
+ Object.defineProperty(exports, "__esModule", {
955
+ value: true
956
+ });
957
+ exports.default = boxShadow;
958
+ /*
959
+ Cross-browser box shadow code.
960
+
961
+ offsetOrDirection: an array holding the x offset and y offset
962
+ radius: radius of the shadow
963
+ color: color of the shadow
964
+
965
+ */
966
+ function boxShadow(offsetOrDirection, radius, color) {
967
+ var xOffset, yOffset, strength, direction;
968
+ if (typeof offsetOrDirection.length == 'undefined') {
969
+ throw 'Not yet supported';
970
+ } else if (offsetOrDirection.length == 2) {
971
+ xOffset = offsetOrDirection[0];
972
+ yOffset = offsetOrDirection[1];
973
+ strength = 4;
974
+ direction = 135; // should be angle (atan) of above numbers
975
+ } else {
976
+ throw "boxShadow requires a direction (degree) or [xOffset, yOffset] in px measurements.";
977
+ }
978
+
979
+ return {
980
+ '-moz-box-shadow': '' + xOffset + 'px ' + yOffset + 'px ' + radius + 'px ' + color,
981
+ '-webkit-box-shadow': '' + xOffset + 'px ' + yOffset + 'px ' + radius + 'px ' + color,
982
+ boxShadow: '' + xOffset + 'px ' + yOffset + 'px ' + radius + 'px ' + color,
983
+ '-ms-filter': "progid:DXImageTransform.Microsoft.Shadow(Strength=" + strength + ", Direction=" + direction + ", Color='" + color + "')", // IE 8
984
+ filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=" + strength + ", Direction=" + direction + ", Color='" + color + "')" // IE 5.5 - 7
985
+ };
986
+ }
987
+
988
+ /***/ },
989
+ /* 21 */
990
+ /***/ function(module, exports) {
991
+
992
+ 'use strict';
993
+
994
+ Object.defineProperty(exports, "__esModule", {
995
+ value: true
996
+ });
997
+ exports.default = horizontalCentering;
998
+ // http://stackoverflow.com/questions/148251/css-centering-tricks
999
+ function horizontalCentering(width) {
1000
+ return {
1001
+ width: width,
1002
+ position: 'absolute',
1003
+ left: '50%',
1004
+ marginLeft: -(width / 2)
1005
+ };
1006
+ }
1007
+
1008
+ /***/ },
1009
+ /* 22 */
1010
+ /***/ function(module, exports) {
1011
+
1012
+ 'use strict';
1013
+
1014
+ Object.defineProperty(exports, "__esModule", {
1015
+ value: true
1016
+ });
1017
+ exports.default = verticalCentering;
1018
+ // http://stackoverflow.com/questions/148251/css-centering-tricks
1019
+ function verticalCentering(height) {
1020
+ return {
1021
+ height: height,
1022
+ position: 'absolute',
1023
+ top: '50%',
1024
+ marginTop: -(height / 2)
1025
+ };
1026
+ }
1027
+
1028
+ /***/ },
1029
+ /* 23 */
1030
+ /***/ function(module, exports, __webpack_require__) {
1031
+
1032
+ 'use strict';
1033
+
1034
+ Object.defineProperty(exports, "__esModule", {
1035
+ value: true
1036
+ });
1037
+ exports.default = linearGradient;
1038
+
1039
+ var _browser = __webpack_require__(24);
1040
+
1041
+ var _array = __webpack_require__(6);
1042
+
1043
+ function linearGradient(startingPoint, color1, color2, etc) {
1044
+ var prefix = '',
1045
+ result = '';
1046
+ if ((0, _browser.browserInfo)().webkit) {
1047
+ prefix = '-webkit';
1048
+ } else if ((0, _browser.browserInfo)().mozilla) {
1049
+ prefix = '-moz';
1050
+ }
1051
+
1052
+ var stops = [];
1053
+ for (var i = 0; i < arguments.length; i++) {
1054
+ var argument = arguments[i];
1055
+ if (typeof argument == 'string') {
1056
+ stops.push(argument);
1057
+ } else if ((0, _array.isArray)(argument)) {
1058
+ for (var j = 0; j < argument.length; j++) {
1059
+ stops.push(argument[j]);
1060
+ }
1061
+ } else {
1062
+ for (var p in arguments[i]) {
1063
+ stops.push(argument[p] + (p != 0 && p != '100' ? ' ' + p + '%' : ''));
1064
+ }
1065
+ }
1066
+ }
1067
+
1068
+ result = prefix + '-linear-gradient(';
1069
+ for (i = 0; i < stops.length; i++) {
1070
+ if (i !== 0) result += ', ';
1071
+ result += stops[i];
1072
+ }
1073
+ result += ')';
1074
+ return result;
1075
+ }
1076
+
1077
+ // },generateLinearGradient:function() {
1078
+ // var props = c.gradientProps,
1079
+ // g = props.type + "-gradient(",e = "";
1080
+ // $sample = c.sample,
1081
+ // gCount = a.getPaletteLength(),
1082
+ // palette = a.getPalette();
1083
+ // if (props.xStart !== props.xEnd) {
1084
+ // g = g + props.xStart + " "
1085
+ // }
1086
+ // if (props.yStart !== props.yEnd) {
1087
+ // g = g + props.yStart
1088
+ // }
1089
+ // g = g + ", ";
1090
+ // var h = c.getColor;
1091
+ // $.each(palette, function(i, j) {
1092
+ // if (i > 0) {
1093
+ // e = e + " "
1094
+ // }
1095
+ // e = e + h(j) + " " + j.position + "%,"
1096
+ // });
1097
+ // g = g + e;
1098
+ // g = g.substr(0, g.length - 1) + ")";
1099
+ // return g
1100
+ // generateWebkitGradient:function() {
1101
+ // var j = c.gradientProps,l = "-webkit-gradient(" + j.type + "," + c.fetchGradientStart() + "," + c.fetchGradientEnd() + ",",g = "";
1102
+ // var e = a.getPalette(),f = e.length,k,m;
1103
+ // for (var h = 0; h < f; h++) {
1104
+ // m = e[h];
1105
+ // k = (m.position / 100);
1106
+ // g = g + "color-stop(" + k + ", rgb(" + m.rgb.r + "," + m.rgb.g + "," + m.rgb.b + ")),"
1107
+ // }
1108
+ // l = l + g;
1109
+ // l = l.substr(0, l.length - 1) + ");";
1110
+ // return l
1111
+
1112
+ /***/ },
1113
+ /* 24 */
1114
+ /***/ function(module, exports) {
1115
+
1116
+ /* WEBPACK VAR INJECTION */(function(global) {"use strict";
1117
+
1118
+ Object.defineProperty(exports, "__esModule", {
1119
+ value: true
1120
+ });
1121
+ // Lifted from jQuery: http://docs.jquery.com/Utilities/jQuery.browser
1122
+ var browser = {};
1123
+
1124
+ function uaMatch(ua) {
1125
+ ua = ua.toLowerCase();
1126
+
1127
+ var match = /(webkit)[ \/]([\w.]+)/.exec(ua) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || !/compatible/.test(ua) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(ua) || [];
1128
+
1129
+ return { browser: match[1] || "", version: match[2] || "0" };
1130
+ }
1131
+
1132
+ if (typeof navigator !== 'undefined') {
1133
+ var browserMatch = uaMatch(navigator.userAgent);
1134
+ if (browserMatch.browser) {
1135
+ browser[browserMatch.browser] = true;
1136
+ browser.version = browserMatch.version;
1137
+ }
1138
+ }
1139
+
1140
+ var browserInfo = function browserInfo() {
1141
+ if (typeof global !== 'undefined' && global.browserOverride) {
1142
+ return global.browserOverride;
1143
+ } else {
1144
+ return browser;
1145
+ }
1146
+ };
1147
+
1148
+ exports.browser = browser;
1149
+ exports. // legacy static structure
1150
+ browserInfo // fn that can be overridden for tests
1151
+ = browserInfo;
1152
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1153
+
1154
+ /***/ },
1155
+ /* 25 */
1156
+ /***/ function(module, exports, __webpack_require__) {
1157
+
1158
+ 'use strict';
1159
+
1160
+ Object.defineProperty(exports, "__esModule", {
1161
+ value: true
1162
+ });
1163
+ exports.default = clearfix;
1164
+
1165
+ var _browser = __webpack_require__(24);
1166
+
1167
+ function clearfix() {
1168
+ var css = {
1169
+ display: 'inline-block',
1170
+ '&:after': {
1171
+ content: ' ',
1172
+ display: 'block',
1173
+ width: 0,
1174
+ height: 0,
1175
+ lineHeight: 0,
1176
+ fontSize: 0,
1177
+ clear: 'both',
1178
+ visibility: 'hidden'
1179
+ }
1180
+ };
1181
+ if ((0, _browser.browserInfo)().msie) {
1182
+ css['zoom'] = '1';
1183
+ }
1184
+ return css;
1185
+ }
1186
+
1187
+ /***/ },
1188
+ /* 26 */
1189
+ /***/ function(module, exports) {
1190
+
1191
+ 'use strict';
1192
+
1193
+ Object.defineProperty(exports, "__esModule", {
1194
+ value: true
1195
+ });
1196
+ exports.default = imageReplacement;
1197
+ /**
1198
+ Basic Phark image replacement, defined here:
1199
+ http://www.mezzoblue.com/tests/revised-image-replacement/
1200
+
1201
+ Supports sprites with option image positioning parameters (which default to 0).
1202
+ These values will (generally) be negative.
1203
+
1204
+ width: width in pixels
1205
+ height: height in pixels
1206
+ img: url for the image, suitable for putting into a url() wrapper
1207
+
1208
+ */
1209
+ function imageReplacement(width, height, img, imgXPosition, imgYPosition) {
1210
+ if (typeof width == 'undefined' || typeof height == 'undefined' || typeof img == 'undefined') {
1211
+ throw "imageReplacement() requires width, height and img";
1212
+ }
1213
+ return {
1214
+ display: 'block',
1215
+ width: width,
1216
+ height: height,
1217
+ backgroundImage: 'url(' + img + ')',
1218
+ backgroundRepeat: 'no-repeat',
1219
+ backgroundPosition: '' + (imgXPosition || 0) + 'px ' + (imgYPosition || 0) + 'px',
1220
+ textIndent: -20000,
1221
+ overflow: 'hidden'
1222
+ };
1223
+ }
1224
+
1225
+ /***/ },
1226
+ /* 27 */
1227
+ /***/ function(module, exports, __webpack_require__) {
1228
+
1229
+ 'use strict';
1230
+
1231
+ Object.defineProperty(exports, "__esModule", {
1232
+ value: true
1233
+ });
1234
+ exports.colorizeString = exports.hslToHexColor = undefined;
1235
+
1236
+ var _array = __webpack_require__(6);
1237
+
1238
+ var HTML4_COLORS = {
1239
+ 'black': '#000000',
1240
+ 'silver': '#c0c0c0',
1241
+ 'gray': '#808080',
1242
+ 'white': '#ffffff',
1243
+ 'maroon': '#800000',
1244
+ 'red': '#ff0000',
1245
+ 'purple': '#800080',
1246
+ 'fuchsia': '#ff00ff',
1247
+ 'green': '#008000',
1248
+ 'lime': '#00ff00',
1249
+ 'olive': '#808000',
1250
+ 'yellow': '#ffff00',
1251
+ 'navy': '#000080',
1252
+ 'blue': '#0000ff',
1253
+ 'teal': '#008080',
1254
+ 'aqua': '#00ffff'
1255
+ };
1256
+
1257
+ /*
1258
+ Use a singleton cache of all color strings we see.
1259
+ Each key points to a structure, which can have hex, rgb, etc. values in it.
1260
+ */
1261
+ var immutableCache = {};
1262
+
1263
+ // returns (or creates) the cached color structure
1264
+ var colorCache = function colorCache(c) {
1265
+ if (!immutableCache[c]) immutableCache[c] = {};
1266
+ return immutableCache[c];
1267
+ };
1268
+
1269
+ var toHexColor = function toHexColor() {
1270
+ if (this.substr(0, 1) == '#' && this.length == 7) {
1271
+ colorCache(this)['hex'] = '' + this;
1272
+ } else if (this.substr(0, 1) == '#' && this.length == 4) {
1273
+ colorCache(this)['hex'] = '#' + this.substr(1, 1) + this.substr(1, 1) + this.substr(2, 1) + this.substr(2, 1) + this.substr(3, 1) + this.substr(3, 1);
1274
+ } else {
1275
+ colorCache(this)['hex'] = HTML4_COLORS[this];
1276
+ }
1277
+ return colorCache(this)['hex'];
1278
+ };
1279
+
1280
+ var toRGB = function toRGB() {
1281
+ var cache = colorCache(this);
1282
+ if (cache.rgb) return cache.rgb;
1283
+ var h = this.toHexColor();
1284
+ cache.rgb = [parseInt(h.substr(1, 2), 16), parseInt(h.substr(3, 2), 16), parseInt(h.substr(5, 2), 16)];
1285
+ return cache.rgb;
1286
+ };
1287
+
1288
+ var red = function red() {
1289
+ return this.toRGB()[0];
1290
+ };
1291
+ var green = function green() {
1292
+ return this.toRGB()[1];
1293
+ };
1294
+ var blue = function blue() {
1295
+ return this.toRGB()[2];
1296
+ };
1297
+ var lighten = function lighten(percent) {
1298
+ var hsl = this.toHSL();
1299
+ var newHSL = [hsl[0], hsl[1], Math.min(100, hsl[2] + percent)];
1300
+ return hslToHexColor(newHSL);
1301
+ };
1302
+
1303
+ var darken = function darken(percent) {
1304
+ var hsl = this.toHSL();
1305
+ var newHSL = [hsl[0], hsl[1], Math.max(0, hsl[2] - percent)];
1306
+ return hslToHexColor(newHSL);
1307
+ };
1308
+
1309
+ /**
1310
+ * Increase or decrease the saturation of a color.
1311
+ * @param percent positive values increase saturation, negative values desaturate.
1312
+ */
1313
+ var saturate = function saturate(percent) {
1314
+ var hsl = this.toHSL();
1315
+ var newHSL = [hsl[0], Math.min(100, Math.max(0, hsl[1] + percent)), hsl[2]];
1316
+ return hslToHexColor(newHSL);
1317
+ };
1318
+
1319
+ // [0..360, 0..100, 0.100]
1320
+ // Ref. http://www.easyrgb.com/index.php?X=MATH&H=18#text18
1321
+ var toHSL = function toHSL() {
1322
+ var rgb = this.toRGB();
1323
+ var r = this.red() / 255,
1324
+ g = this.green() / 255,
1325
+ b = this.blue() / 255;
1326
+ var max = Math.max(r, g, b),
1327
+ min = Math.min(r, g, b);
1328
+ var d = max - min; // Delta RGB value
1329
+ var h = undefined,
1330
+ s = undefined,
1331
+ l = (max + min) / 2;
1332
+
1333
+ if (d == 0) {
1334
+ // gray?, no chroma...
1335
+ h = 0; // HSl results from 0 to 1
1336
+ s = 0;
1337
+ } else {
1338
+ // Chromatic data...
1339
+ s = d / (l < 0.5 ? max + min : 2 - max - min);
1340
+
1341
+ var del_R = ((max - r) / 6 + d / 2) / d;
1342
+ var del_G = ((max - g) / 6 + d / 2) / d;
1343
+ var del_B = ((max - b) / 6 + d / 2) / d;
1344
+
1345
+ if (r == max) h = del_B - del_G;else if (g == max) h = 1 / 3 + del_R - del_B;else if (b == max) h = 2 / 3 + del_G - del_R;
1346
+
1347
+ if (h < 0) h += 1;
1348
+ if (h > 0) h -= 1;
1349
+ }
1350
+
1351
+ h = Math.round(h * 360);
1352
+ if (h < 0) h += 360;
1353
+
1354
+ var cache = colorCache(this);
1355
+ cache.hsl = [h, Math.round(s * 100), Math.round(l * 100)];
1356
+ return cache.hsl;
1357
+ };
1358
+
1359
+ var hslToHexColor = function hslToHexColor(h, s, l) {
1360
+ if ((0, _array.isArray)(h)) {
1361
+ l = h[2] || 0;
1362
+ s = h[1] || 0;
1363
+ h = h[0] || 0;
1364
+ }
1365
+ //HSL from 0 to 1
1366
+ s = s / 100.0;
1367
+ l = l / 100.0;
1368
+ h = (h + 360) % 360.0 / 360;
1369
+
1370
+ function hsl2rgb(h, s, l) {
1371
+ // HSL 0 to 1
1372
+ //RGB results from 0 to 255
1373
+ var r = undefined,
1374
+ g = undefined,
1375
+ b = undefined;
1376
+
1377
+ if (s == 0) {
1378
+ r = l * 255;
1379
+ g = l * 255;
1380
+ b = l * 255;
1381
+ } else {
1382
+ var var_2 = l < 0.5 ? l * (1 + s) : l + s - s * l;
1383
+ var var_1 = 2 * l - var_2;
1384
+
1385
+ r = 255 * h2rgb(var_1, var_2, h + 1 / 3);
1386
+ g = 255 * h2rgb(var_1, var_2, h);
1387
+ b = 255 * h2rgb(var_1, var_2, h - 1 / 3);
1388
+ }
1389
+ return [r, g, b];
1390
+ }
1391
+
1392
+ function h2rgb(v1, v2, vH) {
1393
+ if (vH < 0) vH += 1;
1394
+ if (vH > 1) vH -= 1;
1395
+ if (6 * vH < 1) return v1 + (v2 - v1) * 6 * vH;
1396
+ if (2 * vH < 1) return v2;
1397
+ if (3 * vH < 2) return v1 + (v2 - v1) * (2 / 3 - vH) * 6;
1398
+ return v1;
1399
+ }
1400
+
1401
+ function hex2(n) {
1402
+ var h = Math.round(n).toString(16);
1403
+ if (h.length == 1) h = '0' + h;
1404
+ return h.substr(0, 1) + h.substr(1, 1);
1405
+ }
1406
+
1407
+ var rgb = hsl2rgb(h, s, l);
1408
+ return "#" + hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
1409
+ };
1410
+
1411
+ var colorizeString = function colorizeString() {
1412
+ String.prototype.toHexColor = toHexColor;
1413
+ String.prototype.toRGB = toRGB;
1414
+ String.prototype.red = red;
1415
+ String.prototype.green = green;
1416
+ String.prototype.blue = blue;
1417
+ String.prototype.lighten = lighten;
1418
+ String.prototype.darken = darken;
1419
+ String.prototype.saturate = saturate;
1420
+ String.prototype.toHSL = toHSL;
1421
+ };
1422
+
1423
+ exports.hslToHexColor = hslToHexColor;
1424
+ exports.colorizeString = colorizeString;
1425
+
1426
+ /***/ },
1427
+ /* 28 */
1428
+ /***/ function(module, exports) {
1429
+
1430
+ if (typeof jQuery != 'undefined') {
1431
+ (function ($) {
1432
+ $.fn.csster = function (rules) {
1433
+ var newRules = {};
1434
+ newRules[this.selector] = rules;
1435
+ Csster.style(newRules);
1436
+ return this;
1437
+ }
1438
+ })(jQuery);
1439
+ }
1440
+
1441
+ /***/ }
1442
+ /******/ ]);