@mobileaction/action-kit 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/icon/types.ts","../src/components/icon/index.vue","../src/components/button/index.vue","../src/components/track-button/index.vue","../src/components/toggle/index.vue","../src/components/switch/index.vue"],"sourcesContent":["export const MaIconSizes = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nexport type IconSize = (typeof MaIconSizes)[number];\n\nexport const MaIconSizeClassNames: { [key: IconSize]: string } = {\n xs: 'w-4 h-4',\n sm: 'w-5 h-5',\n md: 'w-6 h-6',\n lg: 'w-8 h-8',\n xl: 'w-9 h-9',\n};\n\n","<script lang=\"ts\">\nexport default {\n name: 'MaIcon',\n};\n</script>\n<script lang=\"ts\" setup>\nimport { computed, defineAsyncComponent } from 'vue';\nimport { MaIconSizeClassNames, type IconSize } from './types';\n\nexport interface MaIconProps {\n name: string;\n size?: IconSize;\n spin?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaIconProps>(), {\n size: 'md',\n});\n\nconst subFolders = ['flag', 'pay'];\n\nconst icon = computed(() =>\n defineAsyncComponent(\n function () {\n const folder = subFolders.find(folder => props.name.startsWith(`${folder}-`));\n if(folder){\n return import(`./icons/${folder}/${props.name.replace(`${folder}-`, '')}.svg`);\n }\n return import(`./icons/${props.name}.svg`);\n }.bind({ name: props.name }),\n ),\n);\n\nconst classNames = computed(() => [\n 'ma-icon',\n `ma-icon--${props.name}`,\n MaIconSizeClassNames[props.size],\n { 'animate-spin': props.spin },\n]);\n\n</script>\n\n<template>\n <component :is=\"icon\" :class=\"classNames\" />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { withDefaults, computed, ComputedRef } from 'vue';\nimport {\n type ButtonType,\n type ButtonSize,\n type ButtonVariant,\n type ButtonShape,\n type ButtonTarget,\n type IconAlignment,\n} from './types';\nimport { Button as AButton } from 'ant-design-vue';\nimport MaIcon from '../icon/index.vue';\n\nexport interface MaButtonProps {\n type?: ButtonType;\n variant?: ButtonVariant;\n size?: ButtonSize;\n href?: string;\n target?: ButtonTarget;\n disabled?: boolean;\n loading?: boolean;\n shape?: ButtonShape;\n icon?: string;\n IconAlignment?: IconAlignment;\n}\n\nconst props = withDefaults(defineProps<MaButtonProps>(), {\n type: 'dark',\n variant: 'primary',\n size: 'small',\n shape: 'default',\n});\n\n// any reason: ant throws an error and there is no export for ButtonType\nconst buttonVariant: ComputedRef<any> = computed(() => {\n return props.variant === 'secondary'\n ? 'default'\n : props.variant === 'grey-link'\n ? 'link'\n : props.variant;\n});\n\nconst buttonClass = computed(() => {\n return [\n `\n ma-button\n ma-button--${props.variant}\n ma-button--${props.type}\n ma-button--${props.size}\n `,\n {\n 'ma-button--rounded': props.shape === 'round',\n },\n {\n 'ma-button--icon-right': props.IconAlignment === 'right',\n },\n ];\n});\n</script>\n<template>\n <a-button\n :class=\"buttonClass\"\n :href=\"props.href\"\n :target=\"props.target\"\n :disabled=\"props.disabled || props.loading\"\n :loading=\"props.loading && !props.icon\"\n :type=\"buttonVariant\"\n role=\"button\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #icon v-if=\"props.icon\">\n <ma-icon :spin=\"props.loading\" :name=\"props.icon\" v-if=\"props.icon\" />\n </template>\n </a-button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaTrackButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { Button as AButton } from 'ant-design-vue';\nimport MaIcon from \"../icon/index.vue\";\nimport { TrackButtonVariant, TrackButtonSize } from './types';\n\nexport interface MaTrackButtonProps {\n variant?: TrackButtonVariant;\n size?: TrackButtonSize;\n disabled?: boolean;\n loading?: boolean;\n tracked?: boolean;\n keyword: string;\n}\n\nconst props = withDefaults(defineProps<MaTrackButtonProps>(), {\n variant: 'default',\n size: 'md',\n});\n\nconst buttonClasses = computed(() => {\n return [\n `\n ma-track-button\n ma-track-button--${props.variant}\n ma-track-button--${props.size}\n `,\n {\n 'ma-track-button--tracked': props.tracked,\n },\n {\n 'ma-track-button--loading': props.loading,\n },\n ];\n});\n\nconst iconName = computed(\n () => props.loading? 'loader': props.tracked? 'tick-circle': 'add'\n);\n\nconst iconSize = computed(() => props.size === 'lg'? 'sm': 'xs');\n\n</script>\n<template>\n <a-button\n :class=\"buttonClasses\"\n :disabled=\"props.disabled || props.loading\"\n role=\"button\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n {{ keyword }}\n <template #icon>\n <transition name=\"fade\">\n <ma-icon\n :spin=\"props.loading\"\n :name=\"iconName\"\n :size=\"iconSize\"\n />\n </transition>\n </template>\n </a-button>\n</template>\n<style lang=\"scss\" src=\"./assets/style.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaToggle',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { ToggleSize } from \"./types\";\nimport { Switch as ASwitch } from 'ant-design-vue';\n\nexport interface MaSwitchProps {\n size?: ToggleSize,\n disabled?: boolean,\n loading?: boolean,\n checked?: boolean,\n checkedChildren?: string,\n unCheckedChildren?: string,\n title?: string,\n subTitle?: string,\n}\n\nconst props = withDefaults(defineProps<MaSwitchProps>(), {\n size: 'default',\n});\n\nconst emits = defineEmits([\"click\", \"change\"]);\n\nconst value = computed({\n get(){\n return props.checked;\n },\n set(checked){\n emits(\"change\", checked);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-toggle',\n `ma-toggle--${props.size}`,\n {\n 'ma-toggle--disabled' : props.disabled\n }\n]);\n\n</script>\n<template>\n <div :class=\"classNames\">\n <a-switch\n class=\"ma-toggle__switch\"\n v-model:checked=\"value\"\n v-bind=\"$attrs\"\n @click=\"$emit('click',$event)\"\n :disabled=\"props.disabled\"\n :loading=\"props.loading\"\n :checkedChildren=\"props.checkedChildren\"\n :unCheckedChildren=\"props.unCheckedChildren\"\n />\n <div class=\"ma-toggle__titles\" v-if=\"props.title || props.subTitle\">\n <span class=\"ma-toggle__titles__title\" v-if=\"props.title\">\n {{ props.title }}\n </span>\n <span class=\"ma-toggle__titles__sub-title\" v-if=\"props.subTitle\">\n {{ props.subTitle }}\n </span>\n </div>\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaSwitch',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { SwitchType } from \"./types\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaSwitchProps {\n active: string,\n leftIcon: string,\n rightIcon: string,\n leftValue: string,\n rightValue: string,\n disabled?: boolean,\n type?: SwitchType,\n}\n\nconst props = withDefaults(defineProps<MaSwitchProps>(), {\n type: 'secondary',\n});\n\nconst emits = defineEmits([\n \"click\",\n \"change\",\n]);\n\nconst value = computed({\n get(){\n return props.active;\n },\n set(value){\n emits(\"change\", value);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-switch',\n `ma-switch--${props.type}`,\n {\n 'ma-switch--disabled': props.disabled\n },\n]);\n\nconst setValue = (data: string) => {\n if(props.disabled){\n return;\n }\n value.value = data;\n}\n\n</script>\n<template>\n <button\n v-bind=\"$attrs\"\n :class=\"classNames\"\n type=\"button\"\n role=\"switch\"\n :aria-checked=\"value === props.rightValue\"\n :disabled=\"props.disabled\"\n >\n <span\n :class=\"{active: props.active === props.leftValue}\"\n @click=\"setValue(props.leftValue)\"\n >\n <ma-icon :name=\"props.leftIcon\"></ma-icon>\n </span>\n <span\n :class=\"{active: props.active === props.rightValue}\"\n @click=\"setValue(props.rightValue)\"\n >\n <ma-icon :name=\"props.rightIcon\"></ma-icon>\n </span>\n </button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n"],"names":["MaIconSizeClassNames","__default__","subFolders","icon","computed","defineAsyncComponent","folder","props","__variableDynamicImportRuntimeHelper","classNames","buttonVariant","buttonClass","buttonClasses","iconName","iconSize","value","checked","emits","setValue","data"],"mappings":";;;;;;;GAIaA,IAAoD;AAAA,EAC7D,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR,GCTAC,IAAe;AAAA,EACX,MAAM;AACV;;;;;;;;iBAgBMC,IAAa,CAAC,QAAQ,KAAK,GAE3BC,IAAOC;AAAA,MAAS,MAClBC;AAAA,QACI,WAAY;AACF,gBAAAC,IAASJ,EAAW,KAAK,CAAAI,MAAUC,EAAM,KAAK,WAAW,GAAGD,IAAS,CAAC;AAC5E,iBAAGA,IACQE,22fAEJA;UACT,KAAK,EAAE,MAAMD,EAAM,MAAM;AAAA,MAC/B;AAAA,IAAA,GAGEE,IAAaL,EAAS,MAAM;AAAA,MAC9B;AAAA,MACA,YAAYG,EAAM;AAAA,MAClBP,EAAqBO,EAAM,IAAI;AAAA,MAC/B,EAAE,gBAAgBA,EAAM,KAAK;AAAA,IAAA,CAChC;;;;;ICrCDN,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;;;iBAoCMS,IAAkCN,EAAS,MACxCG,EAAM,YAAY,cACrB,YACAA,EAAM,YAAY,cAClB,SACAA,EAAM,OACX,GAEKI,IAAcP,EAAS,MACpB;AAAA,MACL;AAAA;AAAA,mBAEeG,EAAM;AAAA,mBACNA,EAAM;AAAA,mBACNA,EAAM;AAAA;AAAA,MAErB;AAAA,QACE,sBAAsBA,EAAM,UAAU;AAAA,MACxC;AAAA,MACA;AAAA,QACE,yBAAyBA,EAAM,kBAAkB;AAAA,MACnD;AAAA,IAAA,CAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7DD,MAAAN,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;iBAsBMW,IAAgBR,EAAS,MACpB;AAAA,MACH;AAAA;AAAA,yBAEiBG,EAAM;AAAA,yBACNA,EAAM;AAAA;AAAA,MAEvB;AAAA,QACI,4BAA4BA,EAAM;AAAA,MACtC;AAAA,MACA;AAAA,QACI,4BAA4BA,EAAM;AAAA,MACtC;AAAA,IAAA,CAEP,GAEKM,IAAWT;AAAA,MACb,MAAMG,EAAM,UAAS,WAAUA,EAAM,UAAS,gBAAe;AAAA,IAAA,GAG3DO,IAAWV,EAAS,MAAMG,EAAM,SAAS,OAAM,OAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GC5C/DN,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;;iBAwBMc,IAAQX,EAAS;AAAA,MACnB,MAAK;AACD,eAAOG,EAAM;AAAA,MACjB;AAAA,MACA,IAAIS,GAAQ;AACR,QAAAC,EAAM,UAAUD,CAAO;AAAA,MAC3B;AAAA,IAAA,CACH,GAEKP,IAAaL,EAAS,MAAM;AAAA,MAC9B;AAAA,MACA,cAAcG,EAAM;AAAA,MACpB;AAAA,QACI,uBAAwBA,EAAM;AAAA,MAClC;AAAA,IAAA,CACH;;;;;;;;;;;;;;;;;;;;;;wCCzCDN,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;;;;iBA0BMc,IAAQX,EAAS;AAAA,MACnB,MAAK;AACD,eAAOG,EAAM;AAAA,MACjB;AAAA,MACA,IAAIQ,GAAM;AACN,QAAAE,EAAM,UAAUF,CAAK;AAAA,MACzB;AAAA,IAAA,CACH,GAEKN,IAAaL,EAAS,MAAM;AAAA,MAC9B;AAAA,MACA,cAAcG,EAAM;AAAA,MACpB;AAAA,QACI,uBAAuBA,EAAM;AAAA,MACjC;AAAA,IAAA,CACH,GAEKW,IAAW,CAACC,MAAiB;AAC/B,MAAGZ,EAAM,aAGTQ,EAAM,QAAQI;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/icon/types.ts","../src/components/icon/index.vue","../src/components/button/index.vue","../src/components/track-button/index.vue","../src/components/toggle/index.vue","../src/components/switch/index.vue","../src/components/tooltip/index.vue"],"sourcesContent":["export const MaIconSizes = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nexport type IconSize = (typeof MaIconSizes)[number];\n\nexport const MaIconSizeClassNames: { [key: IconSize]: string } = {\n xs: 'w-4 h-4',\n sm: 'w-5 h-5',\n md: 'w-6 h-6',\n lg: 'w-8 h-8',\n xl: 'w-9 h-9',\n};\n\n","<script lang=\"ts\">\nexport default {\n name: 'MaIcon',\n};\n</script>\n<script lang=\"ts\" setup>\nimport { computed, defineAsyncComponent } from 'vue';\nimport { MaIconSizeClassNames, type IconSize } from './types';\n\nexport interface MaIconProps {\n name: string;\n size?: IconSize;\n spin?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaIconProps>(), {\n size: 'md',\n});\n\nconst subFolders = ['flag', 'pay'];\n\nconst icon = computed(() =>\n defineAsyncComponent(\n function () {\n const folder = subFolders.find(folder => props.name.startsWith(`${folder}-`));\n if(folder){\n return import(`./icons/${folder}/${props.name.replace(`${folder}-`, '')}.svg`);\n }\n return import(`./icons/${props.name}.svg`);\n }.bind({ name: props.name }),\n ),\n);\n\nconst classNames = computed(() => [\n 'ma-icon',\n `ma-icon--${props.name}`,\n MaIconSizeClassNames[props.size],\n { 'animate-spin': props.spin },\n]);\n\n</script>\n\n<template>\n <component :is=\"icon\" :class=\"classNames\" />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { withDefaults, computed, ComputedRef } from 'vue';\nimport {\n type ButtonType,\n type ButtonSize,\n type ButtonVariant,\n type ButtonShape,\n type ButtonTarget,\n type IconAlignment,\n} from './types';\nimport { Button as AButton } from 'ant-design-vue';\nimport MaIcon from '../icon/index.vue';\n\nexport interface MaButtonProps {\n type?: ButtonType;\n variant?: ButtonVariant;\n size?: ButtonSize;\n href?: string;\n target?: ButtonTarget;\n disabled?: boolean;\n loading?: boolean;\n shape?: ButtonShape;\n icon?: string;\n IconAlignment?: IconAlignment;\n}\n\nconst props = withDefaults(defineProps<MaButtonProps>(), {\n type: 'dark',\n variant: 'primary',\n size: 'small',\n shape: 'default',\n});\n\n// any reason: ant throws an error and there is no export for ButtonType\nconst buttonVariant: ComputedRef<any> = computed(() => {\n return props.variant === 'secondary'\n ? 'default'\n : props.variant === 'grey-link'\n ? 'link'\n : props.variant;\n});\n\nconst buttonClass = computed(() => {\n return [\n `\n ma-button\n ma-button--${props.variant}\n ma-button--${props.type}\n ma-button--${props.size}\n `,\n {\n 'ma-button--rounded': props.shape === 'round',\n },\n {\n 'ma-button--icon-right': props.IconAlignment === 'right',\n },\n ];\n});\n\nconst iconName= computed(() => props.loading? 'loader': props.icon);\n\n</script>\n<template>\n <a-button\n :class=\"buttonClass\"\n :href=\"props.href\"\n :target=\"props.target\"\n :disabled=\"props.disabled || props.loading\"\n :type=\"buttonVariant\"\n role=\"button\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #icon v-if=\"iconName\">\n <ma-icon :spin=\"props.loading\" :name=\"iconName\" v-if=\"iconName\" />\n </template>\n </a-button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaTrackButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { Button as AButton } from 'ant-design-vue';\nimport MaIcon from \"../icon/index.vue\";\nimport { TrackButtonVariant, TrackButtonSize } from './types';\n\nexport interface MaTrackButtonProps {\n variant?: TrackButtonVariant;\n size?: TrackButtonSize;\n disabled?: boolean;\n loading?: boolean;\n tracked?: boolean;\n keyword: string;\n}\n\nconst props = withDefaults(defineProps<MaTrackButtonProps>(), {\n variant: 'default',\n size: 'md',\n});\n\nconst buttonClasses = computed(() => {\n return [\n `\n ma-track-button\n ma-track-button--${props.variant}\n ma-track-button--${props.size}\n `,\n {\n 'ma-track-button--tracked': props.tracked,\n },\n {\n 'ma-track-button--loading': props.loading,\n },\n ];\n});\n\nconst iconName = computed(\n () => props.loading? 'loader': props.tracked? 'tick-circle': 'add'\n);\n\nconst iconSize = computed(() => props.size === 'lg'? 'sm': 'xs');\n\n</script>\n<template>\n <a-button\n :class=\"buttonClasses\"\n :disabled=\"props.disabled || props.loading\"\n role=\"button\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n {{ keyword }}\n <template #icon>\n <transition name=\"fade\">\n <ma-icon\n :spin=\"props.loading\"\n :name=\"iconName\"\n :size=\"iconSize\"\n />\n </transition>\n </template>\n </a-button>\n</template>\n<style lang=\"scss\" src=\"./assets/style.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaToggle',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { ToggleSize } from \"./types\";\nimport { Switch as ASwitch } from 'ant-design-vue';\n\nexport interface MaSwitchProps {\n size?: ToggleSize,\n disabled?: boolean,\n loading?: boolean,\n checked?: boolean,\n checkedChildren?: string,\n unCheckedChildren?: string,\n title?: string,\n subTitle?: string,\n}\n\nconst props = withDefaults(defineProps<MaSwitchProps>(), {\n size: 'default',\n});\n\nconst emits = defineEmits([\"click\", \"change\"]);\n\nconst value = computed({\n get(){\n return props.checked;\n },\n set(checked){\n emits(\"change\", checked);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-toggle',\n `ma-toggle--${props.size}`,\n {\n 'ma-toggle--disabled' : props.disabled\n }\n]);\n\n</script>\n<template>\n <div :class=\"classNames\">\n <a-switch\n class=\"ma-toggle__switch\"\n v-model:checked=\"value\"\n v-bind=\"$attrs\"\n @click=\"$emit('click',$event)\"\n :disabled=\"props.disabled\"\n :loading=\"props.loading\"\n :checkedChildren=\"props.checkedChildren\"\n :unCheckedChildren=\"props.unCheckedChildren\"\n />\n <div class=\"ma-toggle__titles\" v-if=\"props.title || props.subTitle\">\n <span class=\"ma-toggle__titles__title\" v-if=\"props.title\">\n {{ props.title }}\n </span>\n <span class=\"ma-toggle__titles__sub-title\" v-if=\"props.subTitle\">\n {{ props.subTitle }}\n </span>\n </div>\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaSwitch',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { SwitchType } from \"./types\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaSwitchProps {\n active: string,\n leftIcon: string,\n rightIcon: string,\n leftValue: string,\n rightValue: string,\n disabled?: boolean,\n type?: SwitchType,\n}\n\nconst props = withDefaults(defineProps<MaSwitchProps>(), {\n type: 'secondary',\n});\n\nconst emits = defineEmits([\n \"click\",\n \"change\",\n]);\n\nconst value = computed({\n get(){\n return props.active;\n },\n set(value){\n emits(\"change\", value);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-switch',\n `ma-switch--${props.type}`,\n {\n 'ma-switch--disabled': props.disabled\n },\n]);\n\nconst setValue = (data: string) => {\n if(props.disabled){\n return;\n }\n value.value = data;\n}\n\n</script>\n<template>\n <button\n v-bind=\"$attrs\"\n :class=\"classNames\"\n type=\"button\"\n role=\"switch\"\n :aria-checked=\"value === props.rightValue\"\n :disabled=\"props.disabled\"\n >\n <span\n :class=\"{active: props.active === props.leftValue}\"\n @click=\"setValue(props.leftValue)\"\n >\n <ma-icon :name=\"props.leftIcon\"></ma-icon>\n </span>\n <span\n :class=\"{active: props.active === props.rightValue}\"\n @click=\"setValue(props.rightValue)\"\n >\n <ma-icon :name=\"props.rightIcon\"></ma-icon>\n </span>\n </button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaTooltip',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport { type TooltipType, TooltipTriggerType } from \"./types\";\nimport { type TooltipPlacement } from \"ant-design-vue/lib/tooltip/index\";\n\nimport { Tooltip as ATooltip } from 'ant-design-vue';\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaTooltipProps {\n placement?: TooltipPlacement,\n type?: TooltipType,\n icon?: TooltipType,\n title: string,\n description?: string,\n trigger?: TooltipTriggerType,\n closable?: boolean,\n defaultVisible?: boolean,\n}\n\nconst props = withDefaults(defineProps<MaTooltipProps>(), {\n placement: 'top',\n type: 'secondary',\n trigger: 'hover',\n defaultVisible: false,\n});\n\nconst classNames = computed(() => [\n 'ma-tooltip',\n `ma-tooltip--${props.type}`,\n `ma-tooltip--${props.placement}`,\n]);\n\nconst overlayClassNames = computed(() => [\n 'ma-tooltip-overlay',\n `ma-tooltip-overlay--${props.type}`,\n `ma-tooltip-overlay--${props.placement}`,\n].join(\" \"));\n\nconst isVisible = ref(props.defaultVisible);\n\nconst hide = () => {\n isVisible.value = false;\n}\n\n</script>\n<template>\n <a-tooltip\n v-bind=\"$attrs\"\n :class=\"classNames\"\n :placement=\"props.placement\"\n :trigger=\"props.trigger as any\"\n :overlayClassName=\"overlayClassNames\"\n v-model:visible=\"isVisible\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #title>\n <ma-icon\n size=\"xs\"\n :name=\"props.icon\"\n v-if=\"props.icon\"\n />\n <div class=\"ma-tooltip-overlay__content\">\n <span class=\"ma-tooltip-overlay__content__title\">{{ props.title }}</span>\n <span class=\"ma-tooltip-overlay__content__description\" v-if=\"props?.description\">{{ props.description }}</span>\n </div>\n <ma-icon\n @click=\"hide\"\n class=\"ma-tooltip-overlay__close\"\n size=\"xs\"\n name=\"close\"\n v-if=\"props.closable\"\n />\n </template>\n </a-tooltip>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n"],"names":["MaIconSizeClassNames","__default__","subFolders","icon","computed","defineAsyncComponent","folder","props","__variableDynamicImportRuntimeHelper","classNames","buttonVariant","buttonClass","iconName","buttonClasses","iconSize","value","checked","emits","setValue","data","overlayClassNames","isVisible","ref","hide"],"mappings":"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"}