@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.
Files changed (124) hide show
  1. package/README.md +31 -0
  2. package/dist/components/button/index.js +36 -10
  3. package/dist/components/button/index.js.map +1 -1
  4. package/dist/components/icon/index.js.map +1 -1
  5. package/dist/components/image/index.js +1 -1
  6. package/dist/components/image/index.js.map +1 -1
  7. package/dist/components/image/style/{index.css.js → index.scss.js} +1 -1
  8. package/dist/components/image/style/index.scss.js.map +1 -0
  9. package/dist/components/input/index.js.map +1 -1
  10. package/dist/components/picker/index.js +788 -0
  11. package/dist/components/picker/index.js.map +1 -0
  12. package/dist/components/picker/picker-group.js +491 -0
  13. package/dist/components/picker/picker-group.js.map +1 -0
  14. package/dist/components/{scroll-view/style/index.css.js → picker/style/index.scss.js} +1 -1
  15. package/dist/components/picker/style/index.scss.js.map +1 -0
  16. package/dist/components/pull-down-refresh/index.js +1 -1
  17. package/dist/components/pull-down-refresh/index.js.map +1 -1
  18. package/dist/components/pull-down-refresh/style/{index.css.js → index.scss.js} +1 -1
  19. package/dist/components/pull-down-refresh/style/index.scss.js.map +1 -0
  20. package/dist/components/refresher/index.js +7 -0
  21. package/dist/components/refresher/index.js.map +1 -0
  22. package/dist/components/scroll-view/index.js +8 -3
  23. package/dist/components/scroll-view/index.js.map +1 -1
  24. package/dist/components/{swiper/style/index.css.js → scroll-view/style/index.scss.js} +1 -1
  25. package/dist/components/scroll-view/style/index.scss.js.map +1 -0
  26. package/dist/components/swiper/index.js +5 -3
  27. package/dist/components/swiper/index.js.map +1 -1
  28. package/dist/components/swiper/style/index.scss.js +4 -0
  29. package/dist/components/swiper/style/index.scss.js.map +1 -0
  30. package/dist/components/text/index.js +1 -1
  31. package/dist/components/text/index.js.map +1 -1
  32. package/dist/components/text/style/index.scss.js +4 -0
  33. package/dist/components/text/style/index.scss.js.map +1 -0
  34. package/dist/components/view/index.js.map +1 -1
  35. package/dist/index.css +1 -1
  36. package/dist/index.js +3 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/original/components/button/index.js +113 -0
  39. package/dist/original/components/button/index.js.map +1 -0
  40. package/dist/original/components/button/style/index.scss +354 -0
  41. package/dist/original/components/icon/index.js +36 -0
  42. package/dist/original/components/icon/index.js.map +1 -0
  43. package/dist/original/components/icon/style/index.scss +304 -0
  44. package/dist/original/components/image/index.js +86 -0
  45. package/dist/original/components/image/index.js.map +1 -0
  46. package/dist/original/components/image/style/index.scss +90 -0
  47. package/dist/original/components/input/index.js +233 -0
  48. package/dist/original/components/input/index.js.map +1 -0
  49. package/dist/original/components/input/style/index.scss +71 -0
  50. package/dist/original/components/picker/index.js +788 -0
  51. package/dist/original/components/picker/index.js.map +1 -0
  52. package/dist/original/components/picker/picker-group.js +491 -0
  53. package/dist/original/components/picker/picker-group.js.map +1 -0
  54. package/dist/original/components/picker/style/index.scss +297 -0
  55. package/dist/original/components/pull-down-refresh/index.js +320 -0
  56. package/dist/original/components/pull-down-refresh/index.js.map +1 -0
  57. package/dist/original/components/pull-down-refresh/style/index.scss +53 -0
  58. package/dist/original/components/refresher/index.js +7 -0
  59. package/dist/original/components/refresher/index.js.map +1 -0
  60. package/dist/original/components/scroll-view/index.js +189 -0
  61. package/dist/original/components/scroll-view/index.js.map +1 -0
  62. package/dist/original/components/scroll-view/style/index.scss +22 -0
  63. package/dist/original/components/swiper/index.js +461 -0
  64. package/dist/original/components/swiper/index.js.map +1 -0
  65. package/dist/original/components/swiper/style/index.scss +9 -0
  66. package/dist/original/components/text/index.js +28 -0
  67. package/dist/original/components/text/index.js.map +1 -0
  68. package/dist/original/components/text/style/index.scss +13 -0
  69. package/dist/original/components/view/index.js +80 -0
  70. package/dist/original/components/view/index.js.map +1 -0
  71. package/dist/original/index.js +15 -0
  72. package/dist/original/index.js.map +1 -0
  73. package/dist/original/utils/hooks.react.js +15 -0
  74. package/dist/original/utils/hooks.react.js.map +1 -0
  75. package/dist/original/utils/index.js +162 -0
  76. package/dist/original/utils/index.js.map +1 -0
  77. package/dist/solid/components/button/index.js +50 -29
  78. package/dist/solid/components/button/index.js.map +1 -1
  79. package/dist/solid/components/icon/index.js.map +1 -1
  80. package/dist/solid/components/image/index.js +1 -1
  81. package/dist/solid/components/image/index.js.map +1 -1
  82. package/dist/solid/components/image/style/index.scss.js +4 -0
  83. package/dist/solid/components/image/style/index.scss.js.map +1 -0
  84. package/dist/solid/components/picker/index.js +830 -0
  85. package/dist/solid/components/picker/index.js.map +1 -0
  86. package/dist/solid/components/picker/picker-group.js +512 -0
  87. package/dist/solid/components/picker/picker-group.js.map +1 -0
  88. package/dist/solid/components/picker/style/index.scss.js +4 -0
  89. package/dist/solid/components/picker/style/index.scss.js.map +1 -0
  90. package/dist/solid/components/refresher/index.js +7 -0
  91. package/dist/solid/components/refresher/index.js.map +1 -0
  92. package/dist/solid/components/scroll-view/index.js +8 -3
  93. package/dist/solid/components/scroll-view/index.js.map +1 -1
  94. package/dist/solid/components/scroll-view/style/index.scss.js +4 -0
  95. package/dist/solid/components/scroll-view/style/index.scss.js.map +1 -0
  96. package/dist/solid/components/text/index.js +1 -1
  97. package/dist/solid/components/text/index.js.map +1 -1
  98. package/dist/solid/components/text/style/index.scss.js +4 -0
  99. package/dist/solid/components/text/style/index.scss.js.map +1 -0
  100. package/dist/solid/components/view/index.js.map +1 -1
  101. package/dist/solid/index.css +1 -1
  102. package/dist/solid/index.js +3 -1
  103. package/dist/solid/index.js.map +1 -1
  104. package/dist/solid/utils/hooks.solid.js.map +1 -1
  105. package/dist/solid/utils/index.js +103 -1
  106. package/dist/solid/utils/index.js.map +1 -1
  107. package/dist/utils/hooks.react.js.map +1 -1
  108. package/dist/utils/index.js +103 -1
  109. package/dist/utils/index.js.map +1 -1
  110. package/package.json +23 -9
  111. package/types/global.d.ts +1 -1
  112. package/types/index.d.ts +3 -1
  113. package/dist/components/image/style/index.css.js.map +0 -1
  114. package/dist/components/pull-down-refresh/style/index.css.js.map +0 -1
  115. package/dist/components/scroll-view/style/index.css.js.map +0 -1
  116. package/dist/components/swiper/style/index.css.js.map +0 -1
  117. package/dist/components/text/style/index.css.js +0 -4
  118. package/dist/components/text/style/index.css.js.map +0 -1
  119. package/dist/solid/components/image/style/index.css.js +0 -4
  120. package/dist/solid/components/image/style/index.css.js.map +0 -1
  121. package/dist/solid/components/scroll-view/style/index.css.js +0 -4
  122. package/dist/solid/components/scroll-view/style/index.css.js.map +0 -1
  123. package/dist/solid/components/text/style/index.css.js +0 -4
  124. 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":"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"}
