{"version":3,"file":"BInput-Cl0TqXfR-E1Qe13TQ.js","sources":["../../../frontend/vue_storefront/dist/BInput-Cl0TqXfR.js"],"sourcesContent":["import { n } from \"./index-g-P9-EaA.js\";\nconst a = {\n sm: \"sm\",\n base: \"base\",\n lg: \"lg\"\n};\nfunction u() {\n return document ? document.body.hasAttribute(\"dir\") && document.body.getAttribute(\"dir\") === \"rtl\" : !1;\n}\nconst i = {\n name: \"BInput\",\n props: {\n /**\n * Whether it has errors or not\n */\n hasErrors: {\n type: Boolean,\n default: !1\n },\n /**\n * Input value\n */\n value: {\n type: [String, Number],\n default: \"\"\n },\n /**\n * An array of errors\n */\n errors: {\n type: Array,\n default: () => []\n },\n /**\n * Value to be passed to `<input>`'s type\n */\n type: {\n type: String,\n default: \"text\"\n },\n /**\n * Text to be displayed on the left side of the input\n */\n size: {\n type: String,\n default: a.base,\n validator: (r) => Object.values(a).includes(r)\n },\n /**\n * Text to be displayed on the left side of the input\n */\n suffix: {\n type: String,\n default: \"\"\n },\n /**\n * Text to be displayed on the right side of the input\n */\n prefix: {\n type: String,\n default: \"\"\n },\n /**\n * Value to be passed to `<input>`'s disabled\n */\n disabled: {\n type: Boolean,\n default: !1\n },\n /**\n * It takes the full width if this prop is `true`\n */\n block: {\n type: Boolean,\n default: !0\n },\n /**\n * Displays a counter on the footer and limits input to the value of this prop.\n */\n maxlength: {\n type: Number,\n default: null\n },\n inputId: {\n type: String,\n default: null\n },\n customErrors: {\n type: Object,\n default: () => ({})\n },\n placeholder: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n focused: !1,\n counter: 0,\n rtl: !1\n };\n },\n computed: {\n listeners() {\n return {\n ...this.$listeners,\n input: this.onInputChange,\n focusin: this.onInputFocusIn,\n focusout: this.onInputFocusOut\n };\n }\n },\n async mounted() {\n await this.$nextTick();\n const r = this.value ? this.value : \"\";\n this.updateCounter(r), this.rtl = u();\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n updateCounter(r) {\n this.maxlength && (this.counter = this.maxlength - r.length);\n },\n onInputFocusIn() {\n this.focused = !0;\n },\n onInputFocusOut() {\n this.focused = !1;\n },\n onInputChange({ target: r }) {\n if (this.type === \"number\") {\n const t = parseFloat(r.value);\n this.$emit(\"input\", t);\n return;\n }\n this.updateCounter(r.value), this.$emit(\"input\", r.value);\n }\n }\n};\nvar l = function() {\n var t = this, e = t._self._c;\n return e(\"div\", [e(\"div\", { staticClass: \"flex\", class: `size-${t.size}` }, [t._t(\"before\"), t.prefix ? e(\"div\", { staticClass: \"prefix whitespace-nowrap bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-white dark:border-gray-700\", class: t.focused ? \"border-primary focused\" : \"\", attrs: { title: t.prefix, \"data-test\": \"prefix\" } }, [e(\"span\", { staticClass: \"w-full truncate\" }, [t._v(\" \" + t._s(t.prefix) + \" \")])]) : t._e(), e(\"input\", t._g(t._b({ ref: \"input\", staticClass: \"b-input form-input focus:border-primary rounded dark:bg-gray-800 dark:border-gray-700 dark:text-white\", class: {\n \"rounded-r-none\": t.suffix && !t.rtl || t.prefix && t.rtl,\n \"bg-gray-100\": t.disabled,\n \"bg-white\": !t.disabled,\n \"w-full\": t.block,\n \"rounded-l-none\": t.prefix && !t.rtl || t.suffix && t.rtl,\n \"border-red-500 dark:border-red-500\": t.errors.length > 0 || t.hasErrors\n }, attrs: { id: t.inputId, disabled: t.disabled, type: t.type, placeholder: t.placeholder }, domProps: { value: t.value } }, \"input\", t.$attrs, !1), t.listeners)), t.suffix ? e(\"div\", { staticClass: \"suffix bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-white whitespace-nowrap\", class: t.focused ? \"border-primary focused\" : \"\", attrs: { \"data-test\": \"suffix\", title: t.suffix } }, [e(\"span\", { staticClass: \"w-full truncate\" }, [t._v(\" \" + t._s(t.suffix) + \" \")])]) : t._e(), t._t(\"after\")], 2), e(\"div\", { staticClass: \"flex justify-between\" }, [t.errors.length > 0 ? e(\"ul\", { attrs: { \"data-test\": \"errors\" } }, t._l(t.errors, function(s) {\n return e(\"li\", { key: s, staticClass: \"text-red-500 text-sm mt-1\", attrs: { \"data-test\": \"error\" } }, [t._v(\" \" + t._s(s) + \" \")]);\n }), 0) : t._e(), t.maxlength ? e(\"div\", { staticClass: \"text-gray-700 text-sm ml-auto mt-1 font-light\" }, [t._v(\" Characters left: \"), e(\"span\", { class: [t.counter <= 0 ? \"text-red-500\" : t.counter < 11 ? \"text-orange-500\" : \"\"], attrs: { \"data-test\": \"max-length-counter\" } }, [t._v(\" \" + t._s(t.counter) + \" \")])]) : t._e()])]);\n}, o = [], d = /* @__PURE__ */ n(\n i,\n l,\n o,\n !1,\n null,\n \"908da7d5\"\n);\nconst c = d.exports;\nexport {\n c as B\n};\n"],"names":["a","r","t","l","s","o","d","n","c"],"mappings":"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"}