csster 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ /******/ ]);