@@ -1,12 +1,11 @@
1
- import { template, use, spread, mergeProps, insert } from 'solid-js/web';
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
- var _el$ = _tmpl$();
71
- use(forwardedRef, _el$);
72
- spread(_el$, mergeProps(() => omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef']), {
73
- "type": type,
74
- "className": cls,
75
- "style": style,
76
- "onClick": onClick,
77
- "disabled": disabled,
78
- "onTouchStart": _onTouchStart,
79
- "onTouchEnd": _onTouchEnd,
80
- get loading() {
81
- return loading.toString();
82
- },
83
- get plain() {
84
- return plain.toString();
85
- }
86
- }), false, true);
87
- insert(_el$, !!loading && _tmpl$2(), null);
88
- insert(_el$, children, null);
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 <button\n {...omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef'])}\n type={type}\n ref={forwardedRef}\n className={cls}\n style={style}\n onClick={onClick}\n disabled={disabled}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n loading={loading.toString()}\n plain={plain.toString()}\n >\n {!!loading && <i className='weui-loading' />}\n {children}\n </button>\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","onTouchEnd","forwardedRef","plain","children","className","style","onClick","loading","type","restProps","__rest","cls","classNames","_el$","_tmpl$","_$use","_$spread","_$mergeProps","omit","toString","_$insert","_tmpl$2","createForwardRefComponent"],"mappings":";;;;;;;;;AA2BA,SAASA,MAAMA,CAAEC,KAAa,EAAA;AAC5B,EAAA,MAAMC,UAAU,GAAGC,MAAM,EAAiC,CAAA;AAC1D,EAAA,MAAMC,QAAQ,GAAGD,MAAM,EAAiC,CAAA;AACxD,EAAA,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAGC,QAAQ,CAAS;AACzCC,IAAAA,KAAK,EAAE,KAAK;AACZC,IAAAA,KAAK,EAAE,KAAA;AACR,GAAA,CAAC,CAAA;AAEFC,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,OAAO,MAAK;MACVR,UAAU,CAACS,OAAO,IAAIC,YAAY,CAACV,UAAU,CAACS,OAAO,CAAC,CAAA;MACtDP,QAAQ,CAACO,OAAO,IAAIC,YAAY,CAACR,QAAQ,CAACO,OAAO,CAAC,CAAA;KACnD,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAME,aAAa,GAAIC,CAAsC,IAAI;AAC/DR,IAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJL,MAAAA,KAAK,EAAE,IAAA;AAAI,KAAA,CACX,CAAC,CAAA;AACH,IAAA,IAAIR,KAAK,CAACgB,UAAU,IAAIhB,KAAK,CAACgB,UAAU,KAAK,MAAM,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE;AACtEhB,MAAAA,UAAU,CAACS,OAAO,GAAGQ,UAAU,CAAC,MAAK;QACnC,IAAKd,KAAgB,CAACI,KAAK,EAAE;AAC3BH,UAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJN,YAAAA,KAAK,EAAE,IAAA;AAAI,WAAA,CACX,CAAC,CAAA;AACL,SAAA;AACF,OAAC,EAAEP,KAAK,CAACmB,cAAc,IAAI,EAAE,CAAC,CAAA;AAChC,KAAA;IACAnB,KAAK,CAACoB,YAAY,IAAIpB,KAAK,CAACoB,YAAY,CAACP,CAAC,CAAC,CAAA;GAC5C,CAAA;EAED,MAAMQ,WAAW,GAAIR,CAAsC,IAAI;AAC7DR,IAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJL,MAAAA,KAAK,EAAE,KAAA;AAAK,KAAA,CACZ,CAAC,CAAA;AACH,IAAA,IAAIR,KAAK,CAACgB,UAAU,IAAIhB,KAAK,CAACgB,UAAU,KAAK,MAAM,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE;AACtEd,MAAAA,QAAQ,CAACO,OAAO,GAAGQ,UAAU,CAAC,MAAK;AACjC,QAAA,IAAI,CAAEd,KAAgB,CAACI,KAAK,EAAE;AAC5BH,UAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJN,YAAAA,KAAK,EAAE,KAAA;AAAK,WAAA,CACZ,CAAC,CAAA;AACL,SAAA;AACF,OAAC,EAAEP,KAAK,CAACsB,aAAa,IAAI,EAAE,CAAC,CAAA;AAC/B,KAAA;IACAtB,KAAK,CAACuB,UAAU,IAAIvB,KAAK,CAACuB,UAAU,CAACV,CAAC,CAAC,CAAA;GACxC,CAAA;EAED,MAAM;MAAEW,YAAY;AAAEC,MAAAA,KAAK,GAAG,KAAK;MAAEC,QAAQ;AAAET,MAAAA,QAAQ,GAAG,KAAK;MAAEU,SAAS;MAAEC,KAAK;MAAEC,OAAO;AAAEb,MAAAA,UAAU,GAAG,cAAc;AAAEc,MAAAA,OAAO,GAAG,KAAK;AAAEC,MAAAA,IAAAA;AAAuB,KAAA,GAAA/B,KAAK;IAAnBgC,SAAS,GAAAC,MAAA,CAAKjC,KAAK,EAAhK,CAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,CAAwJ,CAAQ,CAAA;AAEtK,EAAA,MAAMkC,GAAG,GAAGC,UAAU,CACpBR,SAAS,EACT,kBAAkB,EAClB;IACE,CAAC,CAAA,EAAGX,UAAU,CAAE,CAAA,GAAIZ,KAAgB,CAACG,KAAK,IAAI,CAACU,QAAAA;AAChD,GAAA,CACF,CAAA;AAED,EAAA,OAAA,CAAA,MAAA;IAAA,IAAAmB,IAAA,GAAAC,MAAA,EAAA,CAAA;IAAAC,GAAA,CAISd,YAAY,EAAAY,IAAA,CAAA,CAAA;IAAAG,MAAA,CAAAH,IAAA,EAAAI,UAAA,OAFbC,IAAI,CAACT,SAAS,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAA;AAAA,MAAA,MAAA,EAC9FD,IAAI;AAAA,MAAA,WAAA,EAECG,GAAG;AAAA,MAAA,OAAA,EACPN,KAAK;AAAA,MAAA,SAAA,EACHC,OAAO;AAAA,MAAA,UAAA,EACNZ,QAAQ;AAAA,MAAA,cAAA,EACJL,aAAa;AAAA,MAAA,YAAA,EACfS,WAAW;AAAA,MAAA,IACvBS,OAAOA,GAAA;AAAA,QAAA,OAAEA,OAAO,CAACY,QAAQ,EAAE,CAAA;AAAA,OAAA;AAAA,MAAA,IAC3BjB,KAAKA,GAAA;AAAA,QAAA,OAAEA,KAAK,CAACiB,QAAQ,EAAE,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,EAAA,KAAA,EAAA,IAAA,CAAA,CAAA;IAAAC,MAAA,CAAAP,IAAA,EAEtB,CAAC,CAACN,OAAO,IAAAc,OAAA,EAAkC,EAAA,IAAA,CAAA,CAAA;IAAAD,MAAA,CAAAP,IAAA,EAC3CV,QAAQ,EAAA,IAAA,CAAA,CAAA;AAAA,IAAA,OAAAU,IAAA,CAAA;AAAA,GAAA,GAAA,CAAA;AAGf,CAAA;AAEA,YAAeS,yBAAyB,CAAC9C,MAAM,CAAC;;;;"}
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,YAAAA;AAAc,GAAA,GAAGL,KAAK,CAAA;EACtE,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACK,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAC,CAAA,UAAA,EAAaP,IAAI,CAAA,CAAE,GAAG,IAAA;GACxB,EACDC,SAAS,CACV,CAAA;AACD,EAAA,MAAMO,KAAK,GAAG;IAAE,WAAW,EAAEN,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;GAAO,CAAA;EAExD;AACE,IAAA,CAAA,MAAA;MAAA,IAAAM,IAAA,GAAAC,MAAA,EAAA,CAAA;MAAA,IAAAC,KAAA,GACQP,YAAY,CAAA;MAAA,OAAAO,KAAA,KAAAC,UAAAA,GAAAA,GAAA,CAAAD,KAAA,EAAAF,IAAA,CAAA,GAAZL,YAAY,GAAAK,IAAA,CAAA;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,KAAAA;AAAK,OAAA,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AAAA,MAAA,OAAAC,IAAA,CAAA;AAAA,KAAA,GAAA;AAAA,IAAA;AAE9G,CAAC,CAAA;AACD,YAAeO,yBAAyB,CAAClB,IAAI,CAAC;;;;"}
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.css.js';
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.css'\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 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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"}
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,4 @@
1
+ var undefined$1 = undefined;
2
+
3
+ export { undefined$1 as default };
4
+ //# sourceMappingURL=index.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}