'use strict';

var clsx = require('clsx');
var tailwindMerge = require('tailwind-merge');
require('lodash-es');
var react = require('@tw-classed/react');
var core = require('@tw-classed/core');
var createVariatGroupTransfomer = require('tailwind-group-variant');
var jsxRuntime = require('react/jsx-runtime');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var clsx__default = /*#__PURE__*/_interopDefault(clsx);
var createVariatGroupTransfomer__default = /*#__PURE__*/_interopDefault(createVariatGroupTransfomer);

// src/styles/color-scheme-variants.ts
var colorSchemeVariants = {
  filledAccent: {
    base: {
      primary: "filled-accent-primary",
      secondary: "filled-accent-secondary",
      inverse: "filled-accent-inverse",
      heart: "filled-accent-heart",
      info: "filled-accent-info",
      success: "filled-accent-success",
      danger: "filled-accent-danger",
      caution: "filled-accent-caution"
    },
    hover: {
      primary: "filled-hover-accent-primary",
      secondary: "filled-hover-accent-secondary",
      inverse: "filled-hover-accent-inverse",
      heart: "filled-hover-accent-heart",
      info: "filled-hover-accent-info",
      success: "filled-hover-accent-success",
      danger: "filled-hover-accent-danger",
      caution: "filled-hover-accent-caution"
    }
  },
  glassAccent: {
    base: {
      primary: "glass-accent-primary",
      secondary: "glass-accent-secondary",
      inverse: "glass-accent-inverse",
      heart: "glass-accent-heart",
      info: "glass-accent-info",
      success: "glass-accent-success",
      danger: "glass-accent-danger",
      caution: "glass-accent-caution"
    },
    hover: {
      primary: "hover:glass-accent-primary",
      secondary: "hover:glass-accent-secondary",
      inverse: "hover:glass-accent-inverse",
      heart: "hover:glass-accent-heart",
      info: "hover:glass-accent-info",
      success: "hover:glass-accent-success",
      danger: "hover:glass-accent-danger",
      caution: "hover:glass-accent-caution"
    }
  },
  ghost: {
    base: {
      primary: "ghost-accent-primary",
      secondary: "ghost-accent-secondary",
      inverse: "ghost-accent-inverse",
      heart: "ghost-accent-heart",
      info: "ghost-accent-info",
      success: "ghost-accent-success",
      danger: "ghost-accent-danger",
      caution: "ghost-accent-caution"
    }
  },
  bg: {
    base: {
      primary: clsx__default.default("bg-primary"),
      success: clsx__default.default("bg-success"),
      danger: clsx__default.default("bg-danger"),
      caution: clsx__default.default("bg-caution"),
      inverse: clsx__default.default("bg-inverse"),
      heart: clsx__default.default("bg-heart"),
      info: clsx__default.default("bg-info"),
      secondary: clsx__default.default("bg-secondary")
    },
    hover: {
      primary: clsx__default.default("hover:bg-primary"),
      success: clsx__default.default("hover:bg-success"),
      danger: clsx__default.default("hover:bg-danger"),
      caution: clsx__default.default("hover:bg-caution"),
      inverse: clsx__default.default("hover:bg-inverse"),
      heart: clsx__default.default("hover:bg-heart"),
      info: clsx__default.default("hover:bg-info"),
      secondary: clsx__default.default("hover:bg-secondary")
    }
  },
  ring: {
    base: {
      primary: "ring-boundary-weak",
      secondary: "ring-boundary-weak",
      inverse: "text-inverse ring-inverse ",
      heart: "text-heart ring-heart ",
      info: "text-info ring-info ",
      success: "text-success ring-success ",
      danger: "text-danger ring-danger ",
      caution: "text-caution ring-caution "
    }
  },
  shadow: {
    base: {
      primary: "shadow-primary/70",
      secondary: "shadow-secondary/70",
      inverse: "shadow-inverse/70",
      heart: "shadow-heart/70",
      info: "shadow-info/70",
      success: "shadow-success/70",
      danger: "shadow-danger/70",
      caution: "shadow-caution/70"
    }
  },
  gradientDarkToLightTr: {
    base: {
      primary: clsx__default.default("bg-gradient-primary-dark-to-light-tr"),
      secondary: clsx__default.default("bg-gradient-secondary-dark-to-light-tr"),
      inverse: clsx__default.default("bg-gradient-inverse-dark-to-light-tr"),
      heart: clsx__default.default("bg-gradient-heart-dark-to-light-tr"),
      info: clsx__default.default("bg-gradient-info-dark-to-light-tr"),
      success: clsx__default.default("bg-gradient-success-dark-to-light-tr"),
      danger: clsx__default.default("bg-gradient-danger-dark-to-light-tr"),
      caution: clsx__default.default("bg-gradient-caution-dark-to-light-tr")
    }
  }
};
var twMerge = tailwindMerge.extendTailwindMerge({
  classGroups: {
    "font-size": [
      {
        // Fixes incorect merging of text size
        text: ["h1", "h2", "h3", "h4", "h5", "h6"]
      }
    ]
  }
});
var { classed } = react.createClassed({ merger: twMerge });
core.createClassed({ merger: twMerge });
createVariatGroupTransfomer__default.default({});
var StatusDotElement = classed(
  "div",
  "flex-none rounded-full p-4 !bg-opacity-20 overflow-hidden relative",
  {
    variants: {
      color: colorSchemeVariants.filledAccent.base
    }
  }
);
var StatusDot = ({ color, ...props }) => {
  return /* @__PURE__ */ jsxRuntime.jsx(StatusDotElement, { color, ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-10 w-10 rounded-full bg-current  noisy-surface-texture before:overflow-hidden before:rounded-full" }) });
};

exports.StatusDot = StatusDot;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.cjs.map