@tarojs/components 3.6.0-canary.7 → 3.6.0-canary.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/taro-tabbar.cjs.entry.js.map +1 -1
- package/dist/esm/taro-tabbar.entry.js.map +1 -1
- package/dist/esm-es5/taro-tabbar.entry.js.map +1 -1
- package/dist/react/component-lib/index.js +20 -10
- package/dist/react/component-lib/input.js +2 -3
- package/dist/react/component-lib/reactify-wc.js +6 -43
- package/dist/react/components.js +0 -2
- package/dist/react/react-component-lib/createComponent.js +9 -29
- package/dist/react/react-component-lib/createOverlayComponent.js +2 -29
- package/dist/react/react-component-lib/utils/attachProps.js +9 -18
- package/dist/react/react-component-lib/utils/index.js +0 -2
- package/dist/taro-components/p-49a6cae4.system.entry.js.map +1 -1
- package/dist/taro-components/p-e0d6b00b.entry.js.map +1 -1
- package/dist/vue2/component-lib/components.js +22 -11
- package/dist/vue2/component-lib/createFormsComponent.js +0 -5
- package/dist/vue2/component-lib/index.js +6 -8
- package/dist/vue2/component-lib/mixins/refs.js +0 -5
- package/dist/vue2/components.js +0 -3
- package/dist/vue2/index.js +3 -7
- package/dist/vue2/vue-component-lib/utils.js +0 -1
- package/dist/vue3/component-lib/createComponent.js +1 -1
- package/dist/vue3/component-lib/createFormsComponent.js +3 -8
- package/dist/vue3/component-lib/forwardRef.js +0 -2
- package/dist/vue3/component-lib/icon.js +2 -2
- package/dist/vue3/component-lib/image.js +2 -2
- package/dist/vue3/component-lib/index.js +22 -11
- package/dist/vue3/component-lib/scroll-view.js +2 -2
- package/dist/vue3/component-lib/text.js +2 -2
- package/dist/vue3/components.js +0 -2
- package/dist/vue3/index.js +2 -4
- package/dist/vue3/vue-component-lib/utils.js +7 -29
- package/package.json +4 -4
- package/types/Button.d.ts +1 -1
- package/types/Camera.d.ts +1 -1
- package/types/Checkbox.d.ts +1 -1
- package/types/CheckboxGroup.d.ts +1 -1
- package/types/CoverImage.d.ts +1 -1
- package/types/CustomWrapper.d.ts +1 -0
- package/types/Form.d.ts +1 -1
- package/types/Icon.d.ts +1 -1
- package/types/Image.d.ts +1 -1
- package/types/Input.d.ts +15 -1
- package/types/Label.d.ts +1 -1
- package/types/NativeSlot.d.ts +1 -0
- package/types/NavigationBar.d.ts +2 -1
- package/types/Navigator.d.ts +1 -1
- package/types/Picker.d.ts +1 -1
- package/types/PickerView.d.ts +1 -1
- package/types/PickerViewColumn.d.ts +1 -1
- package/types/Progress.d.ts +1 -1
- package/types/Radio.d.ts +1 -1
- package/types/RadioGroup.d.ts +1 -1
- package/types/RichText.d.ts +1 -1
- package/types/ScrollView.d.ts +1 -1
- package/types/ShareElement.d.ts +3 -3
- package/types/Slider.d.ts +1 -1
- package/types/Slot.d.ts +2 -1
- package/types/Swiper.d.ts +1 -1
- package/types/SwiperItem.d.ts +1 -1
- package/types/Switch.d.ts +1 -1
- package/types/Textarea.d.ts +1 -1
- package/types/Video.d.ts +1 -1
- package/types/View.d.ts +1 -1
- package/types/WebView.d.ts +1 -1
- package/virtual-list/index.js +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"taro-tabbar.entry.cjs.js","mappings":"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","names":["index","classNames","h","Taro","Host"],"sources":["./src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","./src/components/tabbar/tabbar-item.tsx","./src/components/tabbar/style/index.scss?tag=taro-tabbar","./src/components/tabbar/tabbar.tsx"],"sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"taro-tabbar.entry.cjs.js","mappings":"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","names":["index","classNames","h","Taro","Host"],"sources":["./src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","./src/components/tabbar/tabbar-item.tsx","./src/components/tabbar/style/index.scss?tag=taro-tabbar","./src/components/tabbar/tabbar.tsx"],"sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nexport const getHomePage = (path = '', basename = '', customRoutes = {}, entryPagePath = '') => {\n var _a;\n const routePath = addLeadingSlash(stripBasename(path, basename));\n const alias = ((_a = Object.entries(customRoutes).find(([key]) => key === routePath)) === null || _a === void 0 ? void 0 : _a[1]) || routePath;\n return entryPagePath || (typeof alias === 'string' ? alias : alias[0]) || basename;\n};\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"taro-tabbar.entry.js","mappings":";;;;AAsDO,MAAM,QAAQ,GAAG,IAAI;EAC1B,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;EACpB,IAAI,GAAG,CAAA;EACP,MAAM,GAAG,GAAG;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,IAAI;GACf,CAAA;EAED,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;EACtB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;IACZ,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IACrC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;GAC5B;EAED,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;EACtB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;IACZ,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAClC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;GAC5B;EAED,GAAG,CAAC,IAAI,GAAG,GAAG,CAAA;EAEd,OAAO,GAAG,CAAA;AACZ,CAAC;;AC9ED;AACA;AACO,MAAM,eAAe,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAChF,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC;AAC9H,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAEnH,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;;ACNpI,SAAS,UAAU,CAAC,QAAQ,EAAE;AAC9B,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AACpC,CAAC;AACD;AACA;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC,EAAE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACzE,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,CAAC;AACD;AACA;AACA,SAAS,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE;AACnC,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC;AACpC;AACA,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5C,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;AAClD;AACA,EAAE,IAAI,OAAO,GAAG,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AACrC,EAAE,IAAI,SAAS,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC3C,EAAE,IAAI,UAAU,GAAG,OAAO,IAAI,SAAS,CAAC;AACxC;AACA,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;AAC5B;AACA,IAAI,SAAS,GAAG,OAAO,CAAC;AACxB,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC7B;AACA,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;AACpB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC;AACpC;AACA,EAAE,IAAI,gBAAgB,CAAC;AACvB,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE;AACxB,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/C,IAAI,gBAAgB,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AACpE,GAAG,MAAM;AACT,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACb,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B;AACA,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AACtB,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9B,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9B,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,MAAM,IAAI,EAAE,EAAE;AACnB,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9B,MAAM,EAAE,EAAE,CAAC;AACX,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D;AACA,EAAE;AACF,IAAI,UAAU;AACd,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE;AACvB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD;AACA,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1B;AACA,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC;AACA,EAAE,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC;AACnE;AACA,EAAE,OAAO,MAAM,CAAC;AAChB;;AC1DO,MAAM,UAAU,GAAyC,CAAC,EAC/D,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,QAAQ,EACT;EACC,MAAM,SAAS,GAAGA,UAAU,CAAC,mBAAmB,EAAE;IAChD,mBAAmB,EAAE,UAAU;GAChC,CAAC,CAAA;EACF,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;GACf,CAAA;EACD,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,MAAM;GACd,CAAA;EAED,SAAS,OAAO;IACd,QAAQ,CAAC,KAAK,CAAC,CAAA;GAChB;EAED,QACE,SAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IACnE,YAAM,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE;MAC5D,WAAK,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,mBAAmB,GAAG;MACtD,CAAC,CAAC,SAAS,KACV,YACE,KAAK,EAAC,8BAA8B,EACpC,KAAK,EAAE,UAAU,IAChB,SAAS,CACL,CACR;MACA,UAAU,KACT,YACE,KAAK,EAAC,2BAA2B,EACjC,KAAK,EAAE,QAAQ,GACf,CACH,CACI;IACP,SAAG,KAAK,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IACtD,IAAI,CACH,CACF,EACL;AACH,CAAC;;ACjED,MAAM,QAAQ,GAAG,0yBAA0yB;;ACU3zB,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,oBAAoB,GAAG,qBAAqB,CAAA;AAClD,MAAM,mBAAmB,GAAG,0BAA0B,CAAA;AACtD,MAAM,gCAAgC,GAAG,8BAA8B,CAAA;MAuC1D,MAAM;EA6BjB;;;IA5BQ,aAAQ,GAAG,EAAE,CAAA;IAEb,iBAAY,GAAoB,EAAE,CAAA;IAElC,cAAS,GAAqB,QAAQ,CAAA;IA4E9C,iBAAY,GAAG,CAAC,GAAW;MACzB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAA;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAChC,OAAO,KAAK,KAAK,KAAK,CAAA;OACvB,CAAC,CAAA;MACF,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAA;KAC1E,CAAA;IAED,qBAAgB,GAAG,CAAC,GAAW;MAC7B,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;MACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QACrC,IAAI,KAAK,KAAK,KAAK,EAAE;UACnB,UAAU,GAAG,GAAG,CAAA;SACjB;OACF,CAAC,CAAA;MACF,OAAO,UAAU,CAAA;KAClB,CAAA;IAED,cAAS,GAAG,CAAC,KAAa;MACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;MAC1B,IAAI,CAAC,SAAS,CAAC;QACb,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ;OAC/B,CAAC,CAAA;KACH,CAAA;IAED,qBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAiB;MACtE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;MAC3E,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;MAChD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;MAEjD,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;QACnB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAC1B,cAAc,CAAC;UACb,MAAM,EAAE,cAAc;SACvB,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,wBAAwB,OAAO,gBAAgB;SACxD,CAAC,CAAA;OACH;KACF,CAAA;IAED,wBAAmB,GAAG,CAAC,OAAQ;;MAC7B,MAAM,EAAE,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,IAAI,CAAA;MACpC,IAAI,WAAW,CAAA;MAEf,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAA;QAChD,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,IAAI,GAAG,CAAA;OACzF;WAAM;QACL,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;OACnC;MAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAA;KAC3E,CAAA;IAED,0BAAqB,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAiB;MACnF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;MAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAC5B,cAAc,CAAC;UACb,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,2CAA2C;SACpD,CAAC,CAAA;OACH;MAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB,CAAA;IAED,6BAAwB,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAiB;MAChF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;MAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAC5B,cAAc,CAAC;UACb,MAAM,EAAE,sBAAsB;SAC/B,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,8CAA8C;SACvD,CAAC,CAAA;OACH;MAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB,CAAA;IAED,4BAAuB,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAiB;MAC/E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;MAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAA;QAC7B,cAAc,CAAC;UACb,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,6CAA6C;SACtD,CAAC,CAAA;OACH;MAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB,CAAA;IAED,4BAAuB,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAiB;MAC/E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;MAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAA;QAC9B,cAAc,CAAC;UACb,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,6CAA6C;SACtD,CAAC,CAAA;OACH;MAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB,CAAA;IAED,sBAAiB,GAAG,CAAC,EAAE,cAAc,EAAE;MACrC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;MACzB,cAAc,CAAC;QACb,MAAM,EAAE,eAAe;OACxB,CAAC,CAAA;KACH,CAAA;IAED,sBAAiB,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE;MAChD,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,WAAW,CAAA;MACvD,cAAc,CAAC;QACb,MAAM,EAAE,eAAe;OACxB,CAAC,CAAA;KACH,CAAA;IAED,0BAAqB,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE;MAC7F,IAAI,eAAe;QAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;MAC3D,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;MAC/C,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;MAC7B,IAAI,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;MACrD,cAAc,CAAC;QACb,MAAM,EAAE,mBAAmB;OAC5B,CAAC,CAAA;KACH,CAAA;IAED,yBAAoB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE;MAC/F,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;MAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,IAAI,QAAQ;UAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC7C,IAAI,gBAAgB;UAAE,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACrE,IAAI,IAAI;UAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;QACjC,cAAc,CAAC;UACb,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAA;OACH;WAAM;QACL,YAAY,CAAC;UACX,MAAM,EAAE,0CAA0C;SACnD,CAAC,CAAA;OACH;MAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB,CAAA;;;;;;;yBApOwB,CAAC,CAAC;kBAEE,WAAW;IAStC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;IAC3C,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,gBAAgB;MACzD,IAAI,CAAC,MAAM,GAAG,CAAC;MACf,IAAI,CAAC,MAAM,GAAG,CAAC,EACf;MACA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;KAC/B;IAED,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnD,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE;MAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;MAC9B,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;MAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;OACrD;WAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;OACpE;KACF;IAED,IAAI,CAAC,OAAO,CAAC,IAAI;MACf,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACpC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAA;OACpC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;IACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAA;IAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;GAC7C;EAED,aAAa;IACX,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACjC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAA;IAChD,IAAI,GAAG,CAAA;IACP,IAAI,UAAU,KAAK,MAAM,EAAE;MACzB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAA;MACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;MACnC,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC;UAClB,EAAE;UACF,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;KAClC;SAAM;MACL,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAA;KACxB;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;IACxE,OAAO,SAAS,CAAC,YAAY,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAA;GACtE;EA0KD,SAAS;IACP,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACnE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACvE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAC7E,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,+BAA+B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAClF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,+BAA+B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAClF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC/D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC/D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACvE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;GACtE;EAED,WAAW;IACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACpE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACnF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACnF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;GACvE;EAED,gBAAgB;IACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,KAAK,GAAG,QAAQ,CAAA;IAClE,IAAI,CAAC,SAAS,EAAE,CAAA;IAChB,IAAI,CAAC,mBAAmB,EAAE,CAAA;GAC3B;EAED,oBAAoB;IAClB,IAAI,CAAC,WAAW,EAAE,CAAA;GACnB;EAED,MAAM;IACJ,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC1B,MAAM,YAAY,GAAGA,UAAU,CAAC,aAAa,EAAE;MAC7C,CAAC,uBAAuB,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,GAAG,IAAI;KAC7D,CAAC,CAAA;IACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,WAAW,CAAA;IAC5E,MAAM,cAAc,GAAG,MAAM,KAAK,eAAe,CAAA;IAEjD,QACE,EAAC,IAAI,IACH,KAAK,EAAEA,UAAU,CACf,oBAAoB,EACpB,GAAG,oBAAoB,IAAI,SAAS,EAAE,EAAE;QACtC,CAAC,mBAAmB,GAAG,gBAAgB;QACvC,CAAC,gCAAgC,GAAG,cAAc;OACnD,CAAC,IACJ,WACE,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE;QACL,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;QAC3C,MAAM,EAAE,SAAS;OAClB,IAEA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK;MACzB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAA;MAC/C,IAAI,SAAS,CAAA;MACb,IAAI,QAAQ,CAAA;MACZ,IAAI,UAAU,EAAE;QACd,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAA;QACpC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAA;OACjC;WAAM;QACL,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAC5B,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;OACzB;MACD,QACE,EAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,GAC3B,EACH;KACF,CAAC,CACE,CACD,EACR;GACF;;;;;;;","names":["classNames"],"sources":["./src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","./src/components/tabbar/tabbar-item.tsx","./src/components/tabbar/style/index.scss?tag=taro-tabbar","./src/components/tabbar/tabbar.tsx"],"sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"taro-tabbar.entry.js","mappings":"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","names":["classNames"],"sources":["./src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","./src/components/tabbar/tabbar-item.tsx","./src/components/tabbar/style/index.scss?tag=taro-tabbar","./src/components/tabbar/tabbar.tsx"],"sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nexport const getHomePage = (path = '', basename = '', customRoutes = {}, entryPagePath = '') => {\n var _a;\n const routePath = addLeadingSlash(stripBasename(path, basename));\n const alias = ((_a = Object.entries(customRoutes).find(([key]) => key === routePath)) === null || _a === void 0 ? void 0 : _a[1]) || routePath;\n return entryPagePath || (typeof alias === 'string' ? alias : alias[0]) || basename;\n};\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","src/components/tabbar/tabbar-item.tsx","src/components/tabbar/style/index.scss?tag=taro-tabbar","src/components/tabbar/tabbar.tsx"],"names":["splitUrl","_url","url","pos","res","path","query","fragment","indexOf","substring","addLeadingSlash","charAt","hasBasename","prefix","RegExp","test","stripBasename","length","stripSuffix","suffix","includes","isAbsolute","pathname","spliceOne","list","index","i","k","n","pop","resolvePathname","to","from","undefined","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","substr","TabbarItem","_b","_c","isSelected","textColor","iconPath","badgeText","_d","showRedDot","text","onSelect","className","classNames","weui-bar__item_on","badgeStyle","position","top","right","dotStyle","onClick","h","key","href","class","style","display","src","alt","color","indexCss","STATUS_SHOW","STATUS_HIDE","STATUS_SLIDEOUT","basicTabBarClassName","hideTabBarClassName","hideTabBarWithAnimationClassName","Tabbar","hostRef","_this","this","homePage","customRoutes","tabbarPos","getOriginUrl","customRoute","filter","customUrl","pathA","pathB","getSelectedIndex","foundIndex","forEach","idx","pagePath","switchTab","selectedIndex","Taro","switchTabHandler","successHandler","errorHandler","currentUrl","getCurrentUrl","nextTab","errMsg","routerChangeHandler","options","_a","toLocation","currentPage","routerBasename","conf","basename","setTabBarBadgeHandler","__spreadArray","removeTabBarBadgeHandler","showTabBarRedDotHandler","hideTabBarRedDotHandler","showTabBarHandler","status","hideTabBarHandler","animation","setTabBarStyleHandler","selectedColor","backgroundColor","borderStyle","setTabBarItemHandler","selectedIconPath","Object","prototype","toString","call","Error","this_1","push","apply","map","p","item","routerMode","mode","window","location","hashIndex","processedUrl","decodeURI","bindEvent","eventCenter","on","removeEvent","off","componentDidLoad","tabbar","nextElementSibling","disconnectedCallback","render","containerCls","shouldHideTabBar","shouldSlideout","Host","height","bind"],"mappings":"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","sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","src/components/tabbar/tabbar-item.tsx","src/components/tabbar/style/index.scss?tag=taro-tabbar","src/components/tabbar/tabbar.tsx"],"names":["splitUrl","_url","url","pos","res","path","query","fragment","indexOf","substring","addLeadingSlash","charAt","hasBasename","prefix","RegExp","test","stripBasename","length","stripSuffix","suffix","includes","isAbsolute","pathname","spliceOne","list","index","i","k","n","pop","resolvePathname","to","from","undefined","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","substr","TabbarItem","_b","_c","isSelected","textColor","iconPath","badgeText","_d","showRedDot","text","onSelect","className","classNames","weui-bar__item_on","badgeStyle","position","top","right","dotStyle","onClick","h","key","href","class","style","display","src","alt","color","indexCss","STATUS_SHOW","STATUS_HIDE","STATUS_SLIDEOUT","basicTabBarClassName","hideTabBarClassName","hideTabBarWithAnimationClassName","Tabbar","hostRef","_this","this","homePage","customRoutes","tabbarPos","getOriginUrl","customRoute","filter","customUrl","pathA","pathB","getSelectedIndex","foundIndex","forEach","idx","pagePath","switchTab","selectedIndex","Taro","switchTabHandler","successHandler","errorHandler","currentUrl","getCurrentUrl","nextTab","errMsg","routerChangeHandler","options","_a","toLocation","currentPage","routerBasename","conf","basename","setTabBarBadgeHandler","__spreadArray","removeTabBarBadgeHandler","showTabBarRedDotHandler","hideTabBarRedDotHandler","showTabBarHandler","status","hideTabBarHandler","animation","setTabBarStyleHandler","selectedColor","backgroundColor","borderStyle","setTabBarItemHandler","selectedIconPath","Object","prototype","toString","call","Error","this_1","push","apply","map","p","item","routerMode","mode","window","location","hashIndex","processedUrl","decodeURI","bindEvent","eventCenter","on","removeEvent","off","componentDidLoad","tabbar","nextElementSibling","disconnectedCallback","render","containerCls","shouldHideTabBar","shouldSlideout","Host","height","bind"],"mappings":"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","sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nexport const getHomePage = (path = '', basename = '', customRoutes = {}, entryPagePath = '') => {\n var _a;\n const routePath = addLeadingSlash(stripBasename(path, basename));\n const alias = ((_a = Object.entries(customRoutes).find(([key]) => key === routePath)) === null || _a === void 0 ? void 0 : _a[1]) || routePath;\n return entryPagePath || (typeof alias === 'string' ? alias : alias[0]) || basename;\n};\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fragment } from 'react';
|
|
2
|
-
import reactifyWc from './reactify-wc';
|
|
2
|
+
import reactifyWc from './reactify-wc';
|
|
3
3
|
|
|
4
|
+
// 视图容器
|
|
4
5
|
export var CoverImage = reactifyWc('taro-cover-image-core');
|
|
5
6
|
export var CoverView = reactifyWc('taro-cover-view-core');
|
|
6
7
|
export var MatchMedia = reactifyWc('taro-match-media-core');
|
|
@@ -12,13 +13,15 @@ export var ScrollView = reactifyWc('taro-scroll-view-core');
|
|
|
12
13
|
export var ShareElement = reactifyWc('taro-share-element-core');
|
|
13
14
|
export var Swiper = reactifyWc('taro-swiper-core');
|
|
14
15
|
export var SwiperItem = reactifyWc('taro-swiper-item-core');
|
|
15
|
-
export var View = reactifyWc('taro-view-core');
|
|
16
|
+
export var View = reactifyWc('taro-view-core');
|
|
16
17
|
|
|
18
|
+
// 基础内容
|
|
17
19
|
export var Icon = reactifyWc('taro-icon-core');
|
|
18
20
|
export var Progress = reactifyWc('taro-progress-core');
|
|
19
21
|
export var RichText = reactifyWc('taro-rich-text-core');
|
|
20
|
-
export var Text = reactifyWc('taro-text-core');
|
|
22
|
+
export var Text = reactifyWc('taro-text-core');
|
|
21
23
|
|
|
24
|
+
// 表单组件
|
|
22
25
|
export var Button = reactifyWc('taro-button-core');
|
|
23
26
|
export var Checkbox = reactifyWc('taro-checkbox-core');
|
|
24
27
|
export var CheckboxGroup = reactifyWc('taro-checkbox-group-core');
|
|
@@ -34,31 +37,38 @@ export var Radio = reactifyWc('taro-radio-core');
|
|
|
34
37
|
export var RadioGroup = reactifyWc('taro-radio-group-core');
|
|
35
38
|
export var Slider = reactifyWc('taro-slider-core');
|
|
36
39
|
export var Switch = reactifyWc('taro-switch-core');
|
|
37
|
-
export var Textarea = reactifyWc('taro-textarea-core');
|
|
40
|
+
export var Textarea = reactifyWc('taro-textarea-core');
|
|
38
41
|
|
|
42
|
+
// 导航
|
|
39
43
|
export var FunctionalPageNavigator = reactifyWc('taro-functional-page-navigator-core');
|
|
40
44
|
export var Navigator = reactifyWc('taro-navigator-core');
|
|
41
|
-
export var NavigationBar = reactifyWc('taro-navigation-bar-core');
|
|
45
|
+
export var NavigationBar = reactifyWc('taro-navigation-bar-core');
|
|
42
46
|
|
|
47
|
+
// 媒体组件
|
|
43
48
|
export var Audio = reactifyWc('taro-audio-core');
|
|
44
49
|
export var Camera = reactifyWc('taro-camera-core');
|
|
45
50
|
export var Image = reactifyWc('taro-image-core');
|
|
46
51
|
export var LivePlayer = reactifyWc('taro-live-player-core');
|
|
47
52
|
export var LivePusher = reactifyWc('taro-live-pusher-core');
|
|
48
53
|
export var Video = reactifyWc('taro-video-core');
|
|
49
|
-
export var VoipRoom = reactifyWc('taro-voip-room-core');
|
|
54
|
+
export var VoipRoom = reactifyWc('taro-voip-room-core');
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
// 地图
|
|
57
|
+
export var Map = reactifyWc('taro-map-core');
|
|
52
58
|
|
|
53
|
-
|
|
59
|
+
// 画布
|
|
60
|
+
export var Canvas = reactifyWc('taro-canvas-core');
|
|
54
61
|
|
|
62
|
+
// 开放能力
|
|
55
63
|
export var Ad = reactifyWc('taro-ad-core');
|
|
56
64
|
export var AdCustom = reactifyWc('taro-ad-custom-core');
|
|
57
65
|
export var OfficialAccount = reactifyWc('taro-official-account-core');
|
|
58
66
|
export var OpenData = reactifyWc('taro-open-data-core');
|
|
59
|
-
export var WebView = reactifyWc('taro-web-view-core');
|
|
67
|
+
export var WebView = reactifyWc('taro-web-view-core');
|
|
60
68
|
|
|
61
|
-
|
|
69
|
+
// 页面属性配置节点
|
|
70
|
+
export var PageMeta = reactifyWc('taro-page-meta-core');
|
|
62
71
|
|
|
72
|
+
// 其他
|
|
63
73
|
export var Block = Fragment;
|
|
64
74
|
export var CustomWrapper = reactifyWc('taro-custom-wrapper-core');
|