@mobileaction/action-kit 1.0.18 → 1.0.20
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 +25 -25
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as h, computed as p, defineAsyncComponent as K, openBlock as n, createBlock as d, resolveDynamicComponent as E, unref as a, normalizeClass as
|
|
1
|
+
import { defineComponent as h, computed as p, defineAsyncComponent as K, openBlock as n, createBlock as d, resolveDynamicComponent as E, unref as a, normalizeClass as D, mergeProps as w, createSlots as B, renderList as I, withCtx as g, renderSlot as $, createVNode as b, Transition as G, createTextVNode as U, toDisplayString as x, createElementBlock as f, isRef as P, createCommentVNode as _, createElementVNode as z, ref as V, normalizeProps as Y, guardReactiveProps as W, useSlots as Q, Fragment as L, watch as O } from "vue";
|
|
2
2
|
import { Button as H, Switch as X, Tooltip as Z, Form as ss, FormItem as es, Avatar as os, Select as ts, InputPassword as as, Input as ns, ConfigProvider as is, Textarea as ls, SelectOption as rs, Checkbox as cs, CheckboxGroup as ps, Radio as ms, RadioGroup as gs, Alert as us } from "ant-design-vue";
|
|
3
3
|
const q = (o, e) => {
|
|
4
4
|
const s = o[e];
|
|
@@ -35,7 +35,7 @@ const q = (o, e) => {
|
|
|
35
35
|
{ "animate-spin": e.spin }
|
|
36
36
|
]);
|
|
37
37
|
return (l, r) => (n(), d(E(a(i)), {
|
|
38
|
-
class:
|
|
38
|
+
class: D(a(t))
|
|
39
39
|
}, null, 8, ["class"]));
|
|
40
40
|
}
|
|
41
41
|
}), vs = {
|
|
@@ -208,7 +208,7 @@ const ys = {
|
|
|
208
208
|
}
|
|
209
209
|
]);
|
|
210
210
|
return (l, r) => (n(), f("div", {
|
|
211
|
-
class:
|
|
211
|
+
class: D(a(t))
|
|
212
212
|
}, [
|
|
213
213
|
b(a(X), w({
|
|
214
214
|
class: "ma-toggle__switch",
|
|
@@ -271,7 +271,7 @@ const ws = ["aria-checked", "disabled"], Cs = {
|
|
|
271
271
|
disabled: s.disabled
|
|
272
272
|
}), [
|
|
273
273
|
z("span", {
|
|
274
|
-
class:
|
|
274
|
+
class: D({ active: s.active === s.leftValue }),
|
|
275
275
|
onClick: m[0] || (m[0] = (y) => l(s.leftValue))
|
|
276
276
|
}, [
|
|
277
277
|
b(v, {
|
|
@@ -279,7 +279,7 @@ const ws = ["aria-checked", "disabled"], Cs = {
|
|
|
279
279
|
}, null, 8, ["name"])
|
|
280
280
|
], 2),
|
|
281
281
|
z("span", {
|
|
282
|
-
class:
|
|
282
|
+
class: D({ active: s.active === s.rightValue }),
|
|
283
283
|
onClick: m[1] || (m[1] = (y) => l(s.rightValue))
|
|
284
284
|
}, [
|
|
285
285
|
b(v, {
|
|
@@ -414,12 +414,12 @@ const Ms = {
|
|
|
414
414
|
{ label: "JPY", value: "JPY" }
|
|
415
415
|
], As = {
|
|
416
416
|
name: "MaAvatar"
|
|
417
|
-
},
|
|
417
|
+
}, Ds = /* @__PURE__ */ h({
|
|
418
418
|
...As,
|
|
419
419
|
setup(o) {
|
|
420
420
|
return (e, s) => (n(), d(a(os), Y(W(e.$attrs)), null, 16));
|
|
421
421
|
}
|
|
422
|
-
}),
|
|
422
|
+
}), Fs = { class: "dropdown-wrapper" }, Ps = { class: "mobile-header" }, js = /* @__PURE__ */ z("label", null, "Select", -1), Rs = {
|
|
423
423
|
name: "MaDropdownRender"
|
|
424
424
|
}, Ts = /* @__PURE__ */ h({
|
|
425
425
|
...Rs,
|
|
@@ -445,7 +445,7 @@ const Ms = {
|
|
|
445
445
|
}), l = () => {
|
|
446
446
|
e("closeDropdown");
|
|
447
447
|
};
|
|
448
|
-
return (r, m) => (n(), f("div",
|
|
448
|
+
return (r, m) => (n(), f("div", Fs, [
|
|
449
449
|
z("div", Ps, [
|
|
450
450
|
b(v, {
|
|
451
451
|
size: "lg",
|
|
@@ -533,7 +533,7 @@ const Ms = {
|
|
|
533
533
|
!s?.mode && (i?.prefixIcon || s?.prefixIcon) ? "ma-select-dropdown--has-prefix" : null
|
|
534
534
|
].join(" ")), A = p(() => s?.loading ? "loader" : s?.suffixIcon), S = () => {
|
|
535
535
|
l.value = !0;
|
|
536
|
-
},
|
|
536
|
+
}, F = (u) => {
|
|
537
537
|
l.value = u, t.value = "";
|
|
538
538
|
}, j = p(() => !r.value && s?.showSearch), c = () => typeof window.orientation < "u" || navigator.userAgent.indexOf("Mobile") !== -1 ? window.innerHeight : 288, k = () => {
|
|
539
539
|
l.value = !1;
|
|
@@ -561,7 +561,7 @@ const Ms = {
|
|
|
561
561
|
size: s?.size,
|
|
562
562
|
open: l.value,
|
|
563
563
|
onClick: S,
|
|
564
|
-
onDropdownVisibleChange:
|
|
564
|
+
onDropdownVisibleChange: F,
|
|
565
565
|
"prefix-cls": "antd-select"
|
|
566
566
|
}), B({
|
|
567
567
|
suffixIcon: g(() => [
|
|
@@ -702,13 +702,13 @@ const Es = ["for"], Gs = {
|
|
|
702
702
|
}
|
|
703
703
|
}), N = p(() => s.type === M.password ? as : ns), A = p(() => s.type === M.url ? "https" : s?.addonBefore), S = (c) => {
|
|
704
704
|
e("change", c);
|
|
705
|
-
},
|
|
705
|
+
}, F = (c) => {
|
|
706
706
|
e("currency-change", c);
|
|
707
707
|
}, j = () => {
|
|
708
708
|
i.value.focus();
|
|
709
709
|
};
|
|
710
710
|
return (c, k) => (n(), f("div", {
|
|
711
|
-
class:
|
|
711
|
+
class: D(a(l))
|
|
712
712
|
}, [
|
|
713
713
|
$(c.$slots, "title"),
|
|
714
714
|
s.title ? (n(), f("label", {
|
|
@@ -742,7 +742,7 @@ const Es = ["for"], Gs = {
|
|
|
742
742
|
name: s.prefixIcon
|
|
743
743
|
}, null, 8, ["name"])) : a(m) ? (n(), f(L, { key: 1 }, [
|
|
744
744
|
U(x(a(m)), 1)
|
|
745
|
-
], 64)) : s.type === a(M).userInfo ? (n(), d(
|
|
745
|
+
], 64)) : s.type === a(M).userInfo ? (n(), d(Ds, {
|
|
746
746
|
key: 2,
|
|
747
747
|
src: s.avatarUrl,
|
|
748
748
|
disabled: s.disabled
|
|
@@ -753,7 +753,7 @@ const Es = ["for"], Gs = {
|
|
|
753
753
|
key: 0,
|
|
754
754
|
value: a(y),
|
|
755
755
|
"onUpdate:value": k[0] || (k[0] = (u) => P(y) ? y.value = u : null),
|
|
756
|
-
onChange:
|
|
756
|
+
onChange: F,
|
|
757
757
|
dropdownClassName: "ma-input__input__ma-select__dropdown",
|
|
758
758
|
options: a(Vs),
|
|
759
759
|
disabled: s.disabled,
|
|
@@ -940,7 +940,7 @@ const Qs = {
|
|
|
940
940
|
switch (c.code) {
|
|
941
941
|
case "Backspace":
|
|
942
942
|
case "Delete":
|
|
943
|
-
|
|
943
|
+
F("", k), S();
|
|
944
944
|
break;
|
|
945
945
|
case "ArrowLeft":
|
|
946
946
|
c.preventDefault(), S();
|
|
@@ -949,14 +949,14 @@ const Qs = {
|
|
|
949
949
|
c.preventDefault(), A();
|
|
950
950
|
break;
|
|
951
951
|
default:
|
|
952
|
-
m(c.code) && (c.preventDefault(),
|
|
952
|
+
m(c.code) && (c.preventDefault(), F(c.key, k), A());
|
|
953
953
|
break;
|
|
954
954
|
}
|
|
955
955
|
}, A = () => {
|
|
956
956
|
i.value < s.length && i.value++;
|
|
957
957
|
}, S = () => {
|
|
958
958
|
s.length >= i.value && i.value > 0 && i.value--;
|
|
959
|
-
},
|
|
959
|
+
}, F = (c, k) => {
|
|
960
960
|
t.value[k] = c;
|
|
961
961
|
}, j = (c, k) => {
|
|
962
962
|
c.preventDefault();
|
|
@@ -1036,8 +1036,8 @@ const te = ["aria-checked", "disabled"], ae = ["src", "alt"], ne = { class: "ma-
|
|
|
1036
1036
|
},
|
|
1037
1037
|
emits: ["update:checked", "change"],
|
|
1038
1038
|
setup(o, { emit: e }) {
|
|
1039
|
-
const s = o, i = () => {
|
|
1040
|
-
e("change", !s.checked), e("update:checked", !s.checked);
|
|
1039
|
+
const s = o, i = (l) => {
|
|
1040
|
+
l.preventDefault(), e("change", !s.checked), e("update:checked", !s.checked);
|
|
1041
1041
|
}, t = p(() => [
|
|
1042
1042
|
"ma-app-track-button",
|
|
1043
1043
|
{
|
|
@@ -1126,7 +1126,7 @@ const pe = { class: "ma-app-icon__logo" }, me = ["src"], ge = {
|
|
|
1126
1126
|
e("close");
|
|
1127
1127
|
};
|
|
1128
1128
|
return (r, m) => (n(), f("div", {
|
|
1129
|
-
class:
|
|
1129
|
+
class: D(a(t))
|
|
1130
1130
|
}, [
|
|
1131
1131
|
z("div", pe, [
|
|
1132
1132
|
s.closable ? (n(), f("span", {
|
|
@@ -1159,7 +1159,7 @@ const pe = { class: "ma-app-icon__logo" }, me = ["src"], ge = {
|
|
|
1159
1159
|
});
|
|
1160
1160
|
const _e = {
|
|
1161
1161
|
name: "MaRadioGroup"
|
|
1162
|
-
},
|
|
1162
|
+
}, De = /* @__PURE__ */ h({
|
|
1163
1163
|
..._e,
|
|
1164
1164
|
setup(o) {
|
|
1165
1165
|
return (e, s) => (n(), d(a(gs), w(e.$attrs, { "prefix-cls": "antd-radio" }), B({ _: 2 }, [
|
|
@@ -1173,7 +1173,7 @@ const _e = {
|
|
|
1173
1173
|
}
|
|
1174
1174
|
}), he = {
|
|
1175
1175
|
name: "MaBadge"
|
|
1176
|
-
},
|
|
1176
|
+
}, Fe = /* @__PURE__ */ h({
|
|
1177
1177
|
...he,
|
|
1178
1178
|
props: {
|
|
1179
1179
|
type: { default: "primary" },
|
|
@@ -1192,7 +1192,7 @@ const _e = {
|
|
|
1192
1192
|
}
|
|
1193
1193
|
]);
|
|
1194
1194
|
return (i, t) => (n(), f("div", {
|
|
1195
|
-
class:
|
|
1195
|
+
class: D(a(s))
|
|
1196
1196
|
}, [
|
|
1197
1197
|
e?.icon ? (n(), d(v, {
|
|
1198
1198
|
key: 0,
|
|
@@ -1254,7 +1254,7 @@ export {
|
|
|
1254
1254
|
Pe as MaAlert,
|
|
1255
1255
|
Ae as MaAppIcon,
|
|
1256
1256
|
Ve as MaAppTrackButton,
|
|
1257
|
-
|
|
1257
|
+
Fe as MaBadge,
|
|
1258
1258
|
_s as MaButton,
|
|
1259
1259
|
Ne as MaCheckbox,
|
|
1260
1260
|
Se as MaCheckboxGroup,
|
|
@@ -1264,7 +1264,7 @@ export {
|
|
|
1264
1264
|
Ks as MaInput,
|
|
1265
1265
|
Me as MaNumericInput,
|
|
1266
1266
|
oe as MaRadio,
|
|
1267
|
-
|
|
1267
|
+
De as MaRadioGroup,
|
|
1268
1268
|
qs as MaSelect,
|
|
1269
1269
|
ze as MaSelectOption,
|
|
1270
1270
|
Ce as MaSwitch,
|
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/select/components/option.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 'ma-button--disabled': isDisabled.value,\n },\n ];\n});\n\nconst hasIcon = computed(() => props?.loading || props?.icon);\nconst isDisabled = computed(() => props?.disabled || props?.loading);\n\n</script>\n<template>\n <a-button\n :class=\"buttonClass\"\n :href=\"props.href\"\n :target=\"props.target\"\n :disabled=\"isDisabled\"\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=\"hasIcon\">\n <ma-icon\n class=\"ma-button__loader\"\n spin\n name=\"loader\"\n v-if=\"props?.loading\" />\n <ma-icon :name=\"props?.icon\" v-else />\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 showClose?: 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 'ma-track-button--show-close': props?.showClose,\n },\n ];\n});\n\nconst iconName = computed(\n () => props.loading? 'loader': props?.showClose? 'close-circle': 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\";\nimport { ref } from \"vue\";\n\nconst form = ref();\n\nconst validate = () => form.value.validate();\nconst clearValidate = () => form.value.clearValidate();\nconst resetFields = () => form.value.resetFields();\nconst scrollToField = () => form.value.scrollToField();\nconst validateFields = () => form.value.validateFields();\n\ndefineExpose({\n validate,\n clearValidate,\n resetFields,\n scrollToField,\n validateFields,\n});\n\n</script>\n<template>\n <a-form\n v-bind=\"$attrs\"\n class=\"ma-form\"\n prefix-cls=\"antd-form\"\n ref=\"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\";\nimport MaButton from \"../../button/index.vue\";\nimport MaIcon from \"../../icon/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\", \"closeDropdown\"]);\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\nconst close = () => {\n emits('closeDropdown');\n}\n\n</script>\n\n<template>\n <div class=\"dropdown-wrapper\">\n <div class=\"mobile-header\">\n <ma-icon size=\"lg\" name=\"close-circle\" @click=\"close\" />\n <label>Select</label>\n <ma-button variant=\"grey-link\" @click=\"close\">Done</ma-button>\n </div>\n <ma-input\n v-model:value=\"filterTerm\"\n autofocus\n placeholder=\"Search\"\n prefix-icon=\"search-normal\"\n />\n <v-nodes :vnodes=\"menu\" />\n </div>\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\nconst getListHeight = (): number => (typeof window.orientation !== \"undefined\") || (navigator.userAgent.indexOf('Mobile') !== -1)? window.innerHeight : 288;\n\nconst closeDropdown = () => {\n isOpen.value = false\n};\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 :list-height=\"getListHeight()\"\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\n v-model:filter=\"customFilterTerm\"\n :menu=\"menu\"\n @close-dropdown=\"closeDropdown\"\n />\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 inheritAttrs: false\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed, ref } 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 inputRef = ref(null);\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 'ma-input--filled': props?.value,\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\nconst focusElement = () => {\n inputRef.value.focus();\n}\n</script>\n<template>\n <div :class=\"inputClass\">\n <slot name=\"title\" />\n <label @click=\"focusElement\" class=\"ma-input__title\" v-if=\"props.title\" :for=\"($attrs?.id as string)\">\n {{ props.title }}\n </label>\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 ref=\"inputRef\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n\n <template #prefix>\n <ma-icon\n size=\"xs\"\n :name=\"props.prefixIcon\"\n v-if=\"props.prefixIcon\"\n />\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 #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 <ma-icon\n size=\"xs\"\n :name=\"props.suffixIcon\"\n v-if=\"props.suffixIcon\"\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 :disabled=\"props?.disabled\"\n :placeholder=\"props?.placeholder\"\n @change=\"handleChange\"\n :rows=\"5\"\n prefix-cls=\"antd-input\"\n ref=\"inputRef\"\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\">\nexport default {\n name: 'MaSelectOption',\n};\n</script>\n<script setup lang=\"ts\">\nimport { SelectOption } from \"ant-design-vue\";\n</script>\n<template>\n <select-option\n v-bind=\"$attrs\"\n class=\"ma-select-option\"\n prefix-cls=\"antd-select\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </select-option>\n</template>\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 inputmode=\"numeric\"\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 .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--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 === 'ios' ? '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'> { // message, closable 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 description?: string,\n icon?: 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\nconst showIcon = computed(() => !!props?.icon);\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\" size=\"xs\" />\n </template>\n <template #icon>\n <MaIcon :name=\"icon\" size=\"lg\" />\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","isDisabled","hasIcon","buttonClasses","iconName","iconSize","value","checked","emits","setValue","data","overlayClassNames","isVisible","ref","hide","form","expose","MaInputType","MaInputSize","currencySymbols","currencyOptions","VNodes","_","attrs","filterTerm","close","slots","useSlots","customFilterTerm","isOpen","isCustomRender","modelValue","dropdownClassNames","suffixIcon","handleClick","dropdownVisibleChange","visible","antSearchStatus","getListHeight","closeDropdown","inputRef","inputType","inputClass","amountCurrencySymbol","amountCurrencyValue","inputComponent","AInputPassword","AInput","addonBefore","handleChange","e","handleCurrencyChange","focusElement","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","showIcon"],"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/select/components/option.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 'ma-button--disabled': isDisabled.value,\n },\n ];\n});\n\nconst hasIcon = computed(() => props?.loading || props?.icon);\nconst isDisabled = computed(() => props?.disabled || props?.loading);\n\n</script>\n<template>\n <a-button\n :class=\"buttonClass\"\n :href=\"props.href\"\n :target=\"props.target\"\n :disabled=\"isDisabled\"\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=\"hasIcon\">\n <ma-icon\n class=\"ma-button__loader\"\n spin\n name=\"loader\"\n v-if=\"props?.loading\" />\n <ma-icon :name=\"props?.icon\" v-else />\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 showClose?: 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 'ma-track-button--show-close': props?.showClose,\n },\n ];\n});\n\nconst iconName = computed(\n () => props.loading? 'loader': props?.showClose? 'close-circle': 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\";\nimport { ref } from \"vue\";\n\nconst form = ref();\n\nconst validate = () => form.value.validate();\nconst clearValidate = () => form.value.clearValidate();\nconst resetFields = () => form.value.resetFields();\nconst scrollToField = () => form.value.scrollToField();\nconst validateFields = () => form.value.validateFields();\n\ndefineExpose({\n validate,\n clearValidate,\n resetFields,\n scrollToField,\n validateFields,\n});\n\n</script>\n<template>\n <a-form\n v-bind=\"$attrs\"\n class=\"ma-form\"\n prefix-cls=\"antd-form\"\n ref=\"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\";\nimport MaButton from \"../../button/index.vue\";\nimport MaIcon from \"../../icon/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\", \"closeDropdown\"]);\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\nconst close = () => {\n emits('closeDropdown');\n}\n\n</script>\n\n<template>\n <div class=\"dropdown-wrapper\">\n <div class=\"mobile-header\">\n <ma-icon size=\"lg\" name=\"close-circle\" @click=\"close\" />\n <label>Select</label>\n <ma-button variant=\"grey-link\" @click=\"close\">Done</ma-button>\n </div>\n <ma-input\n v-model:value=\"filterTerm\"\n autofocus\n placeholder=\"Search\"\n prefix-icon=\"search-normal\"\n />\n <v-nodes :vnodes=\"menu\" />\n </div>\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\nconst getListHeight = (): number => (typeof window.orientation !== \"undefined\") || (navigator.userAgent.indexOf('Mobile') !== -1)? window.innerHeight : 288;\n\nconst closeDropdown = () => {\n isOpen.value = false\n};\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 :list-height=\"getListHeight()\"\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\n v-model:filter=\"customFilterTerm\"\n :menu=\"menu\"\n @close-dropdown=\"closeDropdown\"\n />\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 inheritAttrs: false\n }\n</script>\n<script lang=\"ts\" setup>\nimport { withDefaults, computed, ref } 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 inputRef = ref(null);\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 'ma-input--filled': props?.value,\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\nconst focusElement = () => {\n inputRef.value.focus();\n}\n</script>\n<template>\n <div :class=\"inputClass\">\n <slot name=\"title\" />\n <label @click=\"focusElement\" class=\"ma-input__title\" v-if=\"props.title\" :for=\"($attrs?.id as string)\">\n {{ props.title }}\n </label>\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 ref=\"inputRef\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n\n <template #prefix>\n <ma-icon\n size=\"xs\"\n :name=\"props.prefixIcon\"\n v-if=\"props.prefixIcon\"\n />\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 #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 <ma-icon\n size=\"xs\"\n :name=\"props.suffixIcon\"\n v-if=\"props.suffixIcon\"\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 :disabled=\"props?.disabled\"\n :placeholder=\"props?.placeholder\"\n @change=\"handleChange\"\n :rows=\"5\"\n prefix-cls=\"antd-input\"\n ref=\"inputRef\"\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\">\nexport default {\n name: 'MaSelectOption',\n};\n</script>\n<script setup lang=\"ts\">\nimport { SelectOption } from \"ant-design-vue\";\n</script>\n<template>\n <select-option\n v-bind=\"$attrs\"\n class=\"ma-select-option\"\n prefix-cls=\"antd-select\"\n >\n <template v-for=\"(_, slot) in $slots\" v-slot:[slot]>\n <slot :name=\"slot\" />\n </template>\n </select-option>\n</template>\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 inputmode=\"numeric\"\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 .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 = (event: Event) => {\n event.preventDefault();\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--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 === 'ios' ? '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'> { // message, closable 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 description?: string,\n icon?: 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\nconst showIcon = computed(() => !!props?.icon);\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\" size=\"xs\" />\n </template>\n <template #icon>\n <MaIcon :name=\"icon\" size=\"lg\" />\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","isDisabled","hasIcon","buttonClasses","iconName","iconSize","value","checked","emits","setValue","data","overlayClassNames","isVisible","ref","hide","form","expose","MaInputType","MaInputSize","currencySymbols","currencyOptions","VNodes","_","attrs","filterTerm","close","slots","useSlots","customFilterTerm","isOpen","isCustomRender","modelValue","dropdownClassNames","suffixIcon","handleClick","dropdownVisibleChange","visible","antSearchStatus","getListHeight","closeDropdown","inputRef","inputType","inputClass","amountCurrencySymbol","amountCurrencyValue","inputComponent","AInputPassword","AInput","addonBefore","handleChange","e","handleCurrencyChange","focusElement","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","showIcon"],"mappings":"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"}
|