@robot-admin/naive-ui-components 0.12.1 → 0.13.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 (254) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +60 -1
  3. package/README_EN.md +59 -0
  4. package/dist/C_ActionBar.css +60 -60
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV.css +49 -49
  8. package/dist/C_AntV2.cjs +3 -3
  9. package/dist/C_AntV2.js +3 -3
  10. package/dist/C_AudioPlayer.css +81 -66
  11. package/dist/C_AudioPlayer2.cjs +1 -1
  12. package/dist/C_AudioPlayer2.js +1 -1
  13. package/dist/C_AvatarGroup.css +40 -25
  14. package/dist/C_AvatarGroup2.cjs +1 -1
  15. package/dist/C_AvatarGroup2.js +1 -1
  16. package/dist/C_Barcode.css +6 -6
  17. package/dist/C_Barcode2.cjs +1 -1
  18. package/dist/C_Barcode2.js +1 -1
  19. package/dist/C_Breadcrumb.css +14 -14
  20. package/dist/C_Breadcrumb2.cjs +1 -1
  21. package/dist/C_Breadcrumb2.js +1 -1
  22. package/dist/C_Captcha.css +50 -50
  23. package/dist/C_Captcha2.cjs +1 -1
  24. package/dist/C_Captcha2.js +1 -1
  25. package/dist/C_Cascade.css +2 -2
  26. package/dist/C_Cascade2.cjs +1 -1
  27. package/dist/C_Cascade2.js +1 -1
  28. package/dist/C_Chat.css +96 -78
  29. package/dist/C_Chat2.cjs +1 -1
  30. package/dist/C_Chat2.js +1 -1
  31. package/dist/C_City.css +52 -28
  32. package/dist/C_City2.cjs +1 -1
  33. package/dist/C_City2.js +1 -1
  34. package/dist/C_Code.css +48 -42
  35. package/dist/C_Code2.cjs +1 -1
  36. package/dist/C_Code2.js +1 -1
  37. package/dist/C_CollapsePanel.css +14 -14
  38. package/dist/C_CollapsePanel2.cjs +1 -1
  39. package/dist/C_CollapsePanel2.js +1 -1
  40. package/dist/C_ContextMenu.css +14 -14
  41. package/dist/C_ContextMenu2.cjs +1 -1
  42. package/dist/C_ContextMenu2.js +1 -1
  43. package/dist/C_Cron.css +94 -55
  44. package/dist/C_Cron2.cjs +1 -1
  45. package/dist/C_Cron2.js +1 -1
  46. package/dist/C_Date2.cjs +1 -1
  47. package/dist/C_Date2.js +1 -1
  48. package/dist/C_Draggable.css +48 -48
  49. package/dist/C_Draggable2.cjs +1 -1
  50. package/dist/C_Draggable2.js +1 -1
  51. package/dist/C_Editor.css +13 -14
  52. package/dist/C_Editor2.cjs +1 -1
  53. package/dist/C_Editor2.js +1 -1
  54. package/dist/C_FilePreview.css +18 -18
  55. package/dist/C_FilePreview2.cjs +1 -1
  56. package/dist/C_FilePreview2.js +1 -1
  57. package/dist/C_Form.base.css +36 -36
  58. package/dist/C_Form.css +49 -50
  59. package/dist/C_Form2.cjs +1 -1
  60. package/dist/C_Form2.js +1 -1
  61. package/dist/C_FormModal.css +8 -8
  62. package/dist/C_FormModal2.cjs +1 -1
  63. package/dist/C_FormModal2.js +1 -1
  64. package/dist/C_FormSearch.css +45 -45
  65. package/dist/C_FormSearch2.cjs +1 -1
  66. package/dist/C_FormSearch2.js +1 -1
  67. package/dist/C_FormulaEditor.css +94 -55
  68. package/dist/C_FormulaEditor2.cjs +2 -2
  69. package/dist/C_FormulaEditor2.js +2 -2
  70. package/dist/C_FullCalendar.css +8 -1
  71. package/dist/C_FullCalendar2.cjs +1 -1
  72. package/dist/C_FullCalendar2.js +1 -1
  73. package/dist/C_GlobalSearch2.cjs +1 -1
  74. package/dist/C_GlobalSearch2.js +1 -1
  75. package/dist/C_Guide.css +137 -14
  76. package/dist/C_Guide.d.cts +2 -2
  77. package/dist/C_Guide.d.ts +2 -2
  78. package/dist/C_Guide2.cjs +1 -1
  79. package/dist/C_Guide2.js +1 -1
  80. package/dist/C_Icon.css +14 -14
  81. package/dist/C_Icon2.cjs +1 -1
  82. package/dist/C_Icon2.js +1 -1
  83. package/dist/C_ImageCropper.css +22 -22
  84. package/dist/C_ImageCropper2.cjs +1 -1
  85. package/dist/C_ImageCropper2.js +1 -1
  86. package/dist/C_Language.css +14 -14
  87. package/dist/C_Language2.cjs +1 -1
  88. package/dist/C_Language2.js +1 -1
  89. package/dist/C_Login.css +134 -134
  90. package/dist/C_Login2.cjs +1 -1
  91. package/dist/C_Login2.js +1 -1
  92. package/dist/C_Map.css +3 -3
  93. package/dist/C_Map2.cjs +1 -1
  94. package/dist/C_Map2.js +1 -1
  95. package/dist/C_Markdown.css +35 -35
  96. package/dist/C_Markdown2.cjs +1 -1
  97. package/dist/C_Markdown2.js +1 -1
  98. package/dist/C_Menu2.cjs +1 -1
  99. package/dist/C_Menu2.js +1 -1
  100. package/dist/C_NotificationCenter.css +30 -30
  101. package/dist/C_NotificationCenter2.cjs +1 -1
  102. package/dist/C_NotificationCenter2.js +1 -1
  103. package/dist/C_OrgChart.css +4 -0
  104. package/dist/C_OrgChart2.cjs +1 -1
  105. package/dist/C_OrgChart2.js +1 -1
  106. package/dist/C_Progress2.cjs +1 -1
  107. package/dist/C_Progress2.js +1 -1
  108. package/dist/C_QRCode.css +8 -8
  109. package/dist/C_QRCode2.cjs +1 -1
  110. package/dist/C_QRCode2.js +1 -1
  111. package/dist/C_Signature.css +14 -14
  112. package/dist/C_Signature2.cjs +1 -1
  113. package/dist/C_Signature2.js +1 -1
  114. package/dist/C_Skeleton2.cjs +1 -1
  115. package/dist/C_Skeleton2.js +1 -1
  116. package/dist/C_SplitPane.css +39 -39
  117. package/dist/C_SplitPane2.cjs +1 -1
  118. package/dist/C_SplitPane2.js +1 -1
  119. package/dist/C_Steps.css +48 -38
  120. package/dist/C_Steps2.cjs +1 -1
  121. package/dist/C_Steps2.js +1 -1
  122. package/dist/C_Table.base.css +160 -160
  123. package/dist/C_Table.css +173 -174
  124. package/dist/C_TagsView.css +52 -52
  125. package/dist/C_TagsView2.cjs +1 -1
  126. package/dist/C_TagsView2.js +1 -1
  127. package/dist/C_Theme.css +14 -14
  128. package/dist/C_Theme2.cjs +1 -1
  129. package/dist/C_Theme2.js +1 -1
  130. package/dist/C_Time.css +4 -4
  131. package/dist/C_Time2.cjs +1 -1
  132. package/dist/C_Time2.js +1 -1
  133. package/dist/C_Timeline.css +76 -58
  134. package/dist/C_Timeline2.cjs +1 -1
  135. package/dist/C_Timeline2.js +1 -1
  136. package/dist/C_Transfer.css +51 -51
  137. package/dist/C_Transfer2.cjs +1 -1
  138. package/dist/C_Transfer2.js +1 -1
  139. package/dist/C_Tree.css +35 -32
  140. package/dist/C_Tree2.cjs +1 -1
  141. package/dist/C_Tree2.js +1 -1
  142. package/dist/C_Upload.css +53 -50
  143. package/dist/C_Upload2.cjs +1 -1
  144. package/dist/C_Upload2.js +1 -1
  145. package/dist/C_VideoPlayer.css +17 -13
  146. package/dist/C_VideoPlayer2.cjs +2 -2
  147. package/dist/C_VideoPlayer2.js +2 -2
  148. package/dist/C_VtableGantt.css +19 -19
  149. package/dist/C_VtableGantt2.cjs +1 -1
  150. package/dist/C_VtableGantt2.js +1 -1
  151. package/dist/C_WaterFall.css +19 -15
  152. package/dist/C_WaterFall2.cjs +1 -1
  153. package/dist/C_WaterFall2.js +1 -1
  154. package/dist/C_WorkFlow.css +123 -123
  155. package/dist/C_WorkFlow2.cjs +1 -1
  156. package/dist/C_WorkFlow2.js +1 -1
  157. package/dist/constants.d.cts +3 -3
  158. package/dist/constants.d.ts +3 -3
  159. package/dist/constants2.d.cts +2 -2
  160. package/dist/constants2.d.ts +2 -2
  161. package/dist/constants3.d.cts +12 -8
  162. package/dist/constants3.d.ts +12 -8
  163. package/dist/constants4.d.cts +9 -9
  164. package/dist/constants4.d.ts +9 -9
  165. package/dist/constants5.d.cts +4 -4
  166. package/dist/constants5.d.ts +4 -4
  167. package/dist/data.d.cts +11 -11
  168. package/dist/data.d.ts +11 -11
  169. package/dist/data2.cjs +1 -1
  170. package/dist/data2.js +1 -1
  171. package/dist/index.cjs +1 -1
  172. package/dist/index.d.cts +2 -3
  173. package/dist/index.d.ts +2 -2
  174. package/dist/index.js +1 -1
  175. package/dist/index.vue.d.cts +7 -5
  176. package/dist/index.vue.d.ts +7 -5
  177. package/dist/index10.vue.d.cts +2 -2
  178. package/dist/index10.vue.d.ts +2 -2
  179. package/dist/index11.vue.d.cts +2 -2
  180. package/dist/index11.vue.d.ts +5 -5
  181. package/dist/index12.vue.d.cts +5 -5
  182. package/dist/index12.vue.d.ts +2 -2
  183. package/dist/index13.vue.d.cts +2 -2
  184. package/dist/index13.vue.d.ts +35 -9
  185. package/dist/index14.vue.d.cts +35 -9
  186. package/dist/index14.vue.d.ts +15 -48
  187. package/dist/index15.vue.d.cts +15 -48
  188. package/dist/index17.vue.d.ts +4 -4
  189. package/dist/index18.vue.d.cts +4 -4
  190. package/dist/index18.vue.d.ts +2 -2
  191. package/dist/index19.vue.d.cts +2 -2
  192. package/dist/index19.vue.d.ts +2 -2
  193. package/dist/index2.vue.d.cts +3 -3
  194. package/dist/index2.vue.d.ts +3 -3
  195. package/dist/index20.vue.d.cts +2 -2
  196. package/dist/index20.vue.d.ts +2 -2
  197. package/dist/index21.vue.d.cts +3 -3
  198. package/dist/index21.vue.d.ts +3 -3
  199. package/dist/index22.vue.d.cts +1 -1
  200. package/dist/index22.vue.d.ts +1 -1
  201. package/dist/index24.vue.d.cts +3 -3
  202. package/dist/index24.vue.d.ts +3 -3
  203. package/dist/index26.vue.d.cts +1 -1
  204. package/dist/index26.vue.d.ts +1 -1
  205. package/dist/index27.vue.d.cts +1 -1
  206. package/dist/index27.vue.d.ts +1 -1
  207. package/dist/index3.vue.d.cts +8 -8
  208. package/dist/index3.vue.d.ts +8 -8
  209. package/dist/index4.vue.d.cts +2 -2
  210. package/dist/index6.vue.d.ts +1 -1
  211. package/dist/index7.vue.d.cts +1 -1
  212. package/dist/index8.vue.d.ts +3 -3
  213. package/dist/index9.vue.d.cts +3 -3
  214. package/dist/index9.vue.d.ts +2 -2
  215. package/dist/mapUtils.d.cts +4 -4
  216. package/dist/mapUtils.d.ts +4 -4
  217. package/dist/style.css +1698 -1365
  218. package/dist/useCalendarEvents.d.cts +23 -18
  219. package/dist/useCalendarEvents.d.ts +23 -18
  220. package/dist/useCollapsePanel.d.cts +1 -0
  221. package/dist/useCollapsePanel.d.ts +1 -0
  222. package/dist/useCropperCore.d.cts +32 -17
  223. package/dist/useCropperCore.d.ts +32 -17
  224. package/dist/useDraggableLayout.d.cts +3 -3
  225. package/dist/useDraggableLayout.d.ts +3 -3
  226. package/dist/useDynamicFormState.d.cts +5 -0
  227. package/dist/useDynamicFormState.d.ts +5 -0
  228. package/dist/useEdgeInteraction.d.cts +19 -19
  229. package/dist/useEdgeInteraction.d.ts +19 -19
  230. package/dist/useFullscreen.d.cts +6 -6
  231. package/dist/useFullscreen.d.ts +6 -6
  232. package/dist/useInfiniteScroll.d.cts +2 -2
  233. package/dist/useInfiniteScroll.d.ts +2 -2
  234. package/dist/useQRCode.d.cts +6 -5
  235. package/dist/useQRCode.d.ts +6 -5
  236. package/dist/useSearchState.d.cts +7 -7
  237. package/dist/useSearchState.d.ts +7 -7
  238. package/dist/useSignatureHistory.d.cts +16 -8
  239. package/dist/useSignatureHistory.d.ts +16 -8
  240. package/dist/useSplitResize.d.cts +4 -4
  241. package/dist/useSplitResize.d.ts +4 -4
  242. package/dist/useTableQuery.cjs +3 -3
  243. package/dist/useTableQuery.d.cts +2 -5
  244. package/dist/useTableQuery.d.ts +2 -5
  245. package/dist/useTableQuery.js +3 -3
  246. package/dist/useTimeSelection.d.cts +5 -2
  247. package/dist/useTimeSelection.d.ts +5 -2
  248. package/dist/useTreeOperations.d.cts +6 -6
  249. package/dist/useTreeOperations.d.ts +6 -6
  250. package/dist/useWorkflowValidation.d.cts +4 -2
  251. package/dist/useWorkflowValidation.d.ts +4 -2
  252. package/dist/verification.d.cts +3 -3
  253. package/dist/verification.d.ts +3 -3
  254. package/package.json +4 -3
