luna-mobile-weapp 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 (290) hide show
  1. package/miniprogram_dist/action-sheet/index.js +59 -0
  2. package/miniprogram_dist/action-sheet/index.json +4 -0
  3. package/miniprogram_dist/action-sheet/index.wxml +18 -0
  4. package/miniprogram_dist/action-sheet/index.wxss +1 -0
  5. package/miniprogram_dist/address-edit/index.js +130 -0
  6. package/miniprogram_dist/address-edit/index.json +4 -0
  7. package/miniprogram_dist/address-edit/index.wxml +63 -0
  8. package/miniprogram_dist/address-edit/index.wxss +1 -0
  9. package/miniprogram_dist/address-list/index.js +57 -0
  10. package/miniprogram_dist/address-list/index.json +4 -0
  11. package/miniprogram_dist/address-list/index.wxml +37 -0
  12. package/miniprogram_dist/address-list/index.wxss +1 -0
  13. package/miniprogram_dist/aside/index.js +17 -0
  14. package/miniprogram_dist/aside/index.json +4 -0
  15. package/miniprogram_dist/aside/index.wxml +5 -0
  16. package/miniprogram_dist/aside/index.wxss +1 -0
  17. package/miniprogram_dist/avatar/index.js +35 -0
  18. package/miniprogram_dist/avatar/index.json +4 -0
  19. package/miniprogram_dist/avatar/index.wxml +13 -0
  20. package/miniprogram_dist/avatar/index.wxss +1 -0
  21. package/miniprogram_dist/back-top/index.js +38 -0
  22. package/miniprogram_dist/back-top/index.json +7 -0
  23. package/miniprogram_dist/back-top/index.wxml +5 -0
  24. package/miniprogram_dist/back-top/index.wxss +1 -0
  25. package/miniprogram_dist/badge/index.js +35 -0
  26. package/miniprogram_dist/badge/index.json +4 -0
  27. package/miniprogram_dist/badge/index.wxml +9 -0
  28. package/miniprogram_dist/badge/index.wxss +1 -0
  29. package/miniprogram_dist/button/index.js +39 -0
  30. package/miniprogram_dist/button/index.json +4 -0
  31. package/miniprogram_dist/button/index.wxml +5 -0
  32. package/miniprogram_dist/button/index.wxss +1 -0
  33. package/miniprogram_dist/captcha/index.js +37 -0
  34. package/miniprogram_dist/captcha/index.json +8 -0
  35. package/miniprogram_dist/captcha/index.wxml +38 -0
  36. package/miniprogram_dist/captcha/index.wxss +1 -0
  37. package/miniprogram_dist/card/index.js +30 -0
  38. package/miniprogram_dist/card/index.json +4 -0
  39. package/miniprogram_dist/card/index.wxml +27 -0
  40. package/miniprogram_dist/card/index.wxss +1 -0
  41. package/miniprogram_dist/category-menu/index.js +42 -0
  42. package/miniprogram_dist/category-menu/index.json +4 -0
  43. package/miniprogram_dist/category-menu/index.wxml +23 -0
  44. package/miniprogram_dist/category-menu/index.wxss +1 -0
  45. package/miniprogram_dist/cell/index.js +48 -0
  46. package/miniprogram_dist/cell/index.json +7 -0
  47. package/miniprogram_dist/cell/index.wxml +35 -0
  48. package/miniprogram_dist/cell/index.wxss +1 -0
  49. package/miniprogram_dist/cell-group/index.js +13 -0
  50. package/miniprogram_dist/cell-group/index.json +4 -0
  51. package/miniprogram_dist/cell-group/index.wxml +9 -0
  52. package/miniprogram_dist/cell-group/index.wxss +1 -0
  53. package/miniprogram_dist/checkbox/index.js +50 -0
  54. package/miniprogram_dist/checkbox/index.json +4 -0
  55. package/miniprogram_dist/checkbox/index.wxml +17 -0
  56. package/miniprogram_dist/checkbox/index.wxss +1 -0
  57. package/miniprogram_dist/circle-progress/index.js +52 -0
  58. package/miniprogram_dist/circle-progress/index.json +4 -0
  59. package/miniprogram_dist/circle-progress/index.wxml +13 -0
  60. package/miniprogram_dist/circle-progress/index.wxss +1 -0
  61. package/miniprogram_dist/collapse/index.js +31 -0
  62. package/miniprogram_dist/collapse/index.json +4 -0
  63. package/miniprogram_dist/collapse/index.wxml +5 -0
  64. package/miniprogram_dist/collapse/index.wxss +1 -0
  65. package/miniprogram_dist/collapse-item/index.js +42 -0
  66. package/miniprogram_dist/collapse-item/index.json +7 -0
  67. package/miniprogram_dist/collapse-item/index.wxml +18 -0
  68. package/miniprogram_dist/collapse-item/index.wxss +1 -0
  69. package/miniprogram_dist/common/runtime.js +234 -0
  70. package/miniprogram_dist/container/index.js +18 -0
  71. package/miniprogram_dist/container/index.json +4 -0
  72. package/miniprogram_dist/container/index.wxml +5 -0
  73. package/miniprogram_dist/container/index.wxss +1 -0
  74. package/miniprogram_dist/count-down/index.js +58 -0
  75. package/miniprogram_dist/count-down/index.json +4 -0
  76. package/miniprogram_dist/count-down/index.wxml +14 -0
  77. package/miniprogram_dist/count-down/index.wxss +1 -0
  78. package/miniprogram_dist/count-up/index.js +56 -0
  79. package/miniprogram_dist/count-up/index.json +4 -0
  80. package/miniprogram_dist/count-up/index.wxml +2 -0
  81. package/miniprogram_dist/count-up/index.wxss +1 -0
  82. package/miniprogram_dist/date-time-picker/index.js +134 -0
  83. package/miniprogram_dist/date-time-picker/index.json +4 -0
  84. package/miniprogram_dist/date-time-picker/index.wxml +77 -0
  85. package/miniprogram_dist/date-time-picker/index.wxss +1 -0
  86. package/miniprogram_dist/divider/index.js +22 -0
  87. package/miniprogram_dist/divider/index.json +4 -0
  88. package/miniprogram_dist/divider/index.wxml +13 -0
  89. package/miniprogram_dist/divider/index.wxss +1 -0
  90. package/miniprogram_dist/drop-down-menu/index.js +33 -0
  91. package/miniprogram_dist/drop-down-menu/index.json +7 -0
  92. package/miniprogram_dist/drop-down-menu/index.wxml +19 -0
  93. package/miniprogram_dist/drop-down-menu/index.wxss +1 -0
  94. package/miniprogram_dist/empty/index.js +21 -0
  95. package/miniprogram_dist/empty/index.json +7 -0
  96. package/miniprogram_dist/empty/index.wxml +17 -0
  97. package/miniprogram_dist/empty/index.wxss +1 -0
  98. package/miniprogram_dist/fixed-view/index.js +36 -0
  99. package/miniprogram_dist/fixed-view/index.json +4 -0
  100. package/miniprogram_dist/fixed-view/index.wxml +9 -0
  101. package/miniprogram_dist/fixed-view/index.wxss +1 -0
  102. package/miniprogram_dist/flex/index.js +31 -0
  103. package/miniprogram_dist/flex/index.json +4 -0
  104. package/miniprogram_dist/flex/index.wxml +5 -0
  105. package/miniprogram_dist/flex/index.wxss +1 -0
  106. package/miniprogram_dist/float-button/index.js +35 -0
  107. package/miniprogram_dist/float-button/index.json +7 -0
  108. package/miniprogram_dist/float-button/index.wxml +8 -0
  109. package/miniprogram_dist/float-button/index.wxss +1 -0
  110. package/miniprogram_dist/footer/index.js +17 -0
  111. package/miniprogram_dist/footer/index.json +4 -0
  112. package/miniprogram_dist/footer/index.wxml +5 -0
  113. package/miniprogram_dist/footer/index.wxss +1 -0
  114. package/miniprogram_dist/form/index.js +41 -0
  115. package/miniprogram_dist/form/index.json +4 -0
  116. package/miniprogram_dist/form/index.wxml +5 -0
  117. package/miniprogram_dist/form/index.wxss +1 -0
  118. package/miniprogram_dist/form-item/index.js +30 -0
  119. package/miniprogram_dist/form-item/index.json +4 -0
  120. package/miniprogram_dist/form-item/index.wxml +20 -0
  121. package/miniprogram_dist/form-item/index.wxss +1 -0
  122. package/miniprogram_dist/grid/index.js +22 -0
  123. package/miniprogram_dist/grid/index.json +4 -0
  124. package/miniprogram_dist/grid/index.wxml +5 -0
  125. package/miniprogram_dist/grid/index.wxss +1 -0
  126. package/miniprogram_dist/grid-item/index.js +41 -0
  127. package/miniprogram_dist/grid-item/index.json +7 -0
  128. package/miniprogram_dist/grid-item/index.wxml +21 -0
  129. package/miniprogram_dist/grid-item/index.wxss +1 -0
  130. package/miniprogram_dist/guide/index.js +93 -0
  131. package/miniprogram_dist/guide/index.json +4 -0
  132. package/miniprogram_dist/guide/index.wxml +28 -0
  133. package/miniprogram_dist/guide/index.wxss +1 -0
  134. package/miniprogram_dist/header/index.js +17 -0
  135. package/miniprogram_dist/header/index.json +4 -0
  136. package/miniprogram_dist/header/index.wxml +5 -0
  137. package/miniprogram_dist/header/index.wxss +1 -0
  138. package/miniprogram_dist/highlight/index.js +42 -0
  139. package/miniprogram_dist/highlight/index.json +4 -0
  140. package/miniprogram_dist/highlight/index.wxml +10 -0
  141. package/miniprogram_dist/highlight/index.wxss +1 -0
  142. package/miniprogram_dist/icon/index.js +26 -0
  143. package/miniprogram_dist/icon/index.json +4 -0
  144. package/miniprogram_dist/icon/index.wxml +5 -0
  145. package/miniprogram_dist/icon/index.wxss +1 -0
  146. package/miniprogram_dist/image/index.js +51 -0
  147. package/miniprogram_dist/image/index.json +4 -0
  148. package/miniprogram_dist/image/index.wxml +13 -0
  149. package/miniprogram_dist/image/index.wxss +1 -0
  150. package/miniprogram_dist/input/index.js +121 -0
  151. package/miniprogram_dist/input/index.json +7 -0
  152. package/miniprogram_dist/input/index.wxml +35 -0
  153. package/miniprogram_dist/input/index.wxss +1 -0
  154. package/miniprogram_dist/input-number/index.js +71 -0
  155. package/miniprogram_dist/input-number/index.json +7 -0
  156. package/miniprogram_dist/input-number/index.wxml +9 -0
  157. package/miniprogram_dist/input-number/index.wxss +1 -0
  158. package/miniprogram_dist/keyboard/index.js +84 -0
  159. package/miniprogram_dist/keyboard/index.json +7 -0
  160. package/miniprogram_dist/keyboard/index.wxml +27 -0
  161. package/miniprogram_dist/keyboard/index.wxss +1 -0
  162. package/miniprogram_dist/lazy-image/index.js +53 -0
  163. package/miniprogram_dist/lazy-image/index.json +4 -0
  164. package/miniprogram_dist/lazy-image/index.wxml +16 -0
  165. package/miniprogram_dist/lazy-image/index.wxss +1 -0
  166. package/miniprogram_dist/line-progress/index.js +45 -0
  167. package/miniprogram_dist/line-progress/index.json +4 -0
  168. package/miniprogram_dist/line-progress/index.wxml +14 -0
  169. package/miniprogram_dist/line-progress/index.wxss +1 -0
  170. package/miniprogram_dist/load-more/index.js +23 -0
  171. package/miniprogram_dist/load-more/index.json +7 -0
  172. package/miniprogram_dist/load-more/index.wxml +21 -0
  173. package/miniprogram_dist/load-more/index.wxss +1 -0
  174. package/miniprogram_dist/loading/index.js +28 -0
  175. package/miniprogram_dist/loading/index.json +4 -0
  176. package/miniprogram_dist/loading/index.wxml +12 -0
  177. package/miniprogram_dist/loading/index.wxss +1 -0
  178. package/miniprogram_dist/main/index.js +63 -0
  179. package/miniprogram_dist/main/index.json +4 -0
  180. package/miniprogram_dist/main/index.wxml +5 -0
  181. package/miniprogram_dist/main/index.wxss +1 -0
  182. package/miniprogram_dist/navbar/index.js +37 -0
  183. package/miniprogram_dist/navbar/index.json +7 -0
  184. package/miniprogram_dist/navbar/index.wxml +23 -0
  185. package/miniprogram_dist/navbar/index.wxss +1 -0
  186. package/miniprogram_dist/notice-bar/index.js +79 -0
  187. package/miniprogram_dist/notice-bar/index.json +7 -0
  188. package/miniprogram_dist/notice-bar/index.wxml +18 -0
  189. package/miniprogram_dist/notice-bar/index.wxss +1 -0
  190. package/miniprogram_dist/page/index.js +14 -0
  191. package/miniprogram_dist/page/index.json +4 -0
  192. package/miniprogram_dist/page/index.wxml +7 -0
  193. package/miniprogram_dist/page/index.wxss +0 -0
  194. package/miniprogram_dist/pin-input/index.js +32 -0
  195. package/miniprogram_dist/pin-input/index.json +4 -0
  196. package/miniprogram_dist/pin-input/index.wxml +5 -0
  197. package/miniprogram_dist/pin-input/index.wxss +1 -0
  198. package/miniprogram_dist/popup/index.js +60 -0
  199. package/miniprogram_dist/popup/index.json +4 -0
  200. package/miniprogram_dist/popup/index.wxml +9 -0
  201. package/miniprogram_dist/popup/index.wxss +1 -0
  202. package/miniprogram_dist/pull-refresh/index.js +56 -0
  203. package/miniprogram_dist/pull-refresh/index.json +4 -0
  204. package/miniprogram_dist/pull-refresh/index.wxml +10 -0
  205. package/miniprogram_dist/pull-refresh/index.wxss +1 -0
  206. package/miniprogram_dist/radio/index.js +35 -0
  207. package/miniprogram_dist/radio/index.json +4 -0
  208. package/miniprogram_dist/radio/index.wxml +9 -0
  209. package/miniprogram_dist/radio/index.wxss +1 -0
  210. package/miniprogram_dist/radio-group/index.js +14 -0
  211. package/miniprogram_dist/radio-group/index.json +4 -0
  212. package/miniprogram_dist/radio-group/index.wxml +5 -0
  213. package/miniprogram_dist/radio-group/index.wxss +1 -0
  214. package/miniprogram_dist/rate/index.js +88 -0
  215. package/miniprogram_dist/rate/index.json +4 -0
  216. package/miniprogram_dist/rate/index.wxml +16 -0
  217. package/miniprogram_dist/rate/index.wxss +1 -0
  218. package/miniprogram_dist/safe-area/index.js +14 -0
  219. package/miniprogram_dist/safe-area/index.json +4 -0
  220. package/miniprogram_dist/safe-area/index.wxml +5 -0
  221. package/miniprogram_dist/safe-area/index.wxss +1 -0
  222. package/miniprogram_dist/scroll-list/index.js +54 -0
  223. package/miniprogram_dist/scroll-list/index.json +4 -0
  224. package/miniprogram_dist/scroll-list/index.wxml +13 -0
  225. package/miniprogram_dist/scroll-list/index.wxss +1 -0
  226. package/miniprogram_dist/search/index.js +59 -0
  227. package/miniprogram_dist/search/index.json +7 -0
  228. package/miniprogram_dist/search/index.wxml +17 -0
  229. package/miniprogram_dist/search/index.wxss +1 -0
  230. package/miniprogram_dist/share-panel/index.js +70 -0
  231. package/miniprogram_dist/share-panel/index.json +7 -0
  232. package/miniprogram_dist/share-panel/index.wxml +25 -0
  233. package/miniprogram_dist/share-panel/index.wxss +1 -0
  234. package/miniprogram_dist/skeleton/index.js +27 -0
  235. package/miniprogram_dist/skeleton/index.json +4 -0
  236. package/miniprogram_dist/skeleton/index.wxml +30 -0
  237. package/miniprogram_dist/skeleton/index.wxss +1 -0
  238. package/miniprogram_dist/slider/index.js +78 -0
  239. package/miniprogram_dist/slider/index.json +4 -0
  240. package/miniprogram_dist/slider/index.wxml +13 -0
  241. package/miniprogram_dist/slider/index.wxss +1 -0
  242. package/miniprogram_dist/steps/index.js +19 -0
  243. package/miniprogram_dist/steps/index.json +7 -0
  244. package/miniprogram_dist/steps/index.wxml +27 -0
  245. package/miniprogram_dist/steps/index.wxss +1 -0
  246. package/miniprogram_dist/sticky/index.js +18 -0
  247. package/miniprogram_dist/sticky/index.json +4 -0
  248. package/miniprogram_dist/sticky/index.wxml +5 -0
  249. package/miniprogram_dist/sticky/index.wxss +0 -0
  250. package/miniprogram_dist/swipe-action/index.js +38 -0
  251. package/miniprogram_dist/swipe-action/index.json +4 -0
  252. package/miniprogram_dist/swipe-action/index.wxml +14 -0
  253. package/miniprogram_dist/swipe-action/index.wxss +1 -0
  254. package/miniprogram_dist/switch/index.js +86 -0
  255. package/miniprogram_dist/switch/index.json +7 -0
  256. package/miniprogram_dist/switch/index.wxml +31 -0
  257. package/miniprogram_dist/switch/index.wxss +1 -0
  258. package/miniprogram_dist/tabbar/index.js +41 -0
  259. package/miniprogram_dist/tabbar/index.json +4 -0
  260. package/miniprogram_dist/tabbar/index.wxml +5 -0
  261. package/miniprogram_dist/tabbar/index.wxss +1 -0
  262. package/miniprogram_dist/tabbar-item/index.js +47 -0
  263. package/miniprogram_dist/tabbar-item/index.json +8 -0
  264. package/miniprogram_dist/tabbar-item/index.wxml +18 -0
  265. package/miniprogram_dist/tabbar-item/index.wxss +1 -0
  266. package/miniprogram_dist/tabs/index.js +54 -0
  267. package/miniprogram_dist/tabs/index.json +4 -0
  268. package/miniprogram_dist/tabs/index.wxml +17 -0
  269. package/miniprogram_dist/tabs/index.wxss +1 -0
  270. package/miniprogram_dist/tag/index.js +22 -0
  271. package/miniprogram_dist/tag/index.json +4 -0
  272. package/miniprogram_dist/tag/index.wxml +5 -0
  273. package/miniprogram_dist/tag/index.wxss +1 -0
  274. package/miniprogram_dist/text/index.js +56 -0
  275. package/miniprogram_dist/text/index.json +4 -0
  276. package/miniprogram_dist/text/index.wxml +5 -0
  277. package/miniprogram_dist/text/index.wxss +1 -0
  278. package/miniprogram_dist/textarea/index.js +60 -0
  279. package/miniprogram_dist/textarea/index.json +4 -0
  280. package/miniprogram_dist/textarea/index.wxml +8 -0
  281. package/miniprogram_dist/textarea/index.wxss +1 -0
  282. package/miniprogram_dist/toast/index.js +46 -0
  283. package/miniprogram_dist/toast/index.json +8 -0
  284. package/miniprogram_dist/toast/index.wxml +16 -0
  285. package/miniprogram_dist/toast/index.wxss +1 -0
  286. package/miniprogram_dist/upload/index.js +79 -0
  287. package/miniprogram_dist/upload/index.json +7 -0
  288. package/miniprogram_dist/upload/index.wxml +38 -0
  289. package/miniprogram_dist/upload/index.wxss +1 -0
  290. package/package.json +16 -0
