| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- "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 _popup = require("../mixins/popup");
- var _icon = _interopRequireDefault(require("../icon"));
- var _loading = _interopRequireDefault(require("../loading"));
- var _popup2 = _interopRequireDefault(require("../popup"));
- var _use = (0, _utils.use)('actionsheet'),
- sfc = _use[0],
- bem = _use[1];
- function Actionsheet(h, props, slots, ctx) {
- var title = props.title,
- cancelText = props.cancelText;
- var onCancel = function onCancel() {
- (0, _functional.emit)(ctx, 'input', false);
- (0, _functional.emit)(ctx, 'cancel');
- };
- var Header = function Header() {
- return h("div", {
- "class": [bem('header'), 'van-hairline--top-bottom']
- }, [title, h(_icon["default"], {
- "attrs": {
- "name": "close"
- },
- "class": bem('close'),
- "on": {
- "click": onCancel
- }
- })]);
- };
- var Option = function Option(item, index) {
- return h("div", {
- "class": [bem('item', {
- disabled: item.disabled || item.loading
- }), item.className, 'van-hairline--top'],
- "on": {
- "click": function click(event) {
- event.stopPropagation();
- if (!item.disabled && !item.loading) {
- if (item.callback) {
- item.callback(item);
- }
- (0, _functional.emit)(ctx, 'select', item, index);
- }
- }
- }
- }, [item.loading ? h(_loading["default"], {
- "class": bem('loading'),
- "attrs": {
- "size": "20px"
- }
- }) : [h("span", {
- "class": bem('name')
- }, [item.name]), item.subname && h("span", {
- "class": bem('subname')
- }, [item.subname])]]);
- };
- return h(_popup2["default"], (0, _babelHelperVueJsxMergeProps["default"])([{
- "class": bem({
- 'safe-area-inset-bottom': props.safeAreaInsetBottom
- }),
- "attrs": {
- "value": props.value,
- "position": "bottom",
- "overlay": props.overlay,
- "lazyRender": props.lazyRender,
- "getContainer": props.getContainer,
- "closeOnClickOverlay": props.closeOnClickOverlay
- },
- "on": {
- "input": function input(value) {
- (0, _functional.emit)(ctx, 'input', value);
- }
- }
- }, (0, _functional.inherit)(ctx)]), [title ? Header() : props.actions.map(Option), slots["default"] && h("div", {
- "class": bem('content')
- }, [slots["default"]()]), cancelText && h("div", {
- "class": bem('cancel'),
- "on": {
- "click": onCancel
- }
- }, [cancelText])]);
- }
- Actionsheet.props = (0, _extends2["default"])({}, _popup.PopupMixin.props, {
- title: String,
- actions: Array,
- cancelText: String,
- safeAreaInsetBottom: Boolean,
- overlay: {
- type: Boolean,
- "default": true
- },
- closeOnClickOverlay: {
- type: Boolean,
- "default": true
- }
- });
- var _default = sfc(Actionsheet);
- exports["default"] = _default;
|