mp-colorui
Version:
MP ColorUI 是一款基于 Taro 框架并且联合 Color-UI CSS 库开发的多端 UI 组件库(支持小程序端和H5端)
402 lines (339 loc) • 24.3 kB
JavaScript
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["components/tip/h5/index"],{
/***/ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tip/h5/index.tsx?taro&type=script&parse=COMPONENT&":
/*!************************************************************************************************************************************************************!*\
!*** ./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/tip/h5/index.tsx?taro&type=script&parse=COMPONENT& ***!
\************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
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/h5/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_H5 = function (_Taro$Component) {
_inherits(ClTip_H5, _Taro$Component);
function ClTip_H5() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, ClTip_H5);
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_H5.__proto__ || Object.getPrototypeOf(ClTip_H5)).call.apply(_ref, [this].concat(args))), _this), _this.$usedState = ["anonymousState__temp", "anonymousState__temp2", "anonymousState__temp3", "anonymousState__temp4", "$compid__1574", "id", "showTip", "idMessage", "props", "BG_COLOR_LIST", "renderMessage", "children"], _this.customComponents = ["ClText"], _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(ClTip_H5, [{
key: "_constructor",
value: function _constructor(props) {
_get(ClTip_H5.prototype.__proto__ || Object.getPrototypeOf(ClTip_H5.prototype), "_constructor", this).call(this, props);
this.$$refs = new _taroWeapp2.default.RefsArray();
}
}, {
key: "_createData",
value: function _createData() {
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__1574"),
_genCompid2 = _slicedToArray(_genCompid, 2),
$prevCompid__1574 = _genCompid2[0],
$compid__1574 = _genCompid2[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 _useState5 = (0, _taroWeapp.useState)(function () {
return "cl-tip-content-" + Math.random().toString().replace(".", "");
}),
_useState6 = _slicedToArray(_useState5, 2),
id = _useState6[0],
setIdContent = _useState6[1];
var _useState7 = (0, _taroWeapp.useState)(function () {
return "cl-tip-message-" + Math.random().toString().replace(".", "");
}),
_useState8 = _slicedToArray(_useState7, 2),
idMessage = _useState8[0],
setIdMessage = _useState8[1];
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 () {
var idContentQuery = document.querySelector("#" + id);
var idMessageQuery = document.querySelector("#" + idMessage);
var systemInfo = _taroWeapp2.default.getSystemInfoSync();
var res = {
width: idContentQuery.clientWidth,
height: idContentQuery.clientHeight,
left: idContentQuery.offsetLeft,
top: idContentQuery.offsetTop,
bottom: systemInfo.windowHeight - idContentQuery.clientHeight - idContentQuery.offsetTop,
right: systemInfo.windowWidth - idContentQuery.clientWidth - idContentQuery.offsetLeft
};
var messageData = {
width: idMessageQuery.clientWidth,
height: idMessageQuery.clientHeight
};
var contentWidth = props.width || 100;
var screenWidth = 750 * _index.screenPercent;
var customDirection = [];
var bottomDistance = res.bottom;
var leftDistance = res.right;
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 }];
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") {
console.log(res, messageData);
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 - 10) + "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 - 10) + "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);
}, [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();
};
_taroWeapp.propsManager.set({
"text": props.message
}, $compid__1574, $prevCompid__1574);
Object.assign(this.__state, {
anonymousState__temp: anonymousState__temp,
anonymousState__temp2: anonymousState__temp2,
anonymousState__temp3: anonymousState__temp3,
anonymousState__temp4: anonymousState__temp4,
$compid__1574: $compid__1574,
id: id,
showTip: showTip,
idMessage: idMessage,
props: props,
BG_COLOR_LIST: _model.BG_COLOR_LIST
});
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_H5;
}(_taroWeapp2.default.Component);
ClTip_H5.$$events = ["anonymousFunc0", "anonymousFunc1", "anonymousFunc2", "anonymousFunc3"];
ClTip_H5.multipleSlots = true;
ClTip_H5.$$componentPath = "components/tip/h5/index";
ClTip_H5.defaultProps = {
show: false,
direction: "bottom",
bgColor: "white",
mode: "touch",
width: 150
};
ClTip_H5.options = {
addGlobalClass: true
};
exports.default = ClTip_H5;
Component(__webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js").default.createComponent(ClTip_H5));
/***/ }),
/***/ "./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/h5/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/h5/index.tsx?taro&type=template&parse=COMPONENT& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "components/tip/h5/index.wxml";
/***/ }),
/***/ "./src/components/tip/h5/index.scss":
/*!******************************************!*\
!*** ./src/components/tip/h5/index.scss ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/components/tip/h5/index.tsx":
/*!*****************************************!*\
!*** ./src/components/tip/h5/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/h5/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/h5/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/h5/index.tsx?taro&type=script&parse=COMPONENT&":
/*!***************************************************************************!*\
!*** ./src/components/tip/h5/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/h5/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/h5/index.tsx?taro&type=template&parse=COMPONENT&":
/*!*****************************************************************************!*\
!*** ./src/components/tip/h5/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/h5/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/h5/index.tsx","runtime","taro","vendors","common"]]]);