@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
84 lines (83 loc) • 2.74 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const input_group = require("../../common/mixins/input_group.cjs");
const _pluginVue2_normalizer = require("../../_virtual/_plugin-vue2_normalizer.cjs");
const validation_messages = require("../validation_messages/validation_messages.vue.cjs");
const _sfc_main = {
name: "DtInputGroup",
components: { DtValidationMessages: validation_messages.default },
mixins: [input_group.InputGroupMixin],
props: {
/**
* A data qa tag for the input group
*/
dataQaGroup: {
type: String,
default: "input-group"
},
/**
* A data qa tag for the input group legend
*/
dataQaGroupLegend: {
type: String,
default: "input-group-legend"
},
/**
* A data qa tag for the input group messages
*/
dataQaGroupMessages: {
type: String,
default: "input-group-messages"
}
},
emits: [
/**
* Native input event
*
* @event input
*/
"input"
],
data() {
return {
internalValue: this.value,
// wrap values in object to make reactive
provideObj: {
value: this.value
}
};
},
watch: {
value(newValue) {
this.internalValue = newValue;
},
/*
* watching value to support 2 way binding for slotted inputs.
* need this to pass value to slotted inputs if modified outside
* input group.
*/
internalValue(newInternalValue) {
this.provideObj.value = newInternalValue;
}
},
methods: {
getMessageKey(type, index) {
return `input-group-message-${type}-${index}-${this.id}`;
}
}
};
var _sfc_render = function render() {
var _vm = this, _c = _vm._self._c;
return _c("fieldset", { staticClass: "d-input-group__fieldset", attrs: { "data-qa": _vm.dataQaGroup } }, [_vm.$slots.legend || _vm.legend ? _c("legend", _vm._b({ class: ["d-label", _vm.legendClass], attrs: { "data-qa": _vm.dataQaGroupLegend } }, "legend", _vm.legendChildProps, false), [_vm._t("legend", function() {
return [_vm._v(" " + _vm._s(_vm.legend) + " ")];
})], 2) : _vm._e(), _vm._t("default"), _c("dt-validation-messages", _vm._b({ class: _vm.messagesClass, attrs: { "validation-messages": _vm.formattedMessages, "show-messages": _vm.showMessages, "data-qa": _vm.dataQaGroupMessages } }, "dt-validation-messages", _vm.messagesChildProps, false))], 2);
};
var _sfc_staticRenderFns = [];
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.default(
_sfc_main,
_sfc_render,
_sfc_staticRenderFns
);
const DtInputGroup = __component__.exports;
exports.default = DtInputGroup;
//# sourceMappingURL=input_group.vue.cjs.map