UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

142 lines (141 loc) 4.44 kB
require("./chunk-CoQrYLCe.js"); const require_keys = require("./keys-durSVUrO.js"); const require_useDefaults = require("./useDefaults-DsLf4iRY.js"); const require_useFormInput = require("./useFormInput-CsR38QR6.js"); let vue = require("vue"); //#region src/components/BFormInput/BFormInput.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = [ "id", "value", "name", "form", "type", "disabled", "placeholder", "required", "autocomplete", "readonly", "min", "max", "step", "list", "aria-required", "aria-invalid" ]; //#endregion //#region src/components/BFormInput/BFormInput.vue var BFormInput_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BFormInput", props: /* @__PURE__ */ (0, vue.mergeModels)({ max: { default: void 0 }, min: { default: void 0 }, step: { default: void 0 }, type: { default: "text" }, ariaInvalid: { type: [Boolean, String], default: void 0 }, autocomplete: { default: void 0 }, autofocus: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, form: { default: void 0 }, formatter: { type: Function, default: void 0 }, id: { default: void 0 }, lazyFormatter: { type: Boolean, default: false }, list: { default: void 0 }, name: { default: void 0 }, placeholder: { default: void 0 }, plaintext: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, required: { type: Boolean, default: false }, size: { default: void 0 }, state: { type: [Boolean, null], default: void 0 }, debounce: { default: 0 }, debounceMaxWait: { default: NaN } }, { "modelValue": { default: "" }, "modelModifiers": {} }), emits: ["update:modelValue"], setup(__props, { expose: __expose }) { const props = require_useDefaults.useDefaults(__props, "BFormInput"); const [modelValue, modelModifiers] = (0, vue.useModel)(__props, "modelValue", { set: (v) => require_useFormInput.normalizeInput(v, modelModifiers) }); const input = (0, vue.useTemplateRef)("_input"); const inInputGroup = (0, vue.inject)(require_keys.inputGroupKey, false); const { computedId, computedAriaInvalid, onInput, onChange, onBlur, stateClass, focus, blur, isDisabled } = require_useFormInput.useFormInput(props, input, modelValue, modelModifiers); const computedClasses = (0, vue.computed)(() => { const isRange = props.type === "range"; const isColor = props.type === "color"; return [stateClass.value, { "form-range": isRange, "form-control": isColor || !props.plaintext && !isRange || isRange && inInputGroup, "form-control-color": isColor, "form-control-plaintext": props.plaintext && !isRange && !isColor, [`form-control-${props.size}`]: !!props.size }]; }); __expose({ blur, element: input, flushDebounce: onBlur, focus }); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("input", { id: (0, vue.unref)(computedId), ref: "_input", value: (0, vue.unref)(modelValue), class: (0, vue.normalizeClass)(computedClasses.value), name: (0, vue.unref)(props).name || void 0, form: (0, vue.unref)(props).form || void 0, type: (0, vue.unref)(props).type, disabled: (0, vue.unref)(isDisabled), placeholder: (0, vue.unref)(props).placeholder, required: (0, vue.unref)(props).required || void 0, autocomplete: (0, vue.unref)(props).autocomplete || void 0, readonly: (0, vue.unref)(props).readonly || (0, vue.unref)(props).plaintext, min: (0, vue.unref)(props).min, max: (0, vue.unref)(props).max, step: (0, vue.unref)(props).step, list: (0, vue.unref)(props).type !== "password" ? (0, vue.unref)(props).list : void 0, "aria-required": (0, vue.unref)(props).required || void 0, "aria-invalid": (0, vue.unref)(computedAriaInvalid), onInput: _cache[0] || (_cache[0] = (...args) => (0, vue.unref)(onInput) && (0, vue.unref)(onInput)(...args)), onChange: _cache[1] || (_cache[1] = (...args) => (0, vue.unref)(onChange) && (0, vue.unref)(onChange)(...args)), onBlur: _cache[2] || (_cache[2] = (...args) => (0, vue.unref)(onBlur) && (0, vue.unref)(onBlur)(...args)) }, null, 42, _hoisted_1); }; } }); //#endregion Object.defineProperty(exports, "BFormInput_default", { enumerable: true, get: function() { return BFormInput_default; } }); //# sourceMappingURL=BFormInput-BuRSGYdY.js.map