"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = _default;

var _lodash = _interopRequireDefault(require("lodash"));

var _flattenColorPalette = _interopRequireDefault(require("../util/flattenColorPalette"));

var _nameClass = _interopRequireDefault(require("../util/nameClass"));

var _withAlphaVariable = require("../util/withAlphaVariable");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _default() {
  return function ({
    addUtilities,
    theme,
    variants
  }) {
    const colors = (0, _flattenColorPalette.default)(theme('ringColor'));

    const utilities = _lodash.default.fromPairs(_lodash.default.map(_lodash.default.omit(colors, 'DEFAULT'), (value, modifier) => {
      try {
        const [r, g, b, a] = (0, _withAlphaVariable.toRgba)(value);
        return [(0, _nameClass.default)('ring', modifier), {
          '--ring-opacity': a === undefined ? '1' : a,
          '--ring-color': `rgba(${r}, ${g}, ${b}, var(--ring-opacity))`
        }];
      } catch (_error) {
        return [(0, _nameClass.default)('ring', modifier), {
          '--ring-color': value
        }];
      }
    }));

    addUtilities(utilities, variants('ringColor'));
  };
}