@mobileaction/action-kit 1.0.0 → 1.0.1
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.
- package/dist/index.es.js +408 -382
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.es.js.map
CHANGED
|
@@ -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","../src/components/tooltip/index.vue","../src/components/form/index.vue","../src/components/form-item/index.vue","../src/components/input/types.ts","../src/components/avatar/index.vue","../src/components/select/components/dropdownRender.vue","../src/components/select/index.vue","../src/components/input/index.vue","../src/components/checkbox/index.vue","../src/components/checkbox/group.vue","../src/components/numeric-input/components/singleNumericInput.vue","../src/components/numeric-input/index.vue","../src/components/radio/index.vue","../src/components/app-track-button/index.vue","../src/components/app-icon/index.vue","../src/components/radio/group.vue","../src/components/badge/index.vue","../src/components/alert/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-bold': '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","<script lang=\"ts\">\nexport default {\n name: 'MaForm',\n};\n</script>\n<script setup lang=\"ts\">\nimport { Form as AForm } from \"ant-design-vue\";\n\n</script>\n<template>\n <a-form\n class=\"ma-form\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-form>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaFormItem',\n};\n</script>\n<script setup lang=\"ts\">\nimport { FormItem as AFormItem } from \"ant-design-vue\";\n\n</script>\n<template>\n <a-form-item\n class=\"ma-form-item\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-form-item>\n</template>\n","import type { SelectProps } from 'ant-design-vue';\n\nexport enum MaInputType {\n text = 'text',\n password = 'password',\n textarea = 'textarea',\n number = 'number',\n email = 'email',\n url = 'url',\n tel = 'tel',\n amount = 'amount',\n creditCard = 'creditCard',\n userInfo = 'userInfo'\n}\n\nexport enum MaInputSize {\n small = 'small',\n medium = 'medium',\n large = 'large'\n}\n\nexport enum MaInputCurrency {\n usd = 'USD',\n eur = 'EUR',\n gbp = 'GBP',\n jpy = 'JPY'\n}\n\nexport const currencySymbols: any = {\n usd: '$',\n eur: '€',\n gbp: '£',\n jpy: '¥',\n}\n\nexport const currencyOptions: SelectProps['options'] = [\n { label: 'USD', value: 'USD' },\n { label: 'EUR', value: 'EUR' },\n { label: 'GBP', value: 'GBP' },\n { label: 'JPY', value: 'JPY' },\n];\n","<template>\n <Avatar v-bind=\"$attrs\" />\n</template>\n<script lang=\"ts\">\n export default {\n name: 'MaAvatar',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { Avatar } from 'ant-design-vue';\n//import 'ant-design-vue/lib/avatar/style/css';\n</script>\n","<script setup lang=\"ts\">\nimport { VNode, computed } from \"vue\";\nimport MaInput from \"../../input/index.vue\";\n\nconst props = defineProps({\n menu: {\n type: Object as () => VNode,\n required: true\n },\n filter: {\n type: String,\n default: \"\"\n }\n});\n\nconst emits = defineEmits([\"update:filter\"]);\n\nconst VNodes = (_: unknown, { attrs }: { attrs: { vnodes: VNode[] } }): VNode[] => {\n return attrs.vnodes;\n};\n\nconst filterTerm = computed({\n get(){\n return props.filter\n },\n set(value){\n emits('update:filter', value);\n }\n})\n\n</script>\n\n<template>\n <ma-input\n v-model:value=\"filterTerm\"\n autofocus\n placeholder=\"Search\"\n />\n <v-nodes :vnodes=\"menu\" />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaSelect',\n};\n</script>\n<script setup lang=\"ts\">\nimport { WritableComputedRef, computed, ref, useSlots } from \"vue\";\nimport { DefaultOptionType } from \"ant-design-vue/lib/select\";\nimport { SelectSize, SelectMode } from \"./types\";\n\nimport { Select as ASelect } from \"ant-design-vue\";\nimport MaIcon from \"../icon/index.vue\";\nimport DropdownRender from \"./components/dropdownRender.vue\";\n\nexport interface MaSelectProps {\n allowClear?: boolean,\n autoClearSearchValue?: boolean,\n autofocus?: boolean,\n clearIcon?: string,\n defaultOpen?: boolean,\n dropdownClassName?: string,\n disabled?: boolean,\n loading?: boolean,\n menuItemSelectedIcon?: string,\n mode?: SelectMode,\n optionFilterProp?: string,\n optionLabelProp?: string,\n options?: DefaultOptionType[] | undefined,\n placeholder?: string,\n removeIcon?: string,\n searchValue?: string,\n showSearch?: boolean,\n size?: SelectSize,\n suffixIcon?: string,\n prefixIcon?: string,\n open?: boolean,\n value?: string|number|string[]|number[]\n}\n\nconst slots = useSlots();\n\nconst props = withDefaults(defineProps<MaSelectProps>(), {\n autoClearSearchValue: true,\n open: false,\n size: \"default\",\n value: \"\",\n menuItemSelectedIcon: \"check\",\n});\n\nconst emits = defineEmits([\n \"update:value\",\n]);\n\nconst customFilterTerm = ref(props?.searchValue);\nconst isOpen = ref(props.open);\n\nconst isCustomRender = computed(() => !props?.mode && props?.showSearch);\n\nconst modelValue :WritableComputedRef<string|number|string[]|number[]> = computed({\n get(){\n return props.value;\n },\n set(value){\n emits(\"update:value\", value);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-select',\n `ma-select--${props.size}`,\n {\n 'ma-select--has-prefix': props.mode? false: slots?.prefixIcon || props?.prefixIcon\n },\n {\n 'ma-select--selected': Array.isArray(modelValue.value)? modelValue.value.length: modelValue.value\n },\n {\n 'ma-select--custom-render': isCustomRender\n }\n]);\n\nconst dropdownClassNames = computed(() => [\n props?.dropdownClassName,\n 'ma-select-dropdown',\n (!props?.mode && (slots?.prefixIcon || props?.prefixIcon))? 'ma-select-dropdown--has-prefix': null,\n].join(\" \"));\n\nconst suffixIcon = computed(() => props?.loading? 'loader': props?.suffixIcon);\n\n// this is required for custom dropdown render because the click event closes the dropdown\nconst handleClick = () => {\n isOpen.value = true;\n}\n\nconst dropdownVisibleChange = (visible: boolean) => {\n isOpen.value = visible;\n customFilterTerm.value = \"\";\n}\n\nconst antSearchStatus = computed(() => !isCustomRender.value && props?.showSearch);\n\n\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n :class=\"classNames\"\n :allowClear=\"props?.allowClear\"\n :autoClearSearchValue=\"props?.autoClearSearchValue\"\n :autofocus=\"props?.autofocus\"\n :defaultOpen=\"props?.defaultOpen\"\n :disabled=\"props?.disabled || props?.loading\"\n :dropdownClassName=\"dropdownClassNames\"\n :loading=\"props?.loading\"\n :optionFilterProp=\"props?.optionFilterProp\"\n :optionLabelProp=\"props?.optionLabelProp\"\n :options=\"props?.options\"\n :placeholder=\"props?.placeholder\"\n :searchValue=\"customFilterTerm || undefined\"\n :showSearch=\"antSearchStatus\"\n :mode=\"props?.mode as any\"\n :size=\"props?.size as any\"\n :open=\"isOpen\"\n @click=\"handleClick\"\n @dropdownVisibleChange=\"dropdownVisibleChange\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #suffixIcon>\n <ma-icon :spin=\"props?.loading\" :name=\"suffixIcon || 'chevron-down'\" />\n <div class=\"prefix-icon\" v-if=\"$slots?.prefixIcon || props?.prefixIcon\">\n <slot name=\"prefixIcon\">\n <ma-icon :name=\"props?.prefixIcon\" v-if=\"props?.prefixIcon\" />\n </slot>\n </div>\n </template>\n <template #removeIcon>\n <ma-icon :name=\"props?.removeIcon || 'close'\" />\n </template>\n <template #clearIcon v-if=\"props?.clearIcon\">\n <ma-icon :name=\"props?.clearIcon\" v-if=\"props?.clearIcon\" />\n </template>\n <template #menuItemSelectedIcon v-if=\"props?.menuItemSelectedIcon\">\n <ma-icon :name=\"props?.menuItemSelectedIcon\" />\n </template>\n <template #notFoundContent v-if=\"!$slots.notFoundContent\">\n <ma-icon size=\"sm\" name=\"warning\" /> No result found!\n </template>\n <template #dropdownRender=\"{ menuNode: menu }\" v-if=\"isCustomRender && isOpen\">\n <dropdown-render v-model:filter=\"customFilterTerm\" :menu=\"menu\" />\n </template>\n </a-select>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaInput',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed } from 'vue';\nimport {\n MaInputType,\n MaInputSize,\n MaInputCurrency,\n currencyOptions,\n currencySymbols,\n} from './types';\n\nimport MaIcon from '../icon/index.vue';\nimport MaAvatar from '../avatar/index.vue';\nimport MaSelect from '../select/index.vue';\nimport {\n Textarea as ATextarea,\n Input as AInput,\n InputPassword as AInputPassword\n} from 'ant-design-vue';\n\nexport interface MaInputProps {\n allowClear?: boolean,\n type?: MaInputType;\n size?: MaInputSize;\n title?: string;\n hintText?: string;\n hasError?: boolean;\n placeholder?: string;\n disabled?: boolean;\n addonBefore?: string;\n addonAfter?: string;\n avatarUrl?: string;\n value?: string;\n amountCurrency?: MaInputCurrency;\n hint?: string;\n prefixIcon?: string;\n suffixIcon?: string;\n}\n\nconst props = withDefaults(defineProps<MaInputProps>(), {\n type: MaInputType.text,\n size: MaInputSize.small,\n});\n\nconst emits = defineEmits(\n [\n 'change',\n 'currency-change',\n 'update:value',\n 'update:amountCurrency',\n ]\n);\n\nconst inputType = computed(() => {\n if([MaInputType.amount, MaInputType.creditCard].includes(props.type)){\n return 'number';\n }else if(props.type === MaInputType.userInfo){\n return 'text'\n }\n return props.type;\n});\n\nconst inputClass = computed(() => {\n return [\n `ma-input ma-input--${props.type} ma-input--${props.size}`,\n {\n 'ma-input--has-error': props.hasError,\n },\n {\n 'ma-input--disabled': props.disabled,\n },\n ];\n});\n\nconst modelValue = computed({\n get(){\n return props.value;\n },\n set(data){\n emits(\"update:value\", data);\n }\n});\n\nconst amountCurrencySymbol = computed(() => props.amountCurrency? currencySymbols[props.amountCurrency.toLowerCase()]: null)\nconst amountCurrencyValue = computed({\n get(){\n return props.amountCurrency\n },\n set(data){\n emits('update:amountCurrency', data);\n }\n});\n\nconst inputComponent = computed(() => props.type === MaInputType.password? AInputPassword: AInput);\n\nconst addonBefore = computed(() => props.type === MaInputType.url? 'https': props?.addonBefore);\n\nconst handleChange = (e: any) => {\n emits('change', e);\n};\n\nconst handleCurrencyChange = (value: MaInputCurrency) => {\n emits('currency-change', value);\n};\n</script>\n<template>\n <div :class=\"inputClass\">\n <slot name=\"title\" />\n <div class=\"ma-input__title\" v-if=\"props.title\">{{ props.title }}</div>\n <div class=\"ma-input__wrapper\" v-if=\"props.type !== 'textarea'\">\n <component\n :is=\"inputComponent\"\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n :allowClear=\"props?.allowClear\"\n :type=\"inputType\"\n :disabled=\"props?.disabled\"\n :placeholder=\"props?.placeholder\"\n :addonBefore=\"addonBefore\"\n :addonAfter=\"addonAfter\"\n class=\"ma-input__input\"\n @change=\"handleChange\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #prefix>\n <ma-icon :name=\"props.prefixIcon\" v-if=\"props.prefixIcon\" />\n <template v-else-if=\"amountCurrencySymbol\">{{ amountCurrencySymbol }}</template>\n <ma-avatar\n v-else-if=\"props.type === MaInputType.userInfo\"\n :src=\"props.avatarUrl\"\n :disabled=\"props.disabled\"\n />\n </template>\n <template v-if=\"props.type === 'amount'\" #suffix>\n <ma-select\n v-model:value=\"amountCurrencyValue\"\n v-if=\"props.type === 'amount'\"\n @change=\"handleCurrencyChange\"\n dropdownClassName=\"ma-input__input__ma-select__dropdown\"\n :options=\"currencyOptions\"\n :disabled=\"props.disabled\"\n size=\"small\"\n />\n </template>\n </component>\n </div>\n <div class=\"ma-input__textarea-wrapper\" v-else>\n <a-textarea\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n class=\"ma-input__input\"\n @change=\"handleChange\"\n :rows=\"5\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-textarea>\n </div>\n <slot name=\"hint\" />\n <div class=\"ma-input__hint-text\" v-if=\"props.hintText\">\n {{ props.hintText }}\n </div>\n </div>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaCheckbox',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { Checkbox, type CheckboxProps } from 'ant-design-vue';\n\nexport interface MaCheckboxProps extends CheckboxProps {\n hint?: string;\n indeterminate?: boolean;\n disabled?: boolean;\n}\nconst props = withDefaults(defineProps<MaCheckboxProps>(), {\n indeterminate: undefined\n});\n\n\nconst classNames = computed(() => [\n 'ma-checkbox',\n {\n 'ma-checkbox--intermediate': typeof props?.indeterminate === 'boolean'\n }\n]);\n\n</script>\n<template>\n <Checkbox\n v-bind=\"$attrs\"\n :class=\"classNames\"\n :disabled=\"props?.disabled\"\n :indeterminate=\"props?.indeterminate\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-checkbox__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </Checkbox>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaCheckboxGroup',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { type CheckboxGroupProps, CheckboxGroup } from 'ant-design-vue';\n\nexport interface MaCheckboxGroupProps extends CheckboxGroupProps {\n hint?: string;\n disabled?: boolean;\n}\nconst props = defineProps<MaCheckboxGroupProps>();\n\n</script>\n<template>\n <CheckboxGroup class=\"ma-checkbox-group\" v-bind=\"$attrs\">\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-checkbox__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </CheckboxGroup>\n</template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\n\nexport interface SingleNumericInputProps {\n value?: string;\n focus: boolean;\n}\n\nconst props = withDefaults(defineProps<SingleNumericInputProps>(), {\n value: '',\n focus: false,\n});\n\n\nconst emits = defineEmits(['update:value']);\n\nconst input = ref(null);\n\nwatch(\n () => props.focus,\n (focus) => {\n if (focus) {\n input.value.focus();\n }\n },\n);\n\nconst handleInput = (e: Event) => {\n emits(\"update:value\", (e.target as HTMLInputElement).value)\n}\n\n</script>\n<template>\n <input\n v-bind=\"$attrs\"\n :value=\"props.value\"\n @input=\"handleInput\"\n ref=\"input\"\n type=\"number\"\n min=\"0\"\n max=\"9\"\n maxlength=\"1\"\n pattern=\"[0-9]\"\n />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaNumericInput',\n};\n</script>\n<script setup lang=\"ts\">\nimport { Ref, computed, ref, watch } from \"vue\";\nimport SingleNumericInput from \"./components/singleNumericInput.vue\";\n\nimport { NumericInputSize } from \"./types\";\n\nexport interface MaNumericInputProps {\n disabled?: boolean,\n length?: number,\n hasError?: boolean,\n value?: string,\n placeholderStatus?: boolean,\n size?: NumericInputSize,\n}\n\nconst props = withDefaults(defineProps<MaNumericInputProps>(), {\n length: 6,\n value: \"\",\n placeholderStatus: true,\n size: \"medium\",\n});\n\nconst emits = defineEmits(['update:value']);\n\nconst activeInput: Ref<number> = ref(null);\nconst inputValues: Ref<string[]> = ref(Array.from({length: props.length}, (_, index: number) => props.value[index] || null));\n\nconst classNames = computed(() => [\n \"ma-numeric-input\",\n `ma-numeric-input--${props.size}`,\n {\n 'ma-numeric-input--has-error': props?.hasError\n },\n {\n 'ma-numeric-input--disabled': props?.disabled\n },\n]);\n\nconst singleInputPlaceholder = computed(() => props?.placeholderStatus? \"0\": null);\n\nconst isCodeNumeric = (charCode: string) => /^Digit[0-9]$/.test(charCode);\n\nconst handleFocus = (itemNumber: number) => activeInput.value = itemNumber;\n\nconst handleKeydown = (event: KeyboardEvent, inputKey: number) => {\n\n switch (event.code) {\n case 'Backspace':\n case 'Delete':\n handleSingleInputUpdate('', inputKey);\n focusPrevInput();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n focusPrevInput();\n break;\n case 'ArrowRight':\n event.preventDefault();\n focusNextInput();\n break;\n default:\n if(isCodeNumeric(event.code)){\n event.preventDefault();\n handleSingleInputUpdate(event.key, inputKey);\n focusNextInput();\n }\n break;\n }\n};\n\nconst focusNextInput = () => {\n if(activeInput.value < props.length){\n activeInput.value++;\n }\n};\nconst focusPrevInput = () => {\n if(props.length >= activeInput.value && activeInput.value > 0){\n activeInput.value--;\n }\n};\n\nconst handleSingleInputUpdate = (inputValue: string, inputIndex: number) => {\n inputValues.value[inputIndex] = inputValue;\n}\n\nconst handleOnPaste = (event: ClipboardEvent, inputIndex: number) => {\n event.preventDefault();\n const pastedData = event.clipboardData\n .getData('text/plain')\n .replaceAll(' ', '')\n .slice(0, props.length);\n if(pastedData.length === 1 && pastedData.match(/^\\d+$/)){\n inputValues.value[inputIndex] = pastedData;\n }\n else if(pastedData.match(/^\\d+$/)){\n inputValues.value = pastedData.split('');\n }\n}\n\nwatch(\n () => inputValues.value,\n (data) => {\n const value = data.join('');\n emits(\"update:value\", value);\n },\n {deep: true}\n);\n\nwatch(\n () => props.value,\n (data) => {\n if(data !== inputValues.value.join('') && data && data.match(/^\\d+$/)){\n inputValues.value = data.split('').slice(0, props.length);\n }\n },\n);\n\n</script>\n<template>\n <div\n :class=\"classNames\"\n v-bind=\"$attrs\"\n >\n <single-numeric-input\n v-for=\"i in props.length\"\n :focus=\"activeInput === i-1\"\n :key=\"i\"\n :placeholder=\"singleInputPlaceholder\"\n :value=\"inputValues[i-1]\"\n :disabled=\"props.disabled\"\n @focus=\"handleFocus(i-1)\"\n @keydown=\"handleKeydown($event, i-1)\"\n @paste=\"handleOnPaste($event, i-1)\"\n class=\"ma-numeric-input__input\"\n />\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaRadio',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { MaRadioType } from \"./types\";\nimport { Radio, type RadioProps } from 'ant-design-vue';\n\nexport interface MaRadioProps extends RadioProps {\n type?: MaRadioType;\n hint?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaRadioProps>(), {\n type: \"button\",\n});\n\nconst radioClass = computed(() => {\n return [`ma-radio ma-radio--${props.type}`];\n});\n</script>\n<template>\n <Radio v-bind=\"$attrs\" :class=\"radioClass\">\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-radio__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </Radio>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaAppTrackButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport MaRadio from \"../radio/index.vue\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaAppTrackButtonProps {\n checked?: boolean;\n appIcon: string;\n appName: string;\n appCategory?: string;\n disabled?: boolean;\n multiple?: boolean;\n loading?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaAppTrackButtonProps>(), {\n multiple: false,\n disabled: false,\n checked: false,\n loading: false,\n});\n\nconst emits = defineEmits([\"update:checked\", \"change\"]);\n\nconst handleClick = () => {\n emits(\"change\", !props.checked);\n emits(\"update:checked\", !props.checked);\n}\n\nconst classNames = computed(() => [\n 'ma-app-track-button',\n {\n 'ma-app-track-button--multiple': props.multiple\n },\n {\n 'ma-app-track-button--disabled': props.disabled || props.loading\n },\n {\n 'ma-app-track-button--checked': props.checked\n },\n {\n 'ma-app-track-button--loading': props.loading\n }\n]);\n\n</script>\n<template>\n <button\n :class=\"classNames\"\n role=\"switch\"\n :aria-checked=\"props.checked\"\n :disabled=\"props.disabled\"\n v-bind=\"$attrs\"\n @click=\"handleClick\"\n >\n <img\n :src=\"props.appIcon\"\n :alt=\"props.appName\"\n width=\"40\"\n height=\"40\"\n />\n <span class=\"ma-app-track-button__text\">\n <span class=\"ma-app-track-button__text__title\">\n {{ props.appName }}\n </span>\n <span\n v-if=\"props.appCategory\"\n class=\"ma-app-track-button__text__category\"\n >\n {{ props?.appCategory }}\n </span>\n </span>\n <span class=\"ma-app-track-button__check\">\n <transition name=\"fade\" mode=\"out-in\">\n <ma-icon\n v-if=\"props.loading\"\n name=\"loader\"\n size=\"xs\"\n spin\n />\n <ma-radio\n v-else-if=\"props.multiple || props.checked\"\n :checked=\"props.checked\"\n type=\"check\"\n />\n <ma-icon\n v-else\n name=\"add-circle\"\n size=\"xs\"\n />\n </transition>\n </span>\n </button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaAppIcon',\n};\n</script>\n<script setup lang=\"ts\">\n import MaIcon from \"@/components/icon/index.vue\";\n import {computed} from \"vue\";\n import {AppIconSize} from \"@/components/app-icon/types\";\n\n export interface MaAppIconProps {\n appIcon: string,\n appName?: string,\n appDescription?: string,\n closable?: boolean,\n platform?: string,\n rounded?: boolean,\n size?: AppIconSize,\n }\n\n const emits = defineEmits([\"close\"]);\n const props = withDefaults(defineProps<MaAppIconProps>(), {\n closable: true,\n rounded: false,\n size: 'medium',\n });\n const platformIcon = computed(() => props.platform === 'apple' ? 'apple-storefront' : 'android-storefront');\n\n const classNames = computed(() => [\n 'ma-app-icon',\n `ma-app-icon--${props.size}`,\n { 'ma-app-icon--rounded': props.rounded },\n { 'ma-app-icon--only-icon': !props?.appName && !props?.appDescription },\n ]);\n\n const handleClose = () => {\n emits(\"close\");\n }\n</script>\n\n<template>\n <div :class=\"classNames\">\n <div class=\"ma-app-icon__logo\">\n <span @click=\"handleClose\" v-if=\"props.closable\" class=\"ma-app-icon-closable\">\n <ma-icon size=\"xs\" :name=\"'close-circle'\"></ma-icon>\n </span>\n <img class=\"ma-app-icon-img\" :src=\"props.appIcon\"/>\n <span v-if=\"props?.platform\" class=\"ma-app-icon-platform\">\n <ma-icon size=\"xs\" :name=\"platformIcon\"></ma-icon>\n </span>\n </div>\n <div class=\"ma-app-icon__text\">\n <span class=\"ma-app-name\" v-if=\"props?.appName\">\n {{props.appName}}\n </span>\n <span class=\"ma-app-description\" v-if=\"props?.appDescription\">\n {{props.appDescription}}\n </span>\n </div>\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaRadioGroup',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { RadioGroup, type RadioGroupProps } from 'ant-design-vue';\n\nexport interface MaRadioGroupProps extends RadioGroupProps {}\ndefineProps<MaRadioGroupProps>();\n\n</script>\n<template>\n <RadioGroup v-bind=\"$attrs\">\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </RadioGroup>\n </template>\n","<script lang=\"ts\">\n export default {\n name: 'MaBadge',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed } from 'vue';\nimport { MaBadgePropVariant, MaBadgePropType, MaBadgePropSize } from \"./types\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaBadgeProps {\n type?: MaBadgePropType;\n variant?: MaBadgePropVariant;\n size?: MaBadgePropSize;\n icon?: string;\n iconAlignment?: string;\n}\n\nconst props = withDefaults(defineProps<MaBadgeProps>(), {\n type: 'primary',\n variant: 'dark',\n size: 'medium',\n iconAlignment: 'left',\n});\n\nconst badgeClass = computed(() => {\n return [\n 'ma-badge',\n `ma-badge--${props.variant}--${props.type}`,\n `ma-badge--${props.size}`,\n {\n 'ma-badge--icon-right': props.iconAlignment === 'right'\n }\n ];\n});\n</script>\n<template>\n <div :class=\"badgeClass\">\n <ma-icon :name=\"props?.icon\" v-if=\"props?.icon\" />\n <slot />\n </div>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaAlert',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed, withDefaults, } from 'vue';\nimport { Alert, AlertProps } from \"ant-design-vue\";\nimport { MaAlertPropVariant, MaAlertPropType } from \"./types\";\n\nimport MaIcon from '../icon/index.vue';\n\nexport interface MaAlertProps extends Omit<AlertProps, 'type' | 'message' | 'closable' | 'showIcon'> { // message, closable and showIcon added because storybook build throwing error and it is open issue on storybook!\n variant?: MaAlertPropVariant;\n type?: MaAlertPropType;\n message?: string,\n closable?: boolean,\n showIcon?: boolean,\n description?: string,\n}\n\n\nconst props = withDefaults(defineProps<MaAlertProps>(), {\n variant: \"dark\",\n type: \"primary\",\n});\n\nconst alertClass = computed(() => {\n return [`ma-alert ma-alert--${props.variant}--${props.type}`];\n});\n</script>\n<template>\n <Alert\n v-bind=\"$attrs\"\n :class=\"alertClass\"\n :description=\"description\"\n :message=\"message\"\n :closable=\"closable\"\n :showIcon=\"showIcon\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #closeIcon>\n <MaIcon name=\"close\" />\n </template>\n <template #message>\n <slot></slot>\n </template>\n </Alert>\n </template>\n<style lang=\"scss\" src=\"./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","MaInputType","MaInputSize","currencySymbols","currencyOptions","VNodes","_","attrs","filterTerm","slots","useSlots","customFilterTerm","isOpen","isCustomRender","modelValue","dropdownClassNames","suffixIcon","handleClick","dropdownVisibleChange","visible","antSearchStatus","inputType","inputClass","amountCurrencySymbol","amountCurrencyValue","inputComponent","AInputPassword","AInput","addonBefore","handleChange","e","handleCurrencyChange","input","watch","focus","handleInput","activeInput","inputValues","index","singleInputPlaceholder","isCodeNumeric","charCode","handleFocus","itemNumber","handleKeydown","event","inputKey","handleSingleInputUpdate","focusPrevInput","focusNextInput","inputValue","inputIndex","handleOnPaste","pastedData","radioClass","platformIcon","handleClose","badgeClass","alertClass"],"mappings":"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"}
|
|
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","../src/components/form/index.vue","../src/components/form-item/index.vue","../src/components/input/types.ts","../src/components/avatar/index.vue","../src/components/select/components/dropdownRender.vue","../src/components/select/index.vue","../src/components/input/index.vue","../src/components/checkbox/index.vue","../src/components/checkbox/group.vue","../src/components/numeric-input/components/singleNumericInput.vue","../src/components/numeric-input/index.vue","../src/components/radio/index.vue","../src/components/app-track-button/index.vue","../src/components/app-icon/index.vue","../src/components/radio/group.vue","../src/components/badge/index.vue","../src/components/alert/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 prefix-cls=\"antd-btn\"\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-bold': 'add'\n);\n\nconst iconSize = computed(() => props.size === 'lg'? 'sm': 'xs');\n\n</script>\n<template>\n <a-button\n v-bind=\"$attrs\"\n :class=\"buttonClasses\"\n :disabled=\"props.disabled || props.loading\"\n role=\"button\"\n prefix-cls=\"antd-btn\"\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 prefix-cls=\"antd-switch\"\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 v-model:visible=\"isVisible\"\n :class=\"classNames\"\n :placement=\"props.placement\"\n :trigger=\"props.trigger as any\"\n :overlayClassName=\"overlayClassNames\"\n prefix-cls=\"antd-tooltip\"\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","<script lang=\"ts\">\nexport default {\n name: 'MaForm',\n};\n</script>\n<script setup lang=\"ts\">\nimport { Form as AForm } from \"ant-design-vue\";\n\n</script>\n<template>\n <a-form\n v-bind=\"$attrs\"\n class=\"ma-form\"\n prefix-cls=\"antd-form\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-form>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaFormItem',\n};\n</script>\n<script setup lang=\"ts\">\nimport { FormItem as AFormItem } from \"ant-design-vue\";\n\n</script>\n<template>\n <a-form-item\n v-bind=\"$attrs\"\n class=\"ma-form-item\"\n prefix-cls=\"antd-form\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-form-item>\n</template>\n","import type { SelectProps } from 'ant-design-vue';\n\nexport enum MaInputType {\n text = 'text',\n password = 'password',\n textarea = 'textarea',\n number = 'number',\n email = 'email',\n url = 'url',\n tel = 'tel',\n amount = 'amount',\n creditCard = 'creditCard',\n userInfo = 'userInfo'\n}\n\nexport enum MaInputSize {\n small = 'small',\n medium = 'medium',\n large = 'large'\n}\n\nexport enum MaInputCurrency {\n usd = 'USD',\n eur = 'EUR',\n gbp = 'GBP',\n jpy = 'JPY'\n}\n\nexport const currencySymbols: any = {\n usd: '$',\n eur: '€',\n gbp: '£',\n jpy: '¥',\n}\n\nexport const currencyOptions: SelectProps['options'] = [\n { label: 'USD', value: 'USD' },\n { label: 'EUR', value: 'EUR' },\n { label: 'GBP', value: 'GBP' },\n { label: 'JPY', value: 'JPY' },\n];\n","<template>\n <Avatar v-bind=\"$attrs\" />\n</template>\n<script lang=\"ts\">\n export default {\n name: 'MaAvatar',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { Avatar } from 'ant-design-vue';\n//import 'ant-design-vue/lib/avatar/style/css';\n</script>\n","<script lang=\"ts\">\nexport default {\n name: 'MaDropdownRender',\n};\n</script>\n<script setup lang=\"ts\">\nimport { VNode, computed } from \"vue\";\nimport MaInput from \"../../input/index.vue\";\n\nconst props = defineProps({\n menu: {\n type: Object as () => VNode,\n required: true\n },\n filter: {\n type: String,\n default: \"\"\n }\n});\n\nconst emits = defineEmits([\"update:filter\"]);\n\nconst VNodes = (_: unknown, { attrs }: { attrs: { vnodes: VNode[] } }): VNode[] => {\n return attrs.vnodes;\n};\n\nconst filterTerm = computed({\n get(){\n return props.filter\n },\n set(value){\n emits('update:filter', value);\n }\n})\n\n</script>\n\n<template>\n <ma-input\n v-model:value=\"filterTerm\"\n autofocus\n placeholder=\"Search\"\n />\n <v-nodes :vnodes=\"menu\" />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaSelect',\n};\n</script>\n<script setup lang=\"ts\">\nimport { WritableComputedRef, computed, ref, useSlots } from \"vue\";\nimport { DefaultOptionType } from \"ant-design-vue/lib/select\";\nimport { SelectSize, SelectMode } from \"./types\";\n\nimport { Select as ASelect } from \"ant-design-vue\";\nimport MaIcon from \"../icon/index.vue\";\nimport DropdownRender from \"./components/dropdownRender.vue\";\n\nexport interface MaSelectProps {\n allowClear?: boolean,\n autoClearSearchValue?: boolean,\n autofocus?: boolean,\n clearIcon?: string,\n defaultOpen?: boolean,\n dropdownClassName?: string,\n disabled?: boolean,\n loading?: boolean,\n menuItemSelectedIcon?: string,\n mode?: SelectMode,\n optionFilterProp?: string,\n optionLabelProp?: string,\n options?: DefaultOptionType[] | undefined,\n placeholder?: string,\n removeIcon?: string,\n searchValue?: string,\n showSearch?: boolean,\n size?: SelectSize,\n suffixIcon?: string,\n prefixIcon?: string,\n open?: boolean,\n value?: string|number|string[]|number[]\n}\n\nconst slots = useSlots();\n\nconst props = withDefaults(defineProps<MaSelectProps>(), {\n autoClearSearchValue: true,\n open: false,\n size: \"default\",\n value: \"\",\n menuItemSelectedIcon: \"check\",\n});\n\nconst emits = defineEmits([\n \"update:value\",\n]);\n\nconst customFilterTerm = ref(props?.searchValue);\nconst isOpen = ref(props.open);\n\nconst isCustomRender = computed(() => !props?.mode && props?.showSearch);\n\nconst modelValue :WritableComputedRef<string|number|string[]|number[]> = computed({\n get(){\n return props.value;\n },\n set(value){\n emits(\"update:value\", value);\n }\n});\n\nconst classNames = computed(() => [\n 'ma-select',\n `ma-select--${props.size}`,\n {\n 'ma-select--has-prefix': props.mode? false: slots?.prefixIcon || props?.prefixIcon\n },\n {\n 'ma-select--selected': Array.isArray(modelValue.value)? modelValue.value.length: modelValue.value\n },\n {\n 'ma-select--custom-render': isCustomRender\n }\n]);\n\nconst dropdownClassNames = computed(() => [\n props?.dropdownClassName,\n 'ma-select-dropdown',\n (!props?.mode && (slots?.prefixIcon || props?.prefixIcon))? 'ma-select-dropdown--has-prefix': null,\n].join(\" \"));\n\nconst suffixIcon = computed(() => props?.loading? 'loader': props?.suffixIcon);\n\n// this is required for custom dropdown render because the click event closes the dropdown\nconst handleClick = () => {\n isOpen.value = true;\n}\n\nconst dropdownVisibleChange = (visible: boolean) => {\n isOpen.value = visible;\n customFilterTerm.value = \"\";\n}\n\nconst antSearchStatus = computed(() => !isCustomRender.value && props?.showSearch);\n\n\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n :class=\"classNames\"\n :allowClear=\"props?.allowClear\"\n :autoClearSearchValue=\"props?.autoClearSearchValue\"\n :autofocus=\"props?.autofocus\"\n :defaultOpen=\"props?.defaultOpen\"\n :disabled=\"props?.disabled || props?.loading\"\n :dropdownClassName=\"dropdownClassNames\"\n :loading=\"props?.loading\"\n :optionFilterProp=\"props?.optionFilterProp\"\n :optionLabelProp=\"props?.optionLabelProp\"\n :options=\"props?.options\"\n :placeholder=\"props?.placeholder\"\n :searchValue=\"customFilterTerm || undefined\"\n :showSearch=\"antSearchStatus\"\n :mode=\"props?.mode as any\"\n :size=\"props?.size as any\"\n :open=\"isOpen\"\n @click=\"handleClick\"\n @dropdownVisibleChange=\"dropdownVisibleChange\"\n prefix-cls=\"antd-select\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #suffixIcon>\n <ma-icon :spin=\"props?.loading\" :name=\"suffixIcon || 'chevron-down'\" />\n <div class=\"prefix-icon\" v-if=\"$slots?.prefixIcon || props?.prefixIcon\">\n <slot name=\"prefixIcon\">\n <ma-icon :name=\"props?.prefixIcon\" v-if=\"props?.prefixIcon\" />\n </slot>\n </div>\n </template>\n <template #removeIcon>\n <ma-icon :name=\"props?.removeIcon || 'close'\" />\n </template>\n <template #clearIcon v-if=\"props?.clearIcon\">\n <ma-icon :name=\"props?.clearIcon\" v-if=\"props?.clearIcon\" />\n </template>\n <template #menuItemSelectedIcon v-if=\"props?.menuItemSelectedIcon\">\n <ma-icon :name=\"props?.menuItemSelectedIcon\" />\n </template>\n <template #notFoundContent v-if=\"!$slots.notFoundContent\">\n <ma-icon size=\"sm\" name=\"warning\" /> No result found!\n </template>\n <template #dropdownRender=\"{ menuNode: menu }\" v-if=\"isCustomRender && isOpen\">\n <dropdown-render v-model:filter=\"customFilterTerm\" :menu=\"menu\" />\n </template>\n </a-select>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaInput',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed } from 'vue';\nimport {\n MaInputType,\n MaInputSize,\n MaInputCurrency,\n currencyOptions,\n currencySymbols,\n} from './types';\n\nimport MaIcon from '../icon/index.vue';\nimport MaAvatar from '../avatar/index.vue';\nimport MaSelect from '../select/index.vue';\nimport {\n Textarea as ATextarea,\n Input as AInput,\n InputPassword as AInputPassword,\n ConfigProvider\n} from 'ant-design-vue';\n\nexport interface MaInputProps {\n allowClear?: boolean,\n type?: MaInputType;\n size?: MaInputSize;\n title?: string;\n hintText?: string;\n hasError?: boolean;\n placeholder?: string;\n disabled?: boolean;\n addonBefore?: string;\n addonAfter?: string;\n avatarUrl?: string;\n value?: string;\n amountCurrency?: MaInputCurrency;\n hint?: string;\n prefixIcon?: string;\n suffixIcon?: string;\n}\n\nconst props = withDefaults(defineProps<MaInputProps>(), {\n type: MaInputType.text,\n size: MaInputSize.small,\n});\n\nconst emits = defineEmits(\n [\n 'change',\n 'currency-change',\n 'update:value',\n 'update:amountCurrency',\n ]\n);\n\nconst inputType = computed(() => {\n if([MaInputType.amount, MaInputType.creditCard].includes(props.type)){\n return 'number';\n }else if(props.type === MaInputType.userInfo){\n return 'text'\n }\n return props.type;\n});\n\nconst inputClass = computed(() => {\n return [\n `ma-input ma-input--${props.type} ma-input--${props.size}`,\n {\n 'ma-input--has-error': props.hasError,\n },\n {\n 'ma-input--disabled': props.disabled,\n },\n ];\n});\n\nconst modelValue = computed({\n get(){\n return props.value;\n },\n set(data){\n emits(\"update:value\", data);\n }\n});\n\nconst amountCurrencySymbol = computed(() => props.amountCurrency? currencySymbols[props.amountCurrency.toLowerCase()]: null)\nconst amountCurrencyValue = computed({\n get(){\n return props.amountCurrency\n },\n set(data){\n emits('update:amountCurrency', data);\n }\n});\n\nconst inputComponent = computed(() => props.type === MaInputType.password? AInputPassword: AInput);\n\nconst addonBefore = computed(() => props.type === MaInputType.url? 'https': props?.addonBefore);\n\nconst handleChange = (e: any) => {\n emits('change', e);\n};\n\nconst handleCurrencyChange = (value: MaInputCurrency) => {\n emits('currency-change', value);\n};\n</script>\n<template>\n <div :class=\"inputClass\">\n <slot name=\"title\" />\n <div class=\"ma-input__title\" v-if=\"props.title\">{{ props.title }}</div>\n <div class=\"ma-input__wrapper\" v-if=\"props.type !== 'textarea'\">\n <config-provider prefix-cls=\"antd\">\n <component\n :is=\"inputComponent\"\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n :allowClear=\"props?.allowClear\"\n :type=\"inputType\"\n :disabled=\"props?.disabled\"\n :placeholder=\"props?.placeholder\"\n :addonBefore=\"addonBefore\"\n :addonAfter=\"addonAfter\"\n class=\"ma-input__input\"\n @change=\"handleChange\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #prefix>\n <ma-icon :name=\"props.prefixIcon\" v-if=\"props.prefixIcon\" />\n <template v-else-if=\"amountCurrencySymbol\">{{ amountCurrencySymbol }}</template>\n <ma-avatar\n v-else-if=\"props.type === MaInputType.userInfo\"\n :src=\"props.avatarUrl\"\n :disabled=\"props.disabled\"\n />\n </template>\n <template v-if=\"props.type === 'amount'\" #suffix>\n <ma-select\n v-model:value=\"amountCurrencyValue\"\n v-if=\"props.type === 'amount'\"\n @change=\"handleCurrencyChange\"\n dropdownClassName=\"ma-input__input__ma-select__dropdown\"\n :options=\"currencyOptions\"\n :disabled=\"props.disabled\"\n size=\"small\"\n />\n </template>\n </component>\n </config-provider>\n </div>\n <div class=\"ma-input__textarea-wrapper\" v-else>\n <a-textarea\n v-model:value=\"modelValue\"\n v-bind=\"$attrs\"\n class=\"ma-input__input\"\n @change=\"handleChange\"\n :rows=\"5\"\n prefix-cls=\"antd-input\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </a-textarea>\n </div>\n <slot name=\"hint\" />\n <div class=\"ma-input__hint-text\" v-if=\"props.hintText\">\n {{ props.hintText }}\n </div>\n </div>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaCheckbox',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { Checkbox, type CheckboxProps } from 'ant-design-vue';\n\nexport interface MaCheckboxProps extends CheckboxProps {\n hint?: string;\n indeterminate?: boolean;\n disabled?: boolean;\n}\nconst props = withDefaults(defineProps<MaCheckboxProps>(), {\n indeterminate: undefined\n});\n\n\nconst classNames = computed(() => [\n 'ma-checkbox',\n {\n 'ma-checkbox--intermediate': typeof props?.indeterminate === 'boolean'\n }\n]);\n\n</script>\n<template>\n <Checkbox\n v-bind=\"$attrs\"\n :class=\"classNames\"\n :disabled=\"props?.disabled\"\n :indeterminate=\"props?.indeterminate\"\n prefix-cls=\"antd-checkbox\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-checkbox__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </Checkbox>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaCheckboxGroup',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { type CheckboxGroupProps, CheckboxGroup } from 'ant-design-vue';\n\nexport interface MaCheckboxGroupProps extends CheckboxGroupProps {\n hint?: string;\n disabled?: boolean;\n}\nconst props = defineProps<MaCheckboxGroupProps>();\n\n</script>\n<template>\n <CheckboxGroup\n v-bind=\"$attrs\"\n class=\"ma-checkbox-group\"\n prefix-cls=\"antd-checkbox\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-checkbox__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </CheckboxGroup>\n</template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\n\nexport interface SingleNumericInputProps {\n value?: string;\n focus: boolean;\n}\n\nconst props = withDefaults(defineProps<SingleNumericInputProps>(), {\n value: '',\n focus: false,\n});\n\n\nconst emits = defineEmits(['update:value']);\n\nconst input = ref(null);\n\nwatch(\n () => props.focus,\n (focus) => {\n if (focus) {\n input.value.focus();\n }\n },\n);\n\nconst handleInput = (e: Event) => {\n emits(\"update:value\", (e.target as HTMLInputElement).value)\n}\n\n</script>\n<template>\n <input\n v-bind=\"$attrs\"\n :value=\"props.value\"\n @input=\"handleInput\"\n ref=\"input\"\n type=\"number\"\n min=\"0\"\n max=\"9\"\n maxlength=\"1\"\n pattern=\"[0-9]\"\n />\n</template>\n","<script lang=\"ts\">\nexport default {\n name: 'MaNumericInput',\n};\n</script>\n<script setup lang=\"ts\">\nimport { Ref, computed, ref, watch } from \"vue\";\nimport SingleNumericInput from \"./components/singleNumericInput.vue\";\n\nimport { NumericInputSize } from \"./types\";\n\nexport interface MaNumericInputProps {\n disabled?: boolean,\n length?: number,\n hasError?: boolean,\n value?: string,\n placeholderStatus?: boolean,\n size?: NumericInputSize,\n}\n\nconst props = withDefaults(defineProps<MaNumericInputProps>(), {\n length: 6,\n value: \"\",\n placeholderStatus: true,\n size: \"medium\",\n});\n\nconst emits = defineEmits(['update:value']);\n\nconst activeInput: Ref<number> = ref(null);\nconst inputValues: Ref<string[]> = ref(Array.from({length: props.length}, (_, index: number) => props.value[index] || null));\n\nconst classNames = computed(() => [\n \"ma-numeric-input\",\n `ma-numeric-input--${props.size}`,\n {\n 'ma-numeric-input--has-error': props?.hasError\n },\n {\n 'ma-numeric-input--disabled': props?.disabled\n },\n]);\n\nconst singleInputPlaceholder = computed(() => props?.placeholderStatus? \"0\": null);\n\nconst isCodeNumeric = (charCode: string) => /^Digit[0-9]$/.test(charCode);\n\nconst handleFocus = (itemNumber: number) => activeInput.value = itemNumber;\n\nconst handleKeydown = (event: KeyboardEvent, inputKey: number) => {\n\n switch (event.code) {\n case 'Backspace':\n case 'Delete':\n handleSingleInputUpdate('', inputKey);\n focusPrevInput();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n focusPrevInput();\n break;\n case 'ArrowRight':\n event.preventDefault();\n focusNextInput();\n break;\n default:\n if(isCodeNumeric(event.code)){\n event.preventDefault();\n handleSingleInputUpdate(event.key, inputKey);\n focusNextInput();\n }\n break;\n }\n};\n\nconst focusNextInput = () => {\n if(activeInput.value < props.length){\n activeInput.value++;\n }\n};\nconst focusPrevInput = () => {\n if(props.length >= activeInput.value && activeInput.value > 0){\n activeInput.value--;\n }\n};\n\nconst handleSingleInputUpdate = (inputValue: string, inputIndex: number) => {\n inputValues.value[inputIndex] = inputValue;\n}\n\nconst handleOnPaste = (event: ClipboardEvent, inputIndex: number) => {\n event.preventDefault();\n const pastedData = event.clipboardData\n .getData('text/plain')\n .replaceAll(' ', '')\n .slice(0, props.length);\n if(pastedData.length === 1 && pastedData.match(/^\\d+$/)){\n inputValues.value[inputIndex] = pastedData;\n }\n else if(pastedData.match(/^\\d+$/)){\n inputValues.value = pastedData.split('');\n }\n}\n\nwatch(\n () => inputValues.value,\n (data) => {\n const value = data.join('');\n emits(\"update:value\", value);\n },\n {deep: true}\n);\n\nwatch(\n () => props.value,\n (data) => {\n if(data !== inputValues.value.join('') && data && data.match(/^\\d+$/)){\n inputValues.value = data.split('').slice(0, props.length);\n }\n },\n);\n\n</script>\n<template>\n <div\n :class=\"classNames\"\n v-bind=\"$attrs\"\n >\n <single-numeric-input\n v-for=\"i in props.length\"\n :focus=\"activeInput === i-1\"\n :key=\"i\"\n :placeholder=\"singleInputPlaceholder\"\n :value=\"inputValues[i-1]\"\n :disabled=\"props.disabled\"\n @focus=\"handleFocus(i-1)\"\n @keydown=\"handleKeydown($event, i-1)\"\n @paste=\"handleOnPaste($event, i-1)\"\n class=\"ma-numeric-input__input\"\n />\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaRadio',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { MaRadioType } from \"./types\";\nimport { Radio, type RadioProps } from 'ant-design-vue';\n\nexport interface MaRadioProps extends RadioProps {\n type?: MaRadioType;\n hint?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaRadioProps>(), {\n type: \"button\",\n});\n\nconst radioClass = computed(() => {\n return [`ma-radio ma-radio--${props.type}`];\n});\n</script>\n<template>\n <Radio\n v-bind=\"$attrs\"\n :class=\"radioClass\"\n prefix-cls=\"antd-radio\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n <div :key=\"slot\" class=\"ma-radio__hint-text\" v-if=\"props.hint\">\n {{ props.hint }}\n </div>\n </template>\n </Radio>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaAppTrackButton',\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport MaRadio from \"../radio/index.vue\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaAppTrackButtonProps {\n checked?: boolean;\n appIcon: string;\n appName: string;\n appCategory?: string;\n disabled?: boolean;\n multiple?: boolean;\n loading?: boolean;\n}\n\nconst props = withDefaults(defineProps<MaAppTrackButtonProps>(), {\n multiple: false,\n disabled: false,\n checked: false,\n loading: false,\n});\n\nconst emits = defineEmits([\"update:checked\", \"change\"]);\n\nconst handleClick = () => {\n emits(\"change\", !props.checked);\n emits(\"update:checked\", !props.checked);\n}\n\nconst classNames = computed(() => [\n 'ma-app-track-button',\n {\n 'ma-app-track-button--multiple': props.multiple\n },\n {\n 'ma-app-track-button--disabled': props.disabled || props.loading\n },\n {\n 'ma-app-track-button--checked': props.checked\n },\n {\n 'ma-app-track-button--loading': props.loading\n }\n]);\n\n</script>\n<template>\n <button\n :class=\"classNames\"\n role=\"switch\"\n :aria-checked=\"props.checked\"\n :disabled=\"props.disabled\"\n v-bind=\"$attrs\"\n @click=\"handleClick\"\n >\n <img\n :src=\"props.appIcon\"\n :alt=\"props.appName\"\n width=\"40\"\n height=\"40\"\n />\n <span class=\"ma-app-track-button__text\">\n <span class=\"ma-app-track-button__text__title\">\n {{ props.appName }}\n </span>\n <span\n v-if=\"props.appCategory\"\n class=\"ma-app-track-button__text__category\"\n >\n {{ props?.appCategory }}\n </span>\n </span>\n <span class=\"ma-app-track-button__check\">\n <transition name=\"fade\" mode=\"out-in\">\n <ma-icon\n v-if=\"props.loading\"\n name=\"loader\"\n size=\"xs\"\n spin\n />\n <ma-radio\n v-else-if=\"props.multiple || props.checked\"\n :checked=\"props.checked\"\n type=\"check\"\n />\n <ma-icon\n v-else\n name=\"add-circle\"\n size=\"xs\"\n />\n </transition>\n </span>\n </button>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\nexport default {\n name: 'MaAppIcon',\n};\n</script>\n<script setup lang=\"ts\">\n import MaIcon from \"@/components/icon/index.vue\";\n import {computed} from \"vue\";\n import {AppIconSize} from \"@/components/app-icon/types\";\n\n export interface MaAppIconProps {\n appIcon: string,\n appName?: string,\n appDescription?: string,\n closable?: boolean,\n platform?: string,\n rounded?: boolean,\n size?: AppIconSize,\n }\n\n const emits = defineEmits([\"close\"]);\n const props = withDefaults(defineProps<MaAppIconProps>(), {\n closable: true,\n rounded: false,\n size: 'medium',\n });\n const platformIcon = computed(() => props.platform === 'apple' ? 'apple-storefront' : 'android-storefront');\n\n const classNames = computed(() => [\n 'ma-app-icon',\n `ma-app-icon--${props.size}`,\n { 'ma-app-icon--rounded': props.rounded },\n { 'ma-app-icon--only-icon': !props?.appName && !props?.appDescription },\n ]);\n\n const handleClose = () => {\n emits(\"close\");\n }\n</script>\n\n<template>\n <div :class=\"classNames\">\n <div class=\"ma-app-icon__logo\">\n <span @click=\"handleClose\" v-if=\"props.closable\" class=\"ma-app-icon-closable\">\n <ma-icon size=\"xs\" :name=\"'close-circle'\"></ma-icon>\n </span>\n <img class=\"ma-app-icon-img\" :src=\"props.appIcon\"/>\n <span v-if=\"props?.platform\" class=\"ma-app-icon-platform\">\n <ma-icon size=\"xs\" :name=\"platformIcon\"></ma-icon>\n </span>\n </div>\n <div class=\"ma-app-icon__text\">\n <span class=\"ma-app-name\" v-if=\"props?.appName\">\n {{props.appName}}\n </span>\n <span class=\"ma-app-description\" v-if=\"props?.appDescription\">\n {{props.appDescription}}\n </span>\n </div>\n </div>\n</template>\n<style lang=\"scss\" src=\"./assets/styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaRadioGroup',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { RadioGroup, type RadioGroupProps } from 'ant-design-vue';\n\nexport interface MaRadioGroupProps extends RadioGroupProps {}\ndefineProps<MaRadioGroupProps>();\n\n</script>\n<template>\n <RadioGroup\n v-bind=\"$attrs\"\n prefix-cls=\"antd-radio\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </RadioGroup>\n </template>\n","<script lang=\"ts\">\n export default {\n name: 'MaBadge',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed } from 'vue';\nimport { MaBadgePropVariant, MaBadgePropType, MaBadgePropSize } from \"./types\";\nimport MaIcon from \"../icon/index.vue\";\n\nexport interface MaBadgeProps {\n type?: MaBadgePropType;\n variant?: MaBadgePropVariant;\n size?: MaBadgePropSize;\n icon?: string;\n iconAlignment?: string;\n}\n\nconst props = withDefaults(defineProps<MaBadgeProps>(), {\n type: 'primary',\n variant: 'dark',\n size: 'medium',\n iconAlignment: 'left',\n});\n\nconst badgeClass = computed(() => {\n return [\n 'ma-badge',\n `ma-badge--${props.variant}--${props.type}`,\n `ma-badge--${props.size}`,\n {\n 'ma-badge--icon-right': props.iconAlignment === 'right'\n }\n ];\n});\n</script>\n<template>\n <div :class=\"badgeClass\">\n <ma-icon :name=\"props?.icon\" v-if=\"props?.icon\" />\n <slot />\n </div>\n </template>\n<style lang=\"scss\" src=\"./styles.scss\"></style>\n","<script lang=\"ts\">\n export default {\n name: 'MaAlert',\n }\n</script>\n<script lang=\"ts\" setup>\nimport { computed, withDefaults, } from 'vue';\nimport { Alert, AlertProps } from \"ant-design-vue\";\nimport { MaAlertPropVariant, MaAlertPropType } from \"./types\";\n\nimport MaIcon from '../icon/index.vue';\n\nexport interface MaAlertProps extends Omit<AlertProps, 'type' | 'message' | 'closable' | 'showIcon'> { // message, closable and showIcon added because storybook build throwing error and it is open issue on storybook!\n variant?: MaAlertPropVariant;\n type?: MaAlertPropType;\n message?: string,\n closable?: boolean,\n showIcon?: boolean,\n description?: string,\n}\n\n\nconst props = withDefaults(defineProps<MaAlertProps>(), {\n variant: \"dark\",\n type: \"primary\",\n});\n\nconst alertClass = computed(() => {\n return [`ma-alert ma-alert--${props.variant}--${props.type}`];\n});\n</script>\n<template>\n <Alert\n v-bind=\"$attrs\"\n :class=\"alertClass\"\n :description=\"description\"\n :message=\"message\"\n :closable=\"closable\"\n :showIcon=\"showIcon\"\n prefix-cls=\"antd-alert\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n <template #closeIcon>\n <MaIcon name=\"close\" />\n </template>\n <template #message>\n <slot></slot>\n </template>\n </Alert>\n </template>\n<style lang=\"scss\" src=\"./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","MaInputType","MaInputSize","currencySymbols","currencyOptions","VNodes","_","attrs","filterTerm","slots","useSlots","customFilterTerm","isOpen","isCustomRender","modelValue","dropdownClassNames","suffixIcon","handleClick","dropdownVisibleChange","visible","antSearchStatus","inputType","inputClass","amountCurrencySymbol","amountCurrencyValue","inputComponent","AInputPassword","AInput","addonBefore","handleChange","e","handleCurrencyChange","input","watch","focus","handleInput","activeInput","inputValues","index","singleInputPlaceholder","isCodeNumeric","charCode","handleFocus","itemNumber","handleKeydown","event","inputKey","handleSingleInputUpdate","focusPrevInput","focusNextInput","inputValue","inputIndex","handleOnPaste","pastedData","radioClass","platformIcon","handleClose","badgeClass","alertClass"],"mappings":"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"}
|