{"version":3,"file":"UInnerTagCheckbox.mjs","names":["makeComponentProps","makeTagProps","genericComponent","propsFactory","computed","ref","makeUInnerTagCheckboxProps","_objectSpread","size","type","String","required","checkboxIsChecked","Boolean","checkboxIsDisabled","UInnerTagCheckbox","name","props","emits","change","value","setup","_ref","emit","backgroundColor","sizes","tagClasses","concat","switchValue","switchCheckbox","_createVNode"],"sources":["../../../src/components/UTag/UInnerTagCheckbox.tsx"],"sourcesContent":["import { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\nimport { genericComponent, propsFactory } from '@/utils'\nimport { ExtractPropTypes } from 'vue'\nimport { computed, ref } from 'vue'\n\nexport const makeUInnerTagCheckboxProps = propsFactory(\n  {\n    size: {\n      type: String,\n      default: 'sm',\n      required: false,\n    },\n    checkboxIsChecked: {\n      type: Boolean,\n      default: false,\n      required: false,\n    },\n    checkboxIsDisabled: {\n      type: Boolean,\n      default: false,\n      required: false,\n    },\n\n    ...makeComponentProps(),\n    ...makeTagProps(),\n  },\n  'UInnerTagCheckbox'\n)\n\nexport type UInnerTagCheckboxProps = ExtractPropTypes<\n  typeof makeUInnerTagCheckboxProps\n>\n\nexport type UInnerTagCheckboxSlots = {\n  //\n}\n\nexport const UInnerTagCheckbox = genericComponent<UInnerTagCheckboxSlots>()({\n  name: 'UInnerTagCheckbox',\n\n  props: makeUInnerTagCheckboxProps(),\n\n  /* emits: {\n    change: (e: MouseEvent) => true,\n  }, */\n  emits: {\n    change: (value: boolean) => true,\n  },\n\n  setup(props, { emit }) {\n    const backgroundColor = computed(() => {\n      let backgroundColor = 'white'\n      if (!props.checkboxIsChecked && !props.checkboxIsDisabled) {\n        backgroundColor = `bg-white hover:bg-primary-100 active:bg-white active:shadow-xs-btn \n          active:shadow-primary-100`\n      } else if (props.checkboxIsChecked && !props.checkboxIsDisabled) {\n        backgroundColor = `bg-primary-600 hover:bg-primary-700 active:bg-primary-600\n            active:shadow-xs-btn active:shadow-primary-100`\n      } else if (!props.checkboxIsChecked && props.checkboxIsDisabled) {\n        backgroundColor = 'bg-gray-100 border border-gray-200'\n      } else if (props.checkboxIsChecked && props.checkboxIsDisabled) {\n        backgroundColor = `bg-gray-200 border border-gray-200`\n      }\n      return backgroundColor\n    })\n\n    const size = computed(() => {\n      let sizes = ''\n      if (props.size === 'sm') {\n        sizes = 'h-3.5 w-3.5'\n      } else if (props.size === 'md') {\n        sizes = 'h-4.5 w-4'\n      } else if (props.size === 'lg') {\n        sizes = 'h-4.8 w-4.5'\n      }\n\n      return sizes\n    })\n\n    const tagClasses = computed<string>(\n      () =>\n        `${backgroundColor.value} cursor-pointer rounded-3 ${size.value} flex justify-center\n            items-center`\n    )\n    const switchValue = ref(true)\n\n    const switchCheckbox = () => {\n      switchValue.value = !switchValue.value\n      emit('change', switchValue.value)\n    }\n\n    return () => (\n      <div class=\"flex justify-center\" onClick={switchCheckbox}>\n        <div\n          class={[\n            !props.checkboxIsChecked && !props.checkboxIsDisabled\n              ? 'border border-gray-300 hover:border-primary-600 active:border-primary-300'\n              : '',\n            props.checkboxIsChecked && !props.checkboxIsDisabled\n              ? 'border border-primary-600 hover:border-primary-700 active:border-primary-600'\n              : '',\n            tagClasses.value,\n          ]}\n        >\n          {props.size === 'lg' && props.checkboxIsChecked ? (\n            <svg\n              width=\"12\"\n              height=\"9\"\n              viewBox=\"0 0 12 9\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M10.6667 1.5L4.25004 7.91667L1.33337 5\"\n                stroke=\"white\"\n                stroke-width=\"2\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n              />\n            </svg>\n          ) : null}\n          {props.size === 'md' && props.checkboxIsChecked ? (\n            <svg\n              width=\"12\"\n              height=\"12\"\n              viewBox=\"0 0 12 12\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M10 3L4.5 8.5L2 6\"\n                stroke=\"white\"\n                stroke-width=\"1.71429\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n              />\n            </svg>\n          ) : null}\n          {props.size === 'sm' && props.checkboxIsChecked ? (\n            <svg\n              width=\"10\"\n              height=\"10\"\n              viewBox=\"0 0 10 10\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M8.33341 2.5L3.75008 7.08333L1.66675 5\"\n                stroke=\"white\"\n                stroke-width=\"1.66667\"\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n              />\n            </svg>\n          ) : null}\n        </div>\n      </div>\n    )\n  },\n})\n\nexport type UInnerTagCheckbox = InstanceType<typeof UInnerTagCheckbox>\n"],"mappings":";;;;;;;SAASA,kBAAkB;AAAA,SAClBC,YAAY;AAAA,SACZC,gBAAgB,EAAEC,YAAY;AAEvC,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAEnC,OAAO,IAAMC,0BAA0B,GAAGH,YAAY,CAAAI,aAAA,CAAAA,aAAA;EAElDC,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAM;IACZ,WAAS,IAAI;IACbC,QAAQ,EAAE;EACZ,CAAC;EACDC,iBAAiB,EAAE;IACjBH,IAAI,EAAEI,OAAO;IACb,WAAS,KAAK;IACdF,QAAQ,EAAE;EACZ,CAAC;EACDG,kBAAkB,EAAE;IAClBL,IAAI,EAAEI,OAAO;IACb,WAAS,KAAK;IACdF,QAAQ,EAAE;EACZ;AAAC,GAEEX,kBAAkB,CAAC,CAAC,GACpBC,YAAY,CAAC,CAAC,GAEnB,mBACF,CAAC;AAUD,OAAO,IAAMc,iBAAiB,GAAGb,gBAAgB,CAAyB,CAAC,CAAC;EAC1Ec,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAEX,0BAA0B,CAAC,CAAC;EAEnC;AACF;AACA;EACEY,KAAK,EAAE;IACLC,MAAM,EAAE,SAAAA,OAACC,KAAc;MAAA,OAAK,IAAI;IAAA;EAClC,CAAC;EAEDC,KAAK,WAAAA,MAACJ,KAAK,EAAAK,IAAA,EAAY;IAAA,IAARC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACjB,IAAMC,eAAe,GAAGpB,QAAQ,CAAC,YAAM;MACrC,IAAIoB,eAAe,GAAG,OAAO;MAC7B,IAAI,CAACP,KAAK,CAACL,iBAAiB,IAAI,CAACK,KAAK,CAACH,kBAAkB,EAAE;QACzDU,eAAe,6GACa;MAC9B,CAAC,MAAM,IAAIP,KAAK,CAACL,iBAAiB,IAAI,CAACK,KAAK,CAACH,kBAAkB,EAAE;QAC/DU,eAAe,0HACoC;MACrD,CAAC,MAAM,IAAI,CAACP,KAAK,CAACL,iBAAiB,IAAIK,KAAK,CAACH,kBAAkB,EAAE;QAC/DU,eAAe,GAAG,oCAAoC;MACxD,CAAC,MAAM,IAAIP,KAAK,CAACL,iBAAiB,IAAIK,KAAK,CAACH,kBAAkB,EAAE;QAC9DU,eAAe,uCAAuC;MACxD;MACA,OAAOA,eAAe;IACxB,CAAC,CAAC;IAEF,IAAMhB,IAAI,GAAGJ,QAAQ,CAAC,YAAM;MAC1B,IAAIqB,KAAK,GAAG,EAAE;MACd,IAAIR,KAAK,CAACT,IAAI,KAAK,IAAI,EAAE;QACvBiB,KAAK,GAAG,aAAa;MACvB,CAAC,MAAM,IAAIR,KAAK,CAACT,IAAI,KAAK,IAAI,EAAE;QAC9BiB,KAAK,GAAG,WAAW;MACrB,CAAC,MAAM,IAAIR,KAAK,CAACT,IAAI,KAAK,IAAI,EAAE;QAC9BiB,KAAK,GAAG,aAAa;MACvB;MAEA,OAAOA,KAAK;IACd,CAAC,CAAC;IAEF,IAAMC,UAAU,GAAGtB,QAAQ,CACzB;MAAA,UAAAuB,MAAA,CACKH,eAAe,CAACJ,KAAK,gCAAAO,MAAA,CAA6BnB,IAAI,CAACY,KAAK;IAAA,CAEnE,CAAC;IACD,IAAMQ,WAAW,GAAGvB,GAAG,CAAC,IAAI,CAAC;IAE7B,IAAMwB,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;MAC3BD,WAAW,CAACR,KAAK,GAAG,CAACQ,WAAW,CAACR,KAAK;MACtCG,IAAI,CAAC,QAAQ,EAAEK,WAAW,CAACR,KAAK,CAAC;IACnC,CAAC;IAED,OAAO;MAAA,OAAAU,YAAA;QAAA;QAAA,WACqCD;MAAc,IAAAC,YAAA;QAAA,SAE7C,CACL,CAACb,KAAK,CAACL,iBAAiB,IAAI,CAACK,KAAK,CAACH,kBAAkB,GACjD,2EAA2E,GAC3E,EAAE,EACNG,KAAK,CAACL,iBAAiB,IAAI,CAACK,KAAK,CAACH,kBAAkB,GAChD,8EAA8E,GAC9E,EAAE,EACNY,UAAU,CAACN,KAAK;MACjB,IAEAH,KAAK,CAACT,IAAI,KAAK,IAAI,IAAIS,KAAK,CAACL,iBAAiB,GAAAkB,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,IAAAA,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,aAgB3C,IAAI,EACPb,KAAK,CAACT,IAAI,KAAK,IAAI,IAAIS,KAAK,CAACL,iBAAiB,GAAAkB,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,IAAAA,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,aAgB3C,IAAI,EACPb,KAAK,CAACT,IAAI,KAAK,IAAI,IAAIS,KAAK,CAACL,iBAAiB,GAAAkB,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,IAAAA,YAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA,aAgB3C,IAAI;IAAA,CAGb;EACH;AACF,CAAC,CAAC"}