UNPKG

@meve/ui

Version:

Argon design system components library

70 lines (62 loc) 2.02 kB
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import FormDetails from '../form-details'; import { createNamespace } from '../utils/create'; import { props } from './props'; import { ValidationMixin } from '../utils/mixins/validation'; import { createChildrenMixin } from '../utils/mixins/relation'; var _createNamespace = createNamespace('form-item'), createComponent = _createNamespace.createComponent, namespace = _createNamespace.namespace; var FormItemPlugin = createComponent({ mixins: [ValidationMixin, createChildrenMixin('form', { childrenKey: 'formItems' })], props: props, watch: { errorMessage: function errorMessage(_errorMessage) { this.$emit('error-message-change', _errorMessage); } }, methods: { // expose validate: function validate() { var _this = this; return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _this.validateRules(_this.rules, _this.value); case 2: case "end": return _context.stop(); } } }, _callee); }))(); }, renderLabel: function renderLabel() { var h = this.$createElement; if (this.label) { return h("div", { "class": namespace('__label') }, [this.label]); } } }, render: function render() { var h = arguments[0]; var errorMessage = this.errorMessage; return h("div", { "class": namespace() }, [this.renderLabel(), this.slots(), h(FormDetails, { "attrs": { "errorMessage": errorMessage } })]); } }); export var _FormItemComponent = FormItemPlugin; export default FormItemPlugin;