{"version":3,"file":"font-size.vue2.mjs","sources":["../../../../../../../src/components/content/toolbar/toolbar-style/font-size.vue"],"sourcesContent":["<template>\n    <div class=\"my-style-font-size-wrapper display-flex cursor-pointer\"\n         ref=\"fontSizeWrapperRef\"\n         :class=\"{'my-icon-disabled': disabled}\">\n        <tool-icon-popover\n            :showArrow=\"false\"\n            :disabled=\"disabled\">\n            <template #reference>\n                <div v-show=\"!data.fontSizeInputShow || disabled\"\n                     class=\"my-style-font-size user-select-none\"\n                     @click=\"changeFontSizeInputShow(true)\">{{ data.fontSize }}\n                </div>\n                <my-input\n                    v-show=\"data.fontSizeInputShow && !disabled\"\n                    class=\"my-style-font-size\"\n                    ref=\"fontSizeRef\"\n                    :modelValue=\"fontSizeComputed\"\n                    @update:model-value=\"changeFontSize\"\n                    :placeholder=\"i18n('font')\" />\n            </template>\n            <template #panel>\n                <element-align :model-value=\"fontSizeComputed\" showSelectedStatus :elementAlignList=\"fontSizeList\"\n                               @update:model-value=\"changeFontSize\" />\n            </template>\n        \n        </tool-icon-popover>\n        \n        <div class=\"my-style-font-size_arrows display-flex-column\">\n            <my-icon class=\"drop-arrow icon-jt-s iconfont\"\n                     :size=\"8\"\n                     :disabled=\"disabled\" @click=\"fontSizeAdd()\">\n            </my-icon>\n            <my-icon class=\"drop-arrow icon-jt-x iconfont\"\n                     :size=\"8\"\n                     :disabled=\"disabled\" @click=\"fontSizeSub()\">\n            </my-icon>\n        </div>\n    </div>\n</template>\n<script setup lang=\"ts\">\n\nimport { multipleElementGetValue, multipleElementSetValue } from '@myprint/design/utils/elementUtil';\nimport { fontSizeList } from '@myprint/design/constants/common';\nimport MyIcon from '@myprint/design/components/my/icon/my-icon.vue';\nimport { computed, onMounted, reactive, ref } from 'vue-demi';\nimport { onClickOutside } from '@vueuse/core';\nimport ElementAlign from '@myprint/design/components/content/toolbar/toolbar-style/element-align.vue';\nimport ToolIconPopover from '@myprint/design/components/my/icon/tool-icon-popover.vue';\nimport MyInput from '@myprint/design/components/my/input/my-input.vue';\nimport { i18n } from '@myprint/design/locales';\n\n// const appStore = useAppStoreHook()\n\nconst props = withDefaults(defineProps<{\n        disabled?: boolean\n    }>(),\n    {\n        disabled: false\n    });\n\nconst fontSizeRef = ref<HTMLDivElement>();\nconst fontSizeWrapperRef = ref<HTMLDivElement>();\nconst data = reactive({\n    fontSizeInputShow: false,\n    fontSize: '13'\n});\n\nonMounted(() => {\n    onClickOutside(fontSizeWrapperRef,\n        () => {\n            changeFontSizeInputShow(false);\n        });\n});\n\nfunction changeFontSize(val: any) {\n    multipleElementSetValue('option.fontSize', val);\n}\n\nfunction fontSizeAdd() {\n    changeFontSize(Number.parseInt(fontSizeComputed.value) + 1);\n}\n\nfunction fontSizeSub() {\n    changeFontSize(Number.parseInt(fontSizeComputed.value) - 1);\n}\n\nconst fontSizeComputed = computed(() => {\n    const fontSize = multipleElementGetValue('option.fontSize');\n    if (fontSize != undefined) {\n        data.fontSize = fontSize;\n    }\n    return fontSize;\n});\n\nfunction changeFontSizeInputShow(flag: boolean) {\n    if (props.disabled) {\n        return;\n    }\n    data.fontSizeInputShow = flag;\n    if (flag) {\n        fontSizeRef.value.focus();\n    }\n}\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAOd,IAAA,MAAM,cAAc,GAAoB,EAAA,CAAA;AACxC,IAAA,MAAM,qBAAqB,GAAoB,EAAA,CAAA;AAC/C,IAAA,MAAM,OAAO,QAAS,CAAA;AAAA,MAClB,iBAAmB,EAAA,KAAA;AAAA,MACnB,QAAU,EAAA,IAAA;AAAA,KACb,CAAA,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AACZ,MAAA,cAAA;AAAA,QAAe,kBAAA;AAAA,QACX,MAAM;AACF,UAAA,uBAAA,CAAwB,KAAK,CAAA,CAAA;AAAA,SACjC;AAAA,OAAC,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,SAAS,eAAe,GAAU,EAAA;AAC9B,MAAA,uBAAA,CAAwB,mBAAmB,GAAG,CAAA,CAAA;AAAA,KAClD;AAEA,IAAA,SAAS,WAAc,GAAA;AACnB,MAAA,cAAA,CAAe,MAAO,CAAA,QAAA,CAAS,gBAAiB,CAAA,KAAK,IAAI,CAAC,CAAA,CAAA;AAAA,KAC9D;AAEA,IAAA,SAAS,WAAc,GAAA;AACnB,MAAA,cAAA,CAAe,MAAO,CAAA,QAAA,CAAS,gBAAiB,CAAA,KAAK,IAAI,CAAC,CAAA,CAAA;AAAA,KAC9D;AAEA,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACpC,MAAM,MAAA,QAAA,GAAW,wBAAwB,iBAAiB,CAAA,CAAA;AAC1D,MAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACvB,QAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,QAAA,CAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAA,SAAS,wBAAwB,IAAe,EAAA;AAC5C,MAAA,IAAI,MAAM,QAAU,EAAA;AAChB,QAAA,OAAA;AAAA,OACJ;AACA,MAAA,IAAA,CAAK,iBAAoB,GAAA,IAAA,CAAA;AACzB,MAAA,IAAI,IAAM,EAAA;AACN,QAAA,WAAA,CAAY,MAAM,KAAM,EAAA,CAAA;AAAA,OAC5B;AAAA,KACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}