"use strict"; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); const common_vendor = require("../../../common/vendor.js"); const tmui_tool_lib_minxs = require("../../tool/lib/minxs.js"); const tmui_tool_lib_tmpinia = require("../../tool/lib/tmpinia.js"); require("../../tool/theme/theme.js"); require("../../tool/theme/colortool.js"); require("../../tool/lib/interface.js"); require("../../tool/function/util.js"); require("../../tool/function/preview.js"); if (!Math) { tmSheet(); } const tmSheet = () => "../tm-sheet/tm-sheet.js"; const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ __name: "tm-tabbar", props: __spreadProps(__spreadValues({}, tmui_tool_lib_minxs.custom_props), { transprent: { type: [Boolean], default: false }, color: { type: [String], default: "white" }, text: { type: [Boolean], default: false }, round: { type: [Number], default: 0 }, shadow: { type: [Number], default: 0 }, //如果为0取当前窗口宽度。 width: { type: [Number], default: 0 }, //底部偏移 bottom: { type: [Number], default: 0 }, //是否显示安全区域 showSafe: { type: [Boolean], default: false }, //动态激活项的索引-1表示不激活任何项。 active: { type: Number, default: -1 }, //是否自动选中。如果禁用,则用户通过active来切换选中值,否则,点击项目时自动选中。 autoSelect: { type: Boolean, default: true }, /** 在nvue上没有用处,请自行放到最尾部的地方。 */ zIndex: { type: [Number], default: 200 }, /**是否占位,底部填充空白view */ place: { type: Boolean, default: false } }), emits: ["change", "update:active"], setup(__props, { expose, emit: emits }) { var _a, _b; const props = __props; tmui_tool_lib_tmpinia.useTmpiniaStore(); let sys = common_vendor.index.getSystemInfoSync(); const _width = common_vendor.computed(() => common_vendor.index.upx2px(props.width) || (sys == null ? void 0 : sys.windowWidth) || 750); const _blur = common_vendor.computed(() => props.blur); const _place = common_vendor.computed(() => props.place); const _activeUrl = common_vendor.ref(""); const _activeUid = common_vendor.ref(""); const tmTabbarId = "tmTabbarId"; const _cachlist = common_vendor.ref([]); const _showSafe = common_vendor.ref(props.showSafe); const _activeIndex = common_vendor.ref(props.active); const win_bottom = (_b = (_a = sys == null ? void 0 : sys.safeAreaInsets) == null ? void 0 : _a.bottom) != null ? _b : 0; if (win_bottom > 0) { _showSafe.value = true; } const _totalBarHeight = common_vendor.computed(() => { if (_showSafe.value) return 90; return 75; }); const _BarHeight = common_vendor.computed(() => { if (_showSafe.value) return 75; return 60; }); function setNowurl(url, nowuid) { _activeUrl.value = url; _activeUid.value = String(nowuid); } function pushKey(uid) { _cachlist.value = [.../* @__PURE__ */ new Set([..._cachlist.value, uid])]; } function delKey(uid) { _cachlist.value = _cachlist.value.filter((el) => el != uid); } expose({ tmTabbarId, setNowurl, pushKey, delKey }); common_vendor.provide( "tmTabbarUrl", common_vendor.computed(() => _activeUrl.value) ); common_vendor.provide( "tmTabbarUid", common_vendor.computed(() => _activeUid.value) ); common_vendor.provide( "tmTabbarWidth", common_vendor.computed(() => Math.ceil(_width / _cachlist.value.length)) ); common_vendor.provide( "tmTabbarItemList", common_vendor.computed(() => _cachlist.value) ); common_vendor.provide( "tmTabbarItemActive", common_vendor.computed(() => _activeIndex.value) ); common_vendor.provide("tmTabbarItemSafe", _showSafe.value); common_vendor.provide( "tmTabbarItemAutoSelect", common_vendor.computed(() => props.autoSelect) ); common_vendor.watch( () => props.active, () => { if (props.active == _activeIndex.value) return; _activeIndex.value = props.active; } ); common_vendor.watch(_activeIndex, () => { emits("change", _activeIndex.value); emits("update:active", _activeIndex.value); }); return (_ctx, _cache) => { return common_vendor.e({ a: common_vendor.p({ blur: common_vendor.unref(_blur), color: props.color, parenClass: "relative", followTheme: props.followTheme, dark: props.dark, round: props.round, shadow: props.shadow, outlined: props.outlined, border: 0, borderDirection: "top", text: props.text, transprent: false, linear: props.linear, linearDeep: props.linearDeep, margin: [0, 0], padding: [0, 0], height: common_vendor.unref(_BarHeight), width: common_vendor.unref(_width), unit: "px" }), b: common_vendor.unref(_width) + "px", c: common_vendor.unref(_width) + "px", d: common_vendor.unref(_totalBarHeight) + "px", e: common_vendor.unref(_width) + "px", f: common_vendor.unref(_totalBarHeight) + "px", g: `translateY(${props.bottom}rpx)`, h: props.zIndex, i: common_vendor.unref(_place) }, common_vendor.unref(_place) ? { j: common_vendor.unref(_totalBarHeight) + "px" } : {}); }; } }); const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/WebstormProjects/uni-ticket-system/src/tmui/components/tm-tabbar/tm-tabbar.vue"]]); wx.createComponent(Component);