123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- "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;
|