mp-colorui
Version:
MP ColorUI 是一款基于 Taro 框架并且联合 Color-UI CSS 库开发的多端 UI 组件库(支持小程序端和H5端)
404 lines (340 loc) • 25.1 kB
JavaScript
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["components/tip/index"],{
/***/ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT&":
/*!*********************************************************************************************************************************************************!*\
!*** ./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT& ***!
\*********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _taroWeapp = __webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js");
var _taroWeapp2 = _interopRequireDefault(_taroWeapp);
var _index = __webpack_require__(/*! ../../lib/index */ "./src/lib/index.ts");
__webpack_require__(/*! ./index.scss */ "./src/components/tip/index.scss");
var _model = __webpack_require__(/*! ../../lib/model */ "./src/lib/model.ts");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var ClTip = function (_Taro$Component) {
_inherits(ClTip, _Taro$Component);
function ClTip() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, ClTip);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ClTip.__proto__ || Object.getPrototypeOf(ClTip)).call.apply(_ref, [this].concat(args))), _this), _this.$usedState = ["anonymousState__temp", "anonymousState__temp2", "anonymousState__temp3", "anonymousState__temp4", "anonymousState__temp5", "anonymousState__temp6", "$compid__1572", "$compid__1573", "showTip", "props", "BG_COLOR_LIST", "isH5", "renderMessage", "children"], _this.customComponents = ["ClText", "ClTip_H5"], _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(ClTip, [{
key: "_constructor",
value: function _constructor(props) {
_get(ClTip.prototype.__proto__ || Object.getPrototypeOf(ClTip.prototype), "_constructor", this).call(this, props);
this.$$refs = new _taroWeapp2.default.RefsArray();
}
}, {
key: "_createData",
value: function _createData() {
var _this2 = this;
this.__state = arguments[0] || this.state || {};
this.__props = arguments[1] || this.props || {};
var __isRunloopRef = arguments[2];
var __prefix = this.$prefix;
;
var _genCompid = (0, _taroWeapp.genCompid)(__prefix + "$compid__1572"),
_genCompid2 = _slicedToArray(_genCompid, 2),
$prevCompid__1572 = _genCompid2[0],
$compid__1572 = _genCompid2[1];
var _genCompid3 = (0, _taroWeapp.genCompid)(__prefix + "$compid__1573"),
_genCompid4 = _slicedToArray(_genCompid3, 2),
$prevCompid__1573 = _genCompid4[0],
$compid__1573 = _genCompid4[1];
var props = this.__props;
var _useState = (0, _taroWeapp.useState)(props.show),
_useState2 = _slicedToArray(_useState, 2),
showTip = _useState2[0],
setShowTip = _useState2[1];
var _useState3 = (0, _taroWeapp.useState)({
top: "auto",
left: "auto",
right: "auto",
bottom: "auto",
transform: "",
arrowTransform: ""
}),
_useState4 = _slicedToArray(_useState3, 2),
distance = _useState4[0],
setDistance = _useState4[1];
var isH5 = _taroWeapp2.default.getEnv() === _taroWeapp2.default.ENV_TYPE.WEB;
var resver2Zero = function resver2Zero(params) {
distance.top = "auto";
distance.left = "auto";
distance.right = "auto";
distance.bottom = "auto";
params.forEach(function (item) {
distance[item.direction] = item.long + "px";
});
return distance;
};
(0, _taroWeapp.useEffect)(function () {
setShowTip(props.show);
}, [props.show]);
(0, _taroWeapp.useEffect)(function () {
function reRender() {
if (_taroWeapp2.default.ENV_TYPE.WEB === _taroWeapp2.default.getEnv()) {
return;
}var query = _taroWeapp2.default.createSelectorQuery().in(this.$scope);
new Promise(function (resolve) {
query.select("#content").boundingClientRect().exec(function (res) {
resolve(res[0]);
});
}).then(function (res) {
query.select("#message").boundingClientRect().exec(function (data) {
var messageData = data[0];
var contentWidth = props.width || 100;
var screenWidth = 750 * _index.screenPercent;
var customDirection = [];
var systemInfo = _taroWeapp2.default.getSystemInfoSync();
var bottomDistance = systemInfo.windowHeight - res.top - res.height;
var leftDistance = screenWidth - res.left - res.width;
var sqrt = Math.sqrt(Math.pow(20 * _index.screenPercent, 2) * 2) / 2;
if (props.direction === "top") {
if (res.top < bottomDistance && res.top < messageData.height) {
props.direction = "bottom";
}customDirection = [{ direction: "bottom", long: 0 }];
console.log(res);
var translateX = (res.width - contentWidth) / 2;
if (res.left < res.right && res.left < screenWidth / 2) {
if (Math.abs(translateX) > res.left) {
translateX = -res.left;
}distance.transform = "translateX(" + translateX + "px) translateY(-" + (res.height + 10) + "px)";
distance.arrowTransform = "translateX(" + (Math.abs(translateX) + res.width / 2 - sqrt) + "px) rotate(45deg) translateY(0)";
} else {
var maxRight = screenWidth - res.left;
if (maxRight < contentWidth) {
translateX = contentWidth - maxRight;
}distance.transform = "translateX(-" + translateX + "px) translateY(-" + (res.height + 10) + "px)";
distance.arrowTransform = "translateX(" + (Math.abs(translateX) + res.width / 2 - sqrt) + "px) rotate(45deg) translateY(30%)";
}
} else if (props.direction === "bottom") {
if (res.top > bottomDistance && bottomDistance < messageData.height) {
props.direction = "bottom";
}customDirection = [{ direction: "left", long: 0 }];
var _translateX = (res.width - contentWidth) / 2;
if (res.left < res.right && res.left < screenWidth / 2) {
if (Math.abs(_translateX) > res.left) {
_translateX = -res.left;
}distance.transform = "translateX(" + _translateX + "px) translateY(" + (res.height + 10) + "px)";
distance.arrowTransform = "translateX(" + (Math.abs(_translateX) + res.width / 2 - sqrt) + "px) rotate(45deg) translateY(0)";
} else {
var _maxRight = screenWidth - res.left;
if (_maxRight < contentWidth) {
_translateX = contentWidth - _maxRight;
}distance.transform = "translateX(-" + _translateX + "px) translateY(" + (res.height + 10) + "px)";
distance.arrowTransform = "translateX(" + (Math.abs(_translateX) + res.width / 2 - sqrt) + "px) rotate(45deg) translateY(-30%)";
}
} else if (props.direction === "left") {
var diffHeight = messageData.height - res.height;
if (res.left < contentWidth + 10 && leftDistance > res.left) {
props.direction = "right";
}customDirection = [{
direction: "right",
long: 0
}];
var moveTop = bottomDistance - (messageData.height / 2 - res.height / 2);
var moveBottom = res.top - (messageData.height / 2 - res.height / 2);
if (moveTop > 0) {
moveTop = 0;
}if (moveBottom > 0) {
moveBottom = 0;
}distance.arrowTransform = "translateY(" + (messageData.height / 2 - moveTop + moveBottom - sqrt) + "px) translateX(30%) rotate(45deg)";
distance.transform = "translateX(" + (-res.width - 10) + "px) translateY(" + (-diffHeight / 2 + moveTop - moveBottom) + "px)";
} else if (props.direction === "right") {
if (leftDistance - 10 < contentWidth && leftDistance < res.left) {
props.direction = "left";
}var _diffHeight = messageData.height - res.height;
if (res.left < contentWidth + 10) {
props.direction = "right";
}customDirection = [{
direction: "left",
long: 0
}];
var _moveTop = bottomDistance - (messageData.height / 2 - res.height / 2);
var _moveBottom = res.top - (messageData.height / 2 - res.height / 2);
if (_moveTop > 0) {
_moveTop = 0;
}if (_moveBottom > 0) {
_moveBottom = 0;
}distance.arrowTransform = "translateY(" + (messageData.height / 2 - _moveTop + _moveBottom - sqrt) + "px) translateX(-30%) rotate(45deg)";
distance.transform = "translateX(" + (res.width + 10) + "px) translateY(" + (-_diffHeight / 2 + _moveTop - _moveBottom) + "px)";
}
Object.assign(distance, resver2Zero(customDirection));
setDistance(distance);
});
});
}
reRender.call(_this2);
}, [props.width, props.direction, showTip]);
this.anonymousFunc0 = function () {
if (props.mode === "click") {
var show = !showTip;
setShowTip(show);
props.onChange && props.onChange(show);
}
};
this.anonymousFunc1 = function () {
if (props.mode === "touch") {
var show = !showTip;
setShowTip(show);
props.onChange && props.onChange(show);
}
};
this.anonymousFunc2 = function () {
if (props.mode === "touch") {
var show = !showTip;
setShowTip(show);
props.onChange && props.onChange(show);
}
};
var anonymousState__temp = (0, _taroWeapp.internal_inline_style)({ position: "relative", display: "inline-block" });
var anonymousState__temp2 = (0, _taroWeapp.internal_inline_style)({
width: (showTip ? props.width : 0) + "px",
left: distance.left,
right: distance.right,
top: distance.top,
bottom: distance.bottom,
transform: distance.transform
});
var anonymousState__temp3 = (0, _taroWeapp.internal_inline_style)({
left: distance.left,
right: distance.right,
top: distance.top,
bottom: distance.bottom,
transform: distance.arrowTransform
});
var anonymousState__temp4 = (0, _taroWeapp.internal_inline_style)({ width: props.width + "px", padding: "10px" });
this.anonymousFunc3 = function (e) {
e.stopPropagation();
};
var anonymousState__temp5 = (0, _index.classNames)(props.className);
var anonymousState__temp6 = (0, _taroWeapp.internal_inline_style)(Object.assign({}, props.style));
_taroWeapp.propsManager.set({
"text": props.message
}, $compid__1572, $prevCompid__1572);
isH5 && _taroWeapp.propsManager.set(_extends({}, props), $compid__1573, $prevCompid__1573);
Object.assign(this.__state, {
anonymousState__temp: anonymousState__temp,
anonymousState__temp2: anonymousState__temp2,
anonymousState__temp3: anonymousState__temp3,
anonymousState__temp4: anonymousState__temp4,
anonymousState__temp5: anonymousState__temp5,
anonymousState__temp6: anonymousState__temp6,
$compid__1572: $compid__1572,
$compid__1573: $compid__1573,
showTip: showTip,
props: props,
BG_COLOR_LIST: _model.BG_COLOR_LIST,
isH5: isH5
});
return this.__state;
}
}, {
key: "anonymousFunc0",
value: function anonymousFunc0(e) {
;
}
}, {
key: "anonymousFunc1",
value: function anonymousFunc1(e) {
;
}
}, {
key: "anonymousFunc2",
value: function anonymousFunc2(e) {
;
}
}, {
key: "anonymousFunc3",
value: function anonymousFunc3(e) {
e.stopPropagation();
}
}]);
return ClTip;
}(_taroWeapp2.default.Component);
ClTip.$$events = ["anonymousFunc0", "anonymousFunc1", "anonymousFunc2", "anonymousFunc3"];
ClTip.multipleSlots = true;
ClTip.$$componentPath = "components/tip/index";
ClTip.defaultProps = {
show: false,
direction: "bottom",
bgColor: "white",
mode: "touch",
width: 150
};
ClTip.options = {
addGlobalClass: true
};
exports.default = ClTip;
Component(__webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js").default.createComponent(ClTip));
/***/ }),
/***/ "./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "components/tip/index.wxml";
/***/ }),
/***/ "./src/components/tip/index.scss":
/*!***************************************!*\
!*** ./src/components/tip/index.scss ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/components/tip/index.tsx":
/*!**************************************!*\
!*** ./src/components/tip/index.tsx ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.tsx?taro&type=template&parse=COMPONENT& */ "./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT&");
/* harmony import */ var _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.tsx?taro&type=script&parse=COMPONENT& */ "./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT&");
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ "./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT&":
/*!************************************************************************!*\
!*** ./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT& ***!
\************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./index.tsx?taro&type=script&parse=COMPONENT& */ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tip/index.tsx?taro&type=script&parse=COMPONENT&");
/* harmony import */ var _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT&":
/*!**************************************************************************!*\
!*** ./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT& ***!
\**************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!../../../node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!../../../node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./index.tsx?taro&type=template&parse=COMPONENT& */ "./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tip/index.tsx?taro&type=template&parse=COMPONENT&");
/* harmony import */ var _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ })
},[["./src/components/tip/index.tsx","runtime","taro","vendors","common"]]]);