"use strict";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

/*
Copyright 2021 Q-CTRL. All rights reserved.

Licensed under the Q-CTRL Terms of service (the "License"). Unauthorized
copying or use of this file, via any medium, is strictly prohibited.
Proprietary and confidential. You may not use this file except in compliance
with the License. You may obtain a copy of the License at

     https://q-ctrl.com/terms

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS. See the
License for the specific language.
*/
// Utilities
var _require = require("../utilities/convertNumber"),
    rem = _require.rem,
    pxKey = _require.pxKey;

var _require2 = require("./spacing"),
    spacing = _require2.spacing;
/*
Min Width:
Extends Tailwind's `min-w-*` class with some additional common uses.
*/


var minWidths = _objectSpread(_objectSpread({}, spacing), {}, {
  "0": "0",
  "1/4": "25%",
  "1/2": "50%",
  "3/4": "75%",
  "screen-25": "25vw",
  "screen-50": "50vw",
  "screen-75": "75vw"
});
/*
Max Width:
Extends Tailwind's `max-w-*` class with some additional common uses.
*/


var maxWidths = _objectSpread({
  "8xl": rem(1440),
  "9xl": rem(1920)
}, minWidths);
/*
Widths:
Extends Tailwind's `w-*` class with some additional common uses.
*/


var widths = {
  "1/2": "50%",
  "1/3": "33.333333%",
  "2/3": "66.666667%",
  "1/4": "25%",
  "2/4": "50%",
  "3/4": "75%",
  "1/5": "20%",
  "2/5": "40%",
  "3/5": "60%",
  "4/5": "80%",
  "1/6": "16.666667%",
  "2/6": "33.333333%",
  "3/6": "50%",
  "4/6": "66.666667%",
  "5/6": "83.333333%",
  "1/12": "8.333333%",
  "2/12": "16.666667%",
  "3/12": "25%",
  "4/12": "33.333333%",
  "5/12": "41.666667%",
  "6/12": "50%",
  "7/12": "58.333333%",
  "8/12": "66.666667%",
  "9/12": "75%",
  "10/12": "83.333333%",
  "11/12": "91.666667%",
  full: "100%",
  "screen-25": "25vw",
  "screen-50": "50vw",
  "screen-75": "75vw",
  "screen-100": "100vw"
};
/*
Heights:
Extends Tailwind's `h-*` class with some additional common uses.
*/

var heights = {
  "screen-25": "25vh",
  "screen-50": "50vh",
  "screen-75": "75vh",
  "screen-85": "85vh",
  "screen-100": "100vh"
};
/*
Min Height:
Extends Tailwind's `min-h-*` class with some additional common uses.
*/

var minHeights = _objectSpread(_objectSpread({}, spacing), {}, {
  "0": "0",
  "1/4": "25%",
  "1/2": "50%",
  "3/4": "75%",
  "screen-25": "25vh",
  "screen-50": "50vh",
  "screen-75": "75vh"
});
/*
Max Height:
Extends Tailwind's `max-h-*` class with some additional common uses.
*/


var maxHeights = _objectSpread({}, minHeights);
/*
Aspect Ratios:
Adds classes for setting aspect ratio on a responsive embed.
Follows the same convetion as twitter `.embed-responsive .aspect-ratio-* > .embed-responsive-item`.
*/


var aspectRatios = {
  none: 0,
  square: [1, 1],
  "16/9": [16, 9],
  "4/3": [4, 3],
  "21/9": [21, 9]
};
/*
Icon Sizes:
Sets specific icon sizes that corresond to line-heights
*/

var iconSizes = {
  "2xs": rem(12),
  xs: rem(16),
  sm: rem(18),
  md: rem(24),
  lg: rem(32),
  xl: rem(48),
  "2xl": rem(56),
  "3xl": rem(64),
  "4xl": rem(72)
};
/*
Triangles:
Adds utility classes for creating triangles out of and element's borders.
*/

var triangleSizes = _objectSpread({}, iconSizes);

module.exports = {
  minWidths: minWidths,
  maxWidths: maxWidths,
  widths: widths,
  heights: heights,
  minHeights: minHeights,
  maxHeights: maxHeights,
  aspectRatios: aspectRatios,
  iconSizes: iconSizes,
  triangleSizes: triangleSizes
};