@animus-ui/core 0.1.1-beta.15 → 0.1.1-beta.19

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.
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
- import { isNumber, get, isArray, isObject, isString, isUndefined, identity, mapValues, omit, intersection, merge, pick, isEmpty, set, keys } from 'lodash';
2
1
  import _styled from '@emotion/styled/base';
2
+ import isPropValid from '@emotion/is-prop-valid';
3
+ import { isArray, isObject, get, isString, isUndefined, identity, mapValues, omit, intersection, merge, pick, isEmpty, set, isNumber, keys } from 'lodash';
3
4
 
4
5
  function ownKeys(object, enumerableOnly) {
5
6
  var keys = Object.keys(object);
@@ -333,127 +334,91 @@ function _classPrivateFieldInitSpec(obj, privateMap, value) {
333
334
  var createScale = function createScale() {
334
335
  return [];
335
336
  };
337
+ var numericScale = [];
338
+ var stringScale = [];
339
+ var numericOrStringScale = [];
336
340
 
337
- var percentageOrAbsolute = function percentageOrAbsolute(coordinate) {
338
- if (coordinate === 0) {
339
- return coordinate;
340
- }
341
-
342
- if (coordinate <= 1 && coordinate >= -1) {
343
- return "".concat(coordinate * 100, "%");
344
- }
345
-
346
- return "".concat(coordinate, "px");
347
- };
348
- var valueWithUnit = /(-?\d*\.?\d+)(%|\w*)/;
349
- var size = function size(value) {
350
- if (isNumber(value)) {
351
- return percentageOrAbsolute(value);
352
- }
353
-
354
- if (value.includes('calc')) {
355
- return value;
356
- }
357
-
358
- var _ref = valueWithUnit.exec(value) || [],
359
- _ref2 = _slicedToArray(_ref, 3),
360
- match = _ref2[0],
361
- number = _ref2[1],
362
- unit = _ref2[2];
363
-
364
- if (match === undefined) {
365
- return value;
366
- }
367
-
368
- var numericValue = parseFloat(number);
369
- return !unit ? percentageOrAbsolute(numericValue) : "".concat(numericValue).concat(unit);
341
+ var compatTheme = {
342
+ breakpoints: {
343
+ xs: 480,
344
+ sm: 768,
345
+ md: 1024,
346
+ lg: 1200,
347
+ xl: 1440
348
+ },
349
+ space: [0, 2, 4, 8, 12, 16, 24, 32, 40, 48, 64, 96],
350
+ fontSizes: [64, 44, 34, 26, 22, 20, 18, 16, 14],
351
+ lineHeights: numericOrStringScale,
352
+ letterSpacings: {},
353
+ fontWeights: numericOrStringScale,
354
+ fonts: {},
355
+ radii: numericOrStringScale,
356
+ borders: numericOrStringScale,
357
+ borderWidths: numericOrStringScale,
358
+ colors: {},
359
+ gradients: {},
360
+ shadows: {},
361
+ modes: {},
362
+ transitions: {},
363
+ animations: {},
364
+ zIndices: {},
365
+ opacities: {},
366
+ mode: undefined
370
367
  };
371
368
 
372
- var gridItemMap = {
373
- max: 'max-content',
374
- min: 'min-content'
369
+ var SHORTHAND_PROPERTIES = ['border', 'borderTop', 'borderBottom', 'borderLeft', 'borderRight', 'borderWidth', 'borderStyle', 'borderColor', 'background', 'flex', 'margin', 'padding', 'transition', 'gap', 'grid', 'gridArea', 'gridColumn', 'gridRow', 'gridTemplate', 'overflow', 'transition'];
370
+ var SORT = {
371
+ A_BEFORE_B: -1,
372
+ B_BEFORE_A: 1,
373
+ EQUAL: 1
375
374
  };
376
- var unitlessNumber = new RegExp(/^[0-9]*$/);
377
375
 
378
- var isUnitlessNumber = function isUnitlessNumber(val) {
379
- return unitlessNumber.test(val);
376
+ var compare = function compare(a, b) {
377
+ if (a < b) return SORT.A_BEFORE_B;
378
+ if (b < a) return SORT.B_BEFORE_A;
379
+ return SORT.EQUAL;
380
380
  };
381
+ /**
382
+ * Orders all properties by the most dependent props
383
+ * @param config
384
+ */
381
385
 
382
- var gridItem = function gridItem(item) {
383
- var template = isUnitlessNumber(item) ? "".concat(item, "fr") : get(gridItemMap, item, item);
384
- return "minmax(0, ".concat(template, ")");
385
- };
386
- var repeatGridItem = function repeatGridItem(item, count) {
387
- var template = gridItem(item);
388
- return count > 1 ? "repeat(".concat(count, ", ").concat(template, ")") : template;
389
- };
390
- var parseGridRatio = function parseGridRatio(val) {
391
- var items = val.split(':');
392
- var repeated = ['', 0];
393
- var gridStyle = '';
394
386
 
395
- for (var i = 0; i < items.length + 1; i += 1) {
396
- var _repeated;
387
+ var orderPropNames = function orderPropNames(config) {
388
+ return Object.keys(config).sort(function (a, b) {
389
+ var aConf = config[a],
390
+ bConf = config[b];
391
+ var aProp = aConf.property,
392
+ _aConf$properties = aConf.properties,
393
+ aProperties = _aConf$properties === void 0 ? [] : _aConf$properties;
394
+ var bProp = bConf.property,
395
+ _bConf$properties = bConf.properties,
396
+ bProperties = _bConf$properties === void 0 ? [] : _bConf$properties;
397
+ var aIsShorthand = SHORTHAND_PROPERTIES.includes(aProp);
398
+ var bIsShorthand = SHORTHAND_PROPERTIES.includes(bProp);
397
399
 
398
- var delimiter = gridStyle.length > 0 ? ' ' : '';
399
- var curr = items[i];
400
+ if (aIsShorthand && bIsShorthand) {
401
+ var aNum = aProperties.length;
402
+ var bNum = bProperties.length;
400
403
 
401
- if (((_repeated = repeated) === null || _repeated === void 0 ? void 0 : _repeated[0]) !== curr) {
402
- if (repeated[0].length) gridStyle += delimiter + repeatGridItem.apply(void 0, _toConsumableArray(repeated));
403
- if (curr) repeated = [curr, 1];
404
- } else {
405
- repeated[1] += 1;
406
- }
407
- }
404
+ if (aProp !== bProp) {
405
+ return compare(SHORTHAND_PROPERTIES.indexOf(aProp), SHORTHAND_PROPERTIES.indexOf(bProp));
406
+ }
408
407
 
409
- return gridStyle;
410
- };
411
- var gridItemRatio = function gridItemRatio(val) {
412
- return isNumber(val) ? repeatGridItem('1', val) : parseGridRatio(val);
413
- };
408
+ if (aProp === bProp) {
409
+ if (aNum === 0) return SORT.A_BEFORE_B;
410
+ if (bNum === 0) return SORT.B_BEFORE_A;
411
+ }
414
412
 
415
- var numberToTemplate = function numberToTemplate(val, template) {
416
- return typeof val === 'number' ? template(val) : val;
417
- };
418
- var numberToPx = function numberToPx(val) {
419
- return numberToTemplate(val, function (pixels) {
420
- return "".concat(pixels, "px");
421
- });
422
- };
413
+ return compare(bNum, aNum);
414
+ }
423
415
 
424
- var borderShorthand = function borderShorthand(val) {
425
- return numberToTemplate(val, function (width) {
426
- return "".concat(width, "px solid currentColor");
416
+ if (aIsShorthand) return SORT.A_BEFORE_B;
417
+ if (bIsShorthand) return SORT.B_BEFORE_A;
418
+ return SORT.EQUAL;
427
419
  });
428
420
  };
429
421
 
430
- var compatTheme = {
431
- breakpoints: {
432
- xs: 480,
433
- sm: 768,
434
- md: 1024,
435
- lg: 1200,
436
- xl: 1440
437
- },
438
- spacing: [0, 4, 8, 12, 16, 24, 32, 40, 48, 64, 96],
439
- fontSize: [64, 44, 34, 26, 22, 20, 18, 16, 14],
440
- lineHeight: {
441
- body: 1.5,
442
- heading: 1
443
- },
444
- fontWeight: [400, 600, 700],
445
- fontFamily: {
446
- body: 'Verdana, sans-serif',
447
- heading: 'Verdana, Lato, sans-serif',
448
- monospace: 'monospace'
449
- },
450
- radii: [2, 4, 6, 8],
451
- borders: [1, 2, 3],
452
- colors: {},
453
- modes: {},
454
- mode: undefined
455
- };
456
-
457
422
  var lookupScaleValue = function lookupScaleValue(val, scale, theme) {
458
423
  if (isArray(scale)) {
459
424
  return val;
@@ -547,59 +512,6 @@ var createPropertyStyle = function createPropertyStyle(value, props, config) {
547
512
  return styles;
548
513
  };
549
514
 
550
- var SHORTHAND_PROPERTIES = ['border', 'borderTop', 'borderBottom', 'borderLeft', 'borderRight', 'borderWidth', 'borderStyle', 'borderColor', 'background', 'flex', 'margin', 'padding', 'transition', 'gap', 'grid', 'gridArea', 'gridColumn', 'gridRow', 'gridTemplate', 'overflow', 'transition'];
551
- var SORT = {
552
- A_BEFORE_B: -1,
553
- B_BEFORE_A: 1,
554
- EQUAL: 1
555
- };
556
-
557
- var compare = function compare(a, b) {
558
- if (a < b) return SORT.A_BEFORE_B;
559
- if (b < a) return SORT.B_BEFORE_A;
560
- return SORT.EQUAL;
561
- };
562
- /**
563
- * Orders all properties by the most dependent props
564
- * @param config
565
- */
566
-
567
-
568
- var orderPropNames = function orderPropNames(config) {
569
- return Object.keys(config).sort(function (a, b) {
570
- var aConf = config[a],
571
- bConf = config[b];
572
- var aProp = aConf.property,
573
- _aConf$properties = aConf.properties,
574
- aProperties = _aConf$properties === void 0 ? [] : _aConf$properties;
575
- var bProp = bConf.property,
576
- _bConf$properties = bConf.properties,
577
- bProperties = _bConf$properties === void 0 ? [] : _bConf$properties;
578
- var aIsShorthand = SHORTHAND_PROPERTIES.includes(aProp);
579
- var bIsShorthand = SHORTHAND_PROPERTIES.includes(bProp);
580
-
581
- if (aIsShorthand && bIsShorthand) {
582
- var aNum = aProperties.length;
583
- var bNum = bProperties.length;
584
-
585
- if (aProp !== bProp) {
586
- return compare(SHORTHAND_PROPERTIES.indexOf(aProp), SHORTHAND_PROPERTIES.indexOf(bProp));
587
- }
588
-
589
- if (aProp === bProp) {
590
- if (aNum === 0) return SORT.A_BEFORE_B;
591
- if (bNum === 0) return SORT.B_BEFORE_A;
592
- }
593
-
594
- return compare(bNum, aNum);
595
- }
596
-
597
- if (aIsShorthand) return SORT.A_BEFORE_B;
598
- if (bIsShorthand) return SORT.B_BEFORE_A;
599
- return SORT.EQUAL;
600
- });
601
- };
602
-
603
515
  var _excluded$1 = ["_"];
604
516
  var BREAKPOINT_KEYS$1 = ['_', 'xs', 'sm', 'md', 'lg', 'xl'];
605
517
  /**
@@ -994,10 +906,14 @@ var AnimusWithAll = /*#__PURE__*/function () {
994
906
  key: "asComponent",
995
907
  value: function asComponent(component) {
996
908
  var handler = createStylist(createParser$1(_objectSpread2(_objectSpread2({}, this.parser.config), this.custom), [].concat(_toConsumableArray(Object.keys(this.variants)), _toConsumableArray(Object.keys(this.statesConfig)))), this.baseStyles, this.variants, this.statesConfig);
909
+ var propNames = Object.keys(this.propRegistry);
997
910
  return /*#__PURE__*/_styled(component, {
911
+ shouldForwardProp: function shouldForwardProp(prop) {
912
+ return isPropValid(prop) && !propNames.includes(prop);
913
+ },
998
914
  target: "e19x4vr0",
999
915
  label: "AnimusWithAll"
1000
- })(handler, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFuaW11cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QmUiLCJmaWxlIjoiQW5pbXVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IGNyZWF0ZVBhcnNlciB9IGZyb20gJy4vc3R5bGVzL2NyZWF0ZVBhcnNlcic7XHJcbmltcG9ydCB7IGNyZWF0ZVN0eWxpc3QgfSBmcm9tICcuL3N0eWxlcy9jcmVhdGVTdHlsaXN0JztcclxuZXhwb3J0IGNsYXNzIEFuaW11c1dpdGhBbGwge1xyXG4gICAgcHJvcFJlZ2lzdHJ5ID0ge307XHJcbiAgICBncm91cFJlZ2lzdHJ5ID0ge307XHJcbiAgICBwYXJzZXIgPSB7fTtcclxuICAgIGJhc2VTdHlsZXMgPSB7fTtcclxuICAgIHN0YXRlc0NvbmZpZyA9IHt9O1xyXG4gICAgdmFyaWFudHMgPSB7fTtcclxuICAgIGFjdGl2ZUdyb3VwcyA9IHt9O1xyXG4gICAgY3VzdG9tID0ge307XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgZ3JvdXBzLCBwYXJzZXIsIGJhc2UsIHZhcmlhbnRzLCBzdGF0ZXMsIGFjdGl2ZUdyb3VwcywgY3VzdG9tKSB7XHJcbiAgICAgICAgdGhpcy5wcm9wUmVnaXN0cnkgPSBwcm9wcztcclxuICAgICAgICB0aGlzLmdyb3VwUmVnaXN0cnkgPSBncm91cHM7XHJcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XHJcbiAgICAgICAgdGhpcy5iYXNlU3R5bGVzID0gYmFzZTtcclxuICAgICAgICB0aGlzLnZhcmlhbnRzID0gdmFyaWFudHM7XHJcbiAgICAgICAgdGhpcy5zdGF0ZXNDb25maWcgPSBzdGF0ZXM7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVHcm91cHMgPSBhY3RpdmVHcm91cHM7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSBjdXN0b207XHJcbiAgICB9XHJcbiAgICBhc0NvbXBvbmVudChjb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gY3JlYXRlU3R5bGlzdChjcmVhdGVQYXJzZXIoeyAuLi50aGlzLnBhcnNlci5jb25maWcsIC4uLnRoaXMuY3VzdG9tIH0sIFtcclxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXModGhpcy52YXJpYW50cyksXHJcbiAgICAgICAgICAgIC4uLk9iamVjdC5rZXlzKHRoaXMuc3RhdGVzQ29uZmlnKSxcclxuICAgICAgICBdKSwgdGhpcy5iYXNlU3R5bGVzLCB0aGlzLnZhcmlhbnRzLCB0aGlzLnN0YXRlc0NvbmZpZyk7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlZChjb21wb25lbnQpKGhhbmRsZXIpO1xyXG4gICAgfVxyXG4gICAgYnVpbGQoKSB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IGNyZWF0ZVN0eWxpc3QoY3JlYXRlUGFyc2VyKHsgLi4udGhpcy5wYXJzZXIuY29uZmlnLCAuLi50aGlzLmN1c3RvbSB9LCBbXHJcbiAgICAgICAgICAgIC4uLk9iamVjdC5rZXlzKHRoaXMudmFyaWFudHMpLFxyXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyh0aGlzLnN0YXRlc0NvbmZpZyksXHJcbiAgICAgICAgXSksIHRoaXMuYmFzZVN0eWxlcywgdGhpcy52YXJpYW50cywgdGhpcy5zdGF0ZXNDb25maWcpO1xyXG4gICAgICAgIHJldHVybiBoYW5kbGVyO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIEFuaW11c1dpdGhTeXN0ZW0gZXh0ZW5kcyBBbmltdXNXaXRoQWxsIHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzLCBncm91cHMsIHBhcnNlciwgYmFzZSwgdmFyaWFudHMsIHN0YXRlcywgYWN0aXZlR3JvdXBzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzLCBhY3RpdmVHcm91cHMsIHt9KTtcclxuICAgIH1cclxuICAgIHByb3BzKGNvbmZpZykge1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aEFsbCh0aGlzLnByb3BSZWdpc3RyeSwgdGhpcy5ncm91cFJlZ2lzdHJ5LCB0aGlzLnBhcnNlciwgdGhpcy5iYXNlU3R5bGVzLCB0aGlzLnZhcmlhbnRzLCB0aGlzLnN0YXRlc0NvbmZpZywgdGhpcy5hY3RpdmVHcm91cHMsIGNvbmZpZyk7XHJcbiAgICB9XHJcbn1cclxuY2xhc3MgQW5pbXVzV2l0aFN0YXRlcyBleHRlbmRzIEFuaW11c1dpdGhTeXN0ZW0ge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzLCB7fSk7XHJcbiAgICB9XHJcbiAgICBncm91cHMoY29uZmlnKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBbmltdXNXaXRoU3lzdGVtKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIHRoaXMudmFyaWFudHMsIHRoaXMuc3RhdGVzQ29uZmlnLCBjb25maWcpO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIEFuaW11c1dpdGhWYXJpYW50cyBleHRlbmRzIEFuaW11c1dpdGhTdGF0ZXMge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzLCBncm91cHMsIHBhcnNlciwgYmFzZSwgdmFyaWFudHMsIHt9KTtcclxuICAgIH1cclxuICAgIHN0YXRlcyhjb25maWcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFuaW11c1dpdGhTdGF0ZXModGhpcy5wcm9wUmVnaXN0cnksIHRoaXMuZ3JvdXBSZWdpc3RyeSwgdGhpcy5wYXJzZXIsIHRoaXMuYmFzZVN0eWxlcywgdGhpcy52YXJpYW50cywgY29uZmlnKTtcclxuICAgIH1cclxuICAgIHZhcmlhbnQob3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHByb3AgPSBvcHRpb25zLnByb3AgfHwgJ3ZhcmlhbnQnO1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aFZhcmlhbnRzKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIG1lcmdlKHRoaXMudmFyaWFudHMsIHsgW3Byb3BdOiBvcHRpb25zIH0pKTtcclxuICAgIH1cclxufVxyXG5jbGFzcyBBbmltdXNXaXRoQmFzZSBleHRlbmRzIEFuaW11c1dpdGhWYXJpYW50cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgZ3JvdXBzLCBwYXJzZXIsIGJhc2UpIHtcclxuICAgICAgICBzdXBlcihwcm9wcywgZ3JvdXBzLCBwYXJzZXIsIGJhc2UsIHt9KTtcclxuICAgIH1cclxuICAgIHZhcmlhbnQob3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHByb3AgPSBvcHRpb25zLnByb3AgfHwgJ3ZhcmlhbnQnO1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aFZhcmlhbnRzKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIG1lcmdlKHRoaXMudmFyaWFudHMsIHsgW3Byb3BdOiBvcHRpb25zIH0pKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQW5pbXVzIGV4dGVuZHMgQW5pbXVzV2l0aEJhc2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3Vwcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzLCBncm91cHMsIGNyZWF0ZVBhcnNlcihwcm9wcyksIHt9KTtcclxuICAgIH1cclxuICAgIHN0eWxlcyhjb25maWcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFuaW11c1dpdGhCYXNlKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCBjb25maWcpO1xyXG4gICAgfVxyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFuaW11cy5qcy5tYXAiXX0= */");
916
+ })(handler, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFuaW11cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QmUiLCJmaWxlIjoiQW5pbXVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gJ0BlbW90aW9uL2lzLXByb3AtdmFsaWQnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgY3JlYXRlUGFyc2VyIH0gZnJvbSAnLi9zdHlsZXMvY3JlYXRlUGFyc2VyJztcclxuaW1wb3J0IHsgY3JlYXRlU3R5bGlzdCB9IGZyb20gJy4vc3R5bGVzL2NyZWF0ZVN0eWxpc3QnO1xyXG5leHBvcnQgY2xhc3MgQW5pbXVzV2l0aEFsbCB7XHJcbiAgICBwcm9wUmVnaXN0cnkgPSB7fTtcclxuICAgIGdyb3VwUmVnaXN0cnkgPSB7fTtcclxuICAgIHBhcnNlciA9IHt9O1xyXG4gICAgYmFzZVN0eWxlcyA9IHt9O1xyXG4gICAgc3RhdGVzQ29uZmlnID0ge307XHJcbiAgICB2YXJpYW50cyA9IHt9O1xyXG4gICAgYWN0aXZlR3JvdXBzID0ge307XHJcbiAgICBjdXN0b20gPSB7fTtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzLCBncm91cHMsIHBhcnNlciwgYmFzZSwgdmFyaWFudHMsIHN0YXRlcywgYWN0aXZlR3JvdXBzLCBjdXN0b20pIHtcclxuICAgICAgICB0aGlzLnByb3BSZWdpc3RyeSA9IHByb3BzO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBSZWdpc3RyeSA9IGdyb3VwcztcclxuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcclxuICAgICAgICB0aGlzLmJhc2VTdHlsZXMgPSBiYXNlO1xyXG4gICAgICAgIHRoaXMudmFyaWFudHMgPSB2YXJpYW50cztcclxuICAgICAgICB0aGlzLnN0YXRlc0NvbmZpZyA9IHN0YXRlcztcclxuICAgICAgICB0aGlzLmFjdGl2ZUdyb3VwcyA9IGFjdGl2ZUdyb3VwcztcclxuICAgICAgICB0aGlzLmN1c3RvbSA9IGN1c3RvbTtcclxuICAgIH1cclxuICAgIGFzQ29tcG9uZW50KGNvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSBjcmVhdGVTdHlsaXN0KGNyZWF0ZVBhcnNlcih7IC4uLnRoaXMucGFyc2VyLmNvbmZpZywgLi4udGhpcy5jdXN0b20gfSwgW1xyXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyh0aGlzLnZhcmlhbnRzKSxcclxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXModGhpcy5zdGF0ZXNDb25maWcpLFxyXG4gICAgICAgIF0pLCB0aGlzLmJhc2VTdHlsZXMsIHRoaXMudmFyaWFudHMsIHRoaXMuc3RhdGVzQ29uZmlnKTtcclxuICAgICAgICBjb25zdCBwcm9wTmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BSZWdpc3RyeSk7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlZChjb21wb25lbnQsIHtcclxuICAgICAgICAgICAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBpc1Byb3BWYWxpZChwcm9wKSAmJiAhcHJvcE5hbWVzLmluY2x1ZGVzKHByb3ApLFxyXG4gICAgICAgIH0pKGhhbmRsZXIpO1xyXG4gICAgfVxyXG4gICAgYnVpbGQoKSB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IGNyZWF0ZVN0eWxpc3QoY3JlYXRlUGFyc2VyKHsgLi4udGhpcy5wYXJzZXIuY29uZmlnLCAuLi50aGlzLmN1c3RvbSB9LCBbXHJcbiAgICAgICAgICAgIC4uLk9iamVjdC5rZXlzKHRoaXMudmFyaWFudHMpLFxyXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyh0aGlzLnN0YXRlc0NvbmZpZyksXHJcbiAgICAgICAgXSksIHRoaXMuYmFzZVN0eWxlcywgdGhpcy52YXJpYW50cywgdGhpcy5zdGF0ZXNDb25maWcpO1xyXG4gICAgICAgIHJldHVybiBoYW5kbGVyO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIEFuaW11c1dpdGhTeXN0ZW0gZXh0ZW5kcyBBbmltdXNXaXRoQWxsIHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzLCBncm91cHMsIHBhcnNlciwgYmFzZSwgdmFyaWFudHMsIHN0YXRlcywgYWN0aXZlR3JvdXBzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzLCBhY3RpdmVHcm91cHMsIHt9KTtcclxuICAgIH1cclxuICAgIHByb3BzKGNvbmZpZykge1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aEFsbCh0aGlzLnByb3BSZWdpc3RyeSwgdGhpcy5ncm91cFJlZ2lzdHJ5LCB0aGlzLnBhcnNlciwgdGhpcy5iYXNlU3R5bGVzLCB0aGlzLnZhcmlhbnRzLCB0aGlzLnN0YXRlc0NvbmZpZywgdGhpcy5hY3RpdmVHcm91cHMsIGNvbmZpZyk7XHJcbiAgICB9XHJcbn1cclxuY2xhc3MgQW5pbXVzV2l0aFN0YXRlcyBleHRlbmRzIEFuaW11c1dpdGhTeXN0ZW0ge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cywgc3RhdGVzLCB7fSk7XHJcbiAgICB9XHJcbiAgICBncm91cHMoY29uZmlnKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBbmltdXNXaXRoU3lzdGVtKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIHRoaXMudmFyaWFudHMsIHRoaXMuc3RhdGVzQ29uZmlnLCBjb25maWcpO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIEFuaW11c1dpdGhWYXJpYW50cyBleHRlbmRzIEFuaW11c1dpdGhTdGF0ZXMge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3VwcywgcGFyc2VyLCBiYXNlLCB2YXJpYW50cykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzLCBncm91cHMsIHBhcnNlciwgYmFzZSwgdmFyaWFudHMsIHt9KTtcclxuICAgIH1cclxuICAgIHN0YXRlcyhjb25maWcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFuaW11c1dpdGhTdGF0ZXModGhpcy5wcm9wUmVnaXN0cnksIHRoaXMuZ3JvdXBSZWdpc3RyeSwgdGhpcy5wYXJzZXIsIHRoaXMuYmFzZVN0eWxlcywgdGhpcy52YXJpYW50cywgY29uZmlnKTtcclxuICAgIH1cclxuICAgIHZhcmlhbnQob3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHByb3AgPSBvcHRpb25zLnByb3AgfHwgJ3ZhcmlhbnQnO1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aFZhcmlhbnRzKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIG1lcmdlKHRoaXMudmFyaWFudHMsIHsgW3Byb3BdOiBvcHRpb25zIH0pKTtcclxuICAgIH1cclxufVxyXG5jbGFzcyBBbmltdXNXaXRoQmFzZSBleHRlbmRzIEFuaW11c1dpdGhWYXJpYW50cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgZ3JvdXBzLCBwYXJzZXIsIGJhc2UpIHtcclxuICAgICAgICBzdXBlcihwcm9wcywgZ3JvdXBzLCBwYXJzZXIsIGJhc2UsIHt9KTtcclxuICAgIH1cclxuICAgIHZhcmlhbnQob3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHByb3AgPSBvcHRpb25zLnByb3AgfHwgJ3ZhcmlhbnQnO1xyXG4gICAgICAgIHJldHVybiBuZXcgQW5pbXVzV2l0aFZhcmlhbnRzKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCB0aGlzLmJhc2VTdHlsZXMsIG1lcmdlKHRoaXMudmFyaWFudHMsIHsgW3Byb3BdOiBvcHRpb25zIH0pKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQW5pbXVzIGV4dGVuZHMgQW5pbXVzV2l0aEJhc2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGdyb3Vwcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzLCBncm91cHMsIGNyZWF0ZVBhcnNlcihwcm9wcyksIHt9KTtcclxuICAgIH1cclxuICAgIHN0eWxlcyhjb25maWcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFuaW11c1dpdGhCYXNlKHRoaXMucHJvcFJlZ2lzdHJ5LCB0aGlzLmdyb3VwUmVnaXN0cnksIHRoaXMucGFyc2VyLCBjb25maWcpO1xyXG4gICAgfVxyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFuaW11cy5qcy5tYXAiXX0= */");
1001
917
  }
1002
918
  }, {
1003
919
  key: "build",
@@ -1170,19 +1086,112 @@ var createAnimus = function createAnimus() {
1170
1086
  return new AnimusConfig();
1171
1087
  };
1172
1088
 
1089
+ var percentageOrAbsolute = function percentageOrAbsolute(coordinate) {
1090
+ if (coordinate === 0) {
1091
+ return coordinate;
1092
+ }
1093
+
1094
+ if (coordinate <= 1 && coordinate >= -1) {
1095
+ return "".concat(coordinate * 100, "%");
1096
+ }
1097
+
1098
+ return "".concat(coordinate, "px");
1099
+ };
1100
+ var valueWithUnit = /(-?\d*\.?\d+)(%|\w*)/;
1101
+ var size = function size(value) {
1102
+ if (isNumber(value)) {
1103
+ return percentageOrAbsolute(value);
1104
+ }
1105
+
1106
+ if (value.includes('calc')) {
1107
+ return value;
1108
+ }
1109
+
1110
+ var _ref = valueWithUnit.exec(value) || [],
1111
+ _ref2 = _slicedToArray(_ref, 3),
1112
+ match = _ref2[0],
1113
+ number = _ref2[1],
1114
+ unit = _ref2[2];
1115
+
1116
+ if (match === undefined) {
1117
+ return value;
1118
+ }
1119
+
1120
+ var numericValue = parseFloat(number);
1121
+ return !unit ? percentageOrAbsolute(numericValue) : "".concat(numericValue).concat(unit);
1122
+ };
1123
+
1124
+ var gridItemMap = {
1125
+ max: 'max-content',
1126
+ min: 'min-content'
1127
+ };
1128
+ var unitlessNumber = new RegExp(/^[0-9]*$/);
1129
+
1130
+ var isUnitlessNumber = function isUnitlessNumber(val) {
1131
+ return unitlessNumber.test(val);
1132
+ };
1133
+
1134
+ var gridItem = function gridItem(item) {
1135
+ var template = isUnitlessNumber(item) ? "".concat(item, "fr") : get(gridItemMap, item, item);
1136
+ return "minmax(0, ".concat(template, ")");
1137
+ };
1138
+ var repeatGridItem = function repeatGridItem(item, count) {
1139
+ var template = gridItem(item);
1140
+ return count > 1 ? "repeat(".concat(count, ", ").concat(template, ")") : template;
1141
+ };
1142
+ var parseGridRatio = function parseGridRatio(val) {
1143
+ var items = val.split(':');
1144
+ var repeated = ['', 0];
1145
+ var gridStyle = '';
1146
+
1147
+ for (var i = 0; i < items.length + 1; i += 1) {
1148
+ var _repeated;
1149
+
1150
+ var delimiter = gridStyle.length > 0 ? ' ' : '';
1151
+ var curr = items[i];
1152
+
1153
+ if (((_repeated = repeated) === null || _repeated === void 0 ? void 0 : _repeated[0]) !== curr) {
1154
+ if (repeated[0].length) gridStyle += delimiter + repeatGridItem.apply(void 0, _toConsumableArray(repeated));
1155
+ if (curr) repeated = [curr, 1];
1156
+ } else {
1157
+ repeated[1] += 1;
1158
+ }
1159
+ }
1160
+
1161
+ return gridStyle;
1162
+ };
1163
+ var gridItemRatio = function gridItemRatio(val) {
1164
+ return isNumber(val) ? repeatGridItem('1', val) : parseGridRatio(val);
1165
+ };
1166
+
1167
+ var numberToTemplate = function numberToTemplate(val, template) {
1168
+ return typeof val === 'number' ? template(val) : val;
1169
+ };
1170
+ var numberToPx = function numberToPx(val) {
1171
+ return numberToTemplate(val, function (pixels) {
1172
+ return "".concat(pixels, "px");
1173
+ });
1174
+ };
1175
+
1176
+ var borderShorthand = function borderShorthand(val) {
1177
+ return numberToTemplate(val, function (width) {
1178
+ return "".concat(width, "px solid currentColor");
1179
+ });
1180
+ };
1181
+
1173
1182
  var color = {
1174
1183
  color: {
1175
1184
  property: 'color',
1176
1185
  scale: 'colors'
1177
1186
  },
1178
- textColor: {
1179
- property: 'color',
1180
- scale: 'colors'
1181
- },
1182
1187
  bg: {
1183
1188
  property: 'backgroundColor',
1184
1189
  scale: 'colors'
1185
1190
  },
1191
+ gradient: {
1192
+ property: 'backgroundImage',
1193
+ scale: 'gradients'
1194
+ },
1186
1195
  borderColor: {
1187
1196
  property: 'borderColor',
1188
1197
  scale: 'colors'
@@ -1212,6 +1221,14 @@ var color = {
1212
1221
  borderColorBottom: {
1213
1222
  property: 'borderBottomColor',
1214
1223
  scale: 'colors'
1224
+ },
1225
+ fill: {
1226
+ property: 'fill',
1227
+ scale: 'colors'
1228
+ },
1229
+ stroke: {
1230
+ property: 'stroke',
1231
+ scale: 'colors'
1215
1232
  }
1216
1233
  };
1217
1234
  var border = {
@@ -1254,77 +1271,84 @@ var border = {
1254
1271
  },
1255
1272
  // Width
1256
1273
  borderWidth: {
1257
- property: 'borderWidth'
1274
+ property: 'borderWidth',
1275
+ scale: 'borderWidths'
1258
1276
  },
1259
1277
  borderWidthX: {
1260
1278
  property: 'borderWidth',
1261
- properties: ['borderLeftWidth', 'borderRightWidth']
1279
+ properties: ['borderLeftWidth', 'borderRightWidth'],
1280
+ scale: 'borderWidths'
1262
1281
  },
1263
1282
  borderWidthY: {
1264
1283
  property: 'borderWidth',
1265
- properties: ['borderTopWidth', 'borderBottomWidth']
1284
+ properties: ['borderTopWidth', 'borderBottomWidth'],
1285
+ scale: 'borderWidths'
1266
1286
  },
1267
1287
  borderWidthLeft: {
1268
- property: 'borderLeftWidth'
1288
+ property: 'borderLeftWidth',
1289
+ scale: 'borderWidths'
1269
1290
  },
1270
1291
  borderWidthRight: {
1271
- property: 'borderRightWidth'
1292
+ property: 'borderRightWidth',
1293
+ scale: 'borderWidths'
1272
1294
  },
1273
1295
  borderWidthTop: {
1274
- property: 'borderTopWidth'
1296
+ property: 'borderTopWidth',
1297
+ scale: 'borderWidths'
1275
1298
  },
1276
1299
  borderWidthBottom: {
1277
- property: 'borderBottomWidth'
1300
+ property: 'borderBottomWidth',
1301
+ scale: 'borderWidths'
1278
1302
  },
1279
1303
  // Radius
1280
1304
  borderRadius: {
1281
1305
  property: 'borderRadius',
1282
1306
  scale: 'radii',
1283
- transform: numberToPx
1307
+ transform: size
1284
1308
  },
1285
1309
  borderRadiusLeft: {
1286
1310
  property: 'borderRadius',
1287
1311
  properties: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
1288
1312
  scale: 'radii',
1289
- transform: numberToPx
1313
+ transform: size
1290
1314
  },
1291
1315
  borderRadiusTop: {
1292
1316
  property: 'borderRadius',
1293
1317
  properties: ['borderTopLeftRadius', 'borderTopRightRadius'],
1294
1318
  scale: 'radii',
1295
- transform: numberToPx
1319
+ transform: size
1296
1320
  },
1297
1321
  borderRadiusBottom: {
1298
1322
  property: 'borderRadius',
1299
1323
  properties: ['borderBottomLeftRadius', 'borderBottomRightRadius'],
1300
1324
  scale: 'radii',
1301
- transform: numberToPx
1325
+ transform: size
1302
1326
  },
1303
1327
  borderRadiusRight: {
1304
1328
  property: 'borderRadius',
1305
1329
  properties: ['borderTopRightRadius', 'borderBottomRightRadius'],
1306
1330
  scale: 'radii',
1307
- transform: numberToPx
1331
+ transform: size
1308
1332
  },
1309
1333
  borderRadiusTopLeft: {
1310
1334
  property: 'borderTopLeftRadius',
1311
1335
  scale: 'radii',
1312
- transform: numberToPx
1336
+ transform: size
1313
1337
  },
1314
1338
  borderRadiusTopRight: {
1315
1339
  property: 'borderTopRightRadius',
1316
1340
  scale: 'radii',
1317
- transform: numberToPx
1341
+ transform: size
1318
1342
  },
1319
1343
  borderRadiusBottomRight: {
1320
1344
  property: 'borderBottomRightRadius',
1321
1345
  scale: 'radii',
1322
- transform: numberToPx
1346
+ transform: size
1323
1347
  },
1324
1348
  borderRadiusBottomLeft: {
1325
1349
  property: 'borderBottomLeftRadius',
1326
1350
  scale: 'radii',
1327
- transform: numberToPx
1351
+ transform: size
1328
1352
  },
1329
1353
  // Style
1330
1354
  borderStyle: {
@@ -1354,15 +1378,15 @@ var border = {
1354
1378
  var gaps = {
1355
1379
  gap: {
1356
1380
  property: 'gap',
1357
- scale: 'spacing'
1381
+ scale: 'space'
1358
1382
  },
1359
1383
  rowGap: {
1360
1384
  property: 'rowGap',
1361
- scale: 'spacing'
1385
+ scale: 'space'
1362
1386
  },
1363
1387
  columnGap: {
1364
1388
  property: 'columnGap',
1365
- scale: 'spacing'
1389
+ scale: 'space'
1366
1390
  }
1367
1391
  };
1368
1392
  var selfAlignments = {
@@ -1529,18 +1553,22 @@ var positioning = {
1529
1553
  transform: size
1530
1554
  },
1531
1555
  zIndex: {
1532
- property: 'zIndex'
1556
+ property: 'zIndex',
1557
+ scale: 'zIndices'
1533
1558
  },
1534
1559
  opacity: {
1535
- property: 'opacity'
1560
+ property: 'opacity',
1561
+ scale: 'opacities'
1536
1562
  }
1537
1563
  };
1538
1564
  var shadows = {
1539
1565
  boxShadow: {
1540
- property: 'boxShadow'
1566
+ property: 'boxShadow',
1567
+ scale: 'shadows'
1541
1568
  },
1542
1569
  textShadow: {
1543
- property: 'textShadow'
1570
+ property: 'textShadow',
1571
+ scale: 'shadows'
1544
1572
  }
1545
1573
  };
1546
1574
  var layout = _objectSpread2(_objectSpread2(_objectSpread2({
@@ -1592,23 +1620,24 @@ var layout = _objectSpread2(_objectSpread2(_objectSpread2({
1592
1620
  var typography = {
1593
1621
  fontFamily: {
1594
1622
  property: 'fontFamily',
1595
- scale: 'fontFamily'
1623
+ scale: 'fonts'
1596
1624
  },
1597
1625
  fontWeight: {
1598
1626
  property: 'fontWeight',
1599
- scale: 'fontWeight'
1627
+ scale: 'fontWeights'
1600
1628
  },
1601
1629
  lineHeight: {
1602
1630
  property: 'lineHeight',
1603
- scale: 'lineHeight',
1631
+ scale: 'lineHeights',
1604
1632
  lineHeight: 'lineHeight'
1605
1633
  },
1606
1634
  fontSize: {
1607
1635
  property: 'fontSize',
1608
- scale: 'fontSize'
1636
+ scale: 'fontSizes'
1609
1637
  },
1610
1638
  letterSpacing: {
1611
- property: 'letterSpacing'
1639
+ property: 'letterSpacing',
1640
+ scale: 'letterSpacings'
1612
1641
  },
1613
1642
  textAlign: {
1614
1643
  property: 'textAlign'
@@ -1629,68 +1658,81 @@ var typography = {
1629
1658
  var margin = {
1630
1659
  m: {
1631
1660
  property: 'margin',
1632
- scale: 'spacing'
1661
+ scale: 'space'
1633
1662
  },
1634
1663
  mx: {
1635
1664
  property: 'margin',
1636
1665
  properties: ['marginLeft', 'marginRight'],
1637
- scale: 'spacing'
1666
+ scale: 'space'
1638
1667
  },
1639
1668
  my: {
1640
1669
  property: 'margin',
1641
1670
  properties: ['marginTop', 'marginBottom'],
1642
- scale: 'spacing'
1671
+ scale: 'space'
1643
1672
  },
1644
1673
  mt: {
1645
1674
  property: 'marginTop',
1646
- scale: 'spacing'
1675
+ scale: 'space'
1647
1676
  },
1648
1677
  mb: {
1649
1678
  property: 'marginBottom',
1650
- scale: 'spacing'
1679
+ scale: 'space'
1651
1680
  },
1652
1681
  mr: {
1653
1682
  property: 'marginRight',
1654
- scale: 'spacing'
1683
+ scale: 'space'
1655
1684
  },
1656
1685
  ml: {
1657
1686
  property: 'marginLeft',
1658
- scale: 'spacing'
1687
+ scale: 'space'
1659
1688
  }
1660
1689
  };
1661
1690
  var padding = {
1662
1691
  p: {
1663
1692
  property: 'padding',
1664
- scale: 'spacing'
1693
+ scale: 'space'
1665
1694
  },
1666
1695
  px: {
1667
1696
  property: 'padding',
1668
1697
  properties: ['paddingLeft', 'paddingRight'],
1669
- scale: 'spacing'
1698
+ scale: 'space'
1670
1699
  },
1671
1700
  py: {
1672
1701
  property: 'padding',
1673
1702
  properties: ['paddingTop', 'paddingBottom'],
1674
- scale: 'spacing'
1703
+ scale: 'space'
1675
1704
  },
1676
1705
  pt: {
1677
1706
  property: 'paddingTop',
1678
- scale: 'spacing'
1707
+ scale: 'space'
1679
1708
  },
1680
1709
  pb: {
1681
1710
  property: 'paddingBottom',
1682
- scale: 'spacing'
1711
+ scale: 'space'
1683
1712
  },
1684
1713
  pr: {
1685
1714
  property: 'paddingRight',
1686
- scale: 'spacing'
1715
+ scale: 'space'
1687
1716
  },
1688
1717
  pl: {
1689
1718
  property: 'paddingLeft',
1690
- scale: 'spacing'
1719
+ scale: 'space'
1691
1720
  }
1692
1721
  };
1693
1722
  var space = _objectSpread2(_objectSpread2({}, margin), padding);
1723
+ var transitions = {
1724
+ transition: {
1725
+ property: 'transition',
1726
+ scale: 'transitions'
1727
+ },
1728
+ animation: {
1729
+ property: 'animation',
1730
+ scale: 'animations'
1731
+ },
1732
+ animationPlayState: {
1733
+ property: 'animationPlayState'
1734
+ }
1735
+ };
1694
1736
  var mode = {
1695
1737
  mode: {
1696
1738
  property: 'none',
@@ -1702,15 +1744,9 @@ var vars = {
1702
1744
  property: 'variables'
1703
1745
  }
1704
1746
  };
1705
- var config = createAnimus().addGroup('flex', flex).addGroup('grid', grid).addGroup('mode', mode).addGroup('vars', vars).addGroup('space', space).addGroup('color', color).addGroup('layout', layout).addGroup('borders', border).addGroup('shadows', shadows).addGroup('background', background).addGroup('typography', typography).addGroup('positioning', positioning);
1747
+ var config = createAnimus().addGroup('flex', flex).addGroup('grid', grid).addGroup('mode', mode).addGroup('vars', vars).addGroup('space', space).addGroup('color', color).addGroup('layout', layout).addGroup('borders', border).addGroup('shadows', shadows).addGroup('background', background).addGroup('typography', typography).addGroup('positioning', positioning).addGroup('transitions', transitions);
1706
1748
  config.build();
1707
1749
 
1708
- var getStylePropNames = function getStylePropNames(props, filteredKeys) {
1709
- return pick(props, keys(props).filter(function (key) {
1710
- return !filteredKeys.includes(key);
1711
- }));
1712
- };
1713
-
1714
1750
  var _excluded = ["_"];
1715
1751
  var BREAKPOINT_KEYS = ['_', 'xs', 'sm', 'md', 'lg', 'xl'];
1716
1752
  /**
@@ -1868,6 +1904,16 @@ function createParser(config) {
1868
1904
  });
1869
1905
  }
1870
1906
 
1907
+ function compose() {
1908
+ for (var _len = arguments.length, parsers = new Array(_len), _key = 0; _key < _len; _key++) {
1909
+ parsers[_key] = arguments[_key];
1910
+ }
1911
+
1912
+ return createParser(parsers.reduce(function (carry, parser) {
1913
+ return _objectSpread2(_objectSpread2({}, carry), parser.config);
1914
+ }, {}));
1915
+ }
1916
+
1871
1917
  function createTransform(prop, config) {
1872
1918
  var _config$transform = config.transform,
1873
1919
  transform = _config$transform === void 0 ? identity : _config$transform,
@@ -1962,6 +2008,12 @@ function create(config) {
1962
2008
  return createParser(transforms);
1963
2009
  }
1964
2010
 
2011
+ var getStylePropNames = function getStylePropNames(props, filteredKeys) {
2012
+ return pick(props, keys(props).filter(function (key) {
2013
+ return !filteredKeys.includes(key);
2014
+ }));
2015
+ };
2016
+
1965
2017
  function createCss(config) {
1966
2018
  var parser = create(config);
1967
2019
  var filteredProps = parser.propNames;
@@ -1998,6 +2050,26 @@ function createCss(config) {
1998
2050
  };
1999
2051
  }
2000
2052
 
2053
+ function createStates(config) {
2054
+ var css = createCss(config);
2055
+ return function (states) {
2056
+ var orderedStates = Object.keys(states);
2057
+ var stateFns = {};
2058
+ orderedStates.forEach(function (key) {
2059
+ var stateKey = key;
2060
+ var cssProps = states[stateKey];
2061
+ stateFns[stateKey] = css(cssProps);
2062
+ });
2063
+ return function (props) {
2064
+ var styles = {};
2065
+ orderedStates.forEach(function (state) {
2066
+ merge(styles, props[state] && stateFns[state](props));
2067
+ });
2068
+ return styles;
2069
+ };
2070
+ };
2071
+ }
2072
+
2001
2073
  function createVariant(config) {
2002
2074
  var css = createCss(config);
2003
2075
  return function (_ref) {
@@ -2026,36 +2098,6 @@ function createVariant(config) {
2026
2098
  };
2027
2099
  }
2028
2100
 
2029
- function compose() {
2030
- for (var _len = arguments.length, parsers = new Array(_len), _key = 0; _key < _len; _key++) {
2031
- parsers[_key] = arguments[_key];
2032
- }
2033
-
2034
- return createParser(parsers.reduce(function (carry, parser) {
2035
- return _objectSpread2(_objectSpread2({}, carry), parser.config);
2036
- }, {}));
2037
- }
2038
-
2039
- function createStates(config) {
2040
- var css = createCss(config);
2041
- return function (states) {
2042
- var orderedStates = Object.keys(states);
2043
- var stateFns = {};
2044
- orderedStates.forEach(function (key) {
2045
- var stateKey = key;
2046
- var cssProps = states[stateKey];
2047
- stateFns[stateKey] = css(cssProps);
2048
- });
2049
- return function (props) {
2050
- var styles = {};
2051
- orderedStates.forEach(function (state) {
2052
- merge(styles, props[state] && stateFns[state](props));
2053
- });
2054
- return styles;
2055
- };
2056
- };
2057
- }
2058
-
2059
2101
  var animusProps = {
2060
2102
  compose: compose,
2061
2103
  create: create,
@@ -2068,4 +2110,4 @@ var animusProps = {
2068
2110
 
2069
2111
  var animus = config.build();
2070
2112
 
2071
- export { AnimusConfig, animus, animusProps, borderShorthand, compatTheme, config, createAnimus, createScale, gridItem, gridItemRatio, numberToPx, numberToTemplate, parseGridRatio, percentageOrAbsolute, repeatGridItem, size };
2113
+ export { AnimusConfig, animus, animusProps, borderShorthand, compatTheme, config, createAnimus, createScale, gridItem, gridItemRatio, numberToPx, numberToTemplate, numericOrStringScale, numericScale, parseGridRatio, percentageOrAbsolute, repeatGridItem, size, stringScale };