UNPKG

mp-colorui

Version:

MP ColorUI 是一款基于 Taro 框架并且联合 Color-UI CSS 库开发的多端 UI 组件库(支持小程序端和H5端)

376 lines (307 loc) 22 kB
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["components/verticalTab/index"],{ /***/ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/verticalTab/index.tsx?taro&type=script&parse=COMPONENT&": /*!*****************************************************************************************************************************************************************!*\ !*** ./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/verticalTab/index.tsx?taro&type=script&parse=COMPONENT& ***! \*****************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; 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/verticalTab/index.scss"); 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 scrollTimer = undefined; var ClVerticalTab = function (_Taro$Component) { _inherits(ClVerticalTab, _Taro$Component); function ClVerticalTab() { var _ref; var _temp, _this, _ret; _classCallCheck(this, ClVerticalTab); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ClVerticalTab.__proto__ || Object.getPrototypeOf(ClVerticalTab)).call.apply(_ref, [this].concat(args))), _this), _this.$usedState = ["anonymousState__temp", "anonymousState__temp2", "anonymousState__temp3", "anonymousState__temp4", "anonymousState__temp5", "loopArray85", "current", "tabs", "scrollId", "isAliPay", "undefined", "scrollContent", "props", "verticalNavTop", "screenPercent", "isH5", "children"], _this.anonymousFunc0Map = {}, _this.customComponents = [], _temp), _possibleConstructorReturn(_this, _ret); } _createClass(ClVerticalTab, [{ key: "_constructor", value: function _constructor(props) { _get(ClVerticalTab.prototype.__proto__ || Object.getPrototypeOf(ClVerticalTab.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 props = this.__props; var scrollTab = false; var id = ""; var _useState = (0, _taroWeapp.useState)(props.tabs || []), _useState2 = _slicedToArray(_useState, 2), tabsState = _useState2[0], setTabsState = _useState2[1]; var currentId = props.current ? props.current : props.tabs[0].id; var _useState3 = (0, _taroWeapp.useState)(currentId), _useState4 = _slicedToArray(_useState3, 2), current = _useState4[0], setCurrent = _useState4[1]; var _useState5 = (0, _taroWeapp.useState)(tabsState.findIndex(function (item) { return item.name === props.tabs[0].name; })), _useState6 = _slicedToArray(_useState5, 2), verticalNavTop = _useState6[0], setVerticalNavTop = _useState6[1]; var _useState7 = (0, _taroWeapp.useState)(currentId), _useState8 = _slicedToArray(_useState7, 2), scrollId = _useState8[0], setScrollId = _useState8[1]; var _useState9 = (0, _taroWeapp.useState)(0), _useState10 = _slicedToArray(_useState9, 2), scrollContent = _useState10[0], setScrollContent = _useState10[1]; var _useState11 = (0, _taroWeapp.useState)(false), _useState12 = _slicedToArray(_useState11, 2), clickTab = _useState12[0], setClickTab = _useState12[1]; (0, _taroWeapp.useEffect)(function () { var list = props.tabs || []; setTabsState(list.map(function (item) { item.cu_vertical_tab_id = (0, _index.generateId)(); return item; })); }, [props.tabs]); var tabs = tabsState || []; // const [scrollTimer, setScrollTimer] = useState(0); var isH5 = _taroWeapp2.default.getEnv() === _taroWeapp2.default.ENV_TYPE.WEB; var onScroll = function onScroll(e) { if (clickTab) { return; }var tabHeight = 0; var _loop = function _loop(i) { var query = _taroWeapp2.default.createSelectorQuery(); var view = query.select("#" + tabs[i].id); view.boundingClientRect().exec(function (res) { var data = res[0]; tabs[i].top = tabHeight; tabHeight = tabHeight + data.height; tabs[i].bottom = tabHeight; }); }; for (var i = 0; i < tabs.length; i++) { _loop(i); } var scrollTop = e.detail.scrollTop + 20; isH5 && setScrollContent(e.detail.scrollTop); if (!scrollTab) { for (var i = 0; i < tabs.length; i++) { if (scrollTop > (tabs[i].top || 0) && scrollTop < (tabs[i].bottom || 0)) { // console.log(i) setVerticalNavTop(i); setCurrent(tabs[i].id); return false; } } } }; var onH5Scroll = function onH5Scroll(e) { if (clickTab) { return; }if (scrollTimer) { clearTimeout(scrollTimer); }scrollTimer = setTimeout(function () { onScroll(e); clearTimeout(scrollTimer); }, 300); }; var changeTop = function changeTop(id) { var query = _taroWeapp2.default.createSelectorQuery(); var view = query.select("#" + id); var topView = query.select("#" + tabs[0].id); var top = 0; new Promise(function (resolve) { topView.boundingClientRect().exec(function (res) { var data = res[0]; resolve(data.top); }); }).then(function (res) { top = res; new Promise(function (resolve) { view.boundingClientRect().exec(function (res) { var data = res[(0, _index.getRectNumber)()]; setTimeout(function () { var endTop = Math.abs(top - data.top); setScrollContent(endTop); scrollTab = false; resolve(); }, 300); }); }); }); }; var anonymousState__temp = (0, _taroWeapp.internal_inline_style)({ height: props.height === "full" ? "100%" : (0, _taroWeapp.pxTransform)(props.height), maxHeight: "100vh", width: "100%" }); this.anonymousFunc1 = onScroll; var anonymousState__temp2 = (0, _taroWeapp.internal_inline_style)({ height: props.height === "full" ? "100%" : (0, _taroWeapp.pxTransform)(props.height), maxHeight: "100vh", width: "100%" }); this.anonymousFunc2 = onH5Scroll; var anonymousState__temp3 = (0, _index.classNames)("flex", props.className); var anonymousState__temp4 = (0, _taroWeapp.internal_inline_style)(Object.assign({}, props.style)); var anonymousState__temp5 = (0, _taroWeapp.internal_inline_style)({ height: props.height === "full" ? "100%" : (0, _taroWeapp.pxTransform)(props.height), maxHeight: "100vh" }); var loopArray85 = tabs.map(function (item, __index0) { item = { $original: (0, _taroWeapp.internal_get_original)(item) }; var _$indexKey = "bigzz" + __index0; _this2.anonymousFunc0Map[_$indexKey] = function () { id = item.$original.id; scrollTab = true; changeTop(id); setCurrent(item.$original.id); setVerticalNavTop(tabs.findIndex(function (tab) { return tab.name === item.$original.name; })); setClickTab(true); !isH5 && setScrollId(item.$original.id); setTimeout(function () { setClickTab(false); }, 800); }; return { _$indexKey: _$indexKey, $original: item.$original }; }); Object.assign(this.__state, { anonymousState__temp: anonymousState__temp, anonymousState__temp2: anonymousState__temp2, anonymousState__temp3: anonymousState__temp3, anonymousState__temp4: anonymousState__temp4, anonymousState__temp5: anonymousState__temp5, loopArray85: loopArray85, current: current, tabs: tabs, scrollId: scrollId, isAliPay: _index.isAliPay, undefined: undefined, scrollContent: scrollContent, props: props, verticalNavTop: verticalNavTop, screenPercent: _index.screenPercent, isH5: isH5 }); return this.__state; } }, { key: "anonymousFunc0", value: function anonymousFunc0(_$indexKey) { var _anonymousFunc0Map; ; for (var _len2 = arguments.length, e = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { e[_key2 - 1] = arguments[_key2]; } return this.anonymousFunc0Map[_$indexKey] && (_anonymousFunc0Map = this.anonymousFunc0Map)[_$indexKey].apply(_anonymousFunc0Map, e); } }, { key: "anonymousFunc1", value: function anonymousFunc1(e) { ; } }, { key: "anonymousFunc2", value: function anonymousFunc2(e) { ; } }]); return ClVerticalTab; }(_taroWeapp2.default.Component); ClVerticalTab.$$events = ["anonymousFunc0", "anonymousFunc1", "anonymousFunc2"]; ClVerticalTab.$$componentPath = "components/verticalTab/index"; ClVerticalTab.options = { addGlobalClass: true }; ClVerticalTab.defaultProps = { tabs: [{ name: "", id: "" }], height: 0, current: "", backTop: false }; exports.default = ClVerticalTab; Component(__webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js").default.createComponent(ClVerticalTab)); /***/ }), /***/ "./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/verticalTab/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/verticalTab/index.tsx?taro&type=template&parse=COMPONENT& ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "components/verticalTab/index.wxml"; /***/ }), /***/ "./src/components/verticalTab/index.scss": /*!***********************************************!*\ !*** ./src/components/verticalTab/index.scss ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./src/components/verticalTab/index.tsx": /*!**********************************************!*\ !*** ./src/components/verticalTab/index.tsx ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __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/verticalTab/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/verticalTab/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/verticalTab/index.tsx?taro&type=script&parse=COMPONENT&": /*!********************************************************************************!*\ !*** ./src/components/verticalTab/index.tsx?taro&type=script&parse=COMPONENT& ***! \********************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __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/verticalTab/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/verticalTab/index.tsx?taro&type=template&parse=COMPONENT&": /*!**********************************************************************************!*\ !*** ./src/components/verticalTab/index.tsx?taro&type=template&parse=COMPONENT& ***! \**********************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __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/verticalTab/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/verticalTab/index.tsx","runtime","taro","vendors","common"]]]);