"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props")); var _utils = require("../utils"); var _functional = require("../utils/functional"); var _icon = _interopRequireDefault(require("../icon")); var _button = _interopRequireDefault(require("../button")); // Utils // Components var _createNamespace = (0, _utils.createNamespace)('submit-bar'), createComponent = _createNamespace[0], bem = _createNamespace[1], t = _createNamespace[2]; function SubmitBar(h, props, slots, ctx) { var tip = props.tip, price = props.price, tipIcon = props.tipIcon; function Text() { if (typeof price === 'number') { var priceArr = (price / 100).toFixed(props.decimalLength).split('.'); var decimalStr = props.decimalLength ? "." + priceArr[1] : ''; return h("div", { "style": { textAlign: props.textAlign ? props.textAlign : '' }, "class": bem('text') }, [h("span", [props.label || t('label')]), h("span", { "class": bem('price') }, [props.currency, h("span", { "class": bem('price', 'integer') }, [priceArr[0]]), decimalStr]), props.suffixLabel && h("span", { "class": bem('suffix-label') }, [props.suffixLabel])]); } } function Tip() { if (slots.tip || tip) { return h("div", { "class": bem('tip') }, [tipIcon && h(_icon.default, { "class": bem('tip-icon'), "attrs": { "name": tipIcon } }), tip && h("span", { "class": bem('tip-text') }, [tip]), slots.tip && slots.tip()]); } } return h("div", (0, _babelHelperVueJsxMergeProps.default)([{ "class": bem({ unfit: !props.safeAreaInsetBottom }) }, (0, _functional.inherit)(ctx)]), [slots.top && slots.top(), Tip(), h("div", { "class": bem('bar') }, [slots.default && slots.default(), Text(), slots.button ? slots.button() : h(_button.default, { "attrs": { "round": true, "type": props.buttonType, "text": props.loading ? '' : props.buttonText, "color": props.buttonColor, "loading": props.loading, "disabled": props.disabled }, "class": bem('button', props.buttonType), "on": { "click": function click() { (0, _functional.emit)(ctx, 'submit'); } } })])]); } SubmitBar.props = { tip: String, label: String, price: Number, tipIcon: String, loading: Boolean, disabled: Boolean, textAlign: String, buttonText: String, buttonColor: String, suffixLabel: String, safeAreaInsetBottom: { type: Boolean, default: true }, decimalLength: { type: [Number, String], default: 2 }, currency: { type: String, default: '¥' }, buttonType: { type: String, default: 'danger' } }; var _default = createComponent(SubmitBar); exports.default = _default;