icarys-fc-vant 1.0.15 → 1.0.16

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 (101) hide show
  1. package/README.md +87 -278
  2. package/dist/components/common/subform/package.json +48 -0
  3. package/dist/components/common/subform/src/component.jsx +75 -0
  4. package/dist/components/common/subform/src/index.js +3 -0
  5. package/dist/components/common/wangeditor/package-lock.json +114 -0
  6. package/dist/components/common/wangeditor/package.json +52 -0
  7. package/dist/components/common/wangeditor/src/component.jsx +74 -0
  8. package/dist/components/common/wangeditor/src/index.js +3 -0
  9. package/dist/core/babel.config.js +13 -0
  10. package/dist/core/bili.config.js +34 -0
  11. package/dist/core/package-lock.json +13 -0
  12. package/dist/core/package.json +61 -0
  13. package/dist/core/src/components/formCreate.js +287 -0
  14. package/dist/core/src/components/fragment.js +12 -0
  15. package/dist/core/src/factory/context.js +264 -0
  16. package/dist/core/src/factory/creator.js +63 -0
  17. package/dist/core/src/factory/maker.js +17 -0
  18. package/dist/core/src/factory/manager.js +87 -0
  19. package/dist/core/src/factory/node.js +89 -0
  20. package/dist/core/src/factory/parser.js +28 -0
  21. package/dist/core/src/frame/api.js +691 -0
  22. package/dist/core/src/frame/attrs.js +12 -0
  23. package/dist/core/src/frame/dataDriver.js +76 -0
  24. package/dist/core/src/frame/fetch.js +128 -0
  25. package/dist/core/src/frame/index.js +792 -0
  26. package/dist/core/src/frame/language.js +50 -0
  27. package/dist/core/src/frame/provider.js +297 -0
  28. package/dist/core/src/frame/util.js +311 -0
  29. package/dist/core/src/handler/context.js +573 -0
  30. package/dist/core/src/handler/effect.js +122 -0
  31. package/dist/core/src/handler/index.js +143 -0
  32. package/dist/core/src/handler/inject.js +199 -0
  33. package/dist/core/src/handler/input.js +199 -0
  34. package/dist/core/src/handler/lifecycle.js +55 -0
  35. package/dist/core/src/handler/loader.js +375 -0
  36. package/dist/core/src/handler/page.js +46 -0
  37. package/dist/core/src/handler/render.js +29 -0
  38. package/dist/core/src/index.js +12 -0
  39. package/dist/core/src/parser/html.js +17 -0
  40. package/dist/core/src/render/cache.js +47 -0
  41. package/dist/core/src/render/index.js +33 -0
  42. package/dist/core/src/render/render.js +418 -0
  43. package/dist/core/types/index.d.ts +842 -0
  44. package/dist/icarys-fc-vant.umd.js +17 -0
  45. package/dist/index.d.ts +27 -0
  46. package/dist/index.esm.js +39 -0
  47. package/dist/index.js +46 -0
  48. package/dist/utils/lib/console.js +16 -0
  49. package/dist/utils/lib/debounce.js +9 -0
  50. package/dist/utils/lib/deepextend.js +51 -0
  51. package/dist/utils/lib/deepset.js +14 -0
  52. package/dist/utils/lib/extend.js +20 -0
  53. package/dist/utils/lib/index.js +14 -0
  54. package/dist/utils/lib/json.js +90 -0
  55. package/dist/utils/lib/mergeprops.js +62 -0
  56. package/dist/utils/lib/mitt.js +43 -0
  57. package/dist/utils/lib/modify.js +8 -0
  58. package/dist/utils/lib/slot.js +8 -0
  59. package/dist/utils/lib/toarray.js +5 -0
  60. package/dist/utils/lib/tocase.js +11 -0
  61. package/dist/utils/lib/todate.js +10 -0
  62. package/dist/utils/lib/toline.js +10 -0
  63. package/dist/utils/lib/topromise.js +10 -0
  64. package/dist/utils/lib/tostring.js +7 -0
  65. package/dist/utils/lib/type.js +45 -0
  66. package/dist/utils/lib/unique.js +6 -0
  67. package/dist/utils/package.json +32 -0
  68. package/dist/vant/auto-import.d.ts +5 -0
  69. package/dist/vant/auto-import.js +50 -0
  70. package/dist/vant/babel.config.js +10 -0
  71. package/dist/vant/bili.config.js +40 -0
  72. package/dist/vant/examples/main.js +13 -0
  73. package/dist/vant/examples/rule.js +366 -0
  74. package/dist/vant/package.json +83 -0
  75. package/dist/vant/src/components/calendar.jsx +128 -0
  76. package/dist/vant/src/components/cascader.jsx +120 -0
  77. package/dist/vant/src/components/checkbox.jsx +38 -0
  78. package/dist/vant/src/components/datePicker.jsx +87 -0
  79. package/dist/vant/src/components/group.jsx +384 -0
  80. package/dist/vant/src/components/index.js +26 -0
  81. package/dist/vant/src/components/radio.jsx +38 -0
  82. package/dist/vant/src/components/select.jsx +81 -0
  83. package/dist/vant/src/components/timePicker.jsx +76 -0
  84. package/dist/vant/src/components/uploader.jsx +99 -0
  85. package/dist/vant/src/core/alias.js +31 -0
  86. package/dist/vant/src/core/api.js +135 -0
  87. package/dist/vant/src/core/config.js +35 -0
  88. package/dist/vant/src/core/index.js +45 -0
  89. package/dist/vant/src/core/manager.js +282 -0
  90. package/dist/vant/src/core/provider.js +63 -0
  91. package/dist/vant/src/core/utils.js +15 -0
  92. package/dist/vant/src/index.js +13 -0
  93. package/dist/vant/src/parsers/hidden.js +12 -0
  94. package/dist/vant/src/parsers/index.js +59 -0
  95. package/dist/vant/src/parsers/row.js +10 -0
  96. package/dist/vant/src/style/index.css +495 -0
  97. package/dist/vant/types/config.d.ts +99 -0
  98. package/dist/vant/types/index.d.ts +27 -0
  99. package/dist/vant/vue.config.js +21 -0
  100. package/package.json +29 -67
  101. package/dist/index.min.js +0 -7411
