@tarojs/components-react 4.0.8-beta.0 → 4.0.8-beta.3
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/README.md +31 -0
- package/dist/components/button/index.js +36 -10
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image/index.js +1 -1
- package/dist/components/image/index.js.map +1 -1
- package/dist/components/image/style/{index.css.js → index.scss.js} +1 -1
- package/dist/components/image/style/index.scss.js.map +1 -0
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/picker/index.js +788 -0
- package/dist/components/picker/index.js.map +1 -0
- package/dist/components/picker/picker-group.js +491 -0
- package/dist/components/picker/picker-group.js.map +1 -0
- package/dist/components/{scroll-view/style/index.css.js → picker/style/index.scss.js} +1 -1
- package/dist/components/picker/style/index.scss.js.map +1 -0
- package/dist/components/pull-down-refresh/index.js +1 -1
- package/dist/components/pull-down-refresh/index.js.map +1 -1
- package/dist/components/pull-down-refresh/style/{index.css.js → index.scss.js} +1 -1
- package/dist/components/pull-down-refresh/style/index.scss.js.map +1 -0
- package/dist/components/refresher/index.js +7 -0
- package/dist/components/refresher/index.js.map +1 -0
- package/dist/components/scroll-view/index.js +8 -3
- package/dist/components/scroll-view/index.js.map +1 -1
- package/dist/components/{swiper/style/index.css.js → scroll-view/style/index.scss.js} +1 -1
- package/dist/components/scroll-view/style/index.scss.js.map +1 -0
- package/dist/components/swiper/index.js +5 -3
- package/dist/components/swiper/index.js.map +1 -1
- package/dist/components/swiper/style/index.scss.js +4 -0
- package/dist/components/swiper/style/index.scss.js.map +1 -0
- package/dist/components/text/index.js +1 -1
- package/dist/components/text/index.js.map +1 -1
- package/dist/components/text/style/index.scss.js +4 -0
- package/dist/components/text/style/index.scss.js.map +1 -0
- package/dist/components/view/index.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/original/components/button/index.js +113 -0
- package/dist/original/components/button/index.js.map +1 -0
- package/dist/original/components/button/style/index.scss +354 -0
- package/dist/original/components/icon/index.js +36 -0
- package/dist/original/components/icon/index.js.map +1 -0
- package/dist/original/components/icon/style/index.scss +304 -0
- package/dist/original/components/image/index.js +86 -0
- package/dist/original/components/image/index.js.map +1 -0
- package/dist/original/components/image/style/index.scss +90 -0
- package/dist/original/components/input/index.js +233 -0
- package/dist/original/components/input/index.js.map +1 -0
- package/dist/original/components/input/style/index.scss +71 -0
- package/dist/original/components/picker/index.js +788 -0
- package/dist/original/components/picker/index.js.map +1 -0
- package/dist/original/components/picker/picker-group.js +491 -0
- package/dist/original/components/picker/picker-group.js.map +1 -0
- package/dist/original/components/picker/style/index.scss +297 -0
- package/dist/original/components/pull-down-refresh/index.js +320 -0
- package/dist/original/components/pull-down-refresh/index.js.map +1 -0
- package/dist/original/components/pull-down-refresh/style/index.scss +53 -0
- package/dist/original/components/refresher/index.js +7 -0
- package/dist/original/components/refresher/index.js.map +1 -0
- package/dist/original/components/scroll-view/index.js +189 -0
- package/dist/original/components/scroll-view/index.js.map +1 -0
- package/dist/original/components/scroll-view/style/index.scss +22 -0
- package/dist/original/components/swiper/index.js +461 -0
- package/dist/original/components/swiper/index.js.map +1 -0
- package/dist/original/components/swiper/style/index.scss +9 -0
- package/dist/original/components/text/index.js +28 -0
- package/dist/original/components/text/index.js.map +1 -0
- package/dist/original/components/text/style/index.scss +13 -0
- package/dist/original/components/view/index.js +80 -0
- package/dist/original/components/view/index.js.map +1 -0
- package/dist/original/index.js +15 -0
- package/dist/original/index.js.map +1 -0
- package/dist/original/utils/hooks.react.js +15 -0
- package/dist/original/utils/hooks.react.js.map +1 -0
- package/dist/original/utils/index.js +162 -0
- package/dist/original/utils/index.js.map +1 -0
- package/dist/solid/components/button/index.js +50 -29
- package/dist/solid/components/button/index.js.map +1 -1
- package/dist/solid/components/icon/index.js.map +1 -1
- package/dist/solid/components/image/index.js +1 -1
- package/dist/solid/components/image/index.js.map +1 -1
- package/dist/solid/components/image/style/index.scss.js +4 -0
- package/dist/solid/components/image/style/index.scss.js.map +1 -0
- package/dist/solid/components/picker/index.js +830 -0
- package/dist/solid/components/picker/index.js.map +1 -0
- package/dist/solid/components/picker/picker-group.js +512 -0
- package/dist/solid/components/picker/picker-group.js.map +1 -0
- package/dist/solid/components/picker/style/index.scss.js +4 -0
- package/dist/solid/components/picker/style/index.scss.js.map +1 -0
- package/dist/solid/components/refresher/index.js +7 -0
- package/dist/solid/components/refresher/index.js.map +1 -0
- package/dist/solid/components/scroll-view/index.js +8 -3
- package/dist/solid/components/scroll-view/index.js.map +1 -1
- package/dist/solid/components/scroll-view/style/index.scss.js +4 -0
- package/dist/solid/components/scroll-view/style/index.scss.js.map +1 -0
- package/dist/solid/components/text/index.js +1 -1
- package/dist/solid/components/text/index.js.map +1 -1
- package/dist/solid/components/text/style/index.scss.js +4 -0
- package/dist/solid/components/text/style/index.scss.js.map +1 -0
- package/dist/solid/components/view/index.js.map +1 -1
- package/dist/solid/index.css +1 -1
- package/dist/solid/index.js +3 -1
- package/dist/solid/index.js.map +1 -1
- package/dist/solid/utils/hooks.solid.js.map +1 -1
- package/dist/solid/utils/index.js +103 -1
- package/dist/solid/utils/index.js.map +1 -1
- package/dist/utils/hooks.react.js.map +1 -1
- package/dist/utils/index.js +103 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +23 -9
- package/types/global.d.ts +1 -1
- package/types/index.d.ts +3 -1
- package/dist/components/image/style/index.css.js.map +0 -1
- package/dist/components/pull-down-refresh/style/index.css.js.map +0 -1
- package/dist/components/scroll-view/style/index.css.js.map +0 -1
- package/dist/components/swiper/style/index.css.js.map +0 -1
- package/dist/components/text/style/index.css.js +0 -4
- package/dist/components/text/style/index.css.js.map +0 -1
- package/dist/solid/components/image/style/index.css.js +0 -4
- package/dist/solid/components/image/style/index.css.js.map +0 -1
- package/dist/solid/components/scroll-view/style/index.css.js +0 -4
- package/dist/solid/components/scroll-view/style/index.css.js.map +0 -1
- package/dist/solid/components/text/style/index.css.js +0 -4
- package/dist/solid/components/text/style/index.css.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { useState, useEffect } from '../../utils/hooks.react.js';
|
|
4
|
+
import { createForwardRefComponent } from '../../utils/index.js';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function View(_a) {
|
|
8
|
+
var {
|
|
9
|
+
className,
|
|
10
|
+
hoverClass,
|
|
11
|
+
forwardedRef,
|
|
12
|
+
onTouchStart,
|
|
13
|
+
onTouchEnd,
|
|
14
|
+
onTouchMove,
|
|
15
|
+
hoverStartTime = 50,
|
|
16
|
+
hoverStayTime = 400
|
|
17
|
+
} = _a,
|
|
18
|
+
other = __rest(_a, ["className", "hoverClass", "forwardedRef", "onTouchStart", "onTouchEnd", "onTouchMove", "hoverStartTime", "hoverStayTime"]);
|
|
19
|
+
let timeoutEvent;
|
|
20
|
+
let startTime = 0;
|
|
21
|
+
const [hover, setHover] = useState(false);
|
|
22
|
+
const [touch, setTouch] = useState(false);
|
|
23
|
+
const [cls, setCls] = useState(classNames('', {
|
|
24
|
+
[`${hoverClass}`]: "react" === 'solid' ? hover() : hover
|
|
25
|
+
}, className));
|
|
26
|
+
const _onTouchStart = e => {
|
|
27
|
+
if (hoverClass) {
|
|
28
|
+
setTouch(true);
|
|
29
|
+
setTimeout(() => {
|
|
30
|
+
if ("react" === 'solid' ? touch() : touch) {
|
|
31
|
+
setHover(true);
|
|
32
|
+
}
|
|
33
|
+
}, hoverStartTime);
|
|
34
|
+
}
|
|
35
|
+
onTouchStart && onTouchStart(e);
|
|
36
|
+
if (other.onLongPress) {
|
|
37
|
+
timeoutEvent = setTimeout(() => {
|
|
38
|
+
other.onLongPress();
|
|
39
|
+
}, 350);
|
|
40
|
+
startTime = new Date().getTime();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const _onTouchMove = e => {
|
|
44
|
+
clearTimeout(timeoutEvent);
|
|
45
|
+
onTouchMove && onTouchMove(e);
|
|
46
|
+
};
|
|
47
|
+
const _onTouchEnd = e => {
|
|
48
|
+
const spanTime = new Date().getTime() - startTime;
|
|
49
|
+
if (spanTime < 350) {
|
|
50
|
+
clearTimeout(timeoutEvent);
|
|
51
|
+
}
|
|
52
|
+
if (hoverClass) {
|
|
53
|
+
setTouch(false);
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
if ("react" === 'solid' ? touch() : touch) {
|
|
56
|
+
setHover(false);
|
|
57
|
+
}
|
|
58
|
+
}, hoverStayTime);
|
|
59
|
+
}
|
|
60
|
+
onTouchEnd && onTouchEnd(e);
|
|
61
|
+
};
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
setCls(classNames('', {
|
|
64
|
+
[`${hoverClass}`]: "react" === 'solid' ? hover() : hover
|
|
65
|
+
}, className));
|
|
66
|
+
}, [hover, className]);
|
|
67
|
+
return /*#__PURE__*/jsx("div", {
|
|
68
|
+
ref: forwardedRef,
|
|
69
|
+
className: "react" === 'solid' ? cls() : cls,
|
|
70
|
+
onTouchStart: _onTouchStart,
|
|
71
|
+
onTouchEnd: _onTouchEnd,
|
|
72
|
+
onTouchMove: _onTouchMove,
|
|
73
|
+
...other,
|
|
74
|
+
children: other.children
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
var index = createForwardRefComponent(View);
|
|
78
|
+
|
|
79
|
+
export { index as default };
|
|
80
|
+
//# 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","_jsx","ref","children","createForwardRefComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { Ad, AdCustom, AnimationVideo, AnimationView, ArCamera, Audio, AwemeData, Block, Camera, Canvas, ChannelLive, ChannelVideo, Checkbox, CheckboxGroup, CommentDetail, CommentList, ContactButton, CoverImage, CoverView, CustomWrapper, DraggableSheet, Editor, FollowSwan, Form, FunctionalPageNavigator, GridBuilder, GridView, InlinePaymentPanel, KeyboardAccessory, Label, Lifestyle, Like, ListBuilder, ListView, LivePlayer, LivePusher, Login, Lottie, Map, MatchMedia, MovableArea, MovableView, NativeSlot, NavigationBar, Navigator, NestedScrollBody, NestedScrollHeader, OfficialAccount, OpenContainer, OpenData, PageContainer, PageMeta, PickerView, PickerViewColumn, Progress, Radio, RadioGroup, RichText, RootPortal, RtcRoom, RtcRoomItem, Script, ShareElement, Slider, Slot, Snapshot, Span, Switch, Tabs, Textarea, Video, VoipRoom, WebView } from '@tarojs/components/lib/react';
|
|
2
|
+
export { default as Button } from './components/button/index.js';
|
|
3
|
+
export { default as Icon } from './components/icon/index.js';
|
|
4
|
+
export { default as Image } from './components/image/index.js';
|
|
5
|
+
export { default as Input } from './components/input/index.js';
|
|
6
|
+
export { default as Picker } from './components/picker/index.js';
|
|
7
|
+
export { default as PullDownRefresh } from './components/pull-down-refresh/index.js';
|
|
8
|
+
export { default as Refresher } from './components/refresher/index.js';
|
|
9
|
+
export { default as ScrollView } from './components/scroll-view/index.js';
|
|
10
|
+
export { Swiper, SwiperItem } from './components/swiper/index.js';
|
|
11
|
+
export { default as Text } from './components/text/index.js';
|
|
12
|
+
export { default as View } from './components/view/index.js';
|
|
13
|
+
|
|
14
|
+
/* eslint-disable simple-import-sort/exports */
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/index.react.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/exports */\nexport { Ad } from '@tarojs/components/lib/react'\nexport { AdCustom } from '@tarojs/components/lib/react'\nexport { AnimationVideo } from '@tarojs/components/lib/react'\nexport { AnimationView } from '@tarojs/components/lib/react'\nexport { ArCamera } from '@tarojs/components/lib/react'\nexport { Audio } from '@tarojs/components/lib/react'\nexport { AwemeData } from '@tarojs/components/lib/react'\nexport { Block } from '@tarojs/components/lib/react'\nexport { default as Button } from './components/button'\nexport { Camera } from '@tarojs/components/lib/react'\nexport { Canvas } from '@tarojs/components/lib/react'\nexport { ChannelLive } from '@tarojs/components/lib/react'\nexport { ChannelVideo } from '@tarojs/components/lib/react'\nexport { Checkbox, CheckboxGroup } from '@tarojs/components/lib/react'\nexport { CommentDetail, CommentList } from '@tarojs/components/lib/react'\nexport { ContactButton } from '@tarojs/components/lib/react'\nexport { CoverImage } from '@tarojs/components/lib/react'\nexport { CoverView } from '@tarojs/components/lib/react'\nexport { CustomWrapper } from '@tarojs/components/lib/react'\nexport { DraggableSheet } from '@tarojs/components/lib/react'\nexport { Editor } from '@tarojs/components/lib/react'\nexport { FollowSwan } from '@tarojs/components/lib/react'\nexport { Form } from '@tarojs/components/lib/react'\nexport { FunctionalPageNavigator } from '@tarojs/components/lib/react'\nexport { GridView } from '@tarojs/components/lib/react'\nexport { GridBuilder } from '@tarojs/components/lib/react'\nexport { default as Icon } from './components/icon'\nexport { default as Image } from './components/image'\nexport { InlinePaymentPanel } from '@tarojs/components/lib/react'\nexport { default as Input } from './components/input'\nexport { KeyboardAccessory } from '@tarojs/components/lib/react'\nexport { Label } from '@tarojs/components/lib/react'\nexport { Lifestyle } from '@tarojs/components/lib/react'\nexport { Like } from '@tarojs/components/lib/react'\nexport { LivePlayer } from '@tarojs/components/lib/react'\nexport { LivePusher } from '@tarojs/components/lib/react'\nexport { ListBuilder } from '@tarojs/components/lib/react'\nexport { ListView } from '@tarojs/components/lib/react'\nexport { Login } from '@tarojs/components/lib/react'\nexport { Lottie } from '@tarojs/components/lib/react'\nexport { Map } from '@tarojs/components/lib/react'\nexport { MatchMedia } from '@tarojs/components/lib/react'\nexport { MovableArea, MovableView } from '@tarojs/components/lib/react'\nexport { NavigationBar } from '@tarojs/components/lib/react'\nexport { Navigator } from '@tarojs/components/lib/react'\nexport { NestedScrollBody } from '@tarojs/components/lib/react'\nexport { NestedScrollHeader } from '@tarojs/components/lib/react'\nexport { OfficialAccount } from '@tarojs/components/lib/react'\nexport { OpenData } from '@tarojs/components/lib/react'\nexport { OpenContainer } from '@tarojs/components/lib/react'\nexport { PageContainer } from '@tarojs/components/lib/react'\nexport { PageMeta } from '@tarojs/components/lib/react'\nexport { default as Picker } from './components/picker'\nexport { PickerView, PickerViewColumn } from '@tarojs/components/lib/react'\nexport { Progress } from '@tarojs/components/lib/react'\nexport { default as PullDownRefresh } from './components/pull-down-refresh'\n// export { PullToRefresh } from '@tarojs/components/lib/react'\nexport { default as Refresher } from './components/refresher'\nexport { Radio, RadioGroup } from '@tarojs/components/lib/react'\nexport { RichText } from '@tarojs/components/lib/react'\nexport { RootPortal } from '@tarojs/components/lib/react'\nexport { RtcRoom, RtcRoomItem } from '@tarojs/components/lib/react'\nexport { Script } from '@tarojs/components/lib/react'\nexport { default as ScrollView } from './components/scroll-view'\nexport { ShareElement } from '@tarojs/components/lib/react'\nexport { Slider } from '@tarojs/components/lib/react'\nexport { Snapshot } from '@tarojs/components/lib/react'\nexport { Span } from '@tarojs/components/lib/react'\nexport { NativeSlot, Slot } from '@tarojs/components/lib/react'\nexport { Swiper, SwiperItem } from './components/swiper'\nexport { Switch } from '@tarojs/components/lib/react'\nexport { Tabs } from '@tarojs/components/lib/react'\nexport { default as Text } from './components/text'\nexport { Textarea } from '@tarojs/components/lib/react'\nexport { Video } from '@tarojs/components/lib/react'\nexport { default as View } from './components/view'\nexport { VoipRoom } from '@tarojs/components/lib/react'\nexport { WebView } from '@tarojs/components/lib/react'\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
const useState = React.useState;
|
|
4
|
+
const useCallback = React.useCallback;
|
|
5
|
+
const useEffect = React.useEffect;
|
|
6
|
+
const useMemo = React.useMemo;
|
|
7
|
+
const useRef = React.useRef;
|
|
8
|
+
const createContext = React.createContext;
|
|
9
|
+
const useContext = React.useContext;
|
|
10
|
+
const memo = React.memo;
|
|
11
|
+
const forwardRef = React.forwardRef;
|
|
12
|
+
const useImperativeHandle = React.useImperativeHandle;
|
|
13
|
+
|
|
14
|
+
export { createContext, forwardRef, memo, useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState };
|
|
15
|
+
//# sourceMappingURL=hooks.react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.react.js","sources":["../../../src/utils/hooks.react.ts"],"sourcesContent":["import * as React from 'react'\n\nexport const useState = React.useState\n\nexport const useCallback = React.useCallback\n\nexport const useEffect = React.useEffect\n\nexport const useMemo = React.useMemo\n\nexport const useRef = React.useRef\n\nexport const createContext = React.createContext\nexport const useContext = React.useContext\nexport const memo = React.memo\nexport const forwardRef = React.forwardRef\nexport const useImperativeHandle = React.useImperativeHandle\n"],"names":["useState","React","useCallback","useEffect","useMemo","useRef","createContext","useContext","memo","forwardRef","useImperativeHandle"],"mappings":";;AAEaA,MAAAA,QAAQ,GAAGC,KAAK,CAACD;AAEjBE,MAAAA,WAAW,GAAGD,KAAK,CAACC;AAEpBC,MAAAA,SAAS,GAAGF,KAAK,CAACE;AAElBC,MAAAA,OAAO,GAAGH,KAAK,CAACG;AAEhBC,MAAAA,MAAM,GAAGJ,KAAK,CAACI;AAEfC,MAAAA,aAAa,GAAGL,KAAK,CAACK;AACtBC,MAAAA,UAAU,GAAGN,KAAK,CAACM;AACnBC,MAAAA,IAAI,GAAGP,KAAK,CAACO;AACbC,MAAAA,UAAU,GAAGR,KAAK,CAACQ;AACnBC,MAAAA,mBAAmB,GAAGT,KAAK,CAACS;;;;"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { forwardRef } from './hooks.react.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
/* eslint-disable react/react-in-jsx-scope */
|
|
5
|
+
function throttle(fn) {
|
|
6
|
+
let threshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250;
|
|
7
|
+
let scope = arguments.length > 2 ? arguments[2] : undefined;
|
|
8
|
+
let lastTime = 0;
|
|
9
|
+
let deferTimer;
|
|
10
|
+
return function () {
|
|
11
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
12
|
+
args[_key] = arguments[_key];
|
|
13
|
+
}
|
|
14
|
+
const context = scope || this;
|
|
15
|
+
const now = Date.now();
|
|
16
|
+
if (now - lastTime > threshold) {
|
|
17
|
+
fn.apply(this, args);
|
|
18
|
+
lastTime = now;
|
|
19
|
+
} else {
|
|
20
|
+
clearTimeout(deferTimer);
|
|
21
|
+
deferTimer = setTimeout(() => {
|
|
22
|
+
lastTime = now;
|
|
23
|
+
fn.apply(context, args);
|
|
24
|
+
}, threshold);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function debounce(fn) {
|
|
29
|
+
let ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250;
|
|
30
|
+
let scope = arguments.length > 2 ? arguments[2] : undefined;
|
|
31
|
+
let timer;
|
|
32
|
+
return function () {
|
|
33
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
34
|
+
args[_key2] = arguments[_key2];
|
|
35
|
+
}
|
|
36
|
+
const context = scope || this;
|
|
37
|
+
clearTimeout(timer);
|
|
38
|
+
timer = setTimeout(function () {
|
|
39
|
+
fn.apply(context, args);
|
|
40
|
+
}, ms);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function omit(obj, fields) {
|
|
44
|
+
const shallowCopy = Object.assign({}, obj);
|
|
45
|
+
for (let i = 0; i < fields.length; i += 1) {
|
|
46
|
+
const key = fields[i];
|
|
47
|
+
delete shallowCopy[key];
|
|
48
|
+
}
|
|
49
|
+
return shallowCopy;
|
|
50
|
+
}
|
|
51
|
+
const createForwardRefComponent = ReactComponent => {
|
|
52
|
+
const forwardRefComponent = (props, ref) => /*#__PURE__*/jsx(ReactComponent, {
|
|
53
|
+
...props,
|
|
54
|
+
forwardedRef: ref
|
|
55
|
+
});
|
|
56
|
+
return forwardRef(forwardRefComponent);
|
|
57
|
+
};
|
|
58
|
+
// Picker 工具函数
|
|
59
|
+
function getTimeRange(begin, end) {
|
|
60
|
+
const range = [];
|
|
61
|
+
for (let i = begin; i <= end; i++) {
|
|
62
|
+
range.push(`${i < 10 ? '0' : ''}${i}`);
|
|
63
|
+
}
|
|
64
|
+
return range;
|
|
65
|
+
}
|
|
66
|
+
const hoursRange = getTimeRange(0, 23);
|
|
67
|
+
const minutesRange = getTimeRange(0, 59);
|
|
68
|
+
/**
|
|
69
|
+
* 校验传入的 value 是否合法
|
|
70
|
+
*/
|
|
71
|
+
function verifyValue(value, range) {
|
|
72
|
+
if (!isNaN(+value) && value >= 0 && value < range.length) return true;
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 检验传入的 time value 是否合法
|
|
77
|
+
*/
|
|
78
|
+
function verifyTime(value) {
|
|
79
|
+
if (!/^\d{1,2}:\d{1,2}$/.test(value)) return false;
|
|
80
|
+
const time = value.split(':').map(num => +num);
|
|
81
|
+
if (time[0] < 0 || time[0] > 23) return false;
|
|
82
|
+
if (time[1] < 0 || time[1] > 59) return false;
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 比较时间
|
|
87
|
+
* return t1 <= t2
|
|
88
|
+
*/
|
|
89
|
+
function compareTime(t1, t2) {
|
|
90
|
+
const t1List = t1.split(':').map(i => +i);
|
|
91
|
+
const t2List = t2.split(':').map(i => +i);
|
|
92
|
+
if (t1List[0] < t2List[0]) return true;
|
|
93
|
+
if (t1List[0] === t2List[0] && t1List[1] <= t2List[1]) return true;
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 校验日期合法性,返回合法性和日期数组
|
|
98
|
+
*/
|
|
99
|
+
function verifyDate(dateStr) {
|
|
100
|
+
if (!dateStr) return false;
|
|
101
|
+
const date = new Date(dateStr.replace(/-/g, '/'));
|
|
102
|
+
return isNaN(date.getMonth()) ? false : date;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 获取当月最大天数
|
|
106
|
+
*/
|
|
107
|
+
function getMaxDay(year, month) {
|
|
108
|
+
if (month === 4 || month === 6 || month === 9 || month === 11) return 30;
|
|
109
|
+
if (month === 2) {
|
|
110
|
+
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) return 29;else return 28;
|
|
111
|
+
}
|
|
112
|
+
return 31;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 获取时间数组
|
|
116
|
+
*/
|
|
117
|
+
function getDateRange(start, end) {
|
|
118
|
+
const range = [];
|
|
119
|
+
for (let i = start; i <= end; i++) {
|
|
120
|
+
range.push(i);
|
|
121
|
+
}
|
|
122
|
+
return range;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 获取年份区间数组
|
|
126
|
+
*/
|
|
127
|
+
function getYearRange(start, end) {
|
|
128
|
+
return getDateRange(start, end);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* 获取月份区间数组
|
|
132
|
+
*/
|
|
133
|
+
function getMonthRange(start, end, year) {
|
|
134
|
+
let rangeStart = 1;
|
|
135
|
+
let rangeEnd = 12;
|
|
136
|
+
// 当前年份等于开始年份,由开始对应的月份约束开始值
|
|
137
|
+
if (start.getFullYear() === year) {
|
|
138
|
+
rangeStart = start.getMonth() + 1;
|
|
139
|
+
}
|
|
140
|
+
// 当前年份等于结束年份,由结束对应的月份约束结束值
|
|
141
|
+
if (end.getFullYear() === year) {
|
|
142
|
+
rangeEnd = end.getMonth() + 1;
|
|
143
|
+
}
|
|
144
|
+
return getDateRange(rangeStart, rangeEnd);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* 获取日期区间数组
|
|
148
|
+
*/
|
|
149
|
+
function getDayRange(start, end, year, month) {
|
|
150
|
+
let rangeStart = 1;
|
|
151
|
+
let rangeEnd = getMaxDay(year, month);
|
|
152
|
+
if (start.getFullYear() === year && start.getMonth() + 1 === month) {
|
|
153
|
+
rangeStart = start.getDate();
|
|
154
|
+
}
|
|
155
|
+
if (end.getFullYear() === year && end.getMonth() + 1 === month) {
|
|
156
|
+
rangeEnd = end.getDate();
|
|
157
|
+
}
|
|
158
|
+
return getDateRange(rangeStart, rangeEnd);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export { compareTime, createForwardRefComponent, debounce, getDayRange, getMonthRange, getYearRange, hoursRange, minutesRange, omit, throttle, verifyDate, verifyTime, verifyValue };
|
|
162
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.tsx"],"sourcesContent":["/* eslint-disable react/react-in-jsx-scope */\nimport { forwardRef } from './hooks'\n\nexport function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n\nexport function omit (obj, fields) {\n const shallowCopy = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\n\nexport const createForwardRefComponent = (ReactComponent: any) => {\n const forwardRefComponent = (\n props,\n ref\n ) => <ReactComponent {...props} forwardedRef={ref} />\n\n return forwardRef(forwardRefComponent)\n}\n\n// Picker 工具函数\nfunction getTimeRange (begin: number, end: number) {\n const range: string[] = []\n for (let i = begin; i <= end; i++) {\n range.push(`${i < 10 ? '0' : ''}${i}`)\n }\n return range\n}\n\nexport const hoursRange = getTimeRange(0, 23)\n\nexport const minutesRange = getTimeRange(0, 59)\n\n/**\n * 校验传入的 value 是否合法\n */\nexport function verifyValue (value: number, range: any[]) {\n if (!isNaN(+value) && value >= 0 && value < range.length) return true\n return false\n}\n\n/**\n * 检验传入的 time value 是否合法\n */\nexport function verifyTime (value: string) {\n if (!/^\\d{1,2}:\\d{1,2}$/.test(value)) return false\n\n const time = value.split(':').map(num => +num)\n\n if (time[0] < 0 || time[0] > 23) return false\n if (time[1] < 0 || time[1] > 59) return false\n\n return true\n}\n\n/**\n * 比较时间\n * return t1 <= t2\n */\nexport function compareTime (t1: string, t2: string) {\n const t1List = t1.split(':').map(i => +i)\n const t2List = t2.split(':').map(i => +i)\n\n if (t1List[0] < t2List[0]) return true\n if (t1List[0] === t2List[0] && t1List[1] <= t2List[1]) return true\n\n return false\n}\n\n/**\n * 校验日期合法性,返回合法性和日期数组\n */\nexport function verifyDate (dateStr: string) {\n if (!dateStr) return false\n const date = new Date(dateStr.replace(/-/g, '/'))\n return isNaN(date.getMonth()) ? false : date\n}\n\n/**\n * 获取当月最大天数\n */\nfunction getMaxDay (year: number, month: number) {\n if (month === 4 || month === 6 || month === 9 || month === 11) return 30\n if (month === 2) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) return 29\n else return 28\n }\n return 31\n}\n\n/**\n * 获取时间数组\n */\nfunction getDateRange (start: number, end: number) {\n const range: number[] = []\n for (let i = start; i <= end; i++) {\n range.push(i)\n }\n return range\n}\n\n/**\n * 获取年份区间数组\n */\nexport function getYearRange (start: number, end: number) {\n return getDateRange(start, end)\n}\n\n/**\n * 获取月份区间数组\n */\nexport function getMonthRange (start: Date, end: Date, year: number) {\n let rangeStart = 1\n let rangeEnd = 12\n\n // 当前年份等于开始年份,由开始对应的月份约束开始值\n if (start.getFullYear() === year) {\n rangeStart = start.getMonth() + 1\n }\n\n // 当前年份等于结束年份,由结束对应的月份约束结束值\n if (end.getFullYear() === year) {\n rangeEnd = end.getMonth() + 1\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n/**\n * 获取日期区间数组\n */\nexport function getDayRange (start: Date, end: Date, year: number, month: number) {\n let rangeStart = 1\n let rangeEnd = getMaxDay(year, month)\n\n if (start.getFullYear() === year && start.getMonth() + 1 === month) {\n rangeStart = start.getDate()\n }\n\n if (end.getFullYear() === year && end.getMonth() + 1 === month) {\n rangeEnd = end.getDate()\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n"],"names":["throttle","fn","threshold","arguments","length","undefined","scope","lastTime","deferTimer","_len","args","Array","_key","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer","_len2","_key2","omit","obj","fields","shallowCopy","Object","assign","i","key","createForwardRefComponent","ReactComponent","forwardRefComponent","props","ref","_jsx","forwardedRef","forwardRef","getTimeRange","begin","end","range","push","hoursRange","minutesRange","verifyValue","value","isNaN","verifyTime","test","time","split","map","num","compareTime","t1","t2","t1List","t2List","verifyDate","dateStr","date","replace","getMonth","getMaxDay","year","month","getDateRange","start","getYearRange","getMonthRange","rangeStart","rangeEnd","getFullYear","getDayRange","getDate"],"mappings":";;;AAAA;AAGM,SAAUA,QAAQA,CAAEC,EAAE,EAAyB;AAAA,EAAA,IAAvBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,GAAG;EAAA,IAAEG,KAAM,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA;EACnD,IAAIE,QAAQ,GAAG,CAAC;AAChB,EAAA,IAAIC,UAAyC;AAC7C,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAN,SAAA,CAAAC,MAAA,EAAJM,IAAI,GAAAC,IAAAA,KAAA,CAAAF,IAAA,GAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAJF,MAAAA,IAAI,CAAAE,IAAA,CAAAT,GAAAA,SAAA,CAAAS,IAAA,CAAA;AAAA;AACtB,IAAA,MAAMC,OAAO,GAAGP,KAAK,IAAI,IAAI;AAC7B,IAAA,MAAMQ,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE;AACtB,IAAA,IAAIA,GAAG,GAAGP,QAAQ,GAAGL,SAAS,EAAE;AAC9BD,MAAAA,EAAE,CAACe,KAAK,CAAC,IAAI,EAAEN,IAAI,CAAC;AACpBH,MAAAA,QAAQ,GAAGO,GAAG;AAChB,KAAC,MAAM;MACLG,YAAY,CAACT,UAAU,CAAC;MACxBA,UAAU,GAAGU,UAAU,CAAC,MAAK;AAC3BX,QAAAA,QAAQ,GAAGO,GAAG;AACdb,QAAAA,EAAE,CAACe,KAAK,CAACH,OAAO,EAAEH,IAAI,CAAC;OACxB,EAAER,SAAS,CAAC;AACf;GACD;AACH;AAEM,SAAUiB,QAAQA,CAAElB,EAAE,EAAkB;AAAA,EAAA,IAAhBmB,EAAE,GAAAjB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,GAAG;EAAA,IAAEG,KAAM,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA;AAC5C,EAAA,IAAIgB,KAAoC;AAExC,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAAC,KAAA,GAAAnB,SAAA,CAAAC,MAAA,EAAJM,IAAI,GAAAC,IAAAA,KAAA,CAAAW,KAAA,GAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAJb,MAAAA,IAAI,CAAAa,KAAA,CAAApB,GAAAA,SAAA,CAAAoB,KAAA,CAAA;AAAA;AACtB,IAAA,MAAMV,OAAO,GAAGP,KAAK,IAAI,IAAI;IAC7BW,YAAY,CAACI,KAAK,CAAC;IACnBA,KAAK,GAAGH,UAAU,CAAC,YAAA;AACjBjB,MAAAA,EAAE,CAACe,KAAK,CAACH,OAAO,EAAEH,IAAI,CAAC;KACxB,EAAEU,EAAE,CAAC;GACP;AACH;AAEgB,SAAAI,IAAIA,CAAEC,GAAG,EAAEC,MAAM,EAAA;EAC/B,MAAMC,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEJ,GAAG,CAAC;AAC1C,EAAA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,MAAM,CAACtB,MAAM,EAAE0B,CAAC,IAAI,CAAC,EAAE;AACzC,IAAA,MAAMC,GAAG,GAAGL,MAAM,CAACI,CAAC,CAAC;IACrB,OAAOH,WAAW,CAACI,GAAG,CAAC;AACzB;AACA,EAAA,OAAOJ,WAAW;AACpB;AAEaK,MAAAA,yBAAyB,GAAIC,cAAmB,IAAI;EAC/D,MAAMC,mBAAmB,GAAGA,CAC1BC,KAAK,EACLC,GAAG,kBACAC,GAAA,CAACJ,cAAc,EAAA;AAAA,IAAA,GAAKE,KAAK;AAAEG,IAAAA,YAAY,EAAEF;AAAI,GAAA,CAAG;EAErD,OAAOG,UAAU,CAACL,mBAAmB,CAAC;AACxC;AAEA;AACA,SAASM,YAAYA,CAAEC,KAAa,EAAEC,GAAW,EAAA;EAC/C,MAAMC,KAAK,GAAa,EAAE;EAC1B,KAAK,IAAIb,CAAC,GAAGW,KAAK,EAAEX,CAAC,IAAIY,GAAG,EAAEZ,CAAC,EAAE,EAAE;AACjCa,IAAAA,KAAK,CAACC,IAAI,CAAC,CAAA,EAAGd,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAGA,EAAAA,CAAC,EAAE,CAAC;AACxC;AACA,EAAA,OAAOa,KAAK;AACd;AAEO,MAAME,UAAU,GAAGL,YAAY,CAAC,CAAC,EAAE,EAAE;AAErC,MAAMM,YAAY,GAAGN,YAAY,CAAC,CAAC,EAAE,EAAE;AAE9C;;AAEG;AACa,SAAAO,WAAWA,CAAEC,KAAa,EAAEL,KAAY,EAAA;AACtD,EAAA,IAAI,CAACM,KAAK,CAAC,CAACD,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAGL,KAAK,CAACvC,MAAM,EAAE,OAAO,IAAI;AACrE,EAAA,OAAO,KAAK;AACd;AAEA;;AAEG;AACG,SAAU8C,UAAUA,CAAEF,KAAa,EAAA;EACvC,IAAI,CAAC,mBAAmB,CAACG,IAAI,CAACH,KAAK,CAAC,EAAE,OAAO,KAAK;AAElD,EAAA,MAAMI,IAAI,GAAGJ,KAAK,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,GAAG,IAAI,CAACA,GAAG,CAAC;AAE9C,EAAA,IAAIH,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAIA,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK;AAC7C,EAAA,IAAIA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAIA,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK;AAE7C,EAAA,OAAO,IAAI;AACb;AAEA;;;AAGG;AACa,SAAAI,WAAWA,CAAEC,EAAU,EAAEC,EAAU,EAAA;AACjD,EAAA,MAAMC,MAAM,GAAGF,EAAE,CAACJ,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACxB,CAAC,IAAI,CAACA,CAAC,CAAC;AACzC,EAAA,MAAM8B,MAAM,GAAGF,EAAE,CAACL,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACxB,CAAC,IAAI,CAACA,CAAC,CAAC;EAEzC,IAAI6B,MAAM,CAAC,CAAC,CAAC,GAAGC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;EACtC,IAAID,MAAM,CAAC,CAAC,CAAC,KAAKC,MAAM,CAAC,CAAC,CAAC,IAAID,MAAM,CAAC,CAAC,CAAC,IAAIC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;AAElE,EAAA,OAAO,KAAK;AACd;AAEA;;AAEG;AACG,SAAUC,UAAUA,CAAEC,OAAe,EAAA;AACzC,EAAA,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;AAC1B,EAAA,MAAMC,IAAI,GAAG,IAAIhD,IAAI,CAAC+C,OAAO,CAACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EACjD,OAAOf,KAAK,CAACc,IAAI,CAACE,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAGF,IAAI;AAC9C;AAEA;;AAEG;AACH,SAASG,SAASA,CAAEC,IAAY,EAAEC,KAAa,EAAA;AAC7C,EAAA,IAAIA,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,EAAE,EAAE,OAAO,EAAE;EACxE,IAAIA,KAAK,KAAK,CAAC,EAAE;IACf,IAAKD,IAAI,GAAG,CAAC,KAAK,CAAC,IAAIA,IAAI,GAAG,GAAG,KAAK,CAAC,IAAKA,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA,KAClE,OAAO,EAAE;AAChB;AACA,EAAA,OAAO,EAAE;AACX;AAEA;;AAEG;AACH,SAASE,YAAYA,CAAEC,KAAa,EAAE5B,GAAW,EAAA;EAC/C,MAAMC,KAAK,GAAa,EAAE;EAC1B,KAAK,IAAIb,CAAC,GAAGwC,KAAK,EAAExC,CAAC,IAAIY,GAAG,EAAEZ,CAAC,EAAE,EAAE;AACjCa,IAAAA,KAAK,CAACC,IAAI,CAACd,CAAC,CAAC;AACf;AACA,EAAA,OAAOa,KAAK;AACd;AAEA;;AAEG;AACa,SAAA4B,YAAYA,CAAED,KAAa,EAAE5B,GAAW,EAAA;AACtD,EAAA,OAAO2B,YAAY,CAACC,KAAK,EAAE5B,GAAG,CAAC;AACjC;AAEA;;AAEG;SACa8B,aAAaA,CAAEF,KAAW,EAAE5B,GAAS,EAAEyB,IAAY,EAAA;EACjE,IAAIM,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,EAAE;AAEjB;AACA,EAAA,IAAIJ,KAAK,CAACK,WAAW,EAAE,KAAKR,IAAI,EAAE;AAChCM,IAAAA,UAAU,GAAGH,KAAK,CAACL,QAAQ,EAAE,GAAG,CAAC;AACnC;AAEA;AACA,EAAA,IAAIvB,GAAG,CAACiC,WAAW,EAAE,KAAKR,IAAI,EAAE;AAC9BO,IAAAA,QAAQ,GAAGhC,GAAG,CAACuB,QAAQ,EAAE,GAAG,CAAC;AAC/B;AAEA,EAAA,OAAOI,YAAY,CAACI,UAAU,EAAEC,QAAQ,CAAC;AAC3C;AAEA;;AAEG;AACG,SAAUE,WAAWA,CAAEN,KAAW,EAAE5B,GAAS,EAAEyB,IAAY,EAAEC,KAAa,EAAA;EAC9E,IAAIK,UAAU,GAAG,CAAC;AAClB,EAAA,IAAIC,QAAQ,GAAGR,SAAS,CAACC,IAAI,EAAEC,KAAK,CAAC;AAErC,EAAA,IAAIE,KAAK,CAACK,WAAW,EAAE,KAAKR,IAAI,IAAIG,KAAK,CAACL,QAAQ,EAAE,GAAG,CAAC,KAAKG,KAAK,EAAE;AAClEK,IAAAA,UAAU,GAAGH,KAAK,CAACO,OAAO,EAAE;AAC9B;AAEA,EAAA,IAAInC,GAAG,CAACiC,WAAW,EAAE,KAAKR,IAAI,IAAIzB,GAAG,CAACuB,QAAQ,EAAE,GAAG,CAAC,KAAKG,KAAK,EAAE;AAC9DM,IAAAA,QAAQ,GAAGhC,GAAG,CAACmC,OAAO,EAAE;AAC1B;AAEA,EAAA,OAAOR,YAAY,CAACI,UAAU,EAAEC,QAAQ,CAAC;AAC3C;;;;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createComponent, mergeProps, memo } from 'solid-js/web';
|
|
2
2
|
import { __rest } from 'tslib';
|
|
3
3
|
import './style/index.scss.js';
|
|
4
|
+
import { View } from '@tarojs/components';
|
|
4
5
|
import classNames from 'classnames';
|
|
5
6
|
import { omit, createForwardRefComponent } from '../../utils/index.js';
|
|
6
|
-
import { useRef, useState, useEffect } from '../../utils/hooks.solid.js';
|
|
7
|
+
import { useRef, useState, useEffect, useCallback } from '../../utils/hooks.solid.js';
|
|
7
8
|
|
|
8
|
-
var _tmpl$ = /*#__PURE__*/template(`<button>`),
|
|
9
|
-
_tmpl$2 = /*#__PURE__*/template(`<i class=weui-loading>`);
|
|
10
9
|
function Button(props) {
|
|
11
10
|
const startTimer = useRef();
|
|
12
11
|
const endTimer = useRef();
|
|
@@ -48,6 +47,12 @@ function Button(props) {
|
|
|
48
47
|
}
|
|
49
48
|
}, props.hoverStayTime || 70);
|
|
50
49
|
}
|
|
50
|
+
if (!props.disabled && props.formType) {
|
|
51
|
+
const eventName = props.formType === 'submit' ? 'tarobuttonsubmit' : 'tarobuttonreset';
|
|
52
|
+
e.currentTarget.dispatchEvent(new CustomEvent(eventName, {
|
|
53
|
+
bubbles: true
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
51
56
|
props.onTouchEnd && props.onTouchEnd(e);
|
|
52
57
|
};
|
|
53
58
|
const {
|
|
@@ -60,34 +65,50 @@ function Button(props) {
|
|
|
60
65
|
onClick,
|
|
61
66
|
hoverClass = 'button-hover',
|
|
62
67
|
loading = false,
|
|
63
|
-
type
|
|
68
|
+
type = 'default',
|
|
69
|
+
size,
|
|
70
|
+
formType
|
|
64
71
|
} = props,
|
|
65
|
-
restProps = __rest(props, ["forwardedRef", "plain", "children", "disabled", "className", "style", "onClick", "hoverClass", "loading", "type"]);
|
|
72
|
+
restProps = __rest(props, ["forwardedRef", "plain", "children", "disabled", "className", "style", "onClick", "hoverClass", "loading", "type", "size", "formType"]);
|
|
73
|
+
const handleClick = useCallback(e => {
|
|
74
|
+
if (disabled) {
|
|
75
|
+
// 按钮禁用时阻止事件冒泡并不触发点击回调
|
|
76
|
+
e.stopPropagation();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// 按钮可用时触发点击回调
|
|
80
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
81
|
+
}, [disabled, onClick]);
|
|
66
82
|
const cls = classNames(className, 'taro-button-core', {
|
|
67
|
-
[`${hoverClass}`]: state.hover && !disabled
|
|
83
|
+
[`${hoverClass}`]: state.hover && !disabled,
|
|
84
|
+
'taro-btn-disabled': disabled,
|
|
85
|
+
'taro-btn-loading': loading,
|
|
86
|
+
'taro-btn-plain': plain,
|
|
87
|
+
'taro-btn-mini': size === 'mini',
|
|
88
|
+
'taro-btn-default': type === 'default',
|
|
89
|
+
'taro-btn-primary': type === 'primary',
|
|
90
|
+
'taro-btn-warn': type === 'warn'
|
|
68
91
|
});
|
|
69
|
-
return (() => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return _el$;
|
|
90
|
-
})();
|
|
92
|
+
return createComponent(View, mergeProps(() => omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef', 'size', 'plain', 'disabled', 'onClick', 'formType']), {
|
|
93
|
+
type: type,
|
|
94
|
+
size: size,
|
|
95
|
+
disabled: disabled,
|
|
96
|
+
ref: forwardedRef,
|
|
97
|
+
className: cls,
|
|
98
|
+
style: style,
|
|
99
|
+
onClick: handleClick,
|
|
100
|
+
onTouchStart: _onTouchStart,
|
|
101
|
+
onTouchEnd: _onTouchEnd,
|
|
102
|
+
get plain() {
|
|
103
|
+
return plain.toString();
|
|
104
|
+
},
|
|
105
|
+
"form-type": formType,
|
|
106
|
+
get children() {
|
|
107
|
+
return [memo(() => !!loading && createComponent(View, {
|
|
108
|
+
className: "weui-loading"
|
|
109
|
+
})), children];
|
|
110
|
+
}
|
|
111
|
+
}));
|
|
91
112
|
}
|
|
92
113
|
var index = createForwardRefComponent(Button);
|
|
93
114
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/button/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\nimport { useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n size?: string\n plain?: boolean\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n disabled?: boolean\n loading?: boolean\n type?: string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLButtonElement>\n}\n\ninterface IState {\n hover:boolean\n touch: boolean\n}\n\nfunction Button (props: IProps) {\n const startTimer = useRef<ReturnType<typeof setTimeout>>()\n const endTimer = useRef<ReturnType<typeof setTimeout>>()\n const [state, setState] = useState<IState>({\n hover: false,\n touch: false\n })\n\n useEffect(() => {\n return () => {\n startTimer.current && clearTimeout(startTimer.current)\n endTimer.current && clearTimeout(endTimer.current)\n }\n }, [])\n\n const _onTouchStart = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: true\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n startTimer.current = setTimeout(() => {\n if ((state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: true\n }))\n }\n }, props.hoverStartTime || 20)\n }\n props.onTouchStart && props.onTouchStart(e)\n }\n\n const _onTouchEnd = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: false\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n endTimer.current = setTimeout(() => {\n if (!(state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: false\n }))\n }\n }, props.hoverStayTime || 70)\n }\n props.onTouchEnd && props.onTouchEnd(e)\n }\n\n const { forwardedRef, plain = false, children, disabled = false, className, style, onClick, hoverClass = 'button-hover', loading = false, type, ...restProps } = props\n\n const cls = classNames(\n className,\n 'taro-button-core',\n {\n [`${hoverClass}`]: (state as IState).hover && !disabled\n }\n )\n\n return (\n <
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/button/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport { View } from '@tarojs/components'\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n size?: string\n plain?: boolean\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n disabled?: boolean\n loading?: boolean\n type?: string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLButtonElement>\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void\n formType?: 'submit' | 'reset'\n}\n\ninterface IState {\n hover: boolean\n touch: boolean\n}\n\nfunction Button (props: IProps) {\n const startTimer = useRef<ReturnType<typeof setTimeout>>()\n const endTimer = useRef<ReturnType<typeof setTimeout>>()\n const [state, setState] = useState<IState>({\n hover: false,\n touch: false\n })\n\n useEffect(() => {\n return () => {\n startTimer.current && clearTimeout(startTimer.current)\n endTimer.current && clearTimeout(endTimer.current)\n }\n }, [])\n\n const _onTouchStart = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: true\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n startTimer.current = setTimeout(() => {\n if ((state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: true\n }))\n }\n }, props.hoverStartTime || 20)\n }\n props.onTouchStart && props.onTouchStart(e)\n }\n\n const _onTouchEnd = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: false\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n endTimer.current = setTimeout(() => {\n if (!(state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: false\n }))\n }\n }, props.hoverStayTime || 70)\n }\n\n if (!props.disabled && props.formType) {\n const eventName = props.formType === 'submit' ? 'tarobuttonsubmit' : 'tarobuttonreset'\n e.currentTarget.dispatchEvent(new CustomEvent(eventName, { bubbles: true }))\n }\n\n props.onTouchEnd && props.onTouchEnd(e)\n }\n\n const { forwardedRef, plain = false, children, disabled = false, className, style, onClick, hoverClass = 'button-hover', loading = false, type = 'default', size, formType, ...restProps } = props\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n // 按钮禁用时阻止事件冒泡并不触发点击回调\n e.stopPropagation()\n return\n }\n // 按钮可用时触发点击回调\n onClick?.(e)\n },\n [disabled, onClick]\n )\n\n const cls = classNames(\n className,\n 'taro-button-core',\n {\n [`${hoverClass}`]: (state as IState).hover && !disabled,\n 'taro-btn-disabled': disabled,\n 'taro-btn-loading': loading,\n 'taro-btn-plain': plain,\n 'taro-btn-mini': size === 'mini',\n 'taro-btn-default': type === 'default',\n 'taro-btn-primary': type === 'primary',\n 'taro-btn-warn': type === 'warn'\n }\n )\n\n return (\n <View\n {...omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef', 'size', 'plain', 'disabled', 'onClick', 'formType'])}\n type={type}\n size={size}\n disabled={disabled}\n ref={forwardedRef}\n className={cls}\n style={style}\n onClick={handleClick}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n plain={plain.toString()}\n form-type={formType as any}\n >\n {!!loading && <View className='weui-loading' />}\n {children}\n </View>\n )\n}\n\nexport default createForwardRefComponent(Button)\n"],"names":["Button","props","startTimer","useRef","endTimer","state","setState","useState","hover","touch","useEffect","current","clearTimeout","_onTouchStart","e","Object","assign","hoverClass","disabled","setTimeout","hoverStartTime","onTouchStart","_onTouchEnd","hoverStayTime","formType","eventName","currentTarget","dispatchEvent","CustomEvent","bubbles","onTouchEnd","forwardedRef","plain","children","className","style","onClick","loading","type","size","restProps","__rest","handleClick","useCallback","stopPropagation","cls","classNames","_$createComponent","View","_$mergeProps","omit","ref","toString","_$memo","createForwardRefComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/icon/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\n\ninterface IProps {\n type: string\n color: string\n size?: number | string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLLIElement>\n}\n\nconst Icon = (props: IProps) => {\n let { type, className = '', size = '23', color, forwardedRef } = props\n if (type) type = type.replace(/_/g, '-')\n const cls = classNames(\n {\n [`weui-icon-${type}`]: true\n },\n className\n )\n const style = { 'font-size': size + 'px', color: color }\n\n return (\n // eslint-disable-next-line react/react-in-jsx-scope\n <i ref={forwardedRef} {...omit(props, ['type', 'className', 'forwardedRef'])} className={cls} style={style} />\n )\n}\nexport default createForwardRefComponent(Icon)\n"],"names":["Icon","props","type","className","size","color","forwardedRef","replace","cls","classNames","style","_el$","_tmpl$","_ref$","_$use","_$spread","_$mergeProps","omit","createForwardRefComponent"],"mappings":";;;;;;AAcA,MAAMA,IAAI,GAAIC,KAAa,IAAI;EAC7B,IAAI;IAAEC,IAAI;AAAEC,IAAAA,SAAS,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG,IAAI;IAAEC,KAAK;AAAEC,IAAAA
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/icon/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\n\ninterface IProps {\n type: string\n color: string\n size?: number | string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLLIElement>\n}\n\nconst Icon = (props: IProps) => {\n let { type, className = '', size = '23', color, forwardedRef } = props\n if (type) type = type.replace(/_/g, '-')\n const cls = classNames(\n {\n [`weui-icon-${type}`]: true\n },\n className\n )\n const style = { 'font-size': size + 'px', color: color }\n\n return (\n // eslint-disable-next-line react/react-in-jsx-scope\n <i ref={forwardedRef} {...omit(props, ['type', 'className', 'forwardedRef'])} className={cls} style={style} />\n )\n}\nexport default createForwardRefComponent(Icon)\n"],"names":["Icon","props","type","className","size","color","forwardedRef","replace","cls","classNames","style","_el$","_tmpl$","_ref$","_$use","_$spread","_$mergeProps","omit","createForwardRefComponent"],"mappings":";;;;;;AAcA,MAAMA,IAAI,GAAIC,KAAa,IAAI;EAC7B,IAAI;IAAEC,IAAI;AAAEC,IAAAA,SAAS,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG,IAAI;IAAEC,KAAK;AAAEC,IAAAA;AAAc,GAAA,GAAGL,KAAK;EACtE,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACK,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAC,CAAA,UAAA,EAAaP,IAAI,CAAA,CAAE,GAAG;GACxB,EACDC,SAAS,CACV;AACD,EAAA,MAAMO,KAAK,GAAG;IAAE,WAAW,EAAEN,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA;GAAO;EAExD;AACE,IAAA,CAAA,MAAA;MAAA,IAAAM,IAAA,GAAAC,MAAA,EAAA;MAAA,IAAAC,KAAA,GACQP,YAAY;MAAA,OAAAO,KAAA,KAAAC,UAAAA,GAAAA,GAAA,CAAAD,KAAA,EAAAF,IAAA,CAAA,GAAZL,YAAY,GAAAK,IAAA;AAAAI,MAAAA,MAAA,CAAAJ,IAAA,EAAAK,UAAA,CAAA,MAAMC,IAAI,CAAChB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,EAAA;AAAA,QAAA,WAAA,EAAaO,GAAG;QAAA,OAASE,EAAAA;AAAK,OAAA,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;AAAA,MAAA,OAAAC,IAAA;AAAA,KAAA;AAAA;AAE9G,CAAC;AACD,YAAeO,yBAAyB,CAAClB,IAAI,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { template, use, spread, insert, addEventListener, setAttribute, effect, style } from 'solid-js/web';
|
|
2
2
|
import { __rest } from 'tslib';
|
|
3
|
-
import './style/index.
|
|
3
|
+
import './style/index.scss.js';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import { createForwardRefComponent } from '../../utils/index.js';
|
|
6
6
|
import { useRef, useState, useCallback, useEffect } from '../../utils/hooks.solid.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","forwardedRef","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_el$","_tmpl$","_$use","_$spread","_$insert","_el$2","_tmpl$2","_$addEventListener","img","_$setAttribute","_el$3","_$effect","_$p","_$style","createForwardRefComponent"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|