"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props")); var _utils = require("../utils"); var _functional = require("../utils/functional"); var _router = require("../utils/router"); var _shared = require("./shared"); var _icon = _interopRequireDefault(require("../icon")); // Utils // Components var _createNamespace = (0, _utils.createNamespace)('cell'), createComponent = _createNamespace[0], bem = _createNamespace[1]; function Cell(h, props, slots, ctx) { var _props$clickable; var icon = props.icon, size = props.size, title = props.title, label = props.label, value = props.value, isLink = props.isLink; var showTitle = slots.title || (0, _utils.isDef)(title); function Label() { var showLabel = slots.label || (0, _utils.isDef)(label); if (showLabel) { return h("div", { "class": [bem('label'), props.labelClass] }, [slots.label ? slots.label() : label]); } } function Title() { if (showTitle) { return h("div", { "class": [bem('title'), props.titleClass], "style": props.titleStyle }, [slots.title ? slots.title() : h("span", [title]), Label()]); } } function Value() { var showValue = slots.default || (0, _utils.isDef)(value); if (showValue) { return h("div", { "class": [bem('value', { alone: !showTitle }), props.valueClass] }, [slots.default ? slots.default() : h("span", [value])]); } } function LeftIcon() { if (slots.icon) { return slots.icon(); } if (icon) { return h(_icon.default, { "class": bem('left-icon'), "attrs": { "name": icon, "classPrefix": props.iconPrefix } }); } } function RightIcon() { var rightIconSlot = slots['right-icon']; if (rightIconSlot) { return rightIconSlot(); } if (isLink) { var arrowDirection = props.arrowDirection; return h(_icon.default, { "class": bem('right-icon'), "attrs": { "name": arrowDirection ? "arrow-" + arrowDirection : 'arrow' } }); } } function onClick(event) { (0, _functional.emit)(ctx, 'click', event); (0, _router.functionalRoute)(ctx); } var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink; var classes = { clickable: clickable, center: props.center, required: props.required, borderless: !props.border }; if (size) { classes[size] = size; } return h("div", (0, _babelHelperVueJsxMergeProps.default)([{ "class": bem(classes), "attrs": { "role": clickable ? 'button' : null, "tabindex": clickable ? 0 : null }, "on": { "click": onClick } }, (0, _functional.inherit)(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]); } Cell.props = (0, _extends2.default)({}, _shared.cellProps, _router.routeProps); var _default = createComponent(Cell); exports.default = _default;