@@ -1,54 +1,54 @@
1
- /* unplugin-vue-components disabled */.c-icon[data-v-d0d8dba0] {
1
+ /* unplugin-vue-components disabled */.c-icon[data-v-711aedcd] {
2
2
  display: inline-flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
  user-select: none;
6
6
  transition: all 0.2s ease-in-out;
7
7
  }
8
- .c-icon--clickable[data-v-d0d8dba0] {
8
+ .c-icon--clickable[data-v-711aedcd] {
9
9
  cursor: pointer;
10
10
  }
11
- .c-icon--clickable[data-v-d0d8dba0]:hover {
11
+ .c-icon--clickable[data-v-711aedcd]:hover {
12
12
  opacity: 0.8;
13
13
  transform: scale(1.05);
14
14
  }
15
- .c-icon--clickable[data-v-d0d8dba0]:active {
15
+ .c-icon--clickable[data-v-711aedcd]:active {
16
16
  transform: scale(0.95);
17
17
  }
18
- .c-icon--clickable[data-v-d0d8dba0]:focus-visible {
18
+ .c-icon--clickable[data-v-711aedcd]:focus-visible {
19
19
  outline: 2px solid currentColor;
20
20
  outline-offset: 2px;
21
21
  border-radius: 4px;
22
22
  }
23
- .c-icon--loading[data-v-d0d8dba0] {
23
+ .c-icon--loading[data-v-711aedcd] {
24
24
  opacity: 0.6;
25
25
  cursor: wait;
26
26
  }
27
- .c-icon--error[data-v-d0d8dba0] {
27
+ .c-icon--error[data-v-711aedcd] {
28
28
  opacity: 0.5;
29
29
  }
30
- .c-icon__loading[data-v-d0d8dba0] {
30
+ .c-icon__loading[data-v-711aedcd] {
31
31
  position: relative;
32
32
  }
33
- .c-icon__spinner[data-v-d0d8dba0] {
33
+ .c-icon__spinner[data-v-711aedcd] {
34
34
  width: 100%;
35
35
  height: 100%;
36
36
  border: 2px solid currentColor;
37
37
  border-radius: 50%;
38
38
  border-top-color: transparent;
39
- animation: spin-d0d8dba0 1s linear infinite;
39
+ animation: spin-711aedcd 1s linear infinite;
40
40
  }
41
- .c-icon__error[data-v-d0d8dba0] {
41
+ .c-icon__error[data-v-711aedcd] {
42
42
  font-size: 0.8em;
43
43
  opacity: 0.5;
44
44
  }
45
- .c-icon__rotatable[data-v-d0d8dba0] {
45
+ .c-icon__rotatable[data-v-711aedcd] {
46
46
  transition: transform 0.3s ease-in-out;
47
47
  }
48
- .c-icon__flippable[data-v-d0d8dba0] {
48
+ .c-icon__flippable[data-v-711aedcd] {
49
49
  transition: transform 0.3s ease-in-out;
50
50
  }
51
- @keyframes spin-d0d8dba0 {
51
+ @keyframes spin-711aedcd {
52
52
  0% {
53
53
  transform: rotate(0deg);
54
54
  }
@@ -59,7 +59,7 @@
59
59
 
60
60
  .vue-puzzle-vcode{position:fixed;top:0;left:0;bottom:0;right:0;background-color:#0000004d;z-index:999;opacity:0;pointer-events:none;transition:opacity .2s}.vue-puzzle-vcode.inside_{position:relative;background-color:transparent;width:100%;height:100%}.vue-puzzle-vcode.inside_ .vue-auth-box_{position:relative;top:0;left:0;transform:translate(0);padding:0;background:transparent;box-shadow:none}.vue-puzzle-vcode.show_{opacity:1;pointer-events:auto}.vue-auth-box_{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);padding:20px;background:#fff;user-select:none;border-radius:3px;box-shadow:0 1px 3px #0000004d}.vue-auth-box_ .auth-body_{position:relative;overflow:hidden;border-radius:3px}.vue-auth-box_ .auth-body_ .loading-box_{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#000c;z-index:20;opacity:1;transition:opacity .1s;display:flex;align-items:center;justify-content:center}.vue-auth-box_ .auth-body_ .loading-box_.hide_{opacity:0;pointer-events:none}.vue-auth-box_ .auth-body_ .loading-box_.hide_ .loading-gif_ span{animation-play-state:paused}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_{flex:none;height:5px;line-height:0}@keyframes load{0%{opacity:1;transform:scale(1.3)}to{opacity:.2;transform:scale(.3)}}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span{display:inline-block;width:5px;height:100%;margin-left:2px;border-radius:50%;background-color:#888;animation:load 1.04s ease infinite}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span:nth-child(1){margin-left:0}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span:nth-child(2){animation-delay:.13s}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span:nth-child(3){animation-delay:.26s}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span:nth-child(4){animation-delay:.39s}.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span:nth-child(5){animation-delay:.52s}.vue-auth-box_ .auth-body_ .info-box_{position:absolute;bottom:0;left:0;width:100%;height:24px;line-height:24px;text-align:center;overflow:hidden;font-size:13px;background-color:#83ce3f;opacity:0;transform:translateY(24px);transition:all .2s;color:#fff;z-index:10}.vue-auth-box_ .auth-body_ .info-box_.show{opacity:.95;transform:translateY(0)}.vue-auth-box_ .auth-body_ .info-box_.fail{background-color:#ce594b}.vue-auth-box_ .auth-body_ .auth-canvas1_{width:100%;height:100%}.vue-auth-box_ .auth-body_ .auth-canvas2_{position:absolute;top:0;left:0;width:60px;height:100%;z-index:2}.vue-auth-box_ .auth-body_ .auth-canvas3_{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transition:opacity .6s;z-index:3}.vue-auth-box_ .auth-body_ .auth-canvas3_.show{opacity:1}.vue-auth-box_ .auth-body_ .flash_{position:absolute;top:0;left:0;width:30px;height:100%;background-color:#ffffff1a;z-index:3}.vue-auth-box_ .auth-body_ .flash_.show{transition:transform .6s}.vue-auth-box_ .auth-body_ .reset_{position:absolute;top:2px;right:2px;width:35px;height:auto;z-index:12;cursor:pointer;transition:transform .2s;transform:rotate(0)}.vue-auth-box_ .auth-body_ .reset_:hover{transform:rotate(-90deg)}.vue-auth-box_ .auth-control_ .range-box{position:relative;width:100%;background-color:#eef1f8;margin-top:20px;border-radius:3px;box-shadow:0 0 8px #f0f0f099 inset}.vue-auth-box_ .auth-control_ .range-box .range-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:#b7bcd1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%}.vue-auth-box_ .auth-control_ .range-box .range-slider{position:absolute;height:100%;width:50px;background-color:#6aa0ffcc;border-radius:3px}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn{position:absolute;display:flex;align-items:center;justify-content:center;right:0;width:50px;height:100%;background-color:#fff;border-radius:3px;box-shadow:0 0 4px #ccc;cursor:pointer}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn>div{width:0;height:40%;transition:all .2s;border:solid 1px #6aa0ff}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn>div:nth-child(2){margin:0 4px}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover>div:first-child,.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown>div:first-child{border:solid 4px transparent;height:0;border-right-color:#6aa0ff}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover>div:nth-child(2),.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown>div:nth-child(2){border-width:3px;height:0;border-radius:3px;margin:0 6px;border-right-color:#6aa0ff}.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover>div:nth-child(3),.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown>div:nth-child(3){border:solid 4px transparent;height:0;border-left-color:#6aa0ff}.vue-puzzle-overflow{overflow:hidden!important}
61
61
 
62
- /* unplugin-vue-components disabled */.c-captcha-modern[data-v-fe4cd59a] {
62
+ /* unplugin-vue-components disabled */.c-captcha-modern[data-v-3d56f63e] {
63
63
  --cc-height: 44px;
64
64
  --cc-radius: 12px;
65
65
  --cc-color: rgba(255, 255, 255, 0.76);
@@ -72,13 +72,13 @@
72
72
  width: 100%;
73
73
  font-family: inherit;
74
74
  }
75
- .captcha-shell[data-v-fe4cd59a] {
75
+ .captcha-shell[data-v-3d56f63e] {
76
76
  position: relative;
77
77
  width: 100%;
78
78
  max-width: none;
79
79
  margin: 0 auto;
80
80
  }
81
- .captcha-trigger[data-v-fe4cd59a] {
81
+ .captcha-trigger[data-v-3d56f63e] {
82
82
  appearance: none;
83
83
  width: 100%;
84
84
  min-height: var(--cc-height);
@@ -97,7 +97,7 @@
97
97
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
98
98
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
99
99
  }
100
- .captcha-trigger[data-v-fe4cd59a]::after {
100
+ .captcha-trigger[data-v-3d56f63e]::after {
101
101
  content: "";
102
102
  width: 7px;
103
103
  height: 7px;
@@ -108,15 +108,15 @@
108
108
  transform: rotate(45deg);
109
109
  transition: opacity 0.2s ease, transform 0.2s ease;
110
110
  }
111
- .altcha-provider[data-v-fe4cd59a] {
111
+ .altcha-provider[data-v-3d56f63e] {
112
112
  width: 100%;
113
113
  min-height: var(--cc-height);
114
114
  }
115
- .altcha-provider.is-disabled[data-v-fe4cd59a] {
115
+ .altcha-provider.is-disabled[data-v-3d56f63e] {
116
116
  opacity: 0.68;
117
117
  pointer-events: none;
118
118
  }
119
- .altcha-widget[data-v-fe4cd59a] {
119
+ .altcha-widget[data-v-3d56f63e] {
120
120
  display: block;
121
121
  width: 100%;
122
122
  min-height: var(--cc-height);
@@ -131,33 +131,33 @@
131
131
  --altcha-checkbox-size: 20px;
132
132
  --altcha-padding: 9px 12px;
133
133
  }
134
- .captcha-trigger[data-v-fe4cd59a]:hover:not(.disabled) {
134
+ .captcha-trigger[data-v-3d56f63e]:hover:not(.disabled) {
135
135
  transform: translateY(-1px);
136
136
  border-color: var(--cc-border-hover);
137
137
  background: var(--cc-bg-hover);
138
138
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 22px rgba(5, 12, 30, 0.18);
139
139
  }
140
- .captcha-trigger[data-v-fe4cd59a]:hover:not(.disabled)::after {
140
+ .captcha-trigger[data-v-3d56f63e]:hover:not(.disabled)::after {
141
141
  opacity: 0.86;
142
142
  transform: translateX(2px) rotate(45deg);
143
143
  }
144
- .captcha-trigger.disabled[data-v-fe4cd59a] {
144
+ .captcha-trigger.disabled[data-v-3d56f63e] {
145
145
  opacity: 0.68;
146
146
  cursor: not-allowed;
147
147
  }
148
- .captcha-trigger[data-v-fe4cd59a]:focus-visible,
149
- .refresh-button[data-v-fe4cd59a]:focus-visible {
148
+ .captcha-trigger[data-v-3d56f63e]:focus-visible,
149
+ .refresh-button[data-v-3d56f63e]:focus-visible {
150
150
  outline: 2px solid var(--cc-focus);
151
151
  outline-offset: 2px;
152
152
  }
153
- .captcha-content[data-v-fe4cd59a] {
153
+ .captcha-content[data-v-3d56f63e] {
154
154
  display: flex;
155
155
  align-items: center;
156
156
  justify-content: flex-start;
157
157
  gap: 8px;
158
158
  flex: 1;
159
159
  }
160
- .captcha-icon[data-v-fe4cd59a] {
160
+ .captcha-icon[data-v-3d56f63e] {
161
161
  width: 22px;
162
162
  height: 22px;
163
163
  display: flex;
@@ -166,19 +166,19 @@
166
166
  flex-shrink: 0;
167
167
  color: var(--cc-icon-color);
168
168
  }
169
- .captcha-state-icon[data-v-fe4cd59a] {
169
+ .captcha-state-icon[data-v-3d56f63e] {
170
170
  transition: color 0.2s ease, transform 0.2s ease;
171
171
  }
172
- .captcha-state-icon.is-spinning[data-v-fe4cd59a] {
173
- animation: captcha-spin-fe4cd59a 0.8s linear infinite;
172
+ .captcha-state-icon.is-spinning[data-v-3d56f63e] {
173
+ animation: captcha-spin-3d56f63e 0.8s linear infinite;
174
174
  }
175
- .captcha-state-icon.is-success[data-v-fe4cd59a] {
175
+ .captcha-state-icon.is-success[data-v-3d56f63e] {
176
176
  color: #65d39a;
177
177
  }
178
- .captcha-state-icon.is-error[data-v-fe4cd59a] {
178
+ .captcha-state-icon.is-error[data-v-3d56f63e] {
179
179
  color: #ff7f8d;
180
180
  }
181
- .captcha-text[data-v-fe4cd59a] {
181
+ .captcha-text[data-v-3d56f63e] {
182
182
  color: inherit;
183
183
  font-size: 13px;
184
184
  font-weight: 500;
@@ -186,7 +186,7 @@
186
186
  text-align: center;
187
187
  white-space: nowrap;
188
188
  }
189
- .refresh-button[data-v-fe4cd59a] {
189
+ .refresh-button[data-v-3d56f63e] {
190
190
  appearance: none;
191
191
  border: 0;
192
192
  background: transparent;
@@ -205,7 +205,7 @@
205
205
  color: rgba(255, 255, 255, 0.6);
206
206
  flex-shrink: 0;
207
207
  }
208
- .c-captcha-modern[data-theme=light][data-v-fe4cd59a] {
208
+ .c-captcha-modern[data-theme=light][data-v-3d56f63e] {
209
209
  --cc-color: rgba(15, 23, 42, 0.72);
210
210
  --cc-icon-color: #4778dc;
211
211
  --cc-bg: rgba(15, 23, 42, 0.035);
@@ -213,38 +213,38 @@
213
213
  --cc-border: rgba(15, 23, 42, 0.12);
214
214
  --cc-border-hover: rgba(71, 120, 220, 0.42);
215
215
  }
216
- .c-captcha-modern[data-theme=light] .captcha-text[data-v-fe4cd59a] {
216
+ .c-captcha-modern[data-theme=light] .captcha-text[data-v-3d56f63e] {
217
217
  color: inherit;
218
218
  }
219
- .c-captcha-modern[data-theme=light] .refresh-button[data-v-fe4cd59a] {
219
+ .c-captcha-modern[data-theme=light] .refresh-button[data-v-3d56f63e] {
220
220
  color: rgba(0, 0, 0, 0.52);
221
221
  }
222
- .refresh-button[data-v-fe4cd59a]:hover {
222
+ .refresh-button[data-v-3d56f63e]:hover {
223
223
  color: rgba(255, 255, 255, 0.9);
224
224
  background: rgba(255, 255, 255, 0.08);
225
225
  transform: translateY(-50%) rotate(180deg);
226
226
  }
227
- .captcha-trigger.verified[data-v-fe4cd59a] {
227
+ .captcha-trigger.verified[data-v-3d56f63e] {
228
228
  color: rgba(183, 246, 211, 0.92);
229
229
  border-color: rgba(101, 211, 154, 0.4);
230
230
  background: rgba(66, 188, 124, 0.1);
231
231
  }
232
- .captcha-trigger.verified[data-v-fe4cd59a]::after,
233
- .captcha-trigger.error[data-v-fe4cd59a]::after {
232
+ .captcha-trigger.verified[data-v-3d56f63e]::after,
233
+ .captcha-trigger.error[data-v-3d56f63e]::after {
234
234
  opacity: 0;
235
235
  }
236
- .captcha-trigger.error[data-v-fe4cd59a] {
236
+ .captcha-trigger.error[data-v-3d56f63e] {
237
237
  color: rgba(255, 205, 211, 0.92);
238
238
  border-color: rgba(255, 127, 141, 0.42);
239
239
  background: rgba(245, 108, 108, 0.1);
240
- animation: captcha-shake-fe4cd59a 0.3s ease;
240
+ animation: captcha-shake-3d56f63e 0.3s ease;
241
241
  }
242
- @keyframes captcha-spin-fe4cd59a {
242
+ @keyframes captcha-spin-3d56f63e {
243
243
  to {
244
244
  transform: rotate(360deg);
245
245
  }
246
246
  }
247
- @keyframes captcha-shake-fe4cd59a {
247
+ @keyframes captcha-shake-3d56f63e {
248
248
  0%, 100% {
249
249
  transform: translateX(0);
250
250
  }
@@ -256,18 +256,18 @@ to {
256
256
  }
257
257
  }
258
258
  @media (max-width: 768px) {
259
- .captcha-trigger[data-v-fe4cd59a] {
259
+ .captcha-trigger[data-v-3d56f63e] {
260
260
  min-height: 42px;
261
261
  padding: 0 13px;
262
262
  }
263
- .captcha-icon[data-v-fe4cd59a] {
263
+ .captcha-icon[data-v-3d56f63e] {
264
264
  width: 20px;
265
265
  height: 20px;
266
266
  }
267
- .captcha-text[data-v-fe4cd59a] {
267
+ .captcha-text[data-v-3d56f63e] {
268
268
  font-size: 13px;
269
269
  }
270
- .refresh-button[data-v-fe4cd59a] {
270
+ .refresh-button[data-v-3d56f63e] {
271
271
  width: 24px;
272
272
  height: 24px;
273
273
  font-size: 12px;
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./C_Icon2.cjs`),n=require(`./export-helper.cjs`);let r=require(`vue`);var i=class extends Error{constructor(e,t,n){super(t),this.code=e,this.cause=n,this.name=`CaptchaVerificationError`}};let a=0;function o(){let e=Date.now();return{token:`puzzle_${e}_${globalThis.crypto?.randomUUID?.()??`${++a}`}`,timestamp:e,type:`puzzle-captcha`}}async function s(e,t={}){let{verifier:n,requireServerVerification:r=!1,signal:a}=t,o=t.timeout??1e4,s=Number.isFinite(o)&&o>0?o:1e4;if(a?.aborted)throw new i(`aborted`,`Verification was cancelled.`);if(!n){if(r)throw new i(`missing-verifier`,`Server verification is required but no verifier was configured.`);return{...e,verifiedBy:`local`}}let c=new AbortController,l=()=>c.abort(a?.reason);a?.addEventListener(`abort`,l,{once:!0});let u,d=new Promise((e,t)=>{u=setTimeout(()=>{c.abort(`timeout`),t(new i(`timeout`,`Verification timed out after ${s}ms.`))},s)}),f=new Promise((e,t)=>{c.signal.addEventListener(`abort`,()=>{c.signal.reason!==`timeout`&&t(new i(`aborted`,`Verification was cancelled.`))},{once:!0})});try{let t=await Promise.race([Promise.resolve(n({...e,signal:c.signal})),d,f]),a=typeof t==`boolean`?{valid:t}:t;if(!a.valid)throw new i(`rejected`,a.message||`Server verification rejected the challenge.`);let o=a.token?.trim();if(r&&!o)throw new i(`missing-token`,`Server verification did not return a trusted token.`);return{...e,token:o||e.token,verifiedBy:`server`}}catch(e){throw e instanceof i?e:new i(`rejected`,`Server verification failed.`,e)}finally{u&&clearTimeout(u),a?.removeEventListener(`abort`,l)}}const c=[`data-theme`],l=[`disabled`,`aria-busy`],u={class:`captcha-content`},d={class:`captcha-icon`,"aria-hidden":`true`},f={class:`captcha-text`},p={key:1,class:`captcha-shell`},m=[`disabled`,`aria-busy`,`aria-label`],h={class:`captcha-content`},g={class:`captcha-icon`,"aria-hidden":`true`},_={class:`captcha-text`,"aria-live":`polite`},v={key:0},ee={key:1,class:`success-text`},te={key:2,class:`error-text`},ne={key:3},re=[`title`,`aria-label`],y=(0,r.defineComponent)({name:`C_Captcha`,__name:`index`,props:{provider:{default:`puzzle-captcha`},challengeUrl:{},triggerText:{},images:{default:()=>[]},disabled:{type:Boolean,default:!1},theme:{default:`dark`},verifier:{},verificationTimeout:{default:1e4},requireServerVerification:{type:Boolean,default:!1},feedback:{},locale:{}},emits:[`success`,`fail`,`verify-error`,`load-error`,`change`,`visible-change`,`reset`],setup(n,{expose:a,emit:y}){let b=n,x=y,S=e.r(()=>b.feedback),{t:C}=e.i(()=>b.locale),w={default:`M12 2 3 6V12C3 17.25 6.84 22.74 12 24 17.16 22.74 21 17.25 21 12V6L12 2M12 4.18 19 7.3V12C19 16.18 16.2 20.62 12 21.82 7.8 20.62 5 16.18 5 12V7.3L12 4.18M11 8V14.17L8.41 11.59 7 13 12 18 17 13 15.59 11.58 13 14.17V8H11Z`,verifying:`M12 4V2A10 10 0 0 0 2 12H4A8 8 0 0 1 12 4Z`,success:`M12 2 4 5V11C4 16.55 7.84 21.74 12 23 16.16 21.74 20 16.55 20 11V5L12 2M12 4.18 18 6.42V11C18 15.45 15.18 19.69 12 20.82 8.82 19.69 6 15.45 6 11V6.42L12 4.18M10 17 16 11 14.59 9.58 10 13.17 8.41 11.58 7 13 10 17Z`,error:`M12 2C6.48 2 2 6.48 2 12S6.48 22 12 22 22 17.52 22 12 17.52 2 12 2M13 17H11V15H13V17M13 13H11V7H13V13Z`,refresh:`M17.65 6.35C16.2 4.9 14.21 4 12 4 7.58 4 4 7.58 4 12S7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.82 16.33 14.61 18 12 18 8.69 18 6 15.31 6 12S8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H21V3L17.65 6.35Z`},T=typeof window>`u`?()=>null:(0,r.defineAsyncComponent)({loader:()=>import(`vue3-puzzle-vcode`).then(e=>e.default),onError(e,t,n){S.error(C(`captcha.loadFailed`),e),x(`load-error`,e),n()}}),E=(0,r.ref)(!1),D=(0,r.ref)(!1),O=(0,r.ref)(!1),k=(0,r.ref)(!1),A=(0,r.ref)(null),j=(0,r.ref)(!1),M=(0,r.ref)(null),N=(0,r.ref)(null),P=null,F=null,I=null,L=0,R=!1,z=(0,r.computed)(()=>b.provider===`altcha`),B=(0,r.computed)(()=>b.images.length>0?b.images:void 0),V=(0,r.computed)(()=>k.value?{name:`captcha-verifying`,path:w.verifying}:D.value?{name:`captcha-success`,path:w.success}:O.value?{name:`captcha-error`,path:w.error}:{name:`captcha-default`,path:w.default}),ie=(0,r.computed)(()=>k.value?C(`captcha.verifying`):D.value?C(`captcha.success`):O.value?C(`captcha.failed`):b.triggerText??C(`captcha.trigger`)),H=()=>{P&&=(clearTimeout(P),null)},U=e=>{R!==e&&(R=e,x(`visible-change`,e))},W=e=>{E.value!==e&&(E.value=e,U(e))},G=(e,t)=>{D.value=!1,O.value=!0,N.value=null,H(),P=setTimeout(()=>{O.value=!1,P=null},3e3),x(`fail`,e),x(`change`,!1),t&&x(`verify-error`,t)},ae=(e,t)=>F!==e||t instanceof i&&t.code===`aborted`,oe=e=>{F===e&&(F=null,k.value=!1,U(!1))},K=async(e,t=b.requireServerVerification)=>{O.value=!1,F?.abort();let n=new AbortController;F=n,k.value=!0,U(!0);try{let r=await s(e,{verifier:b.verifier,timeout:b.verificationTimeout,requireServerVerification:t,signal:n.signal});if(F!==n)return;N.value=r,D.value=!0,x(`success`,r),x(`change`,!0)}catch(t){if(ae(n,t))return;let r=t instanceof Error?t.message:C(`captcha.failed`);S.error(C(`captcha.verifyFailed`),t),G(r,t),e.type===`altcha`&&I?.reset()}finally{oe(n)}},se=async()=>{E.value=!1,await K(o())},ce=()=>{W(!1),G(C(`captcha.puzzleFailed`))},le=()=>{W(!1)},q=e=>{let t=e.detail?.payload;if(!t?.trim()){G(C(`captcha.failed`)),I?.reset(),U(!1);return}K({token:t,timestamp:Date.now(),type:`altcha`},!0)},J=e=>{let t=e.detail?.state;if(t===`verifying`){U(!0);return}if(t===`error`){G(C(`captcha.failed`)),U(!1);return}t===`expired`&&(D.value=!1,N.value=null,x(`change`,!1),U(!1))},Y=()=>{I&&=(I.removeEventListener(`verified`,q),I.removeEventListener(`statechange`,J),null)},X=(e,t)=>{if(e!==L)return;Y(),j.value=!1;let n=t instanceof Error?t:Error(C(`captcha.loadFailed`));M.value=n,S.error(C(`captcha.loadFailed`),n),x(`load-error`,n)},ue=async(e,t)=>{if(await Promise.all([import(`altcha`),import(`altcha/i18n/zh-cn`)]),e!==L||(j.value=!0,await(0,r.nextTick)(),e!==L))return;let n=A.value?.querySelector(`altcha-widget`);if(!n)throw Error(`ALTCHA widget failed to initialize.`);I=n,n.addEventListener(`verified`,q),n.addEventListener(`statechange`,J),n.setAttribute(`theme`,b.theme),await n.configure({auto:`off`,challenge:t,display:`standard`,hideFooter:!0,hideLogo:!0,language:b.locale?.locale===`en-US`?`en`:`zh-cn`,minDuration:350,timeout:Math.max(b.verificationTimeout,1e3),type:`switch`,workers:1})},Z=async()=>{let e=++L;Y(),j.value=!1,M.value=null;let t=b.challengeUrl?.trim();if(!t){X(e,Error(`ALTCHA provider requires a server-owned challengeUrl.`));return}try{await ue(e,t)}catch(t){X(e,t)}},Q=()=>{if(!(b.disabled||k.value||D.value)){if(O.value=!1,z.value){if(!I){Z();return}I.verify().catch(e=>{let t=e instanceof Error?e:Error(String(e));S.error(C(`captcha.verifyFailed`),t),G(t.message,t),U(!1)});return}W(!0)}},$=()=>{F?.abort(),F=null,k.value=!1,D.value=!1,O.value=!1,W(!1),I?.reset(),N.value=null,H(),x(`reset`),x(`change`,!1)};return a({validate:()=>D.value,getToken:()=>N.value?.token??``,getVerificationData:()=>N.value,reset:$,show:Q}),(0,r.onMounted)(()=>{z.value&&Z()}),(0,r.watch)(()=>[b.provider,b.challengeUrl,b.theme,b.locale?.locale,b.verificationTimeout],()=>{if(z.value){Z();return}++L,Y(),j.value=!1,M.value=null}),(0,r.onBeforeUnmount)(()=>{++L,Y(),F?.abort(),H()}),(e,i)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{class:`c-captcha-modern`,"data-theme":n.theme},[z.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,ref_key:`altchaHost`,ref:A,class:(0,r.normalizeClass)([`altcha-provider`,{"is-disabled":n.disabled||k.value}])},[j.value?((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(`altcha-widget`),{key:0,class:`altcha-widget`})):((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:1,type:`button`,class:(0,r.normalizeClass)([`captcha-trigger`,{error:M.value,disabled:n.disabled||!M.value}]),disabled:n.disabled||!M.value,"aria-busy":!M.value,onClick:Z},[(0,r.createElementVNode)(`span`,u,[(0,r.createElementVNode)(`span`,d,[(0,r.createVNode)(t.t,{name:M.value?`captcha-error`:`captcha-verifying`,type:`svg`,"svg-path":M.value?w.error:w.verifying,size:18,class:(0,r.normalizeClass)([`captcha-state-icon`,{"is-error":M.value,"is-spinning":!M.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,r.createElementVNode)(`span`,f,(0,r.toDisplayString)(M.value?(0,r.unref)(C)(`captcha.loadFailed`):(0,r.unref)(C)(`captcha.verifying`)),1)])],10,l))],2)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,p,[(0,r.createElementVNode)(`button`,{type:`button`,class:(0,r.normalizeClass)([`captcha-trigger`,{verified:D.value,error:O.value,disabled:n.disabled||k.value}]),disabled:n.disabled||k.value||D.value,"aria-busy":k.value,"aria-label":ie.value,onClick:Q},[(0,r.createElementVNode)(`span`,h,[(0,r.createElementVNode)(`span`,g,[(0,r.createVNode)(t.t,{name:V.value.name,type:`svg`,"svg-path":V.value.path,size:20,class:(0,r.normalizeClass)([`captcha-state-icon`,{"is-spinning":k.value,"is-success":D.value,"is-error":O.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,r.createElementVNode)(`span`,_,[k.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,v,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.verifying`)),1)):D.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,ee,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.success`)),1)):O.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,te,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.failed`)),1)):((0,r.openBlock)(),(0,r.createElementBlock)(`span`,ne,(0,r.toDisplayString)(n.triggerText??(0,r.unref)(C)(`captcha.trigger`)),1))])])],10,m),D.value||O.value?((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:0,type:`button`,class:`refresh-button`,title:(0,r.unref)(C)(`captcha.reset`),"aria-label":(0,r.unref)(C)(`captcha.reset`),onClick:$},[(0,r.createVNode)(t.t,{name:`captcha-refresh`,type:`svg`,"svg-path":w.refresh,size:16},null,8,[`svg-path`])],8,re)):(0,r.createCommentVNode)(`v-if`,!0)])),z.value?(0,r.createCommentVNode)(`v-if`,!0):((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(T),{key:2,show:E.value,imgs:B.value,onSuccess:se,onClose:le,onFail:ce},null,8,[`show`,`imgs`]))],8,c))}});var b=n.t(y,[[`__scopeId`,`data-v-fe4cd59a`]]);Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
1
+ require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./C_Icon2.cjs`),n=require(`./export-helper.cjs`);let r=require(`vue`);var i=class extends Error{constructor(e,t,n){super(t),this.code=e,this.cause=n,this.name=`CaptchaVerificationError`}};let a=0;function o(){let e=Date.now();return{token:`puzzle_${e}_${globalThis.crypto?.randomUUID?.()??`${++a}`}`,timestamp:e,type:`puzzle-captcha`}}async function s(e,t={}){let{verifier:n,requireServerVerification:r=!1,signal:a}=t,o=t.timeout??1e4,s=Number.isFinite(o)&&o>0?o:1e4;if(a?.aborted)throw new i(`aborted`,`Verification was cancelled.`);if(!n){if(r)throw new i(`missing-verifier`,`Server verification is required but no verifier was configured.`);return{...e,verifiedBy:`local`}}let c=new AbortController,l=()=>c.abort(a?.reason);a?.addEventListener(`abort`,l,{once:!0});let u,d=new Promise((e,t)=>{u=setTimeout(()=>{c.abort(`timeout`),t(new i(`timeout`,`Verification timed out after ${s}ms.`))},s)}),f=new Promise((e,t)=>{c.signal.addEventListener(`abort`,()=>{c.signal.reason!==`timeout`&&t(new i(`aborted`,`Verification was cancelled.`))},{once:!0})});try{let t=await Promise.race([Promise.resolve(n({...e,signal:c.signal})),d,f]),a=typeof t==`boolean`?{valid:t}:t;if(!a.valid)throw new i(`rejected`,a.message||`Server verification rejected the challenge.`);let o=a.token?.trim();if(r&&!o)throw new i(`missing-token`,`Server verification did not return a trusted token.`);return{...e,token:o||e.token,verifiedBy:`server`}}catch(e){throw e instanceof i?e:new i(`rejected`,`Server verification failed.`,e)}finally{u&&clearTimeout(u),a?.removeEventListener(`abort`,l)}}const c=[`data-theme`],l=[`disabled`,`aria-busy`],u={class:`captcha-content`},d={class:`captcha-icon`,"aria-hidden":`true`},f={class:`captcha-text`},p={key:1,class:`captcha-shell`},m=[`disabled`,`aria-busy`,`aria-label`],h={class:`captcha-content`},g={class:`captcha-icon`,"aria-hidden":`true`},_={class:`captcha-text`,"aria-live":`polite`},v={key:0},ee={key:1,class:`success-text`},te={key:2,class:`error-text`},ne={key:3},re=[`title`,`aria-label`],y=(0,r.defineComponent)({name:`C_Captcha`,__name:`index`,props:{provider:{default:`puzzle-captcha`},challengeUrl:{},triggerText:{},images:{default:()=>[]},disabled:{type:Boolean,default:!1},theme:{default:`dark`},verifier:{},verificationTimeout:{default:1e4},requireServerVerification:{type:Boolean,default:!1},feedback:{},locale:{}},emits:[`success`,`fail`,`verify-error`,`load-error`,`change`,`visible-change`,`reset`],setup(n,{expose:a,emit:y}){let b=n,x=y,S=e.r(()=>b.feedback),{t:C}=e.i(()=>b.locale),w={default:`M12 2 3 6V12C3 17.25 6.84 22.74 12 24 17.16 22.74 21 17.25 21 12V6L12 2M12 4.18 19 7.3V12C19 16.18 16.2 20.62 12 21.82 7.8 20.62 5 16.18 5 12V7.3L12 4.18M11 8V14.17L8.41 11.59 7 13 12 18 17 13 15.59 11.58 13 14.17V8H11Z`,verifying:`M12 4V2A10 10 0 0 0 2 12H4A8 8 0 0 1 12 4Z`,success:`M12 2 4 5V11C4 16.55 7.84 21.74 12 23 16.16 21.74 20 16.55 20 11V5L12 2M12 4.18 18 6.42V11C18 15.45 15.18 19.69 12 20.82 8.82 19.69 6 15.45 6 11V6.42L12 4.18M10 17 16 11 14.59 9.58 10 13.17 8.41 11.58 7 13 10 17Z`,error:`M12 2C6.48 2 2 6.48 2 12S6.48 22 12 22 22 17.52 22 12 17.52 2 12 2M13 17H11V15H13V17M13 13H11V7H13V13Z`,refresh:`M17.65 6.35C16.2 4.9 14.21 4 12 4 7.58 4 4 7.58 4 12S7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.82 16.33 14.61 18 12 18 8.69 18 6 15.31 6 12S8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H21V3L17.65 6.35Z`},T=typeof window>`u`?()=>null:(0,r.defineAsyncComponent)({loader:()=>import(`vue3-puzzle-vcode`).then(e=>e.default),onError(e,t,n){S.error(C(`captcha.loadFailed`),e),x(`load-error`,e),n()}}),E=(0,r.ref)(!1),D=(0,r.ref)(!1),O=(0,r.ref)(!1),k=(0,r.ref)(!1),A=(0,r.ref)(null),j=(0,r.ref)(!1),M=(0,r.ref)(null),N=(0,r.ref)(null),P=null,F=null,I=null,L=0,R=!1,z=(0,r.computed)(()=>b.provider===`altcha`),B=(0,r.computed)(()=>b.images.length>0?b.images:void 0),V=(0,r.computed)(()=>k.value?{name:`captcha-verifying`,path:w.verifying}:D.value?{name:`captcha-success`,path:w.success}:O.value?{name:`captcha-error`,path:w.error}:{name:`captcha-default`,path:w.default}),ie=(0,r.computed)(()=>k.value?C(`captcha.verifying`):D.value?C(`captcha.success`):O.value?C(`captcha.failed`):b.triggerText??C(`captcha.trigger`)),H=()=>{P&&=(clearTimeout(P),null)},U=e=>{R!==e&&(R=e,x(`visible-change`,e))},W=e=>{E.value!==e&&(E.value=e,U(e))},G=(e,t)=>{D.value=!1,O.value=!0,N.value=null,H(),P=setTimeout(()=>{O.value=!1,P=null},3e3),x(`fail`,e),x(`change`,!1),t&&x(`verify-error`,t)},ae=(e,t)=>F!==e||t instanceof i&&t.code===`aborted`,oe=e=>{F===e&&(F=null,k.value=!1,U(!1))},K=async(e,t=b.requireServerVerification)=>{O.value=!1,F?.abort();let n=new AbortController;F=n,k.value=!0,U(!0);try{let r=await s(e,{verifier:b.verifier,timeout:b.verificationTimeout,requireServerVerification:t,signal:n.signal});if(F!==n)return;N.value=r,D.value=!0,x(`success`,r),x(`change`,!0)}catch(t){if(ae(n,t))return;let r=t instanceof Error?t.message:C(`captcha.failed`);S.error(C(`captcha.verifyFailed`),t),G(r,t),e.type===`altcha`&&I?.reset()}finally{oe(n)}},se=async()=>{E.value=!1,await K(o())},ce=()=>{W(!1),G(C(`captcha.puzzleFailed`))},le=()=>{W(!1)},q=e=>{let t=e.detail?.payload;if(!t?.trim()){G(C(`captcha.failed`)),I?.reset(),U(!1);return}K({token:t,timestamp:Date.now(),type:`altcha`},!0)},J=e=>{let t=e.detail?.state;if(t===`verifying`){U(!0);return}if(t===`error`){G(C(`captcha.failed`)),U(!1);return}t===`expired`&&(D.value=!1,N.value=null,x(`change`,!1),U(!1))},Y=()=>{I&&=(I.removeEventListener(`verified`,q),I.removeEventListener(`statechange`,J),null)},X=(e,t)=>{if(e!==L)return;Y(),j.value=!1;let n=t instanceof Error?t:Error(C(`captcha.loadFailed`));M.value=n,S.error(C(`captcha.loadFailed`),n),x(`load-error`,n)},ue=async(e,t)=>{if(await Promise.all([import(`altcha`),import(`altcha/i18n/zh-cn`)]),e!==L||(j.value=!0,await(0,r.nextTick)(),e!==L))return;let n=A.value?.querySelector(`altcha-widget`);if(!n)throw Error(`ALTCHA widget failed to initialize.`);I=n,n.addEventListener(`verified`,q),n.addEventListener(`statechange`,J),n.setAttribute(`theme`,b.theme),await n.configure({auto:`off`,challenge:t,display:`standard`,hideFooter:!0,hideLogo:!0,language:b.locale?.locale===`en-US`?`en`:`zh-cn`,minDuration:350,timeout:Math.max(b.verificationTimeout,1e3),type:`switch`,workers:1})},Z=async()=>{let e=++L;Y(),j.value=!1,M.value=null;let t=b.challengeUrl?.trim();if(!t){X(e,Error(`ALTCHA provider requires a server-owned challengeUrl.`));return}try{await ue(e,t)}catch(t){X(e,t)}},Q=()=>{if(!(b.disabled||k.value||D.value)){if(O.value=!1,z.value){if(!I){Z();return}I.verify().catch(e=>{let t=e instanceof Error?e:Error(String(e));S.error(C(`captcha.verifyFailed`),t),G(t.message,t),U(!1)});return}W(!0)}},$=()=>{F?.abort(),F=null,k.value=!1,D.value=!1,O.value=!1,W(!1),I?.reset(),N.value=null,H(),x(`reset`),x(`change`,!1)};return a({validate:()=>D.value,getToken:()=>N.value?.token??``,getVerificationData:()=>N.value,reset:$,show:Q}),(0,r.onMounted)(()=>{z.value&&Z()}),(0,r.watch)(()=>[b.provider,b.challengeUrl,b.theme,b.locale?.locale,b.verificationTimeout],()=>{if(z.value){Z();return}++L,Y(),j.value=!1,M.value=null}),(0,r.onBeforeUnmount)(()=>{++L,Y(),F?.abort(),H()}),(e,i)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{class:`c-captcha-modern`,"data-theme":n.theme},[z.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,ref_key:`altchaHost`,ref:A,class:(0,r.normalizeClass)([`altcha-provider`,{"is-disabled":n.disabled||k.value}])},[j.value?((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(`altcha-widget`),{key:0,class:`altcha-widget`})):((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:1,type:`button`,class:(0,r.normalizeClass)([`captcha-trigger`,{error:M.value,disabled:n.disabled||!M.value}]),disabled:n.disabled||!M.value,"aria-busy":!M.value,onClick:Z},[(0,r.createElementVNode)(`span`,u,[(0,r.createElementVNode)(`span`,d,[(0,r.createVNode)(t.t,{name:M.value?`captcha-error`:`captcha-verifying`,type:`svg`,"svg-path":M.value?w.error:w.verifying,size:18,class:(0,r.normalizeClass)([`captcha-state-icon`,{"is-error":M.value,"is-spinning":!M.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,r.createElementVNode)(`span`,f,(0,r.toDisplayString)(M.value?(0,r.unref)(C)(`captcha.loadFailed`):(0,r.unref)(C)(`captcha.verifying`)),1)])],10,l))],2)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,p,[(0,r.createElementVNode)(`button`,{type:`button`,class:(0,r.normalizeClass)([`captcha-trigger`,{verified:D.value,error:O.value,disabled:n.disabled||k.value}]),disabled:n.disabled||k.value||D.value,"aria-busy":k.value,"aria-label":ie.value,onClick:Q},[(0,r.createElementVNode)(`span`,h,[(0,r.createElementVNode)(`span`,g,[(0,r.createVNode)(t.t,{name:V.value.name,type:`svg`,"svg-path":V.value.path,size:20,class:(0,r.normalizeClass)([`captcha-state-icon`,{"is-spinning":k.value,"is-success":D.value,"is-error":O.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,r.createElementVNode)(`span`,_,[k.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,v,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.verifying`)),1)):D.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,ee,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.success`)),1)):O.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,te,(0,r.toDisplayString)((0,r.unref)(C)(`captcha.failed`)),1)):((0,r.openBlock)(),(0,r.createElementBlock)(`span`,ne,(0,r.toDisplayString)(n.triggerText??(0,r.unref)(C)(`captcha.trigger`)),1))])])],10,m),D.value||O.value?((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:0,type:`button`,class:`refresh-button`,title:(0,r.unref)(C)(`captcha.reset`),"aria-label":(0,r.unref)(C)(`captcha.reset`),onClick:$},[(0,r.createVNode)(t.t,{name:`captcha-refresh`,type:`svg`,"svg-path":w.refresh,size:16},null,8,[`svg-path`])],8,re)):(0,r.createCommentVNode)(`v-if`,!0)])),z.value?(0,r.createCommentVNode)(`v-if`,!0):((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(T),{key:2,show:E.value,imgs:B.value,onSuccess:se,onClose:le,onFail:ce},null,8,[`show`,`imgs`]))],8,c))}});var b=n.t(y,[[`__scopeId`,`data-v-3d56f63e`]]);Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
@@ -1 +1 @@
1
- import{i as e,r as t}from"./config.js";import{t as n}from"./C_Icon2.js";import{t as r}from"./export-helper.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createVNode as l,defineAsyncComponent as u,defineComponent as d,nextTick as ee,normalizeClass as f,onBeforeUnmount as te,onMounted as ne,openBlock as p,ref as m,resolveDynamicComponent as re,toDisplayString as h,unref as g,watch as ie}from"vue";var _=class extends Error{constructor(e,t,n){super(t),this.code=e,this.cause=n,this.name=`CaptchaVerificationError`}};let v=0;function y(){let e=Date.now();return{token:`puzzle_${e}_${globalThis.crypto?.randomUUID?.()??`${++v}`}`,timestamp:e,type:`puzzle-captcha`}}async function b(e,t={}){let{verifier:n,requireServerVerification:r=!1,signal:i}=t,a=t.timeout??1e4,o=Number.isFinite(a)&&a>0?a:1e4;if(i?.aborted)throw new _(`aborted`,`Verification was cancelled.`);if(!n){if(r)throw new _(`missing-verifier`,`Server verification is required but no verifier was configured.`);return{...e,verifiedBy:`local`}}let s=new AbortController,c=()=>s.abort(i?.reason);i?.addEventListener(`abort`,c,{once:!0});let l,u=new Promise((e,t)=>{l=setTimeout(()=>{s.abort(`timeout`),t(new _(`timeout`,`Verification timed out after ${o}ms.`))},o)}),d=new Promise((e,t)=>{s.signal.addEventListener(`abort`,()=>{s.signal.reason!==`timeout`&&t(new _(`aborted`,`Verification was cancelled.`))},{once:!0})});try{let t=await Promise.race([Promise.resolve(n({...e,signal:s.signal})),u,d]),i=typeof t==`boolean`?{valid:t}:t;if(!i.valid)throw new _(`rejected`,i.message||`Server verification rejected the challenge.`);let a=i.token?.trim();if(r&&!a)throw new _(`missing-token`,`Server verification did not return a trusted token.`);return{...e,token:a||e.token,verifiedBy:`server`}}catch(e){throw e instanceof _?e:new _(`rejected`,`Server verification failed.`,e)}finally{l&&clearTimeout(l),i?.removeEventListener(`abort`,c)}}const x=[`data-theme`],ae=[`disabled`,`aria-busy`],oe={class:`captcha-content`},se={class:`captcha-icon`,"aria-hidden":`true`},ce={class:`captcha-text`},le={key:1,class:`captcha-shell`},ue=[`disabled`,`aria-busy`,`aria-label`],de={class:`captcha-content`},fe={class:`captcha-icon`,"aria-hidden":`true`},pe={class:`captcha-text`,"aria-live":`polite`},me={key:0},he={key:1,class:`success-text`},ge={key:2,class:`error-text`},_e={key:3},ve=[`title`,`aria-label`];var S=r(d({name:`C_Captcha`,__name:`index`,props:{provider:{default:`puzzle-captcha`},challengeUrl:{},triggerText:{},images:{default:()=>[]},disabled:{type:Boolean,default:!1},theme:{default:`dark`},verifier:{},verificationTimeout:{default:1e4},requireServerVerification:{type:Boolean,default:!1},feedback:{},locale:{}},emits:[`success`,`fail`,`verify-error`,`load-error`,`change`,`visible-change`,`reset`],setup(r,{expose:d,emit:v}){let S=r,C=v,w=t(()=>S.feedback),{t:T}=e(()=>S.locale),E={default:`M12 2 3 6V12C3 17.25 6.84 22.74 12 24 17.16 22.74 21 17.25 21 12V6L12 2M12 4.18 19 7.3V12C19 16.18 16.2 20.62 12 21.82 7.8 20.62 5 16.18 5 12V7.3L12 4.18M11 8V14.17L8.41 11.59 7 13 12 18 17 13 15.59 11.58 13 14.17V8H11Z`,verifying:`M12 4V2A10 10 0 0 0 2 12H4A8 8 0 0 1 12 4Z`,success:`M12 2 4 5V11C4 16.55 7.84 21.74 12 23 16.16 21.74 20 16.55 20 11V5L12 2M12 4.18 18 6.42V11C18 15.45 15.18 19.69 12 20.82 8.82 19.69 6 15.45 6 11V6.42L12 4.18M10 17 16 11 14.59 9.58 10 13.17 8.41 11.58 7 13 10 17Z`,error:`M12 2C6.48 2 2 6.48 2 12S6.48 22 12 22 22 17.52 22 12 17.52 2 12 2M13 17H11V15H13V17M13 13H11V7H13V13Z`,refresh:`M17.65 6.35C16.2 4.9 14.21 4 12 4 7.58 4 4 7.58 4 12S7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.82 16.33 14.61 18 12 18 8.69 18 6 15.31 6 12S8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H21V3L17.65 6.35Z`},ye=typeof window>`u`?()=>null:u({loader:()=>import(`vue3-puzzle-vcode`).then(e=>e.default),onError(e,t,n){w.error(T(`captcha.loadFailed`),e),C(`load-error`,e),n()}}),D=m(!1),O=m(!1),k=m(!1),A=m(!1),j=m(null),M=m(!1),N=m(null),P=m(null),F=null,I=null,L=null,R=0,z=!1,B=i(()=>S.provider===`altcha`),be=i(()=>S.images.length>0?S.images:void 0),V=i(()=>A.value?{name:`captcha-verifying`,path:E.verifying}:O.value?{name:`captcha-success`,path:E.success}:k.value?{name:`captcha-error`,path:E.error}:{name:`captcha-default`,path:E.default}),xe=i(()=>A.value?T(`captcha.verifying`):O.value?T(`captcha.success`):k.value?T(`captcha.failed`):S.triggerText??T(`captcha.trigger`)),H=()=>{F&&=(clearTimeout(F),null)},U=e=>{z!==e&&(z=e,C(`visible-change`,e))},W=e=>{D.value!==e&&(D.value=e,U(e))},G=(e,t)=>{O.value=!1,k.value=!0,P.value=null,H(),F=setTimeout(()=>{k.value=!1,F=null},3e3),C(`fail`,e),C(`change`,!1),t&&C(`verify-error`,t)},Se=(e,t)=>I!==e||t instanceof _&&t.code===`aborted`,Ce=e=>{I===e&&(I=null,A.value=!1,U(!1))},K=async(e,t=S.requireServerVerification)=>{k.value=!1,I?.abort();let n=new AbortController;I=n,A.value=!0,U(!0);try{let r=await b(e,{verifier:S.verifier,timeout:S.verificationTimeout,requireServerVerification:t,signal:n.signal});if(I!==n)return;P.value=r,O.value=!0,C(`success`,r),C(`change`,!0)}catch(t){if(Se(n,t))return;let r=t instanceof Error?t.message:T(`captcha.failed`);w.error(T(`captcha.verifyFailed`),t),G(r,t),e.type===`altcha`&&L?.reset()}finally{Ce(n)}},we=async()=>{D.value=!1,await K(y())},Te=()=>{W(!1),G(T(`captcha.puzzleFailed`))},Ee=()=>{W(!1)},q=e=>{let t=e.detail?.payload;if(!t?.trim()){G(T(`captcha.failed`)),L?.reset(),U(!1);return}K({token:t,timestamp:Date.now(),type:`altcha`},!0)},J=e=>{let t=e.detail?.state;if(t===`verifying`){U(!0);return}if(t===`error`){G(T(`captcha.failed`)),U(!1);return}t===`expired`&&(O.value=!1,P.value=null,C(`change`,!1),U(!1))},Y=()=>{L&&=(L.removeEventListener(`verified`,q),L.removeEventListener(`statechange`,J),null)},X=(e,t)=>{if(e!==R)return;Y(),M.value=!1;let n=t instanceof Error?t:Error(T(`captcha.loadFailed`));N.value=n,w.error(T(`captcha.loadFailed`),n),C(`load-error`,n)},De=async(e,t)=>{if(await Promise.all([import(`altcha`),import(`altcha/i18n/zh-cn`)]),e!==R||(M.value=!0,await ee(),e!==R))return;let n=j.value?.querySelector(`altcha-widget`);if(!n)throw Error(`ALTCHA widget failed to initialize.`);L=n,n.addEventListener(`verified`,q),n.addEventListener(`statechange`,J),n.setAttribute(`theme`,S.theme),await n.configure({auto:`off`,challenge:t,display:`standard`,hideFooter:!0,hideLogo:!0,language:S.locale?.locale===`en-US`?`en`:`zh-cn`,minDuration:350,timeout:Math.max(S.verificationTimeout,1e3),type:`switch`,workers:1})},Z=async()=>{let e=++R;Y(),M.value=!1,N.value=null;let t=S.challengeUrl?.trim();if(!t){X(e,Error(`ALTCHA provider requires a server-owned challengeUrl.`));return}try{await De(e,t)}catch(t){X(e,t)}},Q=()=>{if(!(S.disabled||A.value||O.value)){if(k.value=!1,B.value){if(!L){Z();return}L.verify().catch(e=>{let t=e instanceof Error?e:Error(String(e));w.error(T(`captcha.verifyFailed`),t),G(t.message,t),U(!1)});return}W(!0)}},$=()=>{I?.abort(),I=null,A.value=!1,O.value=!1,k.value=!1,W(!1),L?.reset(),P.value=null,H(),C(`reset`),C(`change`,!1)};return d({validate:()=>O.value,getToken:()=>P.value?.token??``,getVerificationData:()=>P.value,reset:$,show:Q}),ne(()=>{B.value&&Z()}),ie(()=>[S.provider,S.challengeUrl,S.theme,S.locale?.locale,S.verificationTimeout],()=>{if(B.value){Z();return}++R,Y(),M.value=!1,N.value=null}),te(()=>{++R,Y(),I?.abort(),H()}),(e,t)=>(p(),s(`div`,{class:`c-captcha-modern`,"data-theme":r.theme},[B.value?(p(),s(`div`,{key:0,ref_key:`altchaHost`,ref:j,class:f([`altcha-provider`,{"is-disabled":r.disabled||A.value}])},[M.value?(p(),a(re(`altcha-widget`),{key:0,class:`altcha-widget`})):(p(),s(`button`,{key:1,type:`button`,class:f([`captcha-trigger`,{error:N.value,disabled:r.disabled||!N.value}]),disabled:r.disabled||!N.value,"aria-busy":!N.value,onClick:Z},[c(`span`,oe,[c(`span`,se,[l(n,{name:N.value?`captcha-error`:`captcha-verifying`,type:`svg`,"svg-path":N.value?E.error:E.verifying,size:18,class:f([`captcha-state-icon`,{"is-error":N.value,"is-spinning":!N.value}])},null,8,[`name`,`svg-path`,`class`])]),c(`span`,ce,h(N.value?g(T)(`captcha.loadFailed`):g(T)(`captcha.verifying`)),1)])],10,ae))],2)):(p(),s(`div`,le,[c(`button`,{type:`button`,class:f([`captcha-trigger`,{verified:O.value,error:k.value,disabled:r.disabled||A.value}]),disabled:r.disabled||A.value||O.value,"aria-busy":A.value,"aria-label":xe.value,onClick:Q},[c(`span`,de,[c(`span`,fe,[l(n,{name:V.value.name,type:`svg`,"svg-path":V.value.path,size:20,class:f([`captcha-state-icon`,{"is-spinning":A.value,"is-success":O.value,"is-error":k.value}])},null,8,[`name`,`svg-path`,`class`])]),c(`span`,pe,[A.value?(p(),s(`span`,me,h(g(T)(`captcha.verifying`)),1)):O.value?(p(),s(`span`,he,h(g(T)(`captcha.success`)),1)):k.value?(p(),s(`span`,ge,h(g(T)(`captcha.failed`)),1)):(p(),s(`span`,_e,h(r.triggerText??g(T)(`captcha.trigger`)),1))])])],10,ue),O.value||k.value?(p(),s(`button`,{key:0,type:`button`,class:`refresh-button`,title:g(T)(`captcha.reset`),"aria-label":g(T)(`captcha.reset`),onClick:$},[l(n,{name:`captcha-refresh`,type:`svg`,"svg-path":E.refresh,size:16},null,8,[`svg-path`])],8,ve)):o(`v-if`,!0)])),B.value?o(`v-if`,!0):(p(),a(g(ye),{key:2,show:D.value,imgs:be.value,onSuccess:we,onClose:Ee,onFail:Te},null,8,[`show`,`imgs`]))],8,x))}}),[[`__scopeId`,`data-v-fe4cd59a`]]);export{b as i,_ as n,y as r,S as t};
1
+ import{i as e,r as t}from"./config.js";import{t as n}from"./C_Icon2.js";import{t as r}from"./export-helper.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createVNode as l,defineAsyncComponent as u,defineComponent as d,nextTick as ee,normalizeClass as f,onBeforeUnmount as te,onMounted as ne,openBlock as p,ref as m,resolveDynamicComponent as re,toDisplayString as h,unref as g,watch as ie}from"vue";var _=class extends Error{constructor(e,t,n){super(t),this.code=e,this.cause=n,this.name=`CaptchaVerificationError`}};let v=0;function y(){let e=Date.now();return{token:`puzzle_${e}_${globalThis.crypto?.randomUUID?.()??`${++v}`}`,timestamp:e,type:`puzzle-captcha`}}async function b(e,t={}){let{verifier:n,requireServerVerification:r=!1,signal:i}=t,a=t.timeout??1e4,o=Number.isFinite(a)&&a>0?a:1e4;if(i?.aborted)throw new _(`aborted`,`Verification was cancelled.`);if(!n){if(r)throw new _(`missing-verifier`,`Server verification is required but no verifier was configured.`);return{...e,verifiedBy:`local`}}let s=new AbortController,c=()=>s.abort(i?.reason);i?.addEventListener(`abort`,c,{once:!0});let l,u=new Promise((e,t)=>{l=setTimeout(()=>{s.abort(`timeout`),t(new _(`timeout`,`Verification timed out after ${o}ms.`))},o)}),d=new Promise((e,t)=>{s.signal.addEventListener(`abort`,()=>{s.signal.reason!==`timeout`&&t(new _(`aborted`,`Verification was cancelled.`))},{once:!0})});try{let t=await Promise.race([Promise.resolve(n({...e,signal:s.signal})),u,d]),i=typeof t==`boolean`?{valid:t}:t;if(!i.valid)throw new _(`rejected`,i.message||`Server verification rejected the challenge.`);let a=i.token?.trim();if(r&&!a)throw new _(`missing-token`,`Server verification did not return a trusted token.`);return{...e,token:a||e.token,verifiedBy:`server`}}catch(e){throw e instanceof _?e:new _(`rejected`,`Server verification failed.`,e)}finally{l&&clearTimeout(l),i?.removeEventListener(`abort`,c)}}const x=[`data-theme`],ae=[`disabled`,`aria-busy`],oe={class:`captcha-content`},se={class:`captcha-icon`,"aria-hidden":`true`},ce={class:`captcha-text`},le={key:1,class:`captcha-shell`},ue=[`disabled`,`aria-busy`,`aria-label`],de={class:`captcha-content`},fe={class:`captcha-icon`,"aria-hidden":`true`},pe={class:`captcha-text`,"aria-live":`polite`},me={key:0},he={key:1,class:`success-text`},ge={key:2,class:`error-text`},_e={key:3},ve=[`title`,`aria-label`];var S=r(d({name:`C_Captcha`,__name:`index`,props:{provider:{default:`puzzle-captcha`},challengeUrl:{},triggerText:{},images:{default:()=>[]},disabled:{type:Boolean,default:!1},theme:{default:`dark`},verifier:{},verificationTimeout:{default:1e4},requireServerVerification:{type:Boolean,default:!1},feedback:{},locale:{}},emits:[`success`,`fail`,`verify-error`,`load-error`,`change`,`visible-change`,`reset`],setup(r,{expose:d,emit:v}){let S=r,C=v,w=t(()=>S.feedback),{t:T}=e(()=>S.locale),E={default:`M12 2 3 6V12C3 17.25 6.84 22.74 12 24 17.16 22.74 21 17.25 21 12V6L12 2M12 4.18 19 7.3V12C19 16.18 16.2 20.62 12 21.82 7.8 20.62 5 16.18 5 12V7.3L12 4.18M11 8V14.17L8.41 11.59 7 13 12 18 17 13 15.59 11.58 13 14.17V8H11Z`,verifying:`M12 4V2A10 10 0 0 0 2 12H4A8 8 0 0 1 12 4Z`,success:`M12 2 4 5V11C4 16.55 7.84 21.74 12 23 16.16 21.74 20 16.55 20 11V5L12 2M12 4.18 18 6.42V11C18 15.45 15.18 19.69 12 20.82 8.82 19.69 6 15.45 6 11V6.42L12 4.18M10 17 16 11 14.59 9.58 10 13.17 8.41 11.58 7 13 10 17Z`,error:`M12 2C6.48 2 2 6.48 2 12S6.48 22 12 22 22 17.52 22 12 17.52 2 12 2M13 17H11V15H13V17M13 13H11V7H13V13Z`,refresh:`M17.65 6.35C16.2 4.9 14.21 4 12 4 7.58 4 4 7.58 4 12S7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.82 16.33 14.61 18 12 18 8.69 18 6 15.31 6 12S8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H21V3L17.65 6.35Z`},ye=typeof window>`u`?()=>null:u({loader:()=>import(`vue3-puzzle-vcode`).then(e=>e.default),onError(e,t,n){w.error(T(`captcha.loadFailed`),e),C(`load-error`,e),n()}}),D=m(!1),O=m(!1),k=m(!1),A=m(!1),j=m(null),M=m(!1),N=m(null),P=m(null),F=null,I=null,L=null,R=0,z=!1,B=i(()=>S.provider===`altcha`),be=i(()=>S.images.length>0?S.images:void 0),V=i(()=>A.value?{name:`captcha-verifying`,path:E.verifying}:O.value?{name:`captcha-success`,path:E.success}:k.value?{name:`captcha-error`,path:E.error}:{name:`captcha-default`,path:E.default}),xe=i(()=>A.value?T(`captcha.verifying`):O.value?T(`captcha.success`):k.value?T(`captcha.failed`):S.triggerText??T(`captcha.trigger`)),H=()=>{F&&=(clearTimeout(F),null)},U=e=>{z!==e&&(z=e,C(`visible-change`,e))},W=e=>{D.value!==e&&(D.value=e,U(e))},G=(e,t)=>{O.value=!1,k.value=!0,P.value=null,H(),F=setTimeout(()=>{k.value=!1,F=null},3e3),C(`fail`,e),C(`change`,!1),t&&C(`verify-error`,t)},Se=(e,t)=>I!==e||t instanceof _&&t.code===`aborted`,Ce=e=>{I===e&&(I=null,A.value=!1,U(!1))},K=async(e,t=S.requireServerVerification)=>{k.value=!1,I?.abort();let n=new AbortController;I=n,A.value=!0,U(!0);try{let r=await b(e,{verifier:S.verifier,timeout:S.verificationTimeout,requireServerVerification:t,signal:n.signal});if(I!==n)return;P.value=r,O.value=!0,C(`success`,r),C(`change`,!0)}catch(t){if(Se(n,t))return;let r=t instanceof Error?t.message:T(`captcha.failed`);w.error(T(`captcha.verifyFailed`),t),G(r,t),e.type===`altcha`&&L?.reset()}finally{Ce(n)}},we=async()=>{D.value=!1,await K(y())},Te=()=>{W(!1),G(T(`captcha.puzzleFailed`))},Ee=()=>{W(!1)},q=e=>{let t=e.detail?.payload;if(!t?.trim()){G(T(`captcha.failed`)),L?.reset(),U(!1);return}K({token:t,timestamp:Date.now(),type:`altcha`},!0)},J=e=>{let t=e.detail?.state;if(t===`verifying`){U(!0);return}if(t===`error`){G(T(`captcha.failed`)),U(!1);return}t===`expired`&&(O.value=!1,P.value=null,C(`change`,!1),U(!1))},Y=()=>{L&&=(L.removeEventListener(`verified`,q),L.removeEventListener(`statechange`,J),null)},X=(e,t)=>{if(e!==R)return;Y(),M.value=!1;let n=t instanceof Error?t:Error(T(`captcha.loadFailed`));N.value=n,w.error(T(`captcha.loadFailed`),n),C(`load-error`,n)},De=async(e,t)=>{if(await Promise.all([import(`altcha`),import(`altcha/i18n/zh-cn`)]),e!==R||(M.value=!0,await ee(),e!==R))return;let n=j.value?.querySelector(`altcha-widget`);if(!n)throw Error(`ALTCHA widget failed to initialize.`);L=n,n.addEventListener(`verified`,q),n.addEventListener(`statechange`,J),n.setAttribute(`theme`,S.theme),await n.configure({auto:`off`,challenge:t,display:`standard`,hideFooter:!0,hideLogo:!0,language:S.locale?.locale===`en-US`?`en`:`zh-cn`,minDuration:350,timeout:Math.max(S.verificationTimeout,1e3),type:`switch`,workers:1})},Z=async()=>{let e=++R;Y(),M.value=!1,N.value=null;let t=S.challengeUrl?.trim();if(!t){X(e,Error(`ALTCHA provider requires a server-owned challengeUrl.`));return}try{await De(e,t)}catch(t){X(e,t)}},Q=()=>{if(!(S.disabled||A.value||O.value)){if(k.value=!1,B.value){if(!L){Z();return}L.verify().catch(e=>{let t=e instanceof Error?e:Error(String(e));w.error(T(`captcha.verifyFailed`),t),G(t.message,t),U(!1)});return}W(!0)}},$=()=>{I?.abort(),I=null,A.value=!1,O.value=!1,k.value=!1,W(!1),L?.reset(),P.value=null,H(),C(`reset`),C(`change`,!1)};return d({validate:()=>O.value,getToken:()=>P.value?.token??``,getVerificationData:()=>P.value,reset:$,show:Q}),ne(()=>{B.value&&Z()}),ie(()=>[S.provider,S.challengeUrl,S.theme,S.locale?.locale,S.verificationTimeout],()=>{if(B.value){Z();return}++R,Y(),M.value=!1,N.value=null}),te(()=>{++R,Y(),I?.abort(),H()}),(e,t)=>(p(),s(`div`,{class:`c-captcha-modern`,"data-theme":r.theme},[B.value?(p(),s(`div`,{key:0,ref_key:`altchaHost`,ref:j,class:f([`altcha-provider`,{"is-disabled":r.disabled||A.value}])},[M.value?(p(),a(re(`altcha-widget`),{key:0,class:`altcha-widget`})):(p(),s(`button`,{key:1,type:`button`,class:f([`captcha-trigger`,{error:N.value,disabled:r.disabled||!N.value}]),disabled:r.disabled||!N.value,"aria-busy":!N.value,onClick:Z},[c(`span`,oe,[c(`span`,se,[l(n,{name:N.value?`captcha-error`:`captcha-verifying`,type:`svg`,"svg-path":N.value?E.error:E.verifying,size:18,class:f([`captcha-state-icon`,{"is-error":N.value,"is-spinning":!N.value}])},null,8,[`name`,`svg-path`,`class`])]),c(`span`,ce,h(N.value?g(T)(`captcha.loadFailed`):g(T)(`captcha.verifying`)),1)])],10,ae))],2)):(p(),s(`div`,le,[c(`button`,{type:`button`,class:f([`captcha-trigger`,{verified:O.value,error:k.value,disabled:r.disabled||A.value}]),disabled:r.disabled||A.value||O.value,"aria-busy":A.value,"aria-label":xe.value,onClick:Q},[c(`span`,de,[c(`span`,fe,[l(n,{name:V.value.name,type:`svg`,"svg-path":V.value.path,size:20,class:f([`captcha-state-icon`,{"is-spinning":A.value,"is-success":O.value,"is-error":k.value}])},null,8,[`name`,`svg-path`,`class`])]),c(`span`,pe,[A.value?(p(),s(`span`,me,h(g(T)(`captcha.verifying`)),1)):O.value?(p(),s(`span`,he,h(g(T)(`captcha.success`)),1)):k.value?(p(),s(`span`,ge,h(g(T)(`captcha.failed`)),1)):(p(),s(`span`,_e,h(r.triggerText??g(T)(`captcha.trigger`)),1))])])],10,ue),O.value||k.value?(p(),s(`button`,{key:0,type:`button`,class:`refresh-button`,title:g(T)(`captcha.reset`),"aria-label":g(T)(`captcha.reset`),onClick:$},[l(n,{name:`captcha-refresh`,type:`svg`,"svg-path":E.refresh,size:16},null,8,[`svg-path`])],8,ve)):o(`v-if`,!0)])),B.value?o(`v-if`,!0):(p(),a(g(ye),{key:2,show:D.value,imgs:be.value,onSuccess:we,onClose:Ee,onFail:Te},null,8,[`show`,`imgs`]))],8,x))}}),[[`__scopeId`,`data-v-3d56f63e`]]);export{b as i,_ as n,y as r,S as t};
@@ -1,8 +1,8 @@
1
- /* unplugin-vue-components disabled */.n-cascade-selector[data-v-cf9c290b] {
1
+ /* unplugin-vue-components disabled */.n-cascade-selector[data-v-cde7c410] {
2
2
  display: flex;
3
3
  gap: 12px;
4
4
  }
5
- .n-cascade-selector .n-select-item[data-v-cf9c290b] {
5
+ .n-cascade-selector .n-select-item[data-v-cde7c410] {
6
6
  min-width: 140px;
7
7
  flex: 1;
8
8
  }
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./export-helper.cjs`);let t=require(`vue`),n=require(`naive-ui`);const r={class:`n-cascade-selector`},i=(0,t.defineComponent)({name:`C_Cascade`,__name:`index`,props:{data:{},placeholders:{default:()=>[`请选择`,`请选择`,`请选择`]},modelValue:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:i}){let a=e,o=i,s=[0,1,2],c=(0,t.ref)([null,null,null]),l=e=>e===0?a.data:c.value[e-1]&&l(e-1).find(t=>t.value===c.value[e-1])?.children||[],u=(0,t.computed)(()=>s.map(e=>l(e).map(e=>({label:e.label,value:e.value})))),d=e=>{c.value.splice(e+1,s.length-e-1,...Array(s.length-e-1).fill(null)),p()},f=e=>{let t=c.value[e];if(!t)return null;let n=l(e).find(e=>e.value===t);return n?{label:n.label,value:n.value}:null},p=()=>{let e={primary:f(0),secondary:f(1),tertiary:f(2)};o(`update:modelValue`,e),o(`change`,e)};return(0,t.watch)(()=>a.modelValue,e=>{c.value=[e?.primary?.value??null,e?.secondary?.value??null,e?.tertiary?.value??null]},{immediate:!0,deep:!0}),(i,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,r,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s,(r,i)=>(0,t.createVNode)((0,t.unref)(n.NSelect),{key:i,value:c.value[i],"onUpdate:value":[e=>c.value[i]=e,e=>d(i)],options:u.value[i],clearable:``,placeholder:e.placeholders[i],disabled:i>0&&!c.value[i-1],class:`n-select-item`},null,8,[`value`,`onUpdate:value`,`options`,`placeholder`,`disabled`])),64))]))}});var a=e.t(i,[[`__scopeId`,`data-v-cf9c290b`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
1
+ require(`./chunk.cjs`);const e=require(`./export-helper.cjs`);let t=require(`vue`),n=require(`naive-ui`);function r(e,t){return e?[e.primary?.value??null,e.secondary?.value??null,e.tertiary?.value??null]:t}function i(e,t,n=[null,null,null]){let i=r(t,n),a=[null,null,null],o=e;for(let e=0;e<a.length;e++){let t=i[e];if(t===null)break;let n=o.find(e=>e.value===t);if(!n)break;a[e]=n.value,o=n.children??[]}return a}const a={class:`n-cascade-selector`},o=(0,t.defineComponent)({name:`C_Cascade`,__name:`index`,props:{data:{},placeholders:{default:()=>[`请选择`,`请选择`,`请选择`]},modelValue:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:r}){let o=e,s=r,c=[0,1,2],l=(0,t.ref)([null,null,null]),u=e=>e===0?o.data:l.value[e-1]===null?[]:u(e-1).find(t=>t.value===l.value[e-1])?.children||[],d=(0,t.computed)(()=>c.map(e=>u(e).map(e=>({label:e.label,value:e.value})))),f=e=>{l.value.splice(e+1,c.length-e-1,...Array(c.length-e-1).fill(null)),m()},p=e=>{let t=l.value[e];if(t===null)return null;let n=u(e).find(e=>e.value===t);return n?{label:n.label,value:n.value}:null},m=()=>{let e={primary:p(0),secondary:p(1),tertiary:p(2)};s(`update:modelValue`,e),s(`change`,e)};return(0,t.watch)(()=>[o.modelValue,o.data],([e,t])=>{l.value=i(t,e,l.value)},{immediate:!0,deep:!0}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,a,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c,(r,i)=>(0,t.createVNode)((0,t.unref)(n.NSelect),{key:i,value:l.value[i],"onUpdate:value":[e=>l.value[i]=e,e=>f(i)],options:d.value[i],clearable:``,placeholder:e.placeholders[i],disabled:i>0&&l.value[i-1]===null,class:`n-select-item`},null,8,[`value`,`onUpdate:value`,`options`,`placeholder`,`disabled`])),64))]))}});var s=e.t(o,[[`__scopeId`,`data-v-cde7c410`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- import{t as e}from"./export-helper.js";import{Fragment as t,computed as n,createElementBlock as r,createVNode as i,defineComponent as a,openBlock as o,ref as s,renderList as c,unref as l,watch as u}from"vue";import{NSelect as d}from"naive-ui";const f={class:`n-cascade-selector`};var p=e(a({name:`C_Cascade`,__name:`index`,props:{data:{},placeholders:{default:()=>[`请选择`,`请选择`,`请选择`]},modelValue:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:a}){let p=e,m=a,h=[0,1,2],g=s([null,null,null]),_=e=>e===0?p.data:g.value[e-1]&&_(e-1).find(t=>t.value===g.value[e-1])?.children||[],v=n(()=>h.map(e=>_(e).map(e=>({label:e.label,value:e.value})))),y=e=>{g.value.splice(e+1,h.length-e-1,...Array(h.length-e-1).fill(null)),x()},b=e=>{let t=g.value[e];if(!t)return null;let n=_(e).find(e=>e.value===t);return n?{label:n.label,value:n.value}:null},x=()=>{let e={primary:b(0),secondary:b(1),tertiary:b(2)};m(`update:modelValue`,e),m(`change`,e)};return u(()=>p.modelValue,e=>{g.value=[e?.primary?.value??null,e?.secondary?.value??null,e?.tertiary?.value??null]},{immediate:!0,deep:!0}),(n,a)=>(o(),r(`div`,f,[(o(),r(t,null,c(h,(t,n)=>i(l(d),{key:n,value:g.value[n],"onUpdate:value":[e=>g.value[n]=e,e=>y(n)],options:v.value[n],clearable:``,placeholder:e.placeholders[n],disabled:n>0&&!g.value[n-1],class:`n-select-item`},null,8,[`value`,`onUpdate:value`,`options`,`placeholder`,`disabled`])),64))]))}}),[[`__scopeId`,`data-v-cf9c290b`]]);export{p as t};
1
+ import{t as e}from"./export-helper.js";import{Fragment as t,computed as n,createElementBlock as r,createVNode as i,defineComponent as a,openBlock as o,ref as s,renderList as c,unref as l,watch as u}from"vue";import{NSelect as d}from"naive-ui";function f(e,t){return e?[e.primary?.value??null,e.secondary?.value??null,e.tertiary?.value??null]:t}function p(e,t,n=[null,null,null]){let r=f(t,n),i=[null,null,null],a=e;for(let e=0;e<i.length;e++){let t=r[e];if(t===null)break;let n=a.find(e=>e.value===t);if(!n)break;i[e]=n.value,a=n.children??[]}return i}const m={class:`n-cascade-selector`};var h=e(a({name:`C_Cascade`,__name:`index`,props:{data:{},placeholders:{default:()=>[`请选择`,`请选择`,`请选择`]},modelValue:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:a}){let f=e,h=a,g=[0,1,2],_=s([null,null,null]),v=e=>e===0?f.data:_.value[e-1]===null?[]:v(e-1).find(t=>t.value===_.value[e-1])?.children||[],y=n(()=>g.map(e=>v(e).map(e=>({label:e.label,value:e.value})))),b=e=>{_.value.splice(e+1,g.length-e-1,...Array(g.length-e-1).fill(null)),S()},x=e=>{let t=_.value[e];if(t===null)return null;let n=v(e).find(e=>e.value===t);return n?{label:n.label,value:n.value}:null},S=()=>{let e={primary:x(0),secondary:x(1),tertiary:x(2)};h(`update:modelValue`,e),h(`change`,e)};return u(()=>[f.modelValue,f.data],([e,t])=>{_.value=p(t,e,_.value)},{immediate:!0,deep:!0}),(n,a)=>(o(),r(`div`,m,[(o(),r(t,null,c(g,(t,n)=>i(l(d),{key:n,value:_.value[n],"onUpdate:value":[e=>_.value[n]=e,e=>b(n)],options:y.value[n],clearable:``,placeholder:e.placeholders[n],disabled:n>0&&_.value[n-1]===null,class:`n-select-item`},null,8,[`value`,`onUpdate:value`,`options`,`placeholder`,`disabled`])),64))]))}}),[[`__scopeId`,`data-v-cde7c410`]]);export{h as t};