@tarojs/components-react 4.1.4-beta.13 → 4.1.4-beta.15
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/components/button/index.js +87 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/style/index.scss.js +4 -0
- package/dist/components/button/style/index.scss.js.map +1 -0
- package/dist/components/icon/index.js +36 -0
- package/dist/components/icon/index.js.map +1 -0
- package/dist/components/icon/style/index.scss.js +4 -0
- package/dist/components/icon/style/index.scss.js.map +1 -0
- package/dist/components/image/index.js +86 -0
- package/dist/components/image/index.js.map +1 -0
- package/dist/components/image/style/index.css.js +4 -0
- package/dist/components/image/style/index.css.js.map +1 -0
- package/dist/components/input/index.js +233 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/style/index.scss.js +4 -0
- package/dist/components/input/style/index.scss.js.map +1 -0
- package/dist/components/picker/index.js +48 -30
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/picker/picker-group.js +10 -2
- package/dist/components/picker/picker-group.js.map +1 -1
- package/dist/components/pull-down-refresh/index.js +320 -0
- package/dist/components/pull-down-refresh/index.js.map +1 -0
- package/dist/components/pull-down-refresh/style/index.css.js +4 -0
- package/dist/components/pull-down-refresh/style/index.css.js.map +1 -0
- package/dist/components/scroll-view/index.js +184 -0
- package/dist/components/scroll-view/index.js.map +1 -0
- package/dist/components/scroll-view/style/index.css.js +4 -0
- package/dist/components/scroll-view/style/index.css.js.map +1 -0
- package/dist/components/swiper/index.js +461 -0
- package/dist/components/swiper/index.js.map +1 -0
- package/dist/components/swiper/style/index.css.js +4 -0
- package/dist/components/swiper/style/index.css.js.map +1 -0
- package/dist/components/text/index.js +28 -0
- package/dist/components/text/index.js.map +1 -0
- package/dist/components/text/style/index.css.js +4 -0
- package/dist/components/text/style/index.css.js.map +1 -0
- package/dist/components/view/index.js +80 -0
- package/dist/components/view/index.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +12 -79
- package/dist/index.js.map +1 -1
- package/dist/solid/components/button/index.js +95 -0
- package/dist/solid/components/button/index.js.map +1 -0
- package/dist/solid/components/button/style/index.scss.js +4 -0
- package/dist/solid/components/button/style/index.scss.js.map +1 -0
- package/dist/solid/components/icon/index.js +39 -0
- package/dist/solid/components/icon/index.js.map +1 -0
- package/dist/solid/components/icon/style/index.scss.js +4 -0
- package/dist/solid/components/icon/style/index.scss.js.map +1 -0
- package/dist/solid/components/image/index.js +94 -0
- package/dist/solid/components/image/index.js.map +1 -0
- package/dist/solid/components/image/style/index.css.js +4 -0
- package/dist/solid/components/image/style/index.css.js.map +1 -0
- package/dist/solid/components/picker/index.js +50 -30
- package/dist/solid/components/picker/index.js.map +1 -1
- package/dist/solid/components/picker/picker-group.js +10 -2
- package/dist/solid/components/picker/picker-group.js.map +1 -1
- package/dist/solid/components/scroll-view/index.js +188 -0
- package/dist/solid/components/scroll-view/index.js.map +1 -0
- package/dist/solid/components/scroll-view/style/index.css.js +4 -0
- package/dist/solid/components/scroll-view/style/index.css.js.map +1 -0
- package/dist/solid/components/text/index.js +32 -0
- package/dist/solid/components/text/index.js.map +1 -0
- package/dist/solid/components/text/style/index.css.js +4 -0
- package/dist/solid/components/text/style/index.css.js.map +1 -0
- package/dist/solid/components/view/index.js +88 -0
- package/dist/solid/components/view/index.js.map +1 -0
- package/dist/solid/index.css +1 -1
- package/dist/solid/index.js +9 -79
- package/dist/solid/index.js.map +1 -1
- package/dist/styles/picker-styles.css +1 -1
- package/dist/styles/picker-styles.css.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker-group.js","sources":["../../../../src/components/picker/picker-group.tsx"],"sourcesContent":["import { ScrollView, View } from '@tarojs/components'\nimport * as React from 'react'\n\n// 添加类型定义\ntype TaroScrollView = React.ElementRef<typeof ScrollView>\ntype TaroView = React.ElementRef<typeof View>\n\nexport interface PickerGroupProps {\n mode?: 'basic' | 'time' | 'date' | 'region'\n range: any[]\n rangeKey?: string\n columnId: string\n updateIndex: (index: number, columnId: string, needRevise?: boolean) => void // 替换updateHeight\n onColumnChange?: (e: { columnId: string, index: number }) => void // 修改回调参数名称\n updateDay?: (value: number, fields: number) => void\n selectedIndex?: number // 添加selectedIndex参数\n _updateTrigger?: any // 仅用于强制触发更新\n}\n\n// 定义常量\nconst PICKER_LINE_HEIGHT = 34 // px\nconst PICKER_VISIBLE_ITEMS = 7 // 可见行数\nconst PICKER_BLANK_ITEMS = 3 // 空白行数\n\nexport function PickerGroupBasic(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n onColumnChange,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n } = props\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n // 使用selectedIndex初始化当前索引\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n // 触摸状态用于优化用户体验\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n // 获取选中的索引\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n updateIndex(newIndex, columnId)\n onColumnChange?.({ columnId, index: newIndex })\n }, 100)\n }\n // 滚动处理 - 在滚动时计算索引然后更新选中项样式\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 时间选择器实现\nexport function PickerGroupTime(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0,\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n setIsTouching(false)\n // 调用updateIndex执行限位逻辑,获取是否触发了限位\n const isLimited = Boolean(updateIndex(newIndex, columnId, true))\n // 如果没有触发限位,才执行归中逻辑\n if (!isLimited) {\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001)\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 日期选择器实现\nexport function PickerGroupDate(props: PickerGroupProps) {\n const {\n range = [],\n columnId,\n updateDay,\n selectedIndex = 0,\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n\n // 更新日期值\n if (updateDay) {\n // 解析文本中的数字(移除年、月、日等后缀)\n const valueText = range[newIndex] || ''\n const numericValue = parseInt(valueText.replace(/[^0-9]/g, ''))\n updateDay(isNaN(numericValue) ? 0 : numericValue, parseInt(columnId))\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {item}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 地区选择器实现\nexport function PickerGroupRegion(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n } = props\n\n const scrollViewRef = React.useRef<any>(null)\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 滚动结束处理\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n updateIndex(newIndex, columnId)\n }, 100)\n }\n\n // 滚动处理 - 在滚动时计算索引\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 默认导出,根据 mode 自动分发\nexport function PickerGroup(props: PickerGroupProps) {\n switch (props.mode) {\n case 'time':\n return <PickerGroupTime {...props} />\n case 'date':\n return <PickerGroupDate {...props} />\n case 'region':\n return <PickerGroupRegion {...props} />\n default:\n return <PickerGroupBasic {...props} />\n }\n}\n"],"names":["PICKER_LINE_HEIGHT","PICKER_VISIBLE_ITEMS","PICKER_BLANK_ITEMS","PickerGroupBasic","props","range","rangeKey","columnId","updateIndex","onColumnChange","selectedIndex","targetScrollTop","setTargetScrollTop","React","useState","scrollViewRef","useRef","itemRefs","currentIndex","setCurrentIndex","isTouching","setIsTouching","itemHeightRef","useEffect","current","scrollHeight","childNodes","length","getSelectedIndex","scrollTop","Math","round","isCenterTimerId","handleScrollEnd","clearTimeout","setTimeout","newIndex","random","index","handleScroll","pickerItem","map","item","content","_$createComponent","View","id","key","ref","el","className","style","height","children","realPickerItems","Array","fill","_","idx","ScrollView","scrollY","onScroll","onTouchStart","onScrollEnd","scrollWithAnimation","PickerGroupTime","isLimited","Boolean","PickerGroupDate","updateDay","valueText","numericValue","parseInt","replace","isNaN","PickerGroupRegion","PickerGroup","mode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker-group.js","sources":["../../../../src/components/picker/picker-group.tsx"],"sourcesContent":["import { ScrollView, View } from '@tarojs/components'\nimport * as React from 'react'\n\n// 添加类型定义\ntype TaroScrollView = React.ElementRef<typeof ScrollView>\ntype TaroView = React.ElementRef<typeof View>\n\nexport interface PickerGroupProps {\n mode?: 'basic' | 'time' | 'date' | 'region'\n range: any[]\n rangeKey?: string\n columnId: string\n updateIndex: (index: number, columnId: string, needRevise?: boolean) => void // 替换updateHeight\n onColumnChange?: (e: { columnId: string, index: number }) => void // 修改回调参数名称\n updateDay?: (value: number, fields: number) => void\n selectedIndex?: number // 添加selectedIndex参数\n _updateTrigger?: any // 仅用于强制触发更新\n}\n\n// 定义常量\nconst PICKER_LINE_HEIGHT = 34 // px\nconst PICKER_VISIBLE_ITEMS = 7 // 可见行数\nconst PICKER_BLANK_ITEMS = 3 // 空白行数\n\nexport function PickerGroupBasic(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n onColumnChange,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n } = props\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n // 使用selectedIndex初始化当前索引\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n // 触摸状态用于优化用户体验\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n // 获取选中的索引\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n updateIndex(newIndex, columnId)\n onColumnChange?.({ columnId, index: newIndex })\n }, 100)\n }\n // 滚动处理 - 在滚动时计算索引然后更新选中项样式\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 时间选择器实现\nexport function PickerGroupTime(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0,\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n setIsTouching(false)\n // 调用updateIndex执行限位逻辑,获取是否触发了限位\n const isLimited = Boolean(updateIndex(newIndex, columnId, true))\n // 如果没有触发限位,才执行归中逻辑\n if (!isLimited) {\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001)\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 日期选择器实现\nexport function PickerGroupDate(props: PickerGroupProps) {\n const {\n range = [],\n columnId,\n updateDay,\n selectedIndex = 0,\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n\n // 更新日期值\n if (updateDay) {\n // 解析文本中的数字(移除年、月、日等后缀)\n const valueText = range[newIndex] || ''\n const numericValue = parseInt(valueText.replace(/[^0-9]/g, ''))\n updateDay(isNaN(numericValue) ? 0 : numericValue, parseInt(columnId))\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {item}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 地区选择器实现\nexport function PickerGroupRegion(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n } = props\n\n const scrollViewRef = React.useRef<any>(null)\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n const isUserBeginScrollRef = React.useRef(false)\n React.useEffect(() => {\n if (scrollViewRef.current) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n setTargetScrollTop(selectedIndex * itemHeightRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 滚动结束处理\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n setTargetScrollTop(newIndex * itemHeightRef.current + Math.random() * 0.001) // 随机数为了在一个项内滚动时强制刷新\n updateIndex(newIndex, columnId, false, isUserBeginScrollRef.current)\n }, 100)\n }\n\n // 滚动处理 - 在滚动时计算索引\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{ height: PICKER_LINE_HEIGHT }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => {\n setIsTouching(true)\n isUserBeginScrollRef.current = true\n }}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 默认导出,根据 mode 自动分发\nexport function PickerGroup(props: PickerGroupProps) {\n switch (props.mode) {\n case 'time':\n return <PickerGroupTime {...props} />\n case 'date':\n return <PickerGroupDate {...props} />\n case 'region':\n return <PickerGroupRegion {...props} />\n default:\n return <PickerGroupBasic {...props} />\n }\n}\n"],"names":["PICKER_LINE_HEIGHT","PICKER_VISIBLE_ITEMS","PICKER_BLANK_ITEMS","PickerGroupBasic","props","range","rangeKey","columnId","updateIndex","onColumnChange","selectedIndex","targetScrollTop","setTargetScrollTop","React","useState","scrollViewRef","useRef","itemRefs","currentIndex","setCurrentIndex","isTouching","setIsTouching","itemHeightRef","useEffect","current","scrollHeight","childNodes","length","getSelectedIndex","scrollTop","Math","round","isCenterTimerId","handleScrollEnd","clearTimeout","setTimeout","newIndex","random","index","handleScroll","pickerItem","map","item","content","_$createComponent","View","id","key","ref","el","className","style","height","children","realPickerItems","Array","fill","_","idx","ScrollView","scrollY","showScrollbar","onScroll","onTouchStart","onScrollEnd","scrollWithAnimation","PickerGroupTime","isLimited","Boolean","PickerGroupDate","updateDay","valueText","numericValue","parseInt","replace","isNaN","PickerGroupRegion","isUserBeginScrollRef","PickerGroup","mode"],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { template, use, insert, effect, style, delegateEvents } from 'solid-js/web';
|
|
2
|
+
import './style/index.css.js';
|
|
3
|
+
import { isFunction } from '@tarojs/shared';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { throttle, createForwardRefComponent } from '../../utils/index.js';
|
|
6
|
+
import { useRef, useEffect } from '../../utils/hooks.solid.js';
|
|
7
|
+
|
|
8
|
+
var _tmpl$ = /*#__PURE__*/template(`<div>`);
|
|
9
|
+
function easeOutScroll() {
|
|
10
|
+
let from = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
11
|
+
let to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
12
|
+
let callback = arguments.length > 2 ? arguments[2] : undefined;
|
|
13
|
+
if (from === to || typeof from !== 'number') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const change = to - from;
|
|
17
|
+
const dur = 500;
|
|
18
|
+
const sTime = +new Date();
|
|
19
|
+
function linear(t, b, c, d) {
|
|
20
|
+
return c * t / d + b;
|
|
21
|
+
}
|
|
22
|
+
const isLarger = to >= from;
|
|
23
|
+
function step() {
|
|
24
|
+
from = linear(+new Date() - sTime, from, change, dur);
|
|
25
|
+
if (isLarger && from >= to || !isLarger && to >= from) {
|
|
26
|
+
callback(to);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
callback(from);
|
|
30
|
+
requestAnimationFrame(step);
|
|
31
|
+
}
|
|
32
|
+
step();
|
|
33
|
+
}
|
|
34
|
+
function scrollIntoView() {
|
|
35
|
+
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
36
|
+
let isHorizontal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
37
|
+
let animated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
38
|
+
let scrollIntoViewAlignment = arguments.length > 3 ? arguments[3] : undefined;
|
|
39
|
+
var _a;
|
|
40
|
+
(_a = document.querySelector(`#${id}`)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
|
|
41
|
+
behavior: animated ? 'smooth' : 'auto',
|
|
42
|
+
block: !isHorizontal ? scrollIntoViewAlignment || 'center' : 'center',
|
|
43
|
+
inline: isHorizontal ? scrollIntoViewAlignment || 'start' : 'start'
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function scrollVertical(container, scrollTop, top, isAnimation) {
|
|
47
|
+
if (isAnimation) {
|
|
48
|
+
easeOutScroll(scrollTop.current, top, pos => {
|
|
49
|
+
if (container.current) container.current.scrollTop = pos;
|
|
50
|
+
});
|
|
51
|
+
} else {
|
|
52
|
+
if (container.current) container.current.scrollTop = top;
|
|
53
|
+
}
|
|
54
|
+
scrollTop.current = top;
|
|
55
|
+
}
|
|
56
|
+
function scrollHorizontal(container, scrollLeft, left, isAnimation) {
|
|
57
|
+
if (isAnimation) {
|
|
58
|
+
easeOutScroll(scrollLeft.current, left, pos => {
|
|
59
|
+
if (container.current) container.current.scrollLeft = pos;
|
|
60
|
+
});
|
|
61
|
+
} else {
|
|
62
|
+
if (container.current) container.current.scrollLeft = left;
|
|
63
|
+
}
|
|
64
|
+
scrollLeft.current = left;
|
|
65
|
+
}
|
|
66
|
+
function ScrollView(props) {
|
|
67
|
+
const _scrollTop = useRef(null);
|
|
68
|
+
const _scrollLeft = useRef(null);
|
|
69
|
+
const container = useRef(null);
|
|
70
|
+
const onTouchMove = e => {
|
|
71
|
+
e.stopPropagation();
|
|
72
|
+
};
|
|
73
|
+
const handleScroll = function (props) {
|
|
74
|
+
let isInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
75
|
+
// scrollIntoView
|
|
76
|
+
if (props.scrollIntoView && typeof props.scrollIntoView === 'string' && document && document.querySelector && document.querySelector(`#${props.scrollIntoView}`)) {
|
|
77
|
+
const isHorizontal = props.scrollX && !props.scrollY;
|
|
78
|
+
if (isInit) {
|
|
79
|
+
setTimeout(() => scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment), 500);
|
|
80
|
+
} else {
|
|
81
|
+
scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment);
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
const isAnimation = !!props.scrollWithAnimation;
|
|
85
|
+
// Y 轴滚动
|
|
86
|
+
if (props.scrollY && typeof props.scrollTop === 'number' && props.scrollTop !== _scrollTop.current) {
|
|
87
|
+
if (isInit) {
|
|
88
|
+
setTimeout(() => scrollVertical(container, _scrollTop, props.scrollTop, isAnimation), 10);
|
|
89
|
+
} else {
|
|
90
|
+
scrollVertical(container, _scrollTop, props.scrollTop, isAnimation);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// X 轴滚动
|
|
94
|
+
if (props.scrollX && typeof props.scrollLeft === 'number' && props.scrollLeft !== _scrollLeft.current) {
|
|
95
|
+
if (isInit) {
|
|
96
|
+
setTimeout(() => scrollHorizontal(container, _scrollLeft, props.scrollLeft, isAnimation), 10);
|
|
97
|
+
} else {
|
|
98
|
+
scrollHorizontal(container, _scrollLeft, props.scrollLeft, isAnimation);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
handleScroll(props, true);
|
|
105
|
+
}, []);
|
|
106
|
+
const {
|
|
107
|
+
className,
|
|
108
|
+
style: style$1 = {},
|
|
109
|
+
onScroll,
|
|
110
|
+
onScrollToUpper,
|
|
111
|
+
onScrollToLower,
|
|
112
|
+
scrollX,
|
|
113
|
+
scrollY
|
|
114
|
+
} = props;
|
|
115
|
+
let {
|
|
116
|
+
upperThreshold = 50,
|
|
117
|
+
lowerThreshold = 50
|
|
118
|
+
} = props;
|
|
119
|
+
const cls = classNames('taro-scroll', {
|
|
120
|
+
'taro-scroll-view__scroll-x': scrollX,
|
|
121
|
+
'taro-scroll-view__scroll-y': scrollY
|
|
122
|
+
}, className);
|
|
123
|
+
upperThreshold = Number(upperThreshold);
|
|
124
|
+
lowerThreshold = Number(lowerThreshold);
|
|
125
|
+
const upperAndLower = e => {
|
|
126
|
+
if (!container.current) return;
|
|
127
|
+
const {
|
|
128
|
+
offsetWidth,
|
|
129
|
+
offsetHeight,
|
|
130
|
+
scrollLeft,
|
|
131
|
+
scrollTop,
|
|
132
|
+
scrollHeight,
|
|
133
|
+
scrollWidth
|
|
134
|
+
} = container.current;
|
|
135
|
+
if (onScrollToLower && (props.scrollY && offsetHeight + scrollTop + lowerThreshold >= scrollHeight || props.scrollX && offsetWidth + scrollLeft + lowerThreshold >= scrollWidth)) {
|
|
136
|
+
onScrollToLower(e);
|
|
137
|
+
}
|
|
138
|
+
if (onScrollToUpper && (props.scrollY && scrollTop <= upperThreshold || props.scrollX && scrollLeft <= upperThreshold)) {
|
|
139
|
+
onScrollToUpper(e);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const upperAndLowerThrottle = throttle(upperAndLower, 200);
|
|
143
|
+
const _onScroll = e => {
|
|
144
|
+
const {
|
|
145
|
+
scrollLeft,
|
|
146
|
+
scrollTop,
|
|
147
|
+
scrollHeight,
|
|
148
|
+
scrollWidth
|
|
149
|
+
} = container.current;
|
|
150
|
+
_scrollLeft.current = scrollLeft;
|
|
151
|
+
_scrollTop.current = scrollTop;
|
|
152
|
+
Object.defineProperty(e, 'detail', {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
writable: true,
|
|
155
|
+
value: {
|
|
156
|
+
scrollLeft,
|
|
157
|
+
scrollTop,
|
|
158
|
+
scrollHeight,
|
|
159
|
+
scrollWidth
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
upperAndLowerThrottle(e);
|
|
163
|
+
onScroll && onScroll(e);
|
|
164
|
+
};
|
|
165
|
+
const _onTouchMove = e => {
|
|
166
|
+
isFunction(props.onTouchMove) ? props.onTouchMove(e) : onTouchMove(e);
|
|
167
|
+
};
|
|
168
|
+
return (() => {
|
|
169
|
+
var _el$ = _tmpl$();
|
|
170
|
+
_el$.$$touchmove = _onTouchMove;
|
|
171
|
+
_el$.addEventListener("scroll", _onScroll);
|
|
172
|
+
use(e => {
|
|
173
|
+
if (e) {
|
|
174
|
+
container.current = e;
|
|
175
|
+
if (props.forwardedRef) props.forwardedRef.current = e;
|
|
176
|
+
}
|
|
177
|
+
}, _el$);
|
|
178
|
+
_el$.className = cls;
|
|
179
|
+
insert(_el$, () => props.children);
|
|
180
|
+
effect(_$p => style(_el$, style$1, _$p));
|
|
181
|
+
return _el$;
|
|
182
|
+
})();
|
|
183
|
+
}
|
|
184
|
+
var index = createForwardRefComponent(ScrollView);
|
|
185
|
+
delegateEvents(["touchmove"]);
|
|
186
|
+
|
|
187
|
+
export { index as default };
|
|
188
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/scroll-view/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport { isFunction } from '@tarojs/shared'\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, throttle } from '../../utils'\nimport { useEffect, useRef } from '../../utils/hooks'\n\nimport type React from 'react'\n\nfunction easeOutScroll (from = 0, to = 0, callback) {\n if (from === to || typeof from !== 'number') {\n return\n }\n const change = to - from\n const dur = 500\n const sTime = +new Date()\n function linear (t, b, c, d) {\n return (c * t) / d + b\n }\n const isLarger = to >= from\n\n function step () {\n from = linear(+new Date() - sTime, from, change, dur)\n if ((isLarger && from >= to) || (!isLarger && to >= from)) {\n callback(to)\n return\n }\n callback(from)\n requestAnimationFrame(step)\n }\n step()\n}\n\nfunction scrollIntoView (id = '', isHorizontal = false, animated = true, scrollIntoViewAlignment?: ScrollLogicalPosition) {\n document.querySelector(`#${id}`)?.scrollIntoView({\n behavior: animated ? 'smooth' : 'auto',\n block: !isHorizontal ? (scrollIntoViewAlignment || 'center') : 'center',\n inline: isHorizontal ? (scrollIntoViewAlignment || 'start') : 'start'\n })\n}\n\nfunction scrollVertical (container, scrollTop, top, isAnimation) {\n if (isAnimation) {\n easeOutScroll(scrollTop.current, top, pos => {\n if (container.current) container.current.scrollTop = pos\n })\n } else {\n if (container.current) container.current.scrollTop = top\n }\n scrollTop.current = top\n}\n\nfunction scrollHorizontal (container, scrollLeft, left, isAnimation) {\n if (isAnimation) {\n easeOutScroll(scrollLeft.current, left, pos => {\n if (container.current) container.current.scrollLeft = pos\n })\n } else {\n if (container.current) container.current.scrollLeft = left\n }\n scrollLeft.current = left\n}\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n scrollX: boolean\n scrollY: boolean\n upperThreshold: number\n lowerThreshold: number\n scrollTop: number\n scrollLeft: number\n scrollIntoView?: string\n scrollIntoViewAlignment?: ScrollLogicalPosition\n scrollWithAnimation: boolean\n enableBackToTop?: boolean\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n onScrollToUpper: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScrollToLower: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScroll: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onTouchMove: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n}\n\nfunction ScrollView (props: IProps) {\n const _scrollTop = useRef<any>(null)\n const _scrollLeft = useRef<any>(null)\n const container = useRef<any>(null)\n const onTouchMove = (e) => {\n e.stopPropagation()\n }\n\n const handleScroll = (props: IProps, isInit = false) => {\n // scrollIntoView\n if (\n props.scrollIntoView &&\n typeof props.scrollIntoView === 'string' &&\n document &&\n document.querySelector &&\n document.querySelector(`#${props.scrollIntoView}`)\n ) {\n const isHorizontal = props.scrollX && !props.scrollY\n if (isInit) {\n setTimeout(() => scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment), 500)\n } else {\n scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment)\n }\n } else {\n const isAnimation = !!props.scrollWithAnimation\n // Y 轴滚动\n if (props.scrollY && typeof props.scrollTop === 'number' && props.scrollTop !== _scrollTop.current) {\n if (isInit) {\n setTimeout(() => scrollVertical(container, _scrollTop, props.scrollTop, isAnimation), 10)\n } else {\n scrollVertical(container, _scrollTop, props.scrollTop, isAnimation)\n }\n }\n // X 轴滚动\n if (props.scrollX && typeof props.scrollLeft === 'number' && props.scrollLeft !== _scrollLeft.current) {\n if (isInit) {\n setTimeout(() => scrollHorizontal(container, _scrollLeft, props.scrollLeft, isAnimation), 10)\n } else {\n scrollHorizontal(container, _scrollLeft, props.scrollLeft, isAnimation)\n }\n }\n }\n }\n\n useEffect(() => {\n handleScroll(props, true)\n }, [])\n\n const {\n className,\n style = {},\n onScroll,\n onScrollToUpper,\n onScrollToLower,\n scrollX,\n scrollY\n } = props\n let { upperThreshold = 50, lowerThreshold = 50 } = props\n const cls = classNames(\n 'taro-scroll',\n {\n 'taro-scroll-view__scroll-x': scrollX,\n 'taro-scroll-view__scroll-y': scrollY\n },\n className\n )\n upperThreshold = Number(upperThreshold)\n lowerThreshold = Number(lowerThreshold)\n const upperAndLower = e => {\n if (!container.current) return\n const { offsetWidth, offsetHeight, scrollLeft, scrollTop, scrollHeight, scrollWidth } = container.current\n if (\n onScrollToLower &&\n ((props.scrollY && offsetHeight + scrollTop + lowerThreshold >= scrollHeight) ||\n (props.scrollX && offsetWidth + scrollLeft + lowerThreshold >= scrollWidth))\n ) {\n onScrollToLower(e)\n }\n if (\n onScrollToUpper &&\n ((props.scrollY && scrollTop <= upperThreshold) || (props.scrollX && scrollLeft <= upperThreshold))\n ) {\n onScrollToUpper(e)\n }\n }\n const upperAndLowerThrottle = throttle(upperAndLower, 200)\n const _onScroll = e => {\n const { scrollLeft, scrollTop, scrollHeight, scrollWidth } = container.current\n _scrollLeft.current = scrollLeft\n _scrollTop.current = scrollTop\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n scrollLeft,\n scrollTop,\n scrollHeight,\n scrollWidth\n }\n })\n upperAndLowerThrottle(e)\n onScroll && onScroll(e)\n }\n const _onTouchMove = e => {\n isFunction(props.onTouchMove) ? props.onTouchMove(e) : onTouchMove(e)\n }\n return (\n <div\n ref={e => {\n if (e) {\n container.current = e\n if (props.forwardedRef) props.forwardedRef.current = e\n }\n }}\n style={style}\n className={cls}\n onScroll={_onScroll}\n onTouchMove={_onTouchMove}\n >\n {props.children}\n </div>\n )\n}\n\nexport default createForwardRefComponent(ScrollView)\n"],"names":["easeOutScroll","from","arguments","length","undefined","to","callback","change","dur","sTime","Date","linear","t","b","c","d","isLarger","step","requestAnimationFrame","scrollIntoView","id","isHorizontal","animated","scrollIntoViewAlignment","_a","document","querySelector","behavior","block","inline","scrollVertical","container","scrollTop","top","isAnimation","current","pos","scrollHorizontal","scrollLeft","left","ScrollView","props","_scrollTop","useRef","_scrollLeft","onTouchMove","e","stopPropagation","handleScroll","isInit","scrollX","scrollY","setTimeout","scrollWithAnimation","useEffect","className","style","onScroll","onScrollToUpper","onScrollToLower","upperThreshold","lowerThreshold","cls","classNames","Number","upperAndLower","offsetWidth","offsetHeight","scrollHeight","scrollWidth","upperAndLowerThrottle","throttle","_onScroll","Object","defineProperty","enumerable","writable","value","_onTouchMove","isFunction","_el$","_tmpl$","$$touchmove","addEventListener","_$use","forwardedRef","_$insert","children","_$effect","_$p","_$style","createForwardRefComponent","_$delegateEvents"],"mappings":";;;;;;;;AAUA,SAASA,aAAaA,GAA4B;AAAA,EAAA,IAA1BC,IAAI,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,EAAA,IAAEG,EAAE,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;EAAA,IAAEI,QAAQ,GAAAJ,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA;EAChD,IAAIH,IAAI,KAAKI,EAAE,IAAI,OAAOJ,IAAI,KAAK,QAAQ,EAAE;AAC3C,IAAA;AACF;AACA,EAAA,MAAMM,MAAM,GAAGF,EAAE,GAAGJ,IAAI;EACxB,MAAMO,GAAG,GAAG,GAAG;AACf,EAAA,MAAMC,KAAK,GAAG,CAAC,IAAIC,IAAI,EAAE;EACzB,SAASC,MAAMA,CAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAA;AACzB,IAAA,OAAQD,CAAC,GAAGF,CAAC,GAAIG,CAAC,GAAGF,CAAC;AACxB;AACA,EAAA,MAAMG,QAAQ,GAAGX,EAAE,IAAIJ,IAAI;EAE3B,SAASgB,IAAIA,GAAA;AACXhB,IAAAA,IAAI,GAAGU,MAAM,CAAC,CAAC,IAAID,IAAI,EAAE,GAAGD,KAAK,EAAER,IAAI,EAAEM,MAAM,EAAEC,GAAG,CAAC;AACrD,IAAA,IAAKQ,QAAQ,IAAIf,IAAI,IAAII,EAAE,IAAM,CAACW,QAAQ,IAAIX,EAAE,IAAIJ,IAAK,EAAE;MACzDK,QAAQ,CAACD,EAAE,CAAC;AACZ,MAAA;AACF;IACAC,QAAQ,CAACL,IAAI,CAAC;IACdiB,qBAAqB,CAACD,IAAI,CAAC;AAC7B;AACAA,EAAAA,IAAI,EAAE;AACR;AAEA,SAASE,cAAcA,GAAiG;AAAA,EAAA,IAA/FC,EAAE,GAAAlB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,IAAEmB,YAAY,GAAAnB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AAAA,EAAA,IAAEoB,QAAQ,GAAApB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;EAAA,IAAEqB,uBAA+C,GAAArB,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA;;EACtH,CAAAoB,EAAA,GAAAC,QAAQ,CAACC,aAAa,CAAC,CAAIN,CAAAA,EAAAA,EAAE,CAAE,CAAA,CAAC,MAAE,IAAA,IAAAI,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAL,cAAc,CAAC;AAC/CQ,IAAAA,QAAQ,EAAEL,QAAQ,GAAG,QAAQ,GAAG,MAAM;IACtCM,KAAK,EAAE,CAACP,YAAY,GAAIE,uBAAuB,IAAI,QAAQ,GAAI,QAAQ;AACvEM,IAAAA,MAAM,EAAER,YAAY,GAAIE,uBAAuB,IAAI,OAAO,GAAI;AAC/D,GAAA,CAAC;AACJ;AAEA,SAASO,cAAcA,CAAEC,SAAS,EAAEC,SAAS,EAAEC,GAAG,EAAEC,WAAW,EAAA;AAC7D,EAAA,IAAIA,WAAW,EAAE;IACflC,aAAa,CAACgC,SAAS,CAACG,OAAO,EAAEF,GAAG,EAAEG,GAAG,IAAG;MAC1C,IAAIL,SAAS,CAACI,OAAO,EAAEJ,SAAS,CAACI,OAAO,CAACH,SAAS,GAAGI,GAAG;AAC1D,KAAC,CAAC;AACJ,GAAC,MAAM;IACL,IAAIL,SAAS,CAACI,OAAO,EAAEJ,SAAS,CAACI,OAAO,CAACH,SAAS,GAAGC,GAAG;AAC1D;EACAD,SAAS,CAACG,OAAO,GAAGF,GAAG;AACzB;AAEA,SAASI,gBAAgBA,CAAEN,SAAS,EAAEO,UAAU,EAAEC,IAAI,EAAEL,WAAW,EAAA;AACjE,EAAA,IAAIA,WAAW,EAAE;IACflC,aAAa,CAACsC,UAAU,CAACH,OAAO,EAAEI,IAAI,EAAEH,GAAG,IAAG;MAC5C,IAAIL,SAAS,CAACI,OAAO,EAAEJ,SAAS,CAACI,OAAO,CAACG,UAAU,GAAGF,GAAG;AAC3D,KAAC,CAAC;AACJ,GAAC,MAAM;IACL,IAAIL,SAAS,CAACI,OAAO,EAAEJ,SAAS,CAACI,OAAO,CAACG,UAAU,GAAGC,IAAI;AAC5D;EACAD,UAAU,CAACH,OAAO,GAAGI,IAAI;AAC3B;AAoBA,SAASC,UAAUA,CAAEC,KAAa,EAAA;AAChC,EAAA,MAAMC,UAAU,GAAGC,MAAM,CAAM,IAAI,CAAC;AACpC,EAAA,MAAMC,WAAW,GAAGD,MAAM,CAAM,IAAI,CAAC;AACrC,EAAA,MAAMZ,SAAS,GAAGY,MAAM,CAAM,IAAI,CAAC;EACnC,MAAME,WAAW,GAAIC,CAAC,IAAI;IACxBA,CAAC,CAACC,eAAe,EAAE;GACpB;AAED,EAAA,MAAMC,YAAY,GAAG,UAACP,KAAa,EAAoB;AAAA,IAAA,IAAlBQ,MAAM,GAAA/C,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AACjD;IACA,IACEuC,KAAK,CAACtB,cAAc,IACpB,OAAOsB,KAAK,CAACtB,cAAc,KAAK,QAAQ,IACxCM,QAAQ,IACRA,QAAQ,CAACC,aAAa,IACtBD,QAAQ,CAACC,aAAa,CAAC,CAAIe,CAAAA,EAAAA,KAAK,CAACtB,cAAc,CAAE,CAAA,CAAC,EAClD;MACA,MAAME,YAAY,GAAGoB,KAAK,CAACS,OAAO,IAAI,CAACT,KAAK,CAACU,OAAO;AACpD,MAAA,IAAIF,MAAM,EAAE;QACVG,UAAU,CAAC,MAAMjC,cAAc,CAACsB,KAAK,CAACtB,cAAc,EAAEsB,KAAK,CAACY,mBAAmB,EAAEhC,YAAY,EAAEoB,KAAK,CAAClB,uBAAuB,CAAC,EAAE,GAAG,CAAC;AACrI,OAAC,MAAM;AACLJ,QAAAA,cAAc,CAACsB,KAAK,CAACtB,cAAc,EAAEsB,KAAK,CAACY,mBAAmB,EAAEhC,YAAY,EAAEoB,KAAK,CAAClB,uBAAuB,CAAC;AAC9G;AACF,KAAC,MAAM;AACL,MAAA,MAAMW,WAAW,GAAG,CAAC,CAACO,KAAK,CAACY,mBAAmB;AAC/C;AACA,MAAA,IAAIZ,KAAK,CAACU,OAAO,IAAI,OAAOV,KAAK,CAACT,SAAS,KAAK,QAAQ,IAAIS,KAAK,CAACT,SAAS,KAAKU,UAAU,CAACP,OAAO,EAAE;AAClG,QAAA,IAAIc,MAAM,EAAE;AACVG,UAAAA,UAAU,CAAC,MAAMtB,cAAc,CAACC,SAAS,EAAEW,UAAU,EAAED,KAAK,CAACT,SAAS,EAAEE,WAAW,CAAC,EAAE,EAAE,CAAC;AAC3F,SAAC,MAAM;UACLJ,cAAc,CAACC,SAAS,EAAEW,UAAU,EAAED,KAAK,CAACT,SAAS,EAAEE,WAAW,CAAC;AACrE;AACF;AACA;AACA,MAAA,IAAIO,KAAK,CAACS,OAAO,IAAI,OAAOT,KAAK,CAACH,UAAU,KAAK,QAAQ,IAAIG,KAAK,CAACH,UAAU,KAAKM,WAAW,CAACT,OAAO,EAAE;AACrG,QAAA,IAAIc,MAAM,EAAE;AACVG,UAAAA,UAAU,CAAC,MAAMf,gBAAgB,CAACN,SAAS,EAAEa,WAAW,EAAEH,KAAK,CAACH,UAAU,EAAEJ,WAAW,CAAC,EAAE,EAAE,CAAC;AAC/F,SAAC,MAAM;UACLG,gBAAgB,CAACN,SAAS,EAAEa,WAAW,EAAEH,KAAK,CAACH,UAAU,EAAEJ,WAAW,CAAC;AACzE;AACF;AACF;GACD;AAEDoB,EAAAA,SAAS,CAAC,MAAK;AACbN,IAAAA,YAAY,CAACP,KAAK,EAAE,IAAI,CAAC;GAC1B,EAAE,EAAE,CAAC;EAEN,MAAM;IACJc,SAAS;WACTC,OAAK,GAAG,EAAE;IACVC,QAAQ;IACRC,eAAe;IACfC,eAAe;IACfT,OAAO;AACPC,IAAAA;AACD,GAAA,GAAGV,KAAK;EACT,IAAI;AAAEmB,IAAAA,cAAc,GAAG,EAAE;AAAEC,IAAAA,cAAc,GAAG;AAAE,GAAE,GAAGpB,KAAK;AACxD,EAAA,MAAMqB,GAAG,GAAGC,UAAU,CACpB,aAAa,EACb;AACE,IAAA,4BAA4B,EAAEb,OAAO;AACrC,IAAA,4BAA4B,EAAEC;GAC/B,EACDI,SAAS,CACV;AACDK,EAAAA,cAAc,GAAGI,MAAM,CAACJ,cAAc,CAAC;AACvCC,EAAAA,cAAc,GAAGG,MAAM,CAACH,cAAc,CAAC;EACvC,MAAMI,aAAa,GAAGnB,CAAC,IAAG;AACxB,IAAA,IAAI,CAACf,SAAS,CAACI,OAAO,EAAE;IACxB,MAAM;MAAE+B,WAAW;MAAEC,YAAY;MAAE7B,UAAU;MAAEN,SAAS;MAAEoC,YAAY;AAAEC,MAAAA;KAAa,GAAGtC,SAAS,CAACI,OAAO;IACzG,IACEwB,eAAe,KACblB,KAAK,CAACU,OAAO,IAAIgB,YAAY,GAAGnC,SAAS,GAAG6B,cAAc,IAAIO,YAAY,IACzE3B,KAAK,CAACS,OAAO,IAAIgB,WAAW,GAAG5B,UAAU,GAAGuB,cAAc,IAAIQ,WAAY,CAAC,EAC9E;MACAV,eAAe,CAACb,CAAC,CAAC;AACpB;AACA,IAAA,IACEY,eAAe,KACbjB,KAAK,CAACU,OAAO,IAAInB,SAAS,IAAI4B,cAAc,IAAMnB,KAAK,CAACS,OAAO,IAAIZ,UAAU,IAAIsB,cAAe,CAAC,EACnG;MACAF,eAAe,CAACZ,CAAC,CAAC;AACpB;GACD;AACD,EAAA,MAAMwB,qBAAqB,GAAGC,QAAQ,CAACN,aAAa,EAAE,GAAG,CAAC;EAC1D,MAAMO,SAAS,GAAG1B,CAAC,IAAG;IACpB,MAAM;MAAER,UAAU;MAAEN,SAAS;MAAEoC,YAAY;AAAEC,MAAAA;KAAa,GAAGtC,SAAS,CAACI,OAAO;IAC9ES,WAAW,CAACT,OAAO,GAAGG,UAAU;IAChCI,UAAU,CAACP,OAAO,GAAGH,SAAS;AAC9ByC,IAAAA,MAAM,CAACC,cAAc,CAAC5B,CAAC,EAAE,QAAQ,EAAE;AACjC6B,MAAAA,UAAU,EAAE,IAAI;AAChBC,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,KAAK,EAAE;QACLvC,UAAU;QACVN,SAAS;QACToC,YAAY;AACZC,QAAAA;AACD;AACF,KAAA,CAAC;IACFC,qBAAqB,CAACxB,CAAC,CAAC;AACxBW,IAAAA,QAAQ,IAAIA,QAAQ,CAACX,CAAC,CAAC;GACxB;EACD,MAAMgC,YAAY,GAAGhC,CAAC,IAAG;AACvBiC,IAAAA,UAAU,CAACtC,KAAK,CAACI,WAAW,CAAC,GAAGJ,KAAK,CAACI,WAAW,CAACC,CAAC,CAAC,GAAGD,WAAW,CAACC,CAAC,CAAC;GACtE;AACD,EAAA,OAAA,CAAA,MAAA;IAAA,IAAAkC,IAAA,GAAAC,MAAA,EAAA;IAAAD,IAAA,CAAAE,WAAA,GAWiBJ,YAAY;IAAAE,IAAA,CAAAG,gBAAA,CAAA,QAAA,EADfX,SAAS,CAAA;IAAAY,GAAA,CARdtC,CAAC,IAAG;AACP,MAAA,IAAIA,CAAC,EAAE;QACLf,SAAS,CAACI,OAAO,GAAGW,CAAC;QACrB,IAAIL,KAAK,CAAC4C,YAAY,EAAE5C,KAAK,CAAC4C,YAAY,CAAClD,OAAO,GAAGW,CAAC;AACxD;AACF,KAAC,EAAAkC,IAAA,CAAA;IAAAA,IAAA,CAAAzB,SAAA,GAEUO,GAAG;AAAAwB,IAAAA,MAAA,CAAAN,IAAA,EAIbvC,MAAAA,KAAK,CAAC8C,QAAQ,CAAA;IAAAC,MAAA,CAAAC,GAAA,IAAAC,KAAA,CAAAV,IAAA,EALRxB,OAAK,EAAAiC,GAAA,CAAA,CAAA;AAAA,IAAA,OAAAT,IAAA;AAAA,GAAA,GAAA;AAQlB;AAEA,YAAeW,yBAAyB,CAACnD,UAAU,CAAC;AAAAoD,cAAA,CAAA,CAAA,WAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { template, use, spread, mergeProps, insert } from 'solid-js/web';
|
|
2
|
+
import { __rest } from 'tslib';
|
|
3
|
+
import './style/index.css.js';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import 'react';
|
|
6
|
+
import { createForwardRefComponent } from '../../utils/index.js';
|
|
7
|
+
|
|
8
|
+
var _tmpl$ = /*#__PURE__*/template(`<span>`);
|
|
9
|
+
function Text(props) {
|
|
10
|
+
const {
|
|
11
|
+
className,
|
|
12
|
+
selectable = false,
|
|
13
|
+
forwardedRef
|
|
14
|
+
} = props,
|
|
15
|
+
restProps = __rest(props, ["className", "selectable", "forwardedRef"]);
|
|
16
|
+
const cls = classNames('taro-text', {
|
|
17
|
+
'taro-text__selectable': selectable
|
|
18
|
+
}, className);
|
|
19
|
+
return (() => {
|
|
20
|
+
var _el$ = _tmpl$();
|
|
21
|
+
use(forwardedRef, _el$);
|
|
22
|
+
spread(_el$, mergeProps(restProps, {
|
|
23
|
+
"className": cls
|
|
24
|
+
}), false, true);
|
|
25
|
+
insert(_el$, () => props.children);
|
|
26
|
+
return _el$;
|
|
27
|
+
})();
|
|
28
|
+
}
|
|
29
|
+
var index = createForwardRefComponent(Text);
|
|
30
|
+
|
|
31
|
+
export { index as default };
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/text/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { createForwardRefComponent } from '../../utils'\n\ninterface IProps extends React.HTMLAttributes<HTMLSpanElement> {\n selectable?: boolean\n forwardedRef?: React.MutableRefObject<HTMLSpanElement>\n}\n\nfunction Text (props: IProps) {\n const { className, selectable = false, forwardedRef, ...restProps } = props\n const cls = classNames(\n 'taro-text',\n {\n 'taro-text__selectable': selectable\n },\n className\n )\n return (\n <span {...restProps} className={cls} ref={forwardedRef}>\n {props.children}\n </span>\n )\n}\n\nexport default createForwardRefComponent(Text)\n"],"names":["Text","props","className","selectable","forwardedRef","restProps","__rest","cls","classNames","_el$","_tmpl$","_$use","_$spread","_$mergeProps","_$insert","children","createForwardRefComponent"],"mappings":";;;;;;;;AAYA,SAASA,IAAIA,CAAEC,KAAa,EAAA;EAC1B,MAAM;MAAEC,SAAS;AAAEC,MAAAA,UAAU,GAAG,KAAK;AAAEC,MAAAA;AAA+B,KAAA,GAAAH,KAAK;AAAnBI,IAAAA,SAAS,GAAAC,MAAA,CAAKL,KAAK,EAArE,CAAA,WAAA,EAAA,YAAA,EAAA,cAAA,CAA6D,CAAQ;AAC3E,EAAA,MAAMM,GAAG,GAAGC,UAAU,CACpB,WAAW,EACX;AACE,IAAA,uBAAuB,EAAEL;GAC1B,EACDD,SAAS,CACV;AACD,EAAA,OAAA,CAAA,MAAA;IAAA,IAAAO,IAAA,GAAAC,MAAA,EAAA;IAAAC,GAAA,CAC4CP,YAAY,EAAAK,IAAA,CAAA;AAAAG,IAAAA,MAAA,CAAAH,IAAA,EAAAI,UAAA,CAA5CR,SAAS,EAAA;MAAA,WAAaE,EAAAA;AAAG,KAAA,CAAA,EAAA,KAAA,EAAA,IAAA,CAAA;AAAAO,IAAAA,MAAA,CAAAL,IAAA,EAChCR,MAAAA,KAAK,CAACc,QAAQ,CAAA;AAAA,IAAA,OAAAN,IAAA;AAAA,GAAA,GAAA;AAGrB;AAEA,YAAeO,yBAAyB,CAAChB,IAAI,CAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { template, use, spread, mergeProps, memo, insert, delegateEvents } from 'solid-js/web';
|
|
2
|
+
import { __rest } from 'tslib';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useState, useEffect } from '../../utils/hooks.solid.js';
|
|
5
|
+
import { createForwardRefComponent } from '../../utils/index.js';
|
|
6
|
+
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/template(`<div>`);
|
|
8
|
+
function View(_a) {
|
|
9
|
+
var {
|
|
10
|
+
className,
|
|
11
|
+
hoverClass,
|
|
12
|
+
forwardedRef,
|
|
13
|
+
onTouchStart,
|
|
14
|
+
onTouchEnd,
|
|
15
|
+
onTouchMove,
|
|
16
|
+
hoverStartTime = 50,
|
|
17
|
+
hoverStayTime = 400
|
|
18
|
+
} = _a,
|
|
19
|
+
other = __rest(_a, ["className", "hoverClass", "forwardedRef", "onTouchStart", "onTouchEnd", "onTouchMove", "hoverStartTime", "hoverStayTime"]);
|
|
20
|
+
let timeoutEvent;
|
|
21
|
+
let startTime = 0;
|
|
22
|
+
const [hover, setHover] = useState(false);
|
|
23
|
+
const [touch, setTouch] = useState(false);
|
|
24
|
+
const [cls, setCls] = useState(classNames('', {
|
|
25
|
+
[`${hoverClass}`]: "solid" === 'solid' ? hover() : hover
|
|
26
|
+
}, className));
|
|
27
|
+
const _onTouchStart = e => {
|
|
28
|
+
if (hoverClass) {
|
|
29
|
+
setTouch(true);
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
if ("solid" === 'solid' ? touch() : touch) {
|
|
32
|
+
setHover(true);
|
|
33
|
+
}
|
|
34
|
+
}, hoverStartTime);
|
|
35
|
+
}
|
|
36
|
+
onTouchStart && onTouchStart(e);
|
|
37
|
+
if (other.onLongPress) {
|
|
38
|
+
timeoutEvent = setTimeout(() => {
|
|
39
|
+
other.onLongPress();
|
|
40
|
+
}, 350);
|
|
41
|
+
startTime = new Date().getTime();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const _onTouchMove = e => {
|
|
45
|
+
clearTimeout(timeoutEvent);
|
|
46
|
+
onTouchMove && onTouchMove(e);
|
|
47
|
+
};
|
|
48
|
+
const _onTouchEnd = e => {
|
|
49
|
+
const spanTime = new Date().getTime() - startTime;
|
|
50
|
+
if (spanTime < 350) {
|
|
51
|
+
clearTimeout(timeoutEvent);
|
|
52
|
+
}
|
|
53
|
+
if (hoverClass) {
|
|
54
|
+
setTouch(false);
|
|
55
|
+
setTimeout(() => {
|
|
56
|
+
if ("solid" === 'solid' ? touch() : touch) {
|
|
57
|
+
setHover(false);
|
|
58
|
+
}
|
|
59
|
+
}, hoverStayTime);
|
|
60
|
+
}
|
|
61
|
+
onTouchEnd && onTouchEnd(e);
|
|
62
|
+
};
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
setCls(classNames('', {
|
|
65
|
+
[`${hoverClass}`]: "solid" === 'solid' ? hover() : hover
|
|
66
|
+
}, className));
|
|
67
|
+
}, [hover, className]);
|
|
68
|
+
return (() => {
|
|
69
|
+
var _el$ = _tmpl$();
|
|
70
|
+
_el$.$$touchmove = _onTouchMove;
|
|
71
|
+
_el$.$$touchend = _onTouchEnd;
|
|
72
|
+
_el$.$$touchstart = _onTouchStart;
|
|
73
|
+
var _ref$ = forwardedRef;
|
|
74
|
+
typeof _ref$ === "function" ? use(_ref$, _el$) : forwardedRef = _el$;
|
|
75
|
+
spread(_el$, mergeProps({
|
|
76
|
+
get className() {
|
|
77
|
+
return memo(() => "solid" === 'solid')() ? cls() : cls;
|
|
78
|
+
}
|
|
79
|
+
}, other), false, true);
|
|
80
|
+
insert(_el$, () => other.children);
|
|
81
|
+
return _el$;
|
|
82
|
+
})();
|
|
83
|
+
}
|
|
84
|
+
var index = createForwardRefComponent(View);
|
|
85
|
+
delegateEvents(["touchstart", "touchend", "touchmove"]);
|
|
86
|
+
|
|
87
|
+
export { index as default };
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/view/index.tsx"],"sourcesContent":["import classNames from 'classnames'\n\nimport { useEffect, useState } from '../../utils/hooks'\nimport { createForwardRefComponent } from '../../utils/index'\n\nimport type { TFunc } from '@tarojs/runtime/dist/runtime.esm'\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n onTouchStart?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchEnd?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchMove?(e: React.TouchEvent<HTMLDivElement>): void\n onLongPress?(): void\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\nfunction View ({\n className,\n hoverClass,\n forwardedRef,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n hoverStartTime = 50,\n hoverStayTime = 400,\n ...other\n}: IProps) {\n let timeoutEvent: ReturnType<typeof setTimeout>\n let startTime = 0\n const [hover, setHover] = useState<boolean>(false)\n const [touch, setTouch] = useState<boolean>(false)\n\n const [cls, setCls] = useState<string>(classNames(\n '',\n {\n [`${hoverClass}`]: process.env.FRAMEWORK === 'solid' ? (hover as unknown as TFunc)() : hover\n },\n className\n ))\n\n const _onTouchStart = e => {\n if (hoverClass) {\n setTouch(true)\n setTimeout(() => {\n if (process.env.FRAMEWORK === 'solid' ? (touch as unknown as TFunc)() : touch) {\n setHover(true)\n }\n }, hoverStartTime)\n }\n onTouchStart && onTouchStart(e)\n if (other.onLongPress) {\n timeoutEvent = setTimeout(() => {\n other.onLongPress!()\n }, 350)\n startTime = new Date().getTime()\n }\n }\n\n const _onTouchMove = e => {\n clearTimeout(timeoutEvent)\n onTouchMove && onTouchMove(e)\n }\n\n const _onTouchEnd = e => {\n const spanTime = new Date().getTime() - startTime\n if (spanTime < 350) {\n clearTimeout(timeoutEvent)\n }\n if (hoverClass) {\n setTouch(false)\n setTimeout(() => {\n if (process.env.FRAMEWORK === 'solid' ? (touch as unknown as TFunc)() : touch) {\n setHover(false)\n }\n }, hoverStayTime)\n }\n onTouchEnd && onTouchEnd(e)\n }\n\n useEffect(() => {\n setCls(classNames(\n '',\n {\n [`${hoverClass}`]: process.env.FRAMEWORK === 'solid' ? (hover as unknown as TFunc)() : hover\n },\n className\n ))\n }, [hover, className])\n\n return (\n <div\n ref={forwardedRef}\n className={process.env.FRAMEWORK === 'solid' ? (cls as unknown as TFunc)() : cls as string}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n onTouchMove={_onTouchMove}\n {...other}\n >\n {other.children}\n </div>\n )\n}\n\n\nexport default createForwardRefComponent(View)\n"],"names":["View","_a","className","hoverClass","forwardedRef","onTouchStart","onTouchEnd","onTouchMove","hoverStartTime","hoverStayTime","other","__rest","timeoutEvent","startTime","hover","setHover","useState","touch","setTouch","cls","setCls","classNames","process","_onTouchStart","e","setTimeout","onLongPress","Date","getTime","_onTouchMove","clearTimeout","_onTouchEnd","spanTime","useEffect","_el$","_tmpl$","$$touchmove","$$touchend","$$touchstart","_ref$","_$use","_$spread","_$mergeProps","_$memo","_$insert","children","createForwardRefComponent","_$delegateEvents"],"mappings":"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"}
|
package/dist/solid/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.taro-picker__overlay{z-index:1000}.taro-picker__mask-overlay,.taro-picker__overlay{bottom:0;height:100%;left:0;position:relative;right:0;top:0;width:100%}.taro-picker__mask-overlay{background-color:rgba(0,0,0,.6);z-index:1001}.taro-picker{background-color:#e5e5e5;bottom:0;left:0;position:relative;width:100%;z-index:1002}.taro-picker__hd{align-items:center;background-color:#fff;display:flex;font-size:17px;height:44px;justify-content:space-between;padding:0;position:relative}.taro-picker__hd:after{background-color:#e5e5e5;bottom:0;content:"";height:1px;left:0;position:absolute;transform:scaleY(.5);width:100%}.taro-picker__action{color:#1aad19;flex:0 0 auto;font-size:16px;height:44px;line-height:44px;padding:0 10px}.taro-picker__action:first-child{color:#888}.taro-picker__title{color:#000;font-weight:500;left:50%;max-width:40%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.taro-picker__bd{background-color:#fff;height:238px;overflow:hidden;width:100%}.taro-picker__bd,.taro-picker__group{box-sizing:border-box;display:flex;flex:1}.taro-picker__group{align-items:center;height:100%;justify-content:center;min-width:0;position:relative}.taro-picker__group--date .taro-picker__columns{display:flex;height:100%;width:100%}.taro-picker__mask{background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6) 40%,hsla(0,0%,100%,0) 50%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.6) 60%,hsla(0,0%,100%,.95));height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.taro-picker__indicator{box-sizing:border-box;height:34px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:1002}.taro-picker__indicator:after,.taro-picker__indicator:before{background-color:#e5e5e5;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleY(.5)}.taro-picker__indicator:before{top:0}.taro-picker__indicator:after{bottom:0}.taro-picker__content{box-sizing:border-box;height:100%;width:100%}.taro-picker__item{align-items:center;box-sizing:border-box;color:#000;display:flex;font-size:16px;height:34px;justify-content:center;line-height:34px;overflow:hidden;padding:0 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.taro-picker__item--selected{color:#1aad19;font-weight:500}.taro-picker__item--disabled{color:#999}.taro-picker__column{flex:1;margin:0 8px}.taro-picker__column:first-child{margin-left:0}.taro-picker__column:last-child{margin-right:0}.taro-picker__item--custom{align-items:center;color:#888;display:flex;font-weight:400;justify-content:center;text-align:center}@keyframes taro-picker__slide-up{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes taro-picker__slide-down{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0)}}@keyframes taro-picker__fade-in{0%{opacity:0}to{opacity:1}}@keyframes taro-picker__fade-out{0%{opacity:1}to{opacity:0}}.taro-picker,.taro-picker__hd{font-size:12px}
|
|
1
|
+
@-webkit-keyframes weuiLoading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes weuiLoading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.taro-button-core[loading]>.weui-loading{animation:weuiLoading 1s steps(12) infinite;background:transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;background-size:100%;display:inline-block;height:20px;vertical-align:middle;width:20px}.taro-button-core[loading]>.weui-loading.weui-btn_primary,.taro-button-core[loading]>.weui-loading.weui-btn_warn{color:hsla(0,0%,100%,.6)}.taro-button-core[loading]>.weui-loading.weui-btn_primary{background-color:#179b16}.taro-button-core[loading]>.weui-loading.weui-btn_warn{background-color:#ce3c39}.taro-button-core{-webkit-tap-highlight-color:rgba(0,0,0,0);appearance:none;background-color:#f8f8f8;border-radius:5px;border-width:0;box-sizing:border-box;color:#000;display:block;font-size:18px;line-height:2.55555556;margin-left:auto;margin-right:auto;outline:0;overflow:hidden;padding-left:14px;padding-right:14px;position:relative;text-align:center;text-decoration:none;width:100%}.taro-button-core:focus{outline:0}.taro-button-core:not([disabled]):active{background-color:#dedede;color:rgba(0,0,0,.6)}.taro-button-core:after{border:1px solid rgba(0,0,0,.2);border-radius:10px;box-sizing:border-box;content:" ";height:200%;left:0;position:absolute;top:0;transform:scale(.5);transform-origin:0 0;width:200%}.taro-button-core+.taro-button-core{margin-top:15px}.taro-button-core[type=default]{background-color:#f8f8f8;color:#000}.taro-button-core[type=default]:not([disabled]):visited{color:#000}.taro-button-core[type=default]:not([disabled]):active{background-color:#dedede;color:rgba(0,0,0,.6)}.taro-button-core[size=mini]{display:inline-block;font-size:13px;line-height:2.3;padding:0 1.32em;width:auto}.taro-button-core[plain=true],.taro-button-core[plain=true][type=default],.taro-button-core[plain=true][type=primary]{background-color:transparent;border-width:1px}.taro-button-core[disabled]{color:hsla(0,0%,100%,.6)}.taro-button-core[disabled][type=default]{background-color:#f7f7f7;color:rgba(0,0,0,.3)}.taro-button-core[disabled][type=primary]{background-color:#9ed99d}.taro-button-core[disabled][type=warn]{background-color:#ec8b89}.taro-button-core[loading] .weui-loading{margin:-.2em .34em 0 0}.taro-button-core[loading][type=primary],.taro-button-core[loading][type=warn]{color:hsla(0,0%,100%,.6)}.taro-button-core[loading][type=primary]{background-color:#179b16}.taro-button-core[loading][type=warn]{background-color:#ce3c39}.taro-button-core[plain=true][type=primary]{border:1px solid #1aad19;color:#1aad19}.taro-button-core[plain=true][type=primary]:not([disabled]):active{background-color:transparent;border-color:rgba(26,173,25,.6);color:rgba(26,173,25,.6)}.taro-button-core[plain=true][type=primary]:after{border-width:0}.taro-button-core[plain=true][type=warn]{border:1px solid #e64340;color:#e64340}.taro-button-core[plain=true][type=warn]:not([disabled]):active{background-color:transparent;border-color:rgba(230,67,64,.6);color:rgba(230,67,64,.6)}.taro-button-core[plain=true][type=warn]:after{border-width:0}.taro-button-core[plain=true],.taro-button-core[plain=true][type=default]{border:1px solid #353535;color:#353535}.taro-button-core[plain=true]:not([disabled]):active,.taro-button-core[plain=true][type=default]:not([disabled]):active{background-color:transparent;border-color:rgba(53,53,53,.6);color:rgba(53,53,53,.6)}.taro-button-core[plain=true]:after,.taro-button-core[plain=true][type=default]:after{border-width:0}.taro-button-core[type=primary]{background-color:#1aad19;color:#fff}.taro-button-core[type=primary]:not([disabled]):visited{color:#fff}.taro-button-core[type=primary]:not([disabled]):active{background-color:#179b16;color:hsla(0,0%,100%,.6)}.taro-button-core[type=warn]{background-color:#e64340;color:#fff}.taro-button-core[type=warn]:not([disabled]):visited{color:#fff}.taro-button-core[type=warn]:not([disabled]):active{background-color:#ce3c39;color:hsla(0,0%,100%,.6)}.taro-button-core[plain=true][disabled],.taro-button-core[plain=true][disabled][type=primary]{background-color:#f7f7f7;border:1px solid rgba(0,0,0,.2);color:rgba(0,0,0,.3)}.weui-icon-circle:before{content:"\ea01"}.weui-icon-download:before{content:"\ea02"}.weui-icon-info:before{content:"\ea03"}.weui-icon-safe-success:before{content:"\ea04"}.weui-icon-safe-warn:before{content:"\ea05"}.weui-icon-success:before{content:"\ea06"}.weui-icon-success-circle:before{content:"\ea07"}.weui-icon-success-no-circle:before{content:"\ea08"}.weui-icon-waiting:before{content:"\ea09"}.weui-icon-waiting-circle:before{content:"\ea0a"}.weui-icon-warn:before{content:"\ea0b"}.weui-icon-info-circle:before{content:"\ea0c"}.weui-icon-cancel:before{content:"\ea0d"}.weui-icon-search:before{content:"\ea0e"}.weui-icon-clear:before{content:"\ea0f"}.weui-icon-back:before{content:"\ea10"}.weui-icon-delete:before{content:"\ea11"}.weui-icon-success{color:#09bb07;font-size:23px}.weui-icon-waiting{color:#10aeff;font-size:23px}.weui-icon-warn{color:#f43530;font-size:23px}.weui-icon-info{color:#10aeff;font-size:23px}.weui-icon-success-circle,.weui-icon-success-no-circle{color:#09bb07;font-size:23px}.weui-icon-waiting-circle{color:#10aeff;font-size:23px}.weui-icon-circle{color:#c9c9c9;font-size:23px}.weui-icon-download,.weui-icon-info-circle{color:#09bb07;font-size:23px}.weui-icon-safe-success{color:#09bb07}.weui-icon-safe-warn{color:#ffbe00}.weui-icon-cancel{color:#f43530;font-size:22px}.weui-icon-clear,.weui-icon-search{color:#b2b2b2;font-size:14px}.weui-icon-delete.weui-icon_gallery-delete{color:#fff;font-size:22px}.weui-icon_msg{font-size:93px}.weui-icon_msg.weui-icon-warn{color:#f76260}.weui-icon_msg-primary{font-size:93px}.weui-icon_msg-primary.weui-icon-warn{color:#ffbe00}img[src=""]{opacity:0}.taro-img{display:inline-block;font-size:0;height:240px;overflow:hidden;position:relative;width:320px}.taro-img.taro-img__widthfix,.taro-img__mode-heightfix{height:100%}.taro-img__mode-scaletofill{height:100%;width:100%}.taro-img__mode-aspectfit{height:100%;object-fit:contain;width:100%}.taro-img__mode-aspectfill{height:100%;object-fit:cover;width:100%}.taro-img__mode-widthfix{width:100%}.taro-img__mode-bottom,.taro-img__mode-top{left:50%;position:absolute;transform:translate(-50%)}.taro-img__mode-bottom{bottom:0}.taro-img__mode-center{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.taro-img__mode-left,.taro-img__mode-right{position:absolute;top:50%;transform:translateY(-50%)}.taro-img__mode-right{right:0}.taro-img__mode-topright{position:absolute;right:0}.taro-img__mode-bottomleft{bottom:0;position:absolute}.taro-img__mode-bottomright{bottom:0;position:absolute;right:0}.taro-picker__overlay{position:fixed;z-index:1000}.taro-picker__mask-overlay,.taro-picker__overlay{bottom:0;height:100%;left:0;right:0;top:0;width:100%}.taro-picker__mask-overlay{background-color:rgba(0,0,0,.6);position:absolute;z-index:1001}.taro-picker{background-color:#e5e5e5;bottom:0;font-size:14px;left:0;position:absolute;width:100%;z-index:1002}.taro-picker__hd{align-items:center;background-color:#fff;display:flex;font-size:17px;height:44px;justify-content:space-between;padding:0;position:relative}.taro-picker__hd:after{background-color:#e5e5e5;bottom:0;content:"";height:1px;left:0;position:absolute;transform:scaleY(.5);width:100%}.taro-picker__action{color:#1aad19;flex:0 0 auto;font-size:14px;height:44px;line-height:44px;padding:0 10px}.taro-picker__action:first-child{color:#888}.taro-picker__title{color:#000;font-size:16px;font-weight:500;left:50%;max-width:40%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.taro-picker__bd{background-color:#fff;height:238px;overflow:hidden;width:100%}.taro-picker__bd,.taro-picker__group{box-sizing:border-box;display:flex;flex:1}.taro-picker__group{align-items:center;height:100%;justify-content:center;min-width:0;position:relative}.taro-picker__group--date .taro-picker__columns{display:flex;height:100%;width:100%}.taro-picker__mask{background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6) 40%,hsla(0,0%,100%,0) 45%,hsla(0,0%,100%,0) 55%,hsla(0,0%,100%,.6) 60%,hsla(0,0%,100%,.95));height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.taro-picker__indicator{box-sizing:border-box;height:34px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:1002}.taro-picker__indicator:after,.taro-picker__indicator:before{background-color:#e5e5e5;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleY(.5)}.taro-picker__indicator:before{top:0}.taro-picker__indicator:after{bottom:0}.taro-picker__content{box-sizing:border-box;height:100%;width:100%}.taro-picker__item{align-items:center;box-sizing:border-box;color:#000;display:flex;font-size:16px;height:34px;justify-content:center;line-height:34px;overflow:hidden;padding:0 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.taro-picker__item--selected{color:#1aad19;font-weight:500}.taro-picker__item--disabled{color:#999}.taro-picker__column{flex:1;margin:0 8px}.taro-picker__column:first-child{margin-left:0}.taro-picker__column:last-child{margin-right:0}.taro-picker__item--custom{align-items:center;color:#888;display:flex;font-weight:400;justify-content:center;text-align:center}@keyframes taro-picker__slide-up{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes taro-picker__slide-down{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0)}}@keyframes taro-picker__fade-in{0%{opacity:0}to{opacity:1}}@keyframes taro-picker__fade-out{0%{opacity:1}to{opacity:0}}.taro-scroll{-webkit-overflow-scrolling:auto}.taro-scroll::-webkit-scrollbar{display:none}.taro-scroll-view{overflow:hidden}.taro-scroll-view__scroll-x{overflow-x:scroll;overflow-y:hidden}.taro-scroll-view__scroll-y{overflow-x:hidden;overflow-y:scroll}.taro-text{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.taro-text__selectable{-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}
|