@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 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 F, 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";
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: F(a(t))
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: F(a(t))
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: F({ active: s.active === s.leftValue }),
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: F({ active: s.active === s.rightValue }),
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
- }, Fs = /* @__PURE__ */ h({
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
- }), Ds = { class: "dropdown-wrapper" }, Ps = { class: "mobile-header" }, js = /* @__PURE__ */ z("label", null, "Select", -1), Rs = {
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", Ds, [
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
- }, D = (u) => {
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: D,
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
- }, D = (c) => {
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: F(a(l))
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(Fs, {
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: D,
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
- D("", k), S();
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(), D(c.key, k), A());
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
- }, D = (c, k) => {
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: F(a(t))
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
- }, Fe = /* @__PURE__ */ h({
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
- }, De = /* @__PURE__ */ h({
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: F(a(s))
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
- De as MaBadge,
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
- Fe as MaRadioGroup,
1267
+ De as MaRadioGroup,
1268
1268
  qs as MaSelect,
1269
1269
  ze as MaSelectOption,
1270
1270
  Ce as MaSwitch,
@@ -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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"}