@zamlia/mini-ui 0.0.1

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 (148) hide show
  1. package/es/components/common/BottomPopup/index.d.ts +78 -0
  2. package/es/components/common/BottomPopup/index.d.ts.map +1 -0
  3. package/es/components/common/Card/index.d.ts +33 -0
  4. package/es/components/common/Card/index.d.ts.map +1 -0
  5. package/es/components/common/CardItem/index.d.ts +60 -0
  6. package/es/components/common/CardItem/index.d.ts.map +1 -0
  7. package/es/components/common/DataSelect/index.d.ts +15 -0
  8. package/es/components/common/DataSelect/index.d.ts.map +1 -0
  9. package/es/components/common/Modal/index.d.ts +31 -0
  10. package/es/components/common/Modal/index.d.ts.map +1 -0
  11. package/es/components/common/NavBar/index.d.ts +38 -0
  12. package/es/components/common/NavBar/index.d.ts.map +1 -0
  13. package/es/components/common/Page/index.d.ts +16 -0
  14. package/es/components/common/Page/index.d.ts.map +1 -0
  15. package/es/components/common/PullToPushRefresh/index.d.ts +94 -0
  16. package/es/components/common/PullToPushRefresh/index.d.ts.map +1 -0
  17. package/es/components/common/Radio/index.d.ts +26 -0
  18. package/es/components/common/Radio/index.d.ts.map +1 -0
  19. package/es/components/common/TabPane/index.d.ts +9 -0
  20. package/es/components/common/TabPane/index.d.ts.map +1 -0
  21. package/es/components/common/Tabs/index.d.ts +27 -0
  22. package/es/components/common/Tabs/index.d.ts.map +1 -0
  23. package/es/components/common/UploadFile/index.d.ts +50 -0
  24. package/es/components/common/UploadFile/index.d.ts.map +1 -0
  25. package/es/components/common/UploadFile/upload.d.ts +11 -0
  26. package/es/components/common/UploadFile/upload.d.ts.map +1 -0
  27. package/es/components/common/UploadFile/utils.d.ts +20 -0
  28. package/es/components/common/UploadFile/utils.d.ts.map +1 -0
  29. package/es/components/common/VideoView/index.d.ts +14 -0
  30. package/es/components/common/VideoView/index.d.ts.map +1 -0
  31. package/es/components/common/index.d.ts +23 -0
  32. package/es/components/common/index.d.ts.map +1 -0
  33. package/es/components/industry/CitySelectButton/index.d.ts +17 -0
  34. package/es/components/industry/CitySelectButton/index.d.ts.map +1 -0
  35. package/es/components/industry/CitySelectModal/index.d.ts +13 -0
  36. package/es/components/industry/CitySelectModal/index.d.ts.map +1 -0
  37. package/es/components/industry/PaymentMethodSelect/index.d.ts +59 -0
  38. package/es/components/industry/PaymentMethodSelect/index.d.ts.map +1 -0
  39. package/es/components/industry/index.d.ts +5 -0
  40. package/es/components/industry/index.d.ts.map +1 -0
  41. package/es/config/classPrefix.d.ts +36 -0
  42. package/es/config/classPrefix.d.ts.map +1 -0
  43. package/es/index.d.ts +4 -0
  44. package/es/index.d.ts.map +1 -0
  45. package/es/index.js +5334 -0
  46. package/es/index.js.map +1 -0
  47. package/es/styles/_base.scss +4 -0
  48. package/es/styles/index.scss +19 -0
  49. package/es/styles/mixins.scss +15 -0
  50. package/es/styles/variables.scss +2 -0
  51. package/es/utils/city.d.ts +4005 -0
  52. package/es/utils/city.d.ts.map +1 -0
  53. package/es/utils/index.d.ts +50 -0
  54. package/es/utils/index.d.ts.map +1 -0
  55. package/lib/components/common/BottomPopup/index.d.ts +78 -0
  56. package/lib/components/common/BottomPopup/index.d.ts.map +1 -0
  57. package/lib/components/common/Card/index.d.ts +33 -0
  58. package/lib/components/common/Card/index.d.ts.map +1 -0
  59. package/lib/components/common/CardItem/index.d.ts +60 -0
  60. package/lib/components/common/CardItem/index.d.ts.map +1 -0
  61. package/lib/components/common/DataSelect/index.d.ts +15 -0
  62. package/lib/components/common/DataSelect/index.d.ts.map +1 -0
  63. package/lib/components/common/Modal/index.d.ts +31 -0
  64. package/lib/components/common/Modal/index.d.ts.map +1 -0
  65. package/lib/components/common/NavBar/index.d.ts +38 -0
  66. package/lib/components/common/NavBar/index.d.ts.map +1 -0
  67. package/lib/components/common/Page/index.d.ts +16 -0
  68. package/lib/components/common/Page/index.d.ts.map +1 -0
  69. package/lib/components/common/PullToPushRefresh/index.d.ts +94 -0
  70. package/lib/components/common/PullToPushRefresh/index.d.ts.map +1 -0
  71. package/lib/components/common/Radio/index.d.ts +26 -0
  72. package/lib/components/common/Radio/index.d.ts.map +1 -0
  73. package/lib/components/common/TabPane/index.d.ts +9 -0
  74. package/lib/components/common/TabPane/index.d.ts.map +1 -0
  75. package/lib/components/common/Tabs/index.d.ts +27 -0
  76. package/lib/components/common/Tabs/index.d.ts.map +1 -0
  77. package/lib/components/common/UploadFile/index.d.ts +50 -0
  78. package/lib/components/common/UploadFile/index.d.ts.map +1 -0
  79. package/lib/components/common/UploadFile/upload.d.ts +11 -0
  80. package/lib/components/common/UploadFile/upload.d.ts.map +1 -0
  81. package/lib/components/common/UploadFile/utils.d.ts +20 -0
  82. package/lib/components/common/UploadFile/utils.d.ts.map +1 -0
  83. package/lib/components/common/VideoView/index.d.ts +14 -0
  84. package/lib/components/common/VideoView/index.d.ts.map +1 -0
  85. package/lib/components/common/index.d.ts +23 -0
  86. package/lib/components/common/index.d.ts.map +1 -0
  87. package/lib/components/industry/CitySelectButton/index.d.ts +17 -0
  88. package/lib/components/industry/CitySelectButton/index.d.ts.map +1 -0
  89. package/lib/components/industry/CitySelectModal/index.d.ts +13 -0
  90. package/lib/components/industry/CitySelectModal/index.d.ts.map +1 -0
  91. package/lib/components/industry/PaymentMethodSelect/index.d.ts +59 -0
  92. package/lib/components/industry/PaymentMethodSelect/index.d.ts.map +1 -0
  93. package/lib/components/industry/index.d.ts +5 -0
  94. package/lib/components/industry/index.d.ts.map +1 -0
  95. package/lib/config/classPrefix.d.ts +36 -0
  96. package/lib/config/classPrefix.d.ts.map +1 -0
  97. package/lib/index.d.ts +585 -0
  98. package/lib/index.d.ts.map +1 -0
  99. package/lib/index.js +5349 -0
  100. package/lib/index.js.map +1 -0
  101. package/lib/styles/_base.scss +4 -0
  102. package/lib/styles/index.scss +19 -0
  103. package/lib/styles/mixins.scss +15 -0
  104. package/lib/styles/variables.scss +2 -0
  105. package/lib/utils/city.d.ts +4005 -0
  106. package/lib/utils/city.d.ts.map +1 -0
  107. package/lib/utils/index.d.ts +50 -0
  108. package/lib/utils/index.d.ts.map +1 -0
  109. package/package.json +81 -0
  110. package/src/components/common/BottomPopup/index.scss +34 -0
  111. package/src/components/common/BottomPopup/index.tsx +129 -0
  112. package/src/components/common/Card/index.scss +160 -0
  113. package/src/components/common/Card/index.tsx +72 -0
  114. package/src/components/common/CardItem/index.tsx +153 -0
  115. package/src/components/common/DataSelect/index.tsx +86 -0
  116. package/src/components/common/Modal/index.scss +49 -0
  117. package/src/components/common/Modal/index.tsx +105 -0
  118. package/src/components/common/NavBar/index.scss +26 -0
  119. package/src/components/common/NavBar/index.tsx +81 -0
  120. package/src/components/common/Page/index.scss +19 -0
  121. package/src/components/common/Page/index.tsx +56 -0
  122. package/src/components/common/PullToPushRefresh/index.scss +38 -0
  123. package/src/components/common/PullToPushRefresh/index.tsx +338 -0
  124. package/src/components/common/Radio/index.scss +15 -0
  125. package/src/components/common/Radio/index.tsx +56 -0
  126. package/src/components/common/TabPane/index.tsx +26 -0
  127. package/src/components/common/Tabs/index.scss +60 -0
  128. package/src/components/common/Tabs/index.tsx +107 -0
  129. package/src/components/common/UploadFile/index.scss +59 -0
  130. package/src/components/common/UploadFile/index.tsx +321 -0
  131. package/src/components/common/UploadFile/upload.ts +63 -0
  132. package/src/components/common/UploadFile/utils.ts +81 -0
  133. package/src/components/common/VideoView/index.tsx +50 -0
  134. package/src/components/common/index.ts +23 -0
  135. package/src/components/industry/CitySelectButton/index.tsx +76 -0
  136. package/src/components/industry/CitySelectModal/index.scss +122 -0
  137. package/src/components/industry/CitySelectModal/index.tsx +121 -0
  138. package/src/components/industry/PaymentMethodSelect/index.scss +146 -0
  139. package/src/components/industry/PaymentMethodSelect/index.tsx +316 -0
  140. package/src/components/industry/index.ts +5 -0
  141. package/src/config/classPrefix.ts +44 -0
  142. package/src/index.ts +9 -0
  143. package/src/styles/_base.scss +4 -0
  144. package/src/styles/index.scss +19 -0
  145. package/src/styles/mixins.scss +15 -0
  146. package/src/styles/variables.scss +2 -0
  147. package/src/utils/city.ts +4072 -0
  148. package/src/utils/index.ts +155 -0