@@ -0,0 +1,47 @@
1
+ // import from 'svelte'
2
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
3
+
4
+ Component({
5
+ properties: {
6
+ name: {
7
+ type: null,
8
+ },
9
+ label: {
10
+ type: String,
11
+ value: '',
12
+ },
13
+ icon: {
14
+ type: null,
15
+ },
16
+ badge: {
17
+ type: null,
18
+ },
19
+ dot: {
20
+ type: Boolean,
21
+ value: false,
22
+ },
23
+ iconSlot: {
24
+ type: null,
25
+ },
26
+ },
27
+
28
+ data: {
29
+ isActive: undefined,
30
+ },
31
+
32
+ observers: {
33
+ 'name': function() {
34
+ this.setData({ isActive: ctx.active === name });
35
+ },
36
+ },
37
+
38
+ methods: {
39
+ handleClick(e) {
40
+ // 用户定义的处理函数
41
+ },
42
+ __handler_keydown(e) {
43
+ ((e: KeyboardEvent) => (e.key === 'Enter' || e.key === ' ') && handleClick()).call(this, e);
44
+ },
45
+ },
46
+
47
+ });
@@ -0,0 +1,8 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated",
4
+ "usingComponents": {
5
+ "badge": "../badge/index",
6
+ "icon": "../icon/index"
7
+ }
8
+ }
@@ -0,0 +1,18 @@
1
+ <view class="ln-tabbar__item" role="tab" tabindex="0" aria-selected="{{isActive}}" class="{{isActive? 'is-active' : ''}}" bindtap="handleClick" bindkeydown="__handler_1">
2
+ <block wx:if="{{icon || iconSlot}}">
3
+ <view class="ln-tabbar__icon">
4
+ <badge value="{{badge}}" dot="{{dot}}" hidden="{{badge === undefined && !dot}}">
5
+ <block wx:if="{{iconSlot}}">
6
+ <slot name="iconSlot" />
7
+ </block>
8
+ <block wx:elif="{{icon}}">
9
+ <icon icon="{{icon}}" size="{{20}}" />
10
+ {{/if}} </block>
11
+ </badge>
12
+ </view>
13
+ {{/if}} <block wx:if="{{label}}">
14
+ <text class="ln-tabbar__label">
15
+ {{label}} </text>
16
+ {{/if}} </block>
17
+ </block>
18
+ </view>
@@ -0,0 +1 @@
1
+ .ln-tabbar{position:relative;display:flex;align-items:stretch;height:100rpx;background-color:#fff}.ln-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16rpx;padding:0;border:none;background:none;cursor:pointer;color:#909399;transition:color .2s;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ln-tabbar__item.is-active{color:#0062ff}.ln-tabbar__icon{position:relative;display:flex;align-items:center;justify-content:center;font-size:0}.ln-tabbar__label{font-size:20rpx;line-height:1}.ln-tabbar.is-fixed{position:fixed;bottom:0;left:0;right:0;z-index:200}.ln-tabbar.is-bordered::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:#e4e7ed;transform:scaleY(0.5);transform-origin:top}.ln-tabbar.is-safe-area{padding-bottom:env(safe-area-inset-bottom);height:calc(100rpx + env(safe-area-inset-bottom))}.dark .ln-tabbar{background-color:#1d1e1f}.dark .ln-tabbar .ln-tabbar__item{color:#a3a6ad}.dark .ln-tabbar .ln-tabbar__item.is-active{color:#0062ff}.dark .ln-tabbar.is-bordered::before{background-color:hsla(0,0%,100%,.08)}
@@ -0,0 +1,54 @@
1
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
2
+
3
+ Component({
4
+ properties: {
5
+ items: {
6
+ type: Array,
7
+ value: [],
8
+ },
9
+ active: {
10
+ type: Number,
11
+ value: 0,
12
+ },
13
+ bordered: {
14
+ type: Boolean,
15
+ value: true,
16
+ },
17
+ onchange: {
18
+ type: null,
19
+ },
20
+ children: {
21
+ type: null,
22
+ },
23
+ },
24
+
25
+ data: {
26
+ headerEl: undefined,
27
+ indicatorStyle: '',
28
+ },
29
+
30
+ lifetimes: {
31
+ attached() {
32
+ const self = this;
33
+ // $bindable: active
34
+ this.__bind_active = function(e) {
35
+ self.setData({ active: e.detail.value });
36
+ self.triggerEvent('update:active', e.detail.value);
37
+ };
38
+ // $effect #1
39
+ active;
40
+ requestAnimationFrame(updateIndicator);;
41
+ },
42
+ },
43
+
44
+ methods: {
45
+ __handler_click(e) {
46
+ (() => select(i)).call(this, e);
47
+ },
48
+ __bind_active(e) {
49
+ this.setData({ active: e.detail.value });
50
+ this.triggerEvent('update:active', e.detail.value);
51
+ },
52
+ },
53
+
54
+ });
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated"
4
+ }
@@ -0,0 +1,17 @@
1
+ <view class="ln-tabs" class="{{bordered? 'is-bordered' : ''}}">
2
+ <view class="ln-tabs__header" this="{{headerEl}}" bindchange="__bind_headerEl">
3
+ <block wx:for="{{items}}" wx:for-item="item" wx:for-index="i">
4
+ <button class="ln-tabs__item" type="button" role="tab" aria-selected="{{active === i}}" class="{{active === i? 'is-active' : ''}}" bindtap="__handler_1">
5
+ <text class="ln-tabs__label">
6
+ {{item.label}} </text>
7
+ </button>
8
+ </block>
9
+ <view class="ln-tabs__indicator" style="{{indicatorStyle}}">
10
+ </view>
11
+ </view>
12
+ <block wx:if="{{children}}">
13
+ <view class="ln-tabs__content">
14
+ <slot />
15
+ </view>
16
+ {{/if}} </block>
17
+ </view>
@@ -0,0 +1 @@
1
+ .ln-tabs{position:relative}.ln-tabs__header{position:relative;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}.ln-tabs__header::-webkit-scrollbar{display:none}.ln-tabs__item{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:88rpx;padding:0 32rpx;font-size:28rpx;color:#606266;cursor:pointer;position:relative;white-space:nowrap;transition:color .2s;border:none;background:none}.ln-tabs__item.is-active{color:#0062ff;font-weight:500}.ln-tabs__indicator{position:absolute;left:0;bottom:0;height:6rpx;border-radius:19998rpx;background-color:#0062ff;pointer-events:none;z-index:1;will-change:transform,width;transition:transform .25s ease,width .25s ease}.ln-tabs__content{overflow:hidden}.ln-tabs.is-bordered .ln-tabs__header{border-bottom:1px solid #e4e7ed}.dark .ln-tabs .ln-tabs__item{color:#cfd3dc}.dark .ln-tabs .ln-tabs__item.is-active{color:#0062ff}.dark .ln-tabs.is-bordered .ln-tabs__header{border-color:hsla(0,0%,100%,.08)}
@@ -0,0 +1,22 @@
1
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
2
+
3
+ Component({
4
+ properties: {
5
+ type: {
6
+ type: String,
7
+ value: 'default',
8
+ },
9
+ size: {
10
+ type: String,
11
+ value: 'default',
12
+ },
13
+ round: {
14
+ type: Boolean,
15
+ value: false,
16
+ },
17
+ children: {
18
+ type: null,
19
+ },
20
+ },
21
+
22
+ });
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated"
4
+ }
@@ -0,0 +1,5 @@
1
+ <text class="ln-tag ln-tag--{type}" class="{{size === 'small'? 'ln-tag--small' : ''}}" class="{{size === 'large'? 'ln-tag--large' : ''}}" class="{{round? 'is-round' : ''}}">
2
+ <block wx:if="{{children}}">
3
+ <slot />
4
+ {{/if}} </block>
5
+ </text>
@@ -0,0 +1 @@
1
+ .ln-tag{display:inline-flex;align-items:center;height:48rpx;padding:0 16rpx;font-size:24rpx;border-radius:8rpx;white-space:nowrap;border:1px solid rgba(0,0,0,0)}.ln-tag--default{background-color:#f0f2f5;color:#606266;border-color:#dcdfe6}.ln-tag--primary{background-color:#f2f6ff;color:#0062ff;border-color:#ccdfff}.ln-tag--success{background-color:#eaf9f2;color:#31c27c;border-color:#c1edd8}.ln-tag--warning{background-color:#fff5ed;color:#ff974a;border-color:#ffe0c9}.ln-tag--danger{background-color:#fff1f0;color:#fc5a5a;border-color:#ffccc7}.ln-tag--info{background-color:#f4f6fa;color:#92929d;border-color:#d1d5db}.ln-tag--small{height:40rpx;font-size:20rpx;padding:0 12rpx}.ln-tag--large{height:64rpx;font-size:28rpx;padding:0 24rpx}.ln-tag.is-round{border-radius:19998rpx}.dark .ln-tag--default{background-color:#2c2d2e;color:#cfd3dc;border-color:hsla(0,0%,100%,.08)}.dark .ln-tag--primary{background-color:rgba(0,98,255,.15);border-color:rgba(0,98,255,.3)}.dark .ln-tag--success{background-color:rgba(49,194,124,.15);border-color:rgba(49,194,124,.3)}.dark .ln-tag--warning{background-color:rgba(255,151,74,.15);border-color:rgba(255,151,74,.3)}.dark .ln-tag--danger{background-color:rgba(252,90,90,.15);border-color:rgba(252,90,90,.3)}.dark .ln-tag--info{background-color:rgba(146,146,157,.15);border-color:rgba(146,146,157,.3)}
@@ -0,0 +1,56 @@
1
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
2
+
3
+ Component({
4
+ properties: {
5
+ size: {
6
+ type: null,
7
+ },
8
+ color: {
9
+ type: null,
10
+ },
11
+ weight: {
12
+ type: null,
13
+ },
14
+ block: {
15
+ type: Boolean,
16
+ value: false,
17
+ },
18
+ truncate: {
19
+ type: Boolean,
20
+ value: false,
21
+ },
22
+ style: {
23
+ type: null,
24
+ },
25
+ class: className: {
26
+ type: null,
27
+ value: '',
28
+ },
29
+ children: {
30
+ type: null,
31
+ },
32
+ },
33
+
34
+ data: {
35
+ tag: undefined,
36
+ cls: undefined,
37
+ },
38
+
39
+ observers: {
40
+ 'block': function() {
41
+ this.setData({ tag: block ? 'div' : 'span' });
42
+ },
43
+ 'size, weight, block, truncate, color': function() {
44
+ this.setData({ cls: [
45
+ 'ln-text',
46
+ size && `ln-text--${size}`,
47
+ color && `ln-text--${color}`,
48
+ weight && `ln-text--${weight}`,
49
+ block && 'is-block',
50
+ truncate && 'is-truncate',
51
+ className,
52
+ ].filter(Boolean).join(' ') });
53
+ },
54
+ },
55
+
56
+ });
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated"
4
+ }
@@ -0,0 +1,5 @@
1
+ <svelte:element this="{{tag}}" class="{{cls}}" style="{{style}}">
2
+ <block wx:if="{{children}}">
3
+ <slot />
4
+ {{/if}} </block>
5
+ </svelte:element>
@@ -0,0 +1 @@
1
+ .ln-text{font-size:28rpx;line-height:1.5;color:#303133}.ln-text--xs{font-size:24rpx}.ln-text--sm{font-size:26rpx}.ln-text--base{font-size:28rpx}.ln-text--md{font-size:32rpx}.ln-text--lg{font-size:34rpx}.ln-text--xl{font-size:40rpx}.ln-text--regular{color:#606266}.ln-text--secondary{color:#909399}.ln-text--placeholder{color:#a8abb2}.ln-text--disabled{color:#c0c4cc}.ln-text--inverse{color:#fff}.ln-text--light{font-weight:300}.ln-text--medium{font-weight:500}.ln-text--bold{font-weight:700}.ln-text.is-block{display:block}.ln-text.is-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dark .ln-text{color:#e5eaf3}.dark .ln-text--regular{color:#cfd3dc}.dark .ln-text--secondary{color:#a3a6ad}.dark .ln-text--placeholder{color:#6b6f76}.dark .ln-text--disabled{color:#6b6f76}
@@ -0,0 +1,60 @@
1
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
2
+
3
+ Component({
4
+ properties: {
5
+ value: {
6
+ type: String,
7
+ value: '',
8
+ },
9
+ placeholder: {
10
+ type: String,
11
+ value: '',
12
+ },
13
+ maxlength: {
14
+ type: null,
15
+ },
16
+ disabled: {
17
+ type: Boolean,
18
+ value: false,
19
+ },
20
+ rows: {
21
+ type: Number,
22
+ value: 3,
23
+ },
24
+ oninput: {
25
+ type: null,
26
+ },
27
+ },
28
+
29
+ data: {
30
+ focused: false,
31
+ },
32
+
33
+ lifetimes: {
34
+ attached() {
35
+ const self = this;
36
+ // $bindable: value
37
+ this.__bind_value = function(e) {
38
+ self.setData({ value: e.detail.value });
39
+ self.triggerEvent('update:value', e.detail.value);
40
+ };
41
+ },
42
+ },
43
+
44
+ methods: {
45
+ __handler_focus(e) {
46
+ (() => focused = true).call(this, e);
47
+ },
48
+ __handler_blur(e) {
49
+ (() => focused = false).call(this, e);
50
+ },
51
+ oninput(e) {
52
+ // 用户定义的处理函数
53
+ },
54
+ __bind_value(e) {
55
+ this.setData({ value: e.detail.value });
56
+ this.triggerEvent('update:value', e.detail.value);
57
+ },
58
+ },
59
+
60
+ });
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated"
4
+ }
@@ -0,0 +1,8 @@
1
+ <view class="ln-textarea" class="{{focused? 'is-focus' : ''}}" class="{{disabled? 'is-disabled' : ''}}">
2
+ <textarea class="ln-textarea__inner" placeholder="{{placeholder}}" disabled="{{disabled}}" maxlength="{{maxlength}}" rows="{{rows}}" bindfocus="__handler_1" bindblur="__handler_2" bindinput="oninput">
3
+ </textarea>
4
+ <block wx:if="{{maxlength}}">
5
+ <text class="ln-textarea__count">
6
+ {{value.length}}/{{maxlength}} </text>
7
+ {{/if}} </block>
8
+ </view>
@@ -0,0 +1 @@
1
+ .ln-textarea{position:relative;width:100%}.ln-textarea__inner{display:block;width:100%;min-height:160rpx;padding:16rpx 24rpx;font-size:28rpx;font-family:inherit;color:#303133;background-color:#fff;border:1px solid #dcdfe6;border-radius:12rpx;outline:none;resize:none;transition:border-color .2s;box-sizing:border-box}.ln-textarea__inner::placeholder{color:#a8abb2}.ln-textarea__count{position:absolute;right:16rpx;bottom:16rpx;font-size:24rpx;color:#909399}.ln-textarea.is-focus .ln-textarea__inner{border-color:#0062ff}.ln-textarea.is-disabled{opacity:.5}.ln-textarea.is-disabled .ln-textarea__inner{background-color:#f5f7fa;cursor:not-allowed}.dark .ln-textarea .ln-textarea__inner{background-color:#1d1e1f;border-color:hsla(0,0%,100%,.08);color:#e5eaf3}.dark .ln-textarea .ln-textarea__inner::placeholder{color:#6b6f76}.dark .ln-textarea .ln-textarea__count{color:#a3a6ad}.dark .ln-textarea.is-focus .ln-textarea__inner{border-color:#0062ff}.dark .ln-textarea.is-disabled .ln-textarea__inner{background-color:#141415}
@@ -0,0 +1,46 @@
1
+ // import from 'svelte/transition'
2
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
3
+
4
+ Component({
5
+ properties: {
6
+ visible: {
7
+ type: Boolean,
8
+ value: false,
9
+ },
10
+ message: {
11
+ type: String,
12
+ value: '',
13
+ },
14
+ type: {
15
+ type: null,
16
+ },
17
+ position: {
18
+ type: String,
19
+ value: 'center',
20
+ },
21
+ duration: {
22
+ type: Number,
23
+ value: 2000,
24
+ },
25
+ onclose: {
26
+ type: null,
27
+ },
28
+ },
29
+
30
+ lifetimes: {
31
+ attached() {
32
+ const self = this;
33
+ // $bindable: visible
34
+ this.__bind_visible = function(e) {
35
+ self.setData({ visible: e.detail.value });
36
+ self.triggerEvent('update:visible', e.detail.value);
37
+ };
38
+ // $effect #1
39
+ if (visible && duration > 0 && type !== 'loading') {
40
+ const timer = setTimeout(() => { visible = false; onclose?.(); }, duration);
41
+ return () => clearTimeout(timer);
42
+ };
43
+ },
44
+ },
45
+
46
+ });
@@ -0,0 +1,8 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated",
4
+ "usingComponents": {
5
+ "icon": "../icon/index",
6
+ "loading": "../loading/index"
7
+ }
8
+ }
@@ -0,0 +1,16 @@
1
+ <block wx:if="{{visible}}">
2
+ <view class="ln-toast" class="{{position === 'top'? 'ln-toast--top' : ''}}" class="{{position === 'bottom'? 'ln-toast--bottom' : ''}}">
3
+ <block wx:if="{{type}}">
4
+ <text class="ln-toast__icon" class="{{type === 'loading'? 'is-loading' : ''}}">
5
+ <block wx:if="{{type === 'loading'}}">
6
+ <loading />
7
+ </block>
8
+ <block wx:else>
9
+ <icon icon="{{iconMap[type]}}" size="{{36}}" color="#fff" />
10
+ </block>
11
+ </text>
12
+ {{/if}} <text class="ln-toast__text">
13
+ {{message}} </text>
14
+ </block>
15
+ </view>
16
+ {{/if}}</block>
@@ -0,0 +1 @@
1
+ .ln-toast{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:192rpx;max-width:70%;padding:32rpx 40rpx;background-color:rgba(0,0,0,.7);color:#fff;border-radius:16rpx;font-size:28rpx;text-align:center;word-break:break-word}.ln-toast__icon{margin-bottom:16rpx;width:72rpx;height:72rpx;display:flex;align-items:center;justify-content:center}.ln-toast__icon.is-loading .ln-icon{animation:ln-toast-spin 1s linear infinite;color:#0062ff}.ln-toast__text{line-height:1.5}.ln-toast--top{top:20%;transform:translate(-50%, 0)}.ln-toast--bottom{top:auto;bottom:20%;transform:translate(-50%, 0)}@keyframes ln-toast-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@@ -0,0 +1,79 @@
1
+ const { createReactiveProxy, batchSetData } = require('../common/runtime');
2
+
3
+ Component({
4
+ properties: {
5
+ fileList: {
6
+ type: Array,
7
+ value: [],
8
+ },
9
+ maxCount: {
10
+ type: Number,
11
+ value: 9,
12
+ },
13
+ accept: {
14
+ type: String,
15
+ value: "image/*",
16
+ },
17
+ type: {
18
+ type: String,
19
+ value: "image",
20
+ },
21
+ disabled: {
22
+ type: Boolean,
23
+ value: false,
24
+ },
25
+ multiple: {
26
+ type: Boolean,
27
+ value: true,
28
+ },
29
+ onchange: {
30
+ type: null,
31
+ },
32
+ ondelete: {
33
+ type: null,
34
+ },
35
+ },
36
+
37
+ data: {
38
+ inputRef: undefined,
39
+ previewUrl: "",
40
+ previewVisible: false,
41
+ },
42
+
43
+ lifetimes: {
44
+ attached() {
45
+ const self = this;
46
+ // $bindable: fileList
47
+ this.__bind_fileList = function(e) {
48
+ self.setData({ fileList: e.detail.value });
49
+ self.triggerEvent('update:fileList', e.detail.value);
50
+ };
51
+ },
52
+ },
53
+
54
+ methods: {
55
+ __handler_click(e) {
56
+ (() => preview(file.url)).call(this, e);
57
+ },
58
+ __handler_click(e) {
59
+ ((e: MouseEvent) => {
60
+ e.stopPropagation();
61
+ remove(i);
62
+ }).call(this, e);
63
+ },
64
+ __handler_click(e) {
65
+ (() => inputRef?.click()).call(this, e);
66
+ },
67
+ handleSelect(e) {
68
+ // 用户定义的处理函数
69
+ },
70
+ closePreview(e) {
71
+ // 用户定义的处理函数
72
+ },
73
+ __bind_fileList(e) {
74
+ this.setData({ fileList: e.detail.value });
75
+ this.triggerEvent('update:fileList', e.detail.value);
76
+ },
77
+ },
78
+
79
+ });
@@ -0,0 +1,7 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "isolated",
4
+ "usingComponents": {
5
+ "icon": "../icon/index"
6
+ }
7
+ }
@@ -0,0 +1,38 @@
1
+ <view class="ln-upload" class="{{type === "file"? 'ln-upload--file' : ''}}">
2
+ <block wx:for="{{fileList}}" wx:for-item="file" wx:for-index="i">
3
+ <view class="ln-upload__item">
4
+ <block wx:if="{{file.url && isImage(file)}}">
5
+ <button type="button" class="ln-upload__preview-btn" bindtap="__handler_1">
6
+ <image class="ln-upload__preview" src="{{file.url}}" alt="" />
7
+ </button>
8
+ </block>
9
+ <block wx:else>
10
+ <view class="ln-upload__file">
11
+ <icon icon="{{FileText}}" size="{{28}}" />
12
+ <text class="ln-upload__name">
13
+ {{file.name || "文件"}} </text>
14
+ </view>
15
+ </block>
16
+ <block wx:if="{{!disabled}}">
17
+ <button type="button" class="ln-upload__delete" bindtap="__handler_2">
18
+ <icon icon="{{X}}" size="{{12}}" color="#fff" />
19
+ </button>
20
+ {{/if}} <block wx:if="{{file.status === "uploading"}}">
21
+ <view class="ln-upload__status">
22
+ 上传中 </view>
23
+ {{/if}} </block>
24
+ </block>
25
+ </view>
26
+ </block>
27
+ <block wx:if="{{fileList.length < maxCount && !disabled}}">
28
+ <button type="button" class="ln-upload__trigger" bindtap="__handler_3">
29
+ <icon icon="{{Plus}}" size="{{28}}" />
30
+ </button>
31
+ <input type="file" accept="{{type === "image" ? accept : "*/*"}}" multiple="{{multiple}}" hidden this="{{inputRef}}" bindchange="__bind_inputRef" bindchange="handleSelect" />
32
+ {{/if}} </block>
33
+ </view>
34
+ <block wx:if="{{previewVisible}}">
35
+ <view class="ln-upload__overlay" role="presentation" bindtap="closePreview">
36
+ <image class="ln-upload__fullscreen" src="{{previewUrl}}" alt="" />
37
+ </view>
38
+ {{/if}}</block>
@@ -0,0 +1 @@
1
+ .ln-upload{display:flex;flex-wrap:wrap;gap:16rpx}.ln-upload__trigger{display:flex;align-items:center;justify-content:center;width:160rpx;height:160rpx;padding:0;border:1px dashed #dcdfe6;border-radius:12rpx;background-color:#f5f7fa;color:#a8abb2;cursor:pointer;font-size:56rpx}.ln-upload__trigger:active{border-color:#0062ff}.ln-upload__item{position:relative;width:160rpx;height:160rpx;border-radius:12rpx;overflow:hidden}.ln-upload__preview-btn{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:pointer}.ln-upload__preview{width:100%;height:100%;object-fit:cover}.ln-upload__delete{position:absolute;top:0;right:0;width:40rpx;height:40rpx;padding:0;border:none;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);color:#fff;font-size:24rpx;cursor:pointer;border-radius:0 0 0 4rpx}.ln-upload__status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);color:#fff;font-size:26rpx}.ln-upload__overlay{position:fixed;inset:0;z-index:2002;background-color:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;animation:ln-overlay-in .2s ease both}.ln-upload__fullscreen{max-width:100%;max-height:100%;object-fit:contain}.ln-upload__file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8rpx;width:100%;height:100%;background:#f5f7fa;color:#909399}.ln-upload__name{font-size:20rpx;color:#909399;max-width:140rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.dark .ln-upload .ln-upload__trigger{background-color:#2c2d2e;border-color:hsla(0,0%,100%,.08);color:#6b6f76}.dark .ln-upload .ln-upload__trigger:active{border-color:#0062ff}.dark .ln-upload .ln-upload__file{background:#2c2d2e;color:#a3a6ad}.dark .ln-upload .ln-upload__name{color:#a3a6ad}
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "luna-mobile-weapp",
3
+ "version": "0.0.1",
4
+ "description": "LunaMobile 微信小程序组件库",
5
+ "miniprogram": "miniprogram_dist",
6
+ "files": [
7
+ "miniprogram_dist"
8
+ ],
9
+ "keywords": [
10
+ "weapp",
11
+ "miniprogram",
12
+ "luna-mobile",
13
+ "svelte"
14
+ ],
15
+ "license": "MIT"
16
+ }