import { computed } from "vue";
import { makeTagProps } from "../tag/index.mjs";
import { makeThemeProps, provideTheme } from "../theme/index.mjs";
import { makeVariantProps, useVariant } from "../variant/index.mjs";
import { genOverlays } from "../variant/index.mjs";
import { makePositionProps, usePosition } from "../position/index.mjs";
import { makeDimensionProps, useDimension } from "../dimension/index.mjs";
import { makeSizeProps, useSize } from "../size/index.mjs";
import { makeDensityProps, useDensity } from "../density/index.mjs";
import { makeBorderProps, useBorder } from "../border/index.mjs";
import { makeShapeProps, useShape } from "../shape/index.mjs";
import { makeElevationProps, useElevation } from "../elevation/index.mjs";
import { propsFactory, getCurrentInstanceName } from "../../utils/dist/index.mjs";
const makePaperProps = propsFactory({
  ...makeTagProps(),
  ...makeThemeProps(),
  ...makeVariantProps(),
  ...makePositionProps(),
  ...makeDimensionProps(),
  ...makeSizeProps(),
  ...makeDensityProps(),
  ...makeBorderProps(),
  ...makeShapeProps(),
  ...makeElevationProps()
}, "paper");
function usePaper(props, name = getCurrentInstanceName()) {
  const { themeClasses } = provideTheme(props);
  const { colorClasses, variantClasses, colorStyles } = useVariant(props, name);
  const { positionClasses, positionStyles } = usePosition(props, name);
  const { dimensionStyles } = useDimension(props);
  const { sizeClasses, sizeStyles } = useSize(props, name);
  const { densityClasses } = useDensity(props, name);
  const { borderClasses } = useBorder(props, name);
  const { shapeClasses } = useShape(props, name);
  const { elevationClasses } = useElevation(props);
  const paperClasses = computed(() => [
    themeClasses.value,
    colorClasses.value,
    variantClasses.value,
    positionClasses.value,
    sizeClasses.value,
    densityClasses.value,
    borderClasses.value,
    shapeClasses.value,
    elevationClasses.value
  ]);
  const paperStyles = computed(() => [
    colorStyles.value,
    positionStyles.value,
    dimensionStyles.value,
    sizeStyles.value
  ]);
  return {
    paperClasses,
    paperStyles
  };
}
export {
  genOverlays,
  makePaperProps,
  usePaper
};
//# sourceMappingURL=index.mjs.map
