import { ref as l, computed as k, watch as I, withDirectives as P, createElementBlock as r, openBlock as n, withKeys as S, createElementVNode as u, createCommentVNode as z, normalizeStyle as a, createVNode as F, Fragment as E, renderList as N, unref as O } from "vue";
import C from "./BaseIcon-DqYzMisq.js";
import { G as V } from "./index-gC66Se26.js";
import { v as D } from "./usePrinter-KMFl0n0s.js";
import { _ as K } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const $ = ["onClick"], G = { style: { position: "absolute", top: "50%", left: "50%", transform: "translate(-50%, -46%)" } }, L = ["value"], T = {
  __name: "ColorPicker",
  props: {
    value: {
      type: String,
      default: "#ffffff"
    },
    size: {
      type: String,
      default: "50px"
    },
    backgroundColor: {
      type: String,
      default: "#FFFFFF"
    },
    buttonBorderColor: {
      type: String,
      default: "#FFFFFF"
    }
  },
  emits: ["update:value"],
  setup(o, { emit: m }) {
    const c = o, s = m, g = l(null), y = k(() => ({
      backgroundColor: c.value,
      width: "100%",
      height: "100%",
      cursor: "pointer"
    })), i = l(null), t = l(!1), b = () => {
      var e;
      (e = i.value) == null || e.click();
    };
    function h(e) {
      s("update:value", e), t.value = !1;
    }
    function _() {
      t.value = !1;
    }
    function d() {
      t.value && _();
    }
    const x = (e) => {
      const v = e.target.value;
      s("update:value", v);
    }, p = k(() => V(c.value));
    async function w() {
      t.value = !t.value;
    }
    I(
      () => c.value,
      (e) => {
        i.value.value = e;
      }
    );
    const B = l([
      "#000000",
      "#FFFFFF",
      "#FF5733",
      "#33FF57",
      "#3357FF",
      "#FFC300",
      "#800080",
      "#FF1493",
      "#00CED1"
    ]);
    return (e, v) => P((n(), r("div", {
      onKeydown: S(d, ["esc"]),
      style: { height: "100%", width: "100%", position: "relative" }
    }, [
      u("button", {
        class: "icon",
        onClick: w,
        style: a(y.value)
      }, [
        F(C, {
          name: "palette",
          stroke: p.value,
          size: 22
        }, null, 8, ["stroke"])
      ], 4),
      t.value ? (n(), r("div", {
        key: 0,
        ref_key: "picker",
        ref: g,
        tabindex: "0",
        class: "vue-ui-color-picker",
        style: a({
          backgroundColor: o.backgroundColor
        })
      }, [
        (n(!0), r(E, null, N(B.value, (f) => (n(), r("button", {
          tabindex: "0",
          class: "vue-ui-color-picker-option",
          style: a({
            backgroundColor: f,
            outline: `1px solid ${o.buttonBorderColor}`
          }),
          onClick: () => h(f)
        }, null, 12, $))), 256)),
        u("button", {
          class: "vue-ui-color-picker-option",
          onClick: b,
          style: a({
            backgroundColor: o.value,
            outline: `1px solid ${o.buttonBorderColor}`
          })
        }, [
          u("div", G, [
            F(C, {
              name: "colorPicker",
              stroke: p.value,
              size: 22
            }, null, 8, ["stroke"])
          ]),
          u("input", {
            ref_key: "colorInput",
            ref: i,
            type: "color",
            value: o.value,
            class: "hidden-input",
            onInput: x
          }, null, 40, L)
        ], 4)
      ], 4)) : z("", !0)
    ], 32)), [
      [O(D), d]
    ]);
  }
}, M = /* @__PURE__ */ K(T, [["__scopeId", "data-v-f6dd9192"]]);
export {
  M as C
};