@@ -0,0 +1,495 @@
1
+ .form-create-m {
2
+ width: 100%;
3
+ }
4
+
5
+ .form-create-m.is-preview .fc-clock, .form-create-m .fc-none {
6
+ display: none !important;
7
+ }
8
+
9
+ .form-create-m .fc-form-item:after {
10
+ content: ' ' !important;
11
+ display: block !important;
12
+ }
13
+
14
+ .form-create-m .fc-form-item .van-cell:not(.fc-form-item):after {
15
+ display: none !important;
16
+ }
17
+
18
+ .form-create-m .fc-form-item .van-cell:not(.fc-form-item) {
19
+ padding: 0;
20
+ }
21
+
22
+ .form-create-m .fc-form-item .fc-form-item {
23
+ padding-left: 0;
24
+ padding-right: 0;
25
+ --van-padding-md: 0;
26
+ }
27
+
28
+ .form-create-m .fc-reset-btn {
29
+ margin-top: 12px;
30
+ }
31
+
32
+ .form-create-m .fc-form-title {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ }
36
+
37
+ .form-create-m.is-preview .van-field__label--required:before {
38
+ display: none;
39
+ }
40
+
41
+ ._fc-m-group{
42
+ display: flex;
43
+ align-items: flex-end;
44
+ min-height: 38px;
45
+ justify-content: center;
46
+ flex-direction: column;
47
+ width: 100%;
48
+ }
49
+
50
+ ._fc-m-group-disabled ._fc-m-group-btn, ._fc-m-group-disabled ._fc-m-group-add{
51
+ cursor: not-allowed;
52
+ }
53
+
54
+ ._fc-m-group-handle {
55
+ display: flex;
56
+ flex-direction: row;
57
+ position: absolute;
58
+ bottom: -15px;
59
+ right: 30px;
60
+ border-radius: 15px;
61
+ border: 1px dashed #d9d9d9;
62
+ padding: 3px 8px;
63
+ background-color: #ffffff;
64
+ transform: scale(1.1);
65
+ }
66
+
67
+ ._fc-m-group-btn{
68
+ cursor: pointer;
69
+ }
70
+
71
+ ._fc-m-group-idx {
72
+ position: absolute;
73
+ bottom: -15px;
74
+ left: 10px;
75
+ width: 30px;
76
+ height: 30px;
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ background: #eee;
81
+ border-radius: 15px;
82
+ font-weight: 700;
83
+ }
84
+
85
+ ._fc-m-group-handle ._fc-m-group-btn + ._fc-m-group-btn {
86
+ margin-left: 7px;
87
+ }
88
+
89
+ ._fc-m-group-container{
90
+ position: relative;
91
+ display: flex;
92
+ flex-direction: column;
93
+ border: 1px dashed #d9d9d9;
94
+ border-radius: 5px;
95
+ margin-bottom: 25px;
96
+ padding: 5px 5px 25px;
97
+ width: 100%;
98
+ box-sizing: border-box;
99
+ }
100
+
101
+ ._fc-m-group-arrow {
102
+ position: relative;
103
+ width: 20px;
104
+ height: 20px;
105
+ }
106
+
107
+ ._fc-m-group-arrow::before {
108
+ content: "";
109
+ position: absolute;
110
+ top: 8px;
111
+ left: 5px;
112
+ width: 9px;
113
+ height: 9px;
114
+ border-left: 2px solid #999;
115
+ border-top: 2px solid #999;
116
+ }
117
+ ._fc-m-group-arrow::before {
118
+ transform: rotate(45deg);
119
+ }
120
+
121
+ ._fc-m-group-arrow._fc-m-group-down {
122
+ transform: rotate(180deg);
123
+ }
124
+
125
+ ._fc-m-group-plus-minus {
126
+ width: 20px;
127
+ height: 20px;
128
+ position: relative;
129
+ cursor: pointer;
130
+ }
131
+
132
+ ._fc-m-group-plus-minus::before,
133
+ ._fc-m-group-plus-minus::after {
134
+ content: "";
135
+ position: absolute;
136
+ top: 50%;
137
+ left: 50%;
138
+ width: 60%;
139
+ height: 2px;
140
+ background-color: #409eff;
141
+ transform: translate(-50%, -50%);
142
+ }
143
+
144
+ ._fc-m-group-plus-minus::before {
145
+ transform: translate(-50%, -50%) rotate(90deg);
146
+ }
147
+
148
+ ._fc-m-group-plus-minus._fc-m-group-minus::before {
149
+ display: none;
150
+ }
151
+ ._fc-m-group-plus-minus._fc-m-group-minus::after {
152
+ background-color: #f56c6c;
153
+ }
154
+
155
+ ._fc-m-group-add{
156
+ cursor: pointer;
157
+ width: 25px;
158
+ height: 25px;
159
+ border: 1px solid rgb(64 158 255 / 50%);
160
+ border-radius: 15px;
161
+ transform: scale(1.1);
162
+ }
163
+
164
+ ._fc-m-group-add._fc-m-group-plus-minus::before, ._fc-m-group-add._fc-m-group-plus-minus::after {
165
+ width: 50%;
166
+ }
167
+
168
+ /* ===== Card 类型样式 ===== */
169
+ /* 主容器 */
170
+ ._fc-m-group._fc-m-group-card {
171
+ display: flex;
172
+ flex-direction: column;
173
+ width: 100%;
174
+ gap: 16px;
175
+ }
176
+
177
+ /* 禁用状态 */
178
+ ._fc-m-group._fc-m-group-card._fc-m-group-disabled ._fc-m-group-btn,
179
+ ._fc-m-group._fc-m-group-card._fc-m-group-disabled ._fc-m-group-add {
180
+ cursor: not-allowed;
181
+ opacity: 0.5;
182
+ }
183
+
184
+ /* 卡片容器 */
185
+ ._fc-m-group._fc-m-group-card ._fc-m-group-container {
186
+ position: relative;
187
+ background: #ffffff;
188
+ border: 1px solid #f0f0f0;
189
+ border-radius: 6px;
190
+ overflow: hidden;
191
+ display: flex;
192
+ flex-direction: column;
193
+ padding: 0;
194
+ margin: 0;
195
+ }
196
+
197
+ /* 卡片头部 */
198
+ ._fc-m-group._fc-m-group-card ._fc-m-group-header {
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: space-between;
202
+ padding: 16px 20px 12px;
203
+ border-bottom: 1px solid #f0f0f0;
204
+ background: #fafafa;
205
+ }
206
+
207
+ /* 序号标签 */
208
+ ._fc-m-group._fc-m-group-card ._fc-m-group-idx {
209
+ display: flex;
210
+ align-items: center;
211
+ justify-content: center;
212
+ width: 24px;
213
+ height: 24px;
214
+ background: #f0f0f0;
215
+ color: #666666;
216
+ border-radius: 6px;
217
+ font-size: 12px;
218
+ font-weight: 500;
219
+ margin-right: 12px;
220
+ flex-shrink: 0;
221
+ position: static;
222
+ border: 1px solid #e0e0e0;
223
+ }
224
+
225
+ /* 标题区域 */
226
+ ._fc-m-group._fc-m-group-card ._fc-m-group-title {
227
+ flex: 1;
228
+ font-size: 14px;
229
+ font-weight: 500;
230
+ color: rgba(0, 0, 0, 0.85);
231
+ line-height: 1.5715;
232
+ text-align: left;
233
+ }
234
+
235
+ /* 操作按钮组 - 头部右侧 */
236
+ ._fc-m-group._fc-m-group-card ._fc-m-group-handle {
237
+ display: flex;
238
+ align-items: center;
239
+ gap: 4px;
240
+ margin-left: 12px;
241
+ flex-shrink: 0;
242
+ position: static;
243
+ bottom: auto;
244
+ right: auto;
245
+ border-radius: 0;
246
+ border: none;
247
+ padding: 0;
248
+ background-color: transparent;
249
+ flex-direction: row;
250
+ transform: none;
251
+ }
252
+
253
+ /* 按钮基础样式 */
254
+ ._fc-m-group._fc-m-group-card ._fc-m-group-btn {
255
+ cursor: pointer;
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: center;
259
+ width: 24px;
260
+ height: 24px;
261
+ border-radius: 4px;
262
+ border: 1px solid #d9d9d9;
263
+ background: #ffffff;
264
+ color: rgba(0, 0, 0, 0.45);
265
+ position: relative;
266
+ }
267
+
268
+ ._fc-m-group._fc-m-group-card ._fc-m-group-btn:hover {
269
+ color: #1890ff;
270
+ border-color: #1890ff;
271
+ background: #f0f8ff;
272
+ }
273
+
274
+ ._fc-m-group._fc-m-group-card ._fc-m-group-btn:active {
275
+ color: #096dd9;
276
+ border-color: #096dd9;
277
+ }
278
+
279
+ /* 箭头按钮 */
280
+ ._fc-m-group._fc-m-group-card ._fc-m-group-arrow {
281
+ position: relative;
282
+ }
283
+
284
+ ._fc-m-group._fc-m-group-card ._fc-m-group-arrow::before {
285
+ content: "";
286
+ position: absolute;
287
+ top: 50%;
288
+ left: 50%;
289
+ width: 5px;
290
+ height: 5px;
291
+ border-left: 1px solid currentColor;
292
+ border-top: 1px solid currentColor;
293
+ transform: translate(-50%, -50%) rotate(45deg);
294
+ }
295
+
296
+ ._fc-m-group._fc-m-group-card ._fc-m-group-arrow._fc-m-group-down {
297
+ transform: rotate(180deg);
298
+ }
299
+
300
+ /* 合并的上下箭头按钮 */
301
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort {
302
+ position: relative;
303
+ display: flex;
304
+ flex-direction: column;
305
+ align-items: center;
306
+ justify-content: center;
307
+ height: 24px;
308
+ }
309
+
310
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort::before,
311
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort::after {
312
+ content: "";
313
+ position: absolute;
314
+ left: 50%;
315
+ width: 4px;
316
+ height: 4px;
317
+ border-left: 1px solid currentColor;
318
+ border-top: 1px solid currentColor;
319
+ transform: translateX(-50%);
320
+ }
321
+
322
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort::before {
323
+ top: 6px;
324
+ transform: translateX(-50%) rotate(45deg);
325
+ }
326
+
327
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort::after {
328
+ bottom: 6px;
329
+ transform: translateX(-50%) rotate(225deg);
330
+ }
331
+
332
+ /* 合并按钮的上下点击区域 */
333
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-up,
334
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-down {
335
+ position: absolute;
336
+ left: 0;
337
+ right: 0;
338
+ height: 12px;
339
+ cursor: pointer;
340
+ z-index: 1;
341
+ }
342
+
343
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-up {
344
+ top: 0;
345
+ }
346
+
347
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-down {
348
+ bottom: 0;
349
+ }
350
+
351
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-up:hover,
352
+ ._fc-m-group._fc-m-group-card ._fc-m-group-sort-down:hover {
353
+ background: rgba(24, 144, 255, 0.1);
354
+ }
355
+
356
+ /* 加减按钮 */
357
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus {
358
+ position: relative;
359
+ background: #409eff;
360
+ border-color: #409eff;
361
+ color: white;
362
+ width: 24px;
363
+ height: 24px;
364
+ border-radius: 4px;
365
+ }
366
+
367
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus:hover {
368
+ background: #66b1ff;
369
+ border-color: #66b1ff;
370
+ color: white;
371
+ }
372
+
373
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus::before,
374
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus::after {
375
+ content: "";
376
+ position: absolute;
377
+ top: 50%;
378
+ left: 50%;
379
+ width: 8px;
380
+ height: 1px;
381
+ background-color: currentColor;
382
+ transform: translate(-50%, -50%);
383
+ }
384
+
385
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus::before {
386
+ transform: translate(-50%, -50%) rotate(90deg);
387
+ }
388
+
389
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus._fc-m-group-minus {
390
+ background: #f56c6c;
391
+ border-color: #f56c6c;
392
+ }
393
+
394
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus._fc-m-group-minus:hover {
395
+ background: #f78989;
396
+ border-color: #f78989;
397
+ }
398
+
399
+ ._fc-m-group._fc-m-group-card ._fc-m-group-plus-minus._fc-m-group-minus::before {
400
+ display: none;
401
+ }
402
+
403
+ /* 表单内容区域 */
404
+ ._fc-m-group._fc-m-group-card ._fc-m-group-content {
405
+ padding: 20px;
406
+ }
407
+
408
+ /* 添加按钮 - 与加号按钮风格一致 */
409
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add {
410
+ cursor: pointer;
411
+ display: flex;
412
+ align-items: center;
413
+ justify-content: center;
414
+ width: 24px;
415
+ height: 24px;
416
+ border-radius: 4px;
417
+ border: 1px solid #d9d9d9;
418
+ background: #ffffff;
419
+ color: rgba(0, 0, 0, 0.45);
420
+ position: relative;
421
+ transform: none;
422
+ }
423
+
424
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add:hover {
425
+ color: #409eff;
426
+ border-color: #409eff;
427
+ background: #f0f8ff;
428
+ }
429
+
430
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add._fc-m-group-plus-minus {
431
+ width: 24px;
432
+ height: 24px;
433
+ background: #409eff;
434
+ border-color: #409eff;
435
+ color: white;
436
+ }
437
+
438
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add._fc-m-group-plus-minus:hover {
439
+ background: #66b1ff;
440
+ border-color: #66b1ff;
441
+ color: white;
442
+ }
443
+
444
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add._fc-m-group-plus-minus::before,
445
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add._fc-m-group-plus-minus::after {
446
+ content: "";
447
+ position: absolute;
448
+ top: 50%;
449
+ left: 50%;
450
+ width: 8px;
451
+ height: 1px;
452
+ background-color: currentColor;
453
+ transform: translate(-50%, -50%);
454
+ }
455
+
456
+ ._fc-m-group._fc-m-group-card ._fc-m-group-add._fc-m-group-plus-minus::before {
457
+ transform: translate(-50%, -50%) rotate(90deg);
458
+ }
459
+
460
+ /* 空状态样式 */
461
+ ._fc-m-group._fc-m-group-card ._fc-m-group-empty {
462
+ text-align: center;
463
+ padding: 40px 20px;
464
+ color: rgba(0, 0, 0, 0.45);
465
+ font-size: 14px;
466
+ }
467
+
468
+ /* 响应式设计 */
469
+ @media (max-width: 768px) {
470
+ ._fc-m-group._fc-m-group-card ._fc-m-group-container {
471
+ margin: 0 -8px;
472
+ border-radius: 0;
473
+ border-left: none;
474
+ border-right: none;
475
+ }
476
+
477
+ ._fc-m-group._fc-m-group-card ._fc-m-group-header {
478
+ padding: 12px 16px 8px;
479
+ }
480
+
481
+ ._fc-m-group._fc-m-group-card ._fc-m-group-content {
482
+ padding: 16px;
483
+ }
484
+
485
+ ._fc-m-group._fc-m-group-card ._fc-m-group-handle {
486
+ gap: 2px;
487
+ }
488
+
489
+ ._fc-m-group._fc-m-group-card ._fc-m-group-btn {
490
+ width: 22px;
491
+ height: 22px;
492
+ }
493
+ }
494
+
495
+
@@ -0,0 +1,99 @@
1
+ import {FormData, VNodeRule} from "@form-create/core";
2
+ import {ButtonProps, ColProps, RowProps, FormProps, FieldProps} from "vant";
3
+ import {Api} from "./index";
4
+ import {ComponentInternalInstance} from "@vue/runtime-core";
5
+
6
+ export interface OptionAttrs {
7
+ col?: Boolean | Partial<ColProps & {
8
+ labelWidth?: number | string;
9
+ show?: Boolean;
10
+ }>;
11
+ row?: Boolean | Partial<RowProps & {
12
+ show?: Boolean;
13
+ }>;
14
+ info?: Partial<{
15
+ show?: Boolean;
16
+ native?: Boolean;
17
+ icon?: string;
18
+ align?: 'left' | 'right';
19
+ info?: string;
20
+ }>;
21
+ wrap?: Boolean | Partial<VNodeRule & FieldProps & {
22
+ show?: Boolean;
23
+ }>;
24
+ form?: Partial<FormProps>;
25
+
26
+ submitBtn?: Boolean | Partial<ButtonProps & {
27
+ click?: Function;
28
+ innerText?: string;
29
+ show?: Boolean;
30
+ }>;
31
+
32
+ resetBtn?: Boolean | Partial<ButtonProps & {
33
+ click?: Function;
34
+ innerText?: string;
35
+ show?: Boolean;
36
+ }>;
37
+
38
+ }
39
+
40
+ declare const optionAttrs: Partial<OptionAttrs & {
41
+ title?: Boolean | Partial<VNodeRule & {
42
+ show?: Boolean;
43
+ native?: Boolean;
44
+ title: string;
45
+ }>;
46
+ }>;
47
+
48
+ export interface CreatorAttrs {
49
+ col(props: typeof optionAttrs.col): this;
50
+
51
+ wrap(props: typeof optionAttrs.wrap): this;
52
+
53
+ title(props: string | typeof optionAttrs.title): this;
54
+
55
+ info(props: string | typeof optionAttrs.info): this;
56
+
57
+ className(prop: string): this;
58
+
59
+ }
60
+
61
+ export interface RuleAttrs {
62
+ col?: typeof optionAttrs.col;
63
+ wrap?: typeof optionAttrs.wrap;
64
+ title?: string | typeof optionAttrs.title;
65
+ info?: string | typeof optionAttrs.info;
66
+ className?: string;
67
+ }
68
+
69
+ export interface ApiAttrs {
70
+ btn: {
71
+ loading(loading: boolean): void;
72
+ disabled(disabled: boolean): void;
73
+ show(show: boolean): void;
74
+ }
75
+ resetBtn: {
76
+ loading(loading: boolean): void;
77
+ disabled(disabled: boolean): void;
78
+ show(show: boolean): void;
79
+ }
80
+
81
+ formEl(): undefined | ComponentInternalInstance;
82
+
83
+ wrapEl(id: string): undefined | ComponentInternalInstance;
84
+
85
+ submit(success: (formData: FormData, $f: Api) => void, fail: ($f: Api) => void): Promise<any>;
86
+
87
+ clearValidateState(fields?: string | string[], clearSub?: Boolean): void;
88
+
89
+ clearSubValidateState(fields?: string | string[]): void;
90
+
91
+ validate(callback?: (state: any) => void): Promise<any>;
92
+
93
+ validateField(field: string, callback?: (state: any) => void): Promise<any>;
94
+
95
+ submitBtnProps(props: ButtonProps): void;
96
+
97
+ resetBtnProps(props: ButtonProps): void;
98
+
99
+ }
@@ -0,0 +1,27 @@
1
+ import {
2
+ FormCreate,
3
+ FormCreateProps as $FormCreateProps,
4
+ FormRule as $FormRule,
5
+ Options as $Options,
6
+ Rule as $Rule,
7
+ Creator as $Creator,
8
+ Control as $Control,
9
+ Api as $Api,
10
+ Effect as $Effect,
11
+ Parser as $Parser,
12
+ } from "@form-create/core";
13
+ import {ApiAttrs, CreatorAttrs, OptionAttrs, RuleAttrs} from "./config";
14
+ import {ExtractPropTypes} from "vue";
15
+
16
+ declare const formCreateMobile: FormCreate<{}, OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>;
17
+ export default formCreateMobile;
18
+ export declare const maker: typeof formCreateMobile.maker;
19
+ export type FormRule = $FormRule<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
20
+ export type Options = $Options<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
21
+ export type Rule = $Rule<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
22
+ export type Effect = $Effect<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
23
+ export type Creator = $Creator<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
24
+ export type Control = $Control<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
25
+ export type Api = $Api<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>
26
+ export type FormCreateProps = ExtractPropTypes<$FormCreateProps<OptionAttrs, CreatorAttrs, RuleAttrs, ApiAttrs>>
27
+ export type Parser = $Parser
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ pages: {
3
+ app: {
4
+ entry: 'examples/main.js',
5
+ template: 'public/index.html',
6
+ filename: 'index.html'
7
+ }
8
+ },
9
+ configureWebpack: {
10
+ module: {
11
+ rules: [
12
+ {
13
+ test: /\.mjs$/,
14
+ include: /node_modules/,
15
+ type: 'javascript/auto'
16
+ },
17
+ ]
18
+ }
19
+ },
20
+ transpileDependencies: ['@form-create']
21
+ }