UNPKG

@nutui/nutui-react-taro

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

88 lines (87 loc) 4.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "FixedNav", { enumerable: true, get: function() { return FixedNav; } }); var _interop_require_default = require("@swc/helpers/_/_interop_require_default"); var _object_spread = require("@swc/helpers/_/_object_spread"); var _object_spread_props = require("@swc/helpers/_/_object_spread_props"); var _react = /*#__PURE__*/ _interop_require_default._(require("react")); var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames")); var _iconsreacttaro = require("@nutui/icons-react-taro"); var _components = require("@tarojs/components"); var _index = /*#__PURE__*/ _interop_require_default._(require("../overlay/index")); var _index1 = require("../configprovider/index"); var _overlay = require("../overlay/overlay"); var _index2 = /*#__PURE__*/ _interop_require_default._(require("../badge/index")); var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _overlay.defaultOverlayProps), { activeText: '', inactiveText: '', type: 'right', list: [], overlay: true, position: { top: 'auto', bottom: 'auto' }, zIndex: 200, onChange: function onChange(value) {}, onSelect: function onSelect() {} }); var FixedNav = function FixedNav(props) { var locale = (0, _index1.useConfig)().locale; var _$_object_spread = (0, _object_spread._)({}, defaultProps, props), className = _$_object_spread.className, overlay = _$_object_spread.overlay, visible = _$_object_spread.visible, list = _$_object_spread.list, activeText = _$_object_spread.activeText, inactiveText = _$_object_spread.inactiveText, position = _$_object_spread.position, type = _$_object_spread.type, children = _$_object_spread.children, style = _$_object_spread.style, content = _$_object_spread.content, zIndex = _$_object_spread.zIndex, onChange = _$_object_spread.onChange, onSelect = _$_object_spread.onSelect; var classPrefix = 'nut-fixednav'; var classes = (0, _classnames.default)(classPrefix, { active: visible }, "".concat(classPrefix, "-").concat(type), className); var renderListItem = function renderListItem(item, index) { return /*#__PURE__*/ _react.default.createElement(_components.View, { className: "".concat(classPrefix, "-list-item"), onClick: function onClick(event) { return onSelect(item, event); }, key: item.id || index }, /*#__PURE__*/ _react.default.isValidElement(item.icon) ? item.icon : /*#__PURE__*/ _react.default.createElement(_components.Image, { src: item.icon, className: "".concat(classPrefix, "-list-image") }), /*#__PURE__*/ _react.default.createElement(_components.View, { className: "".concat(classPrefix, "-list-text") }, item.text)); }; return /*#__PURE__*/ _react.default.createElement(_components.View, { className: classes, style: (0, _object_spread._)({}, position, style) }, overlay && /*#__PURE__*/ _react.default.createElement(_index.default, { visible: visible, zIndex: zIndex, onClick: function onClick() { return onChange(false); } }), /*#__PURE__*/ _react.default.createElement(_components.View, { className: "list" }, children || /*#__PURE__*/ _react.default.createElement(_components.View, { className: "".concat(classPrefix, "-list") }, list.map(function(item, index) { return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, item.num ? /*#__PURE__*/ _react.default.createElement(_index2.default, { value: item.num, top: 8, right: 6 }, renderListItem(item, index)) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, renderListItem(item, index))); }))), /*#__PURE__*/ _react.default.createElement(_components.View, { className: "".concat(classPrefix, "-btn"), onClick: function onClick() { return onChange(!visible); } }, content || /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.ArrowLeft, { color: "#fff" }), /*#__PURE__*/ _react.default.createElement(_components.View, { className: "text" }, visible ? activeText || locale.fixednav.activeText : inactiveText || locale.fixednav.inactiveText)))); }; FixedNav.displayName = 'NutFixedNav';