@@ -0,0 +1,155 @@
1
+ /**
2
+ * 工具函数
3
+ */
4
+ export const Utils = {
5
+
6
+ /**
7
+ * 检查值是否为空
8
+ * @param value 要检查的值
9
+ * @returns 如果值为空返回 true,否则返回 false
10
+ */
11
+ isEmpty(value: any): boolean {
12
+ if (value == null) {
13
+ return true
14
+ }
15
+
16
+ if (typeof value === 'boolean' || typeof value === 'number') {
17
+ return false
18
+ }
19
+
20
+ if (typeof value === 'string' || Array.isArray(value)) {
21
+ return value.length === 0
22
+ }
23
+
24
+ if (typeof value === 'object') {
25
+ return Object.keys(value).length === 0
26
+ }
27
+
28
+ return false
29
+ },
30
+
31
+ /**
32
+ * 深拷贝对象
33
+ * @param obj 要拷贝的对象
34
+ * @returns 深拷贝后的新对象
35
+ */
36
+ cloneDeep<T>(obj: T): T {
37
+ if (obj === null || typeof obj !== 'object') {
38
+ return obj
39
+ }
40
+
41
+ if (obj instanceof Date) {
42
+ return new Date(obj.getTime()) as any
43
+ }
44
+
45
+ if (obj instanceof Array) {
46
+ return obj.map(item => Utils.cloneDeep(item)) as any
47
+ }
48
+
49
+ if (typeof obj === 'object') {
50
+ const clonedObj: any = {}
51
+ for (const key in obj) {
52
+ if (obj.hasOwnProperty(key)) {
53
+ clonedObj[key] = Utils.cloneDeep(obj[key])
54
+ }
55
+ }
56
+ return clonedObj
57
+ }
58
+
59
+ return obj
60
+ },
61
+
62
+ /**
63
+ * 判断 URL 是否是图片
64
+ * @param url 要检查的 URL
65
+ * @returns 如果是图片返回 true,否则返回 false
66
+ *
67
+ * @example
68
+ * isImg('https://example.com/image.jpg') // => true
69
+ * isImg('https://example.com/image.png') // => true
70
+ * isImg('https://example.com/video.mp4') // => false
71
+ */
72
+ isImg(url: string): boolean {
73
+ if (!url || typeof url !== 'string') {
74
+ return false
75
+ }
76
+
77
+ // 常见图片扩展名
78
+ const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|ico|tiff|tif|heic|heif)(\?.*)?$/i
79
+
80
+ // 检查 URL 路径中的扩展名
81
+ try {
82
+ const urlObj = new URL(url)
83
+ const pathname = urlObj.pathname.toLowerCase()
84
+ return imageExtensions.test(pathname)
85
+ } catch {
86
+ // 如果不是有效的 URL,直接检查字符串
87
+ return imageExtensions.test(url.toLowerCase())
88
+ }
89
+ },
90
+
91
+ /**
92
+ * 判断 URL 是否是视频
93
+ * @param url 要检查的 URL
94
+ * @returns 如果是视频返回 true,否则返回 false
95
+ *
96
+ * @example
97
+ * isVideo('https://example.com/video.mp4') // => true
98
+ * isVideo('https://example.com/video.mov') // => true
99
+ * isVideo('https://example.com/image.jpg') // => false
100
+ */
101
+ isVideo(url: string): boolean {
102
+ if (!url || typeof url !== 'string') {
103
+ return false
104
+ }
105
+
106
+ // 常见视频扩展名
107
+ const videoExtensions = /\.(mp4|avi|mov|wmv|flv|webm|mkv|m4v|3gp|ogv|ts|m3u8)(\?.*)?$/i
108
+
109
+ // 检查 URL 路径中的扩展名
110
+ try {
111
+ const urlObj = new URL(url)
112
+ const pathname = urlObj.pathname.toLowerCase()
113
+ return videoExtensions.test(pathname)
114
+ } catch {
115
+ // 如果不是有效的 URL,直接检查字符串
116
+ return videoExtensions.test(url.toLowerCase())
117
+ }
118
+ },
119
+ /**
120
+ * 将字符串多余长度转化为...
121
+ * @param str 字符串
122
+ * @param len 字符串长度
123
+ */
124
+ substr(str: string, len: number): string {
125
+ if (!str) str = '';
126
+ let strLength = 0;
127
+ let strCut = String();
128
+ const strLen = str.length;
129
+ for (let i = 0; i < strLen; i++) {
130
+ const a = str.charAt(i);
131
+ strLength++;
132
+ if (escape(a).length > 4) {
133
+ strLength++;
134
+ }
135
+ strCut = strCut.concat(a);
136
+ if (strLength >= len) {
137
+ strCut = strCut.concat('...');
138
+ return strCut;
139
+ }
140
+ }
141
+ if (strLength < len) {
142
+ return str;
143
+ } else {
144
+ return '';
145
+ }
146
+ },
147
+ /**
148
+ * 等待
149
+ */
150
+ delay: (delayTime = 500): Promise<void> => {
151
+ return new Promise(resolve => {
152
+ setTimeout(() => resolve(), delayTime)
153
+ })
154
+ },
155
+ }