@robot-admin/naive-ui-components 0.14.2 → 0.15.0

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 (255) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +130 -721
  3. package/README_EN.md +137 -658
  4. package/dist/C_ActionBar.css +57 -58
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV.css +215 -222
  8. package/dist/C_AntV2.cjs +2 -2
  9. package/dist/C_AntV2.js +2 -2
  10. package/dist/C_AudioPlayer.css +11 -12
  11. package/dist/C_AvatarGroup.css +5 -6
  12. package/dist/C_Barcode.css +1 -1
  13. package/dist/C_Breadcrumb.css +15 -17
  14. package/dist/C_Breadcrumb2.cjs +1 -1
  15. package/dist/C_Breadcrumb2.js +1 -1
  16. package/dist/C_Captcha.css +45 -47
  17. package/dist/C_Captcha2.cjs +1 -1
  18. package/dist/C_Captcha2.js +1 -1
  19. package/dist/C_Cascade.css +2 -2
  20. package/dist/C_Chat.css +8 -8
  21. package/dist/C_City.css +6 -7
  22. package/dist/C_Code.css +14 -15
  23. package/dist/C_CollapsePanel.css +12 -13
  24. package/dist/C_ContextMenu.css +31 -31
  25. package/dist/C_Cron.css +272 -275
  26. package/dist/C_Date.css +1 -1
  27. package/dist/C_Draggable.css +10 -11
  28. package/dist/C_Editor.css +2 -2
  29. package/dist/C_FilePreview.css +193 -193
  30. package/dist/C_Form.base.css +607 -601
  31. package/dist/C_Form.cjs +1 -1
  32. package/dist/C_Form.css +609 -603
  33. package/dist/C_Form.d.cts +2 -2
  34. package/dist/C_Form.d.ts +2 -2
  35. package/dist/C_Form.js +1 -1
  36. package/dist/C_FormModal.cjs +1 -1
  37. package/dist/C_FormModal.css +14 -20
  38. package/dist/C_FormModal.js +1 -1
  39. package/dist/C_FormModal2.cjs +1 -1
  40. package/dist/C_FormModal2.js +1 -1
  41. package/dist/C_FormSearch.css +53 -55
  42. package/dist/C_FormSearch2.cjs +1 -1
  43. package/dist/C_FormSearch2.js +1 -1
  44. package/dist/C_FormulaEditor.css +314 -315
  45. package/dist/C_FullCalendar.css +14 -16
  46. package/dist/C_FullCalendar2.cjs +1 -1
  47. package/dist/C_FullCalendar2.js +1 -1
  48. package/dist/C_GlobalSearch.css +2 -2
  49. package/dist/C_Guide.css +14 -15
  50. package/dist/C_Icon.css +7 -8
  51. package/dist/C_ImageCropper.css +69 -69
  52. package/dist/C_Language.css +8 -8
  53. package/dist/C_Loading.css +20 -22
  54. package/dist/C_Loading2.cjs +1 -1
  55. package/dist/C_Loading2.js +1 -1
  56. package/dist/C_Login.css +130 -135
  57. package/dist/C_Login2.cjs +1 -1
  58. package/dist/C_Login2.js +1 -1
  59. package/dist/C_Map.css +22 -23
  60. package/dist/C_Markdown.css +2 -2
  61. package/dist/C_Menu.css +2 -5
  62. package/dist/C_Menu2.cjs +1 -1
  63. package/dist/C_Menu2.js +1 -1
  64. package/dist/C_NotificationCenter.css +300 -301
  65. package/dist/C_OrgChart.css +3 -3
  66. package/dist/C_PageLoading.css +35 -39
  67. package/dist/C_QRCode.css +5 -6
  68. package/dist/C_Signature.css +5 -6
  69. package/dist/C_Skeleton.css +6 -7
  70. package/dist/C_SplitPane.css +2 -2
  71. package/dist/C_Steps.css +2 -2
  72. package/dist/C_Table.base.css +1097 -870
  73. package/dist/C_Table.cjs +1 -1
  74. package/dist/C_Table.css +1101 -874
  75. package/dist/C_Table.d.cts +1 -1
  76. package/dist/C_Table.d.ts +1 -1
  77. package/dist/C_Table.js +1 -1
  78. package/dist/C_Tabs.css +2 -2
  79. package/dist/C_TagsView.css +72 -76
  80. package/dist/C_TagsView2.cjs +1 -1
  81. package/dist/C_TagsView2.js +1 -1
  82. package/dist/C_Theme.css +7 -8
  83. package/dist/C_Time.css +1 -1
  84. package/dist/C_Timeline.css +8 -8
  85. package/dist/C_Transfer.css +10 -11
  86. package/dist/C_Tree.css +16 -17
  87. package/dist/C_Upload.css +147 -148
  88. package/dist/C_VideoPlayer.css +280 -281
  89. package/dist/C_VtableGantt.css +2 -2
  90. package/dist/C_WaterFall.css +17 -18
  91. package/dist/C_WorkFlow.css +453 -457
  92. package/dist/C_WorkFlow2.cjs +1 -1
  93. package/dist/C_WorkFlow2.js +1 -1
  94. package/dist/Card.cjs +1 -0
  95. package/dist/Card.js +1 -0
  96. package/dist/Custom.cjs +1 -0
  97. package/dist/Custom.js +1 -0
  98. package/dist/Dynamic.cjs +1 -0
  99. package/dist/Dynamic.js +1 -0
  100. package/dist/Steps.cjs +1 -0
  101. package/dist/Steps.js +1 -0
  102. package/dist/Tabs.cjs +1 -0
  103. package/dist/Tabs.js +1 -0
  104. package/dist/cascader.cjs +1 -0
  105. package/dist/cascader.js +1 -0
  106. package/dist/color-picker.cjs +1 -0
  107. package/dist/color-picker.js +1 -0
  108. package/dist/constants.d.cts +1 -1
  109. package/dist/constants.d.ts +1 -1
  110. package/dist/constants3.d.cts +5 -5
  111. package/dist/constants3.d.ts +5 -5
  112. package/dist/constants4.d.cts +4 -4
  113. package/dist/constants4.d.ts +4 -4
  114. package/dist/constants5.d.cts +2 -2
  115. package/dist/constants5.d.ts +2 -2
  116. package/dist/context.cjs +1 -0
  117. package/dist/context.js +1 -0
  118. package/dist/contracts.d.cts +24 -0
  119. package/dist/contracts.d.ts +24 -0
  120. package/dist/createPageLoading.cjs +1 -1
  121. package/dist/createPageLoading.js +1 -1
  122. package/dist/data.cjs +1 -1
  123. package/dist/data.d.cts +9 -9
  124. package/dist/data.d.ts +9 -9
  125. package/dist/data.js +1 -1
  126. package/dist/date-picker.cjs +1 -0
  127. package/dist/date-picker.js +1 -0
  128. package/dist/feedback.cjs +1 -0
  129. package/dist/feedback.js +1 -0
  130. package/dist/helpers.cjs +1 -1
  131. package/dist/helpers.js +1 -1
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.d.cts +6 -4
  134. package/dist/index.d.ts +6 -4
  135. package/dist/index.js +1 -1
  136. package/dist/index.vue.d.cts +4 -4
  137. package/dist/index.vue.d.ts +4 -4
  138. package/dist/index10.vue.d.cts +3 -3
  139. package/dist/index11.vue.d.ts +2 -2
  140. package/dist/index12.vue.d.cts +2 -2
  141. package/dist/index12.vue.d.ts +1 -1
  142. package/dist/index13.vue.d.cts +1 -1
  143. package/dist/index13.vue.d.ts +3 -3
  144. package/dist/index14.vue.d.cts +3 -3
  145. package/dist/index14.vue.d.ts +7 -7
  146. package/dist/index15.vue.d.cts +7 -7
  147. package/dist/index16.vue.d.ts +1 -1
  148. package/dist/index17.vue.d.cts +1 -1
  149. package/dist/index17.vue.d.ts +1 -1
  150. package/dist/index18.vue.d.cts +1 -1
  151. package/dist/index18.vue.d.ts +1 -1
  152. package/dist/index19.vue.d.cts +1 -1
  153. package/dist/index19.vue.d.ts +2 -9
  154. package/dist/index2.vue.d.cts +2 -2
  155. package/dist/index2.vue.d.ts +2 -2
  156. package/dist/index20.vue.d.cts +1 -1
  157. package/dist/index20.vue.d.ts +1 -1
  158. package/dist/index21.vue.d.cts +1 -1
  159. package/dist/index21.vue.d.ts +1 -1
  160. package/dist/index22.vue.d.cts +2 -2
  161. package/dist/index22.vue.d.ts +2 -2
  162. package/dist/index23.vue.d.cts +1 -1
  163. package/dist/index23.vue.d.ts +1 -1
  164. package/dist/index25.vue.d.cts +4 -4
  165. package/dist/index25.vue.d.ts +4 -4
  166. package/dist/index26.vue.d.cts +1 -1
  167. package/dist/index26.vue.d.ts +1 -1
  168. package/dist/index27.vue.d.cts +4 -4
  169. package/dist/index27.vue.d.ts +4 -4
  170. package/dist/index28.vue.d.cts +1 -1
  171. package/dist/index28.vue.d.ts +1 -1
  172. package/dist/index3.vue.d.cts +4 -4
  173. package/dist/index3.vue.d.ts +4 -4
  174. package/dist/index4.vue.d.cts +2 -9
  175. package/dist/index6.vue.d.ts +3 -3
  176. package/dist/index7.vue.d.cts +3 -3
  177. package/dist/index8.vue.d.ts +2 -2
  178. package/dist/index9.vue.d.cts +2 -2
  179. package/dist/index9.vue.d.ts +3 -3
  180. package/dist/mapUtils.d.cts +2 -2
  181. package/dist/mapUtils.d.ts +2 -2
  182. package/dist/presets.d.cts +8 -2
  183. package/dist/presets.d.ts +8 -2
  184. package/dist/rate.cjs +1 -0
  185. package/dist/rate.js +1 -0
  186. package/dist/slider.cjs +1 -0
  187. package/dist/slider.js +1 -0
  188. package/dist/style.css +10898 -10915
  189. package/dist/time-picker.cjs +1 -0
  190. package/dist/time-picker.js +1 -0
  191. package/dist/upload.cjs +1 -0
  192. package/dist/upload.js +1 -0
  193. package/dist/useActionTask.cjs +1 -0
  194. package/dist/useActionTask.js +1 -0
  195. package/dist/useCalendarEvents.d.cts +1 -1
  196. package/dist/useCalendarEvents.d.ts +1 -1
  197. package/dist/useCollapsePanel.d.cts +4 -4
  198. package/dist/useCollapsePanel.d.ts +4 -4
  199. package/dist/useComponentLocale.cjs +1 -0
  200. package/dist/useComponentLocale.js +1 -0
  201. package/dist/useCropperCore.d.cts +6 -6
  202. package/dist/useCropperCore.d.ts +6 -6
  203. package/dist/useDraggableLayout.d.cts +1 -1
  204. package/dist/useDraggableLayout.d.ts +1 -1
  205. package/dist/useDynamicFormState.cjs +1 -0
  206. package/dist/useDynamicFormState.d.cts +64 -40
  207. package/dist/useDynamicFormState.d.ts +64 -40
  208. package/dist/useDynamicFormState.js +1 -0
  209. package/dist/useEdgeInteraction.d.cts +3 -3
  210. package/dist/useEdgeInteraction.d.ts +3 -3
  211. package/dist/useGlobalSearch.d.cts +1 -1
  212. package/dist/useGlobalSearch.d.ts +1 -1
  213. package/dist/useQRCode.d.cts +2 -2
  214. package/dist/useQRCode.d.ts +2 -2
  215. package/dist/useSearchState.d.cts +15 -725
  216. package/dist/useSearchState.d.ts +15 -834
  217. package/dist/useSignatureHistory.d.cts +4 -4
  218. package/dist/useSignatureHistory.d.ts +4 -4
  219. package/dist/useSplitResize.d.cts +3 -3
  220. package/dist/useSplitResize.d.ts +3 -3
  221. package/dist/useTableQuery.cjs +3 -3
  222. package/dist/useTableQuery.d.cts +73 -34
  223. package/dist/useTableQuery.d.ts +73 -34
  224. package/dist/useTableQuery.js +3 -3
  225. package/dist/useTimeSelection.d.cts +1 -1
  226. package/dist/useTimeSelection.d.ts +1 -1
  227. package/dist/useTreeOperations.d.cts +5 -5
  228. package/dist/useTreeOperations.d.ts +5 -5
  229. package/dist/useWorkflowValidation.d.cts +3 -3
  230. package/dist/useWorkflowValidation.d.ts +3 -3
  231. package/dist/verification.d.cts +4 -4
  232. package/dist/verification.d.ts +4 -4
  233. package/docs/architecture.en.md +83 -0
  234. package/docs/architecture.md +83 -0
  235. package/docs/assets/README.md +47 -0
  236. package/docs/assets/naive-ui-components-banner.png +0 -0
  237. package/docs/assets/naive-ui-components-banner.svg +69 -0
  238. package/docs/assets/naive-ui-components-logo.png +0 -0
  239. package/docs/assets/naive-ui-components-logo.svg +22 -0
  240. package/docs/components.en.md +118 -0
  241. package/docs/components.md +118 -0
  242. package/docs/engineering.en.md +132 -0
  243. package/docs/engineering.md +133 -0
  244. package/docs/guides/usage.en.md +638 -0
  245. package/docs/guides/usage.md +699 -0
  246. package/docs/performance-0.15.0.md +20 -0
  247. package/docs/security-scan-2026-10-06.md +11 -0
  248. package/docs/security-scan-2026-10-18.md +16 -0
  249. package/package.json +35 -12
  250. package/dist/C_Form2.cjs +0 -1
  251. package/dist/C_Form2.js +0 -1
  252. package/dist/config.cjs +0 -1
  253. package/dist/config.d.cts +0 -33
  254. package/dist/config.d.ts +0 -33
  255. package/dist/config.js +0 -1
@@ -1 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,normalizeStyle as d,openBlock as f,renderList as p,resolveComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{NBreadcrumb as v,NBreadcrumbItem as y,NDropdown as b}from"naive-ui";import{useRoute as x}from"vue-router";const S={class:`c-breadcrumb__trigger`},C=[`onClick`];var w=t(u({name:`C_Breadcrumb`,__name:`index`,props:{items:{},showIcon:{type:Boolean,default:!0},iconSize:{default:16},labelFormatter:{}},emits:[`select`],setup(t,{emit:u}){let m=t,w=u,T=x(),E=e=>m.labelFormatter?m.labelFormatter(e):e,D=r(()=>T.matched.filter(e=>e.meta?.title).map(e=>({key:e.path,label:E(e.meta.title||``),icon:e.meta.icon,children:e.children?.length?e.children.map(e=>({key:e.path,label:E(e.meta?.title||``),...e.children?.length&&{children:e.children.map(e=>({key:e.path,label:E(e.meta?.title||``)}))}})):[]}))),O=r(()=>m.items??D.value),k=e=>{w(`select`,e)};return(r,u)=>{let m=b,x=y,w=v;return f(),o(`div`,{class:`c-breadcrumb flex-1 min-w-0`,style:d({"--c-breadcrumb-icon-size":`${t.iconSize}px`,"--c-breadcrumb-gap":`${Math.max(Math.round(t.iconSize/4),2)}px`})},[l(w,null,{default:_(()=>[(f(!0),o(n,null,p(O.value,(n,r)=>(f(),i(x,{key:r},{default:_(()=>[n.children?.length?(f(),i(m,{key:0,options:n.children,onSelect:k},{default:_(()=>[s(`div`,S,[t.showIcon&&n.icon?(f(),i(g(e),{key:0,name:n.icon,size:t.iconSize},null,8,[`name`,`size`])):a(`v-if`,!0),c(` `+h(n.label),1)])]),_:2},1032,[`options`])):(f(),o(`span`,{key:1,class:`c-breadcrumb__link`,onClick:e=>k(n.key)},[t.showIcon&&n.icon?(f(),i(g(e),{key:0,name:n.icon,size:t.iconSize},null,8,[`name`,`size`])):a(`v-if`,!0),c(` `+h(n.label),1)],8,C))]),_:2},1024))),128))]),_:1})],4)}}}),[[`__scopeId`,`data-v-fa9c3f66`]]);export{w as t};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,normalizeStyle as d,openBlock as f,renderList as p,resolveComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{NBreadcrumb as v,NBreadcrumbItem as y,NDropdown as b}from"naive-ui";import{useRoute as x}from"vue-router";const S={class:`c-breadcrumb__trigger`},C=[`onClick`];var w=t(u({name:`C_Breadcrumb`,__name:`index`,props:{items:{},showIcon:{type:Boolean,default:!0},iconSize:{default:16},labelFormatter:{}},emits:[`select`],setup(t,{emit:u}){let m=t,w=u,T=x(),E=e=>m.labelFormatter?m.labelFormatter(e):e,D=r(()=>T.matched.filter(e=>e.meta?.title).map(e=>({key:e.path,label:E(e.meta.title||``),icon:e.meta.icon,children:e.children?.length?e.children.map(e=>({key:e.path,label:E(e.meta?.title||``),...e.children?.length&&{children:e.children.map(e=>({key:e.path,label:E(e.meta?.title||``)}))}})):[]}))),O=r(()=>m.items??D.value),k=e=>{w(`select`,e)};return(r,u)=>{let m=b,x=y,w=v;return f(),o(`div`,{class:`c-breadcrumb flex-1 min-w-0`,style:d({"--c-breadcrumb-icon-size":`${t.iconSize}px`,"--c-breadcrumb-gap":`${Math.max(Math.round(t.iconSize/4),2)}px`})},[l(w,null,{default:_(()=>[(f(!0),o(n,null,p(O.value,(n,r)=>(f(),i(x,{key:r},{default:_(()=>[n.children?.length?(f(),i(m,{key:0,options:n.children,onSelect:k},{default:_(()=>[s(`div`,S,[t.showIcon&&n.icon?(f(),i(g(e),{key:0,name:n.icon,size:t.iconSize},null,8,[`name`,`size`])):a(`v-if`,!0),c(` `+h(n.label),1)])]),_:2},1032,[`options`])):(f(),o(`span`,{key:1,class:`c-breadcrumb__link`,onClick:e=>k(n.key)},[t.showIcon&&n.icon?(f(),i(g(e),{key:0,name:n.icon,size:t.iconSize},null,8,[`name`,`size`])):a(`v-if`,!0),c(` `+h(n.label),1)],8,C))]),_:2},1024))),128))]),_:1})],4)}}}),[[`__scopeId`,`data-v-a86331d5`]]);export{w as t};
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,9 +59,15 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
62
+
63
+ /* layer: default */
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
67
+
68
68
  .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}
69
69
 
70
- /* unplugin-vue-components disabled */.c-captcha-modern[data-v-5875e204] {
70
+ .c-captcha-modern[data-v-6c1c4536] {
71
71
  --cc-height: 44px;
72
72
  --cc-radius: 12px;
73
73
  --cc-color: rgba(255, 255, 255, 0.76);
@@ -80,13 +80,13 @@
80
80
  width: 100%;
81
81
  font-family: inherit;
82
82
  }
83
- .captcha-shell[data-v-5875e204] {
83
+ .captcha-shell[data-v-6c1c4536] {
84
84
  position: relative;
85
85
  width: 100%;
86
86
  max-width: none;
87
87
  margin: 0 auto;
88
88
  }
89
- .captcha-trigger[data-v-5875e204] {
89
+ .captcha-trigger[data-v-6c1c4536] {
90
90
  appearance: none;
91
91
  width: 100%;
92
92
  min-height: var(--cc-height);
@@ -105,7 +105,7 @@
105
105
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
106
106
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
107
107
  }
108
- .captcha-trigger[data-v-5875e204]::after {
108
+ .captcha-trigger[data-v-6c1c4536]::after {
109
109
  content: "";
110
110
  width: 7px;
111
111
  height: 7px;
@@ -116,15 +116,15 @@
116
116
  transform: rotate(45deg);
117
117
  transition: opacity 0.2s ease, transform 0.2s ease;
118
118
  }
119
- .altcha-provider[data-v-5875e204] {
119
+ .altcha-provider[data-v-6c1c4536] {
120
120
  width: 100%;
121
121
  min-height: var(--cc-height);
122
122
  }
123
- .altcha-provider.is-disabled[data-v-5875e204] {
123
+ .altcha-provider.is-disabled[data-v-6c1c4536] {
124
124
  opacity: 0.68;
125
125
  pointer-events: none;
126
126
  }
127
- .altcha-widget[data-v-5875e204] {
127
+ .altcha-widget[data-v-6c1c4536] {
128
128
  display: block;
129
129
  width: 100%;
130
130
  min-height: var(--cc-height);
@@ -139,33 +139,33 @@
139
139
  --altcha-checkbox-size: 20px;
140
140
  --altcha-padding: 9px 12px;
141
141
  }
142
- .captcha-trigger[data-v-5875e204]:hover:not(.disabled) {
142
+ .captcha-trigger[data-v-6c1c4536]:hover:not(.disabled) {
143
143
  transform: translateY(-1px);
144
144
  border-color: var(--cc-border-hover);
145
145
  background: var(--cc-bg-hover);
146
146
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 22px rgba(5, 12, 30, 0.18);
147
147
  }
148
- .captcha-trigger[data-v-5875e204]:hover:not(.disabled)::after {
148
+ .captcha-trigger[data-v-6c1c4536]:hover:not(.disabled)::after {
149
149
  opacity: 0.86;
150
150
  transform: translateX(2px) rotate(45deg);
151
151
  }
152
- .captcha-trigger.disabled[data-v-5875e204] {
152
+ .captcha-trigger.disabled[data-v-6c1c4536] {
153
153
  opacity: 0.68;
154
154
  cursor: not-allowed;
155
155
  }
156
- .captcha-trigger[data-v-5875e204]:focus-visible,
157
- .refresh-button[data-v-5875e204]:focus-visible {
156
+ .captcha-trigger[data-v-6c1c4536]:focus-visible,
157
+ .refresh-button[data-v-6c1c4536]:focus-visible {
158
158
  outline: 2px solid var(--cc-focus);
159
159
  outline-offset: 2px;
160
160
  }
161
- .captcha-content[data-v-5875e204] {
161
+ .captcha-content[data-v-6c1c4536] {
162
162
  display: flex;
163
163
  align-items: center;
164
164
  justify-content: flex-start;
165
165
  gap: 8px;
166
166
  flex: 1;
167
167
  }
168
- .captcha-icon[data-v-5875e204] {
168
+ .captcha-icon[data-v-6c1c4536] {
169
169
  width: 22px;
170
170
  height: 22px;
171
171
  display: flex;
@@ -174,19 +174,19 @@
174
174
  flex-shrink: 0;
175
175
  color: var(--cc-icon-color);
176
176
  }
177
- .captcha-state-icon[data-v-5875e204] {
177
+ .captcha-state-icon[data-v-6c1c4536] {
178
178
  transition: color 0.2s ease, transform 0.2s ease;
179
179
  }
180
- .captcha-state-icon.is-spinning[data-v-5875e204] {
181
- animation: captcha-spin-5875e204 0.8s linear infinite;
180
+ .captcha-state-icon.is-spinning[data-v-6c1c4536] {
181
+ animation: captcha-spin-6c1c4536 0.8s linear infinite;
182
182
  }
183
- .captcha-state-icon.is-success[data-v-5875e204] {
183
+ .captcha-state-icon.is-success[data-v-6c1c4536] {
184
184
  color: #65d39a;
185
185
  }
186
- .captcha-state-icon.is-error[data-v-5875e204] {
186
+ .captcha-state-icon.is-error[data-v-6c1c4536] {
187
187
  color: #ff7f8d;
188
188
  }
189
- .captcha-text[data-v-5875e204] {
189
+ .captcha-text[data-v-6c1c4536] {
190
190
  color: inherit;
191
191
  font-size: 13px;
192
192
  font-weight: 500;
@@ -194,7 +194,7 @@
194
194
  text-align: center;
195
195
  white-space: nowrap;
196
196
  }
197
- .refresh-button[data-v-5875e204] {
197
+ .refresh-button[data-v-6c1c4536] {
198
198
  appearance: none;
199
199
  border: 0;
200
200
  background: transparent;
@@ -213,7 +213,7 @@
213
213
  color: rgba(255, 255, 255, 0.6);
214
214
  flex-shrink: 0;
215
215
  }
216
- .c-captcha-modern[data-theme=light][data-v-5875e204] {
216
+ .c-captcha-modern[data-theme=light][data-v-6c1c4536] {
217
217
  --cc-color: rgba(15, 23, 42, 0.72);
218
218
  --cc-icon-color: #4778dc;
219
219
  --cc-bg: rgba(15, 23, 42, 0.035);
@@ -221,38 +221,38 @@
221
221
  --cc-border: rgba(15, 23, 42, 0.12);
222
222
  --cc-border-hover: rgba(71, 120, 220, 0.42);
223
223
  }
224
- .c-captcha-modern[data-theme=light] .captcha-text[data-v-5875e204] {
224
+ .c-captcha-modern[data-theme=light] .captcha-text[data-v-6c1c4536] {
225
225
  color: inherit;
226
226
  }
227
- .c-captcha-modern[data-theme=light] .refresh-button[data-v-5875e204] {
227
+ .c-captcha-modern[data-theme=light] .refresh-button[data-v-6c1c4536] {
228
228
  color: rgba(0, 0, 0, 0.52);
229
229
  }
230
- .refresh-button[data-v-5875e204]:hover {
230
+ .refresh-button[data-v-6c1c4536]:hover {
231
231
  color: rgba(255, 255, 255, 0.9);
232
232
  background: rgba(255, 255, 255, 0.08);
233
233
  transform: translateY(-50%) rotate(180deg);
234
234
  }
235
- .captcha-trigger.verified[data-v-5875e204] {
235
+ .captcha-trigger.verified[data-v-6c1c4536] {
236
236
  color: rgba(183, 246, 211, 0.92);
237
237
  border-color: rgba(101, 211, 154, 0.4);
238
238
  background: rgba(66, 188, 124, 0.1);
239
239
  }
240
- .captcha-trigger.verified[data-v-5875e204]::after,
241
- .captcha-trigger.error[data-v-5875e204]::after {
240
+ .captcha-trigger.verified[data-v-6c1c4536]::after,
241
+ .captcha-trigger.error[data-v-6c1c4536]::after {
242
242
  opacity: 0;
243
243
  }
244
- .captcha-trigger.error[data-v-5875e204] {
244
+ .captcha-trigger.error[data-v-6c1c4536] {
245
245
  color: rgba(255, 205, 211, 0.92);
246
246
  border-color: rgba(255, 127, 141, 0.42);
247
247
  background: rgba(245, 108, 108, 0.1);
248
- animation: captcha-shake-5875e204 0.3s ease;
248
+ animation: captcha-shake-6c1c4536 0.3s ease;
249
249
  }
250
- @keyframes captcha-spin-5875e204 {
250
+ @keyframes captcha-spin-6c1c4536 {
251
251
  to {
252
252
  transform: rotate(360deg);
253
253
  }
254
254
  }
255
- @keyframes captcha-shake-5875e204 {
255
+ @keyframes captcha-shake-6c1c4536 {
256
256
  0%, 100% {
257
257
  transform: translateX(0);
258
258
  }
@@ -264,26 +264,24 @@ to {
264
264
  }
265
265
  }
266
266
  @media (max-width: 768px) {
267
- .captcha-trigger[data-v-5875e204] {
267
+ .captcha-trigger[data-v-6c1c4536] {
268
268
  min-height: 42px;
269
269
  padding: 0 13px;
270
270
  }
271
- .captcha-icon[data-v-5875e204] {
271
+ .captcha-icon[data-v-6c1c4536] {
272
272
  width: 20px;
273
273
  height: 20px;
274
274
  }
275
- .captcha-text[data-v-5875e204] {
275
+ .captcha-text[data-v-6c1c4536] {
276
276
  font-size: 13px;
277
277
  }
278
- .refresh-button[data-v-5875e204] {
278
+ .refresh-button[data-v-6c1c4536] {
279
279
  width: 24px;
280
280
  height: 24px;
281
281
  font-size: 12px;
282
282
  right: 10px;
283
283
  }
284
284
  }
285
- /* unplugin-vue-components disabled */
285
+
286
286
  /* layer: default */
287
- .visible[data-v-5875e204]{visibility:visible;}
288
- .table[data-v-5875e204]{display:table;}
289
- .filter[data-v-5875e204]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
287
+ .visible[data-v-6c1c4536]{visibility:visible;}
@@ -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-5875e204`]]);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(`./useComponentLocale.cjs`),t=require(`./feedback.cjs`),n=require(`./C_Icon2.cjs`),r=require(`./export-helper.cjs`);let i=require(`vue`);var a=class extends Error{constructor(e,t,n){super(t),this.code=e,this.cause=n,this.name=`CaptchaVerificationError`}};let o=0;function s(){let e=Date.now();return{token:`puzzle_${e}_${globalThis.crypto?.randomUUID?.()??`${++o}`}`,timestamp:e,type:`puzzle-captcha`}}async function c(e,t={}){let{verifier:n,requireServerVerification:r=!1,signal:i}=t,o=t.timeout??1e4,s=Number.isFinite(o)&&o>0?o:1e4;if(i?.aborted)throw new a(`aborted`,`Verification was cancelled.`);if(!n){if(r)throw new a(`missing-verifier`,`Server verification is required but no verifier was configured.`);return{...e,verifiedBy:`local`}}let c=new AbortController,l=()=>c.abort(i?.reason);i?.addEventListener(`abort`,l,{once:!0});let u,d=new Promise((e,t)=>{u=setTimeout(()=>{c.abort(`timeout`),t(new a(`timeout`,`Verification timed out after ${s}ms.`))},s)}),f=new Promise((e,t)=>{c.signal.addEventListener(`abort`,()=>{c.signal.reason!==`timeout`&&t(new a(`aborted`,`Verification was cancelled.`))},{once:!0})});try{let t=await Promise.race([Promise.resolve(n({...e,signal:c.signal})),d,f]),i=typeof t==`boolean`?{valid:t}:t;if(!i.valid)throw new a(`rejected`,i.message||`Server verification rejected the challenge.`);let o=i.token?.trim();if(r&&!o)throw new a(`missing-token`,`Server verification did not return a trusted token.`);return{...e,token:o||e.token,verifiedBy:`server`}}catch(e){throw e instanceof a?e:new a(`rejected`,`Server verification failed.`,e)}finally{u&&clearTimeout(u),i?.removeEventListener(`abort`,l)}}const l=[`data-theme`],u=[`disabled`,`aria-busy`],d={class:`captcha-content`},f={class:`captcha-icon`,"aria-hidden":`true`},p={class:`captcha-text`},ee={key:1,class:`captcha-shell`},te=[`disabled`,`aria-busy`,`aria-label`],m={class:`captcha-content`},h={class:`captcha-icon`,"aria-hidden":`true`},ne={class:`captcha-text`,"aria-live":`polite`},re={key:0},g={key:1,class:`success-text`},_={key:2,class:`error-text`},ie={key:3},v=[`title`,`aria-label`],y=(0,i.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(r,{expose:o,emit:y}){let b=r,x=y,S=t.t(()=>b.feedback),{t:C}=e.t(()=>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`},ae=typeof window>`u`?()=>null:(0,i.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()}}),T=(0,i.ref)(!1),E=(0,i.ref)(!1),D=(0,i.ref)(!1),O=(0,i.ref)(!1),k=(0,i.ref)(null),A=(0,i.ref)(!1),j=(0,i.ref)(null),M=(0,i.ref)(null),N=null,P=null,F=null,I=0,L=!1,R=(0,i.computed)(()=>b.provider===`altcha`),oe=(0,i.computed)(()=>b.images.length>0?b.images:void 0),z=(0,i.computed)(()=>O.value?{name:`captcha-verifying`,path:w.verifying}:E.value?{name:`captcha-success`,path:w.success}:D.value?{name:`captcha-error`,path:w.error}:{name:`captcha-default`,path:w.default}),se=(0,i.computed)(()=>O.value?C(`captcha.verifying`):E.value?C(`captcha.success`):D.value?C(`captcha.failed`):b.triggerText??C(`captcha.trigger`)),B=()=>{N&&=(clearTimeout(N),null)},V=e=>{L!==e&&(L=e,x(`visible-change`,e))},H=e=>{T.value!==e&&(T.value=e,V(e))},U=(e,t)=>{E.value=!1,D.value=!0,M.value=null,B(),N=setTimeout(()=>{D.value=!1,N=null},3e3),x(`fail`,e),x(`change`,!1),t&&x(`verify-error`,t)},W=(e,t)=>P!==e||t instanceof a&&t.code===`aborted`,G=e=>{P===e&&(P=null,O.value=!1,V(!1))},K=async(e,t=b.requireServerVerification)=>{D.value=!1,P?.abort();let n=new AbortController;P=n,O.value=!0,V(!0);try{let r=await c(e,{verifier:b.verifier,timeout:b.verificationTimeout,requireServerVerification:t,signal:n.signal});if(P!==n)return;M.value=r,E.value=!0,x(`success`,r),x(`change`,!0)}catch(t){if(W(n,t))return;let r=t instanceof Error?t.message:C(`captcha.failed`);S.error(C(`captcha.verifyFailed`),t),U(r,t),e.type===`altcha`&&F?.reset()}finally{G(n)}},ce=async()=>{T.value=!1,await K(s())},le=()=>{H(!1),U(C(`captcha.puzzleFailed`))},ue=()=>{H(!1)},q=e=>{let t=e.detail?.payload;if(!t?.trim()){U(C(`captcha.failed`)),F?.reset(),V(!1);return}K({token:t,timestamp:Date.now(),type:`altcha`},!0)},J=e=>{let t=e.detail?.state;if(t===`verifying`){V(!0);return}if(t===`error`){U(C(`captcha.failed`)),V(!1);return}t===`expired`&&(E.value=!1,M.value=null,x(`change`,!1),V(!1))},Y=()=>{F&&=(F.removeEventListener(`verified`,q),F.removeEventListener(`statechange`,J),null)},X=(e,t)=>{if(e!==I)return;Y(),A.value=!1;let n=t instanceof Error?t:Error(C(`captcha.loadFailed`));j.value=n,S.error(C(`captcha.loadFailed`),n),x(`load-error`,n)},de=async(e,t)=>{if(await Promise.all([import(`altcha`),import(`altcha/i18n/zh-cn`)]),e!==I||(A.value=!0,await(0,i.nextTick)(),e!==I))return;let n=k.value?.querySelector(`altcha-widget`);if(!n)throw Error(`ALTCHA widget failed to initialize.`);F=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=++I;Y(),A.value=!1,j.value=null;let t=b.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(!(b.disabled||O.value||E.value)){if(D.value=!1,R.value){if(!F){Z();return}F.verify().catch(e=>{let t=e instanceof Error?e:Error(String(e));S.error(C(`captcha.verifyFailed`),t),U(t.message,t),V(!1)});return}H(!0)}},$=()=>{P?.abort(),P=null,O.value=!1,E.value=!1,D.value=!1,H(!1),F?.reset(),M.value=null,B(),x(`reset`),x(`change`,!1)};return o({validate:()=>E.value,getToken:()=>M.value?.token??``,getVerificationData:()=>M.value,reset:$,show:Q}),(0,i.onMounted)(()=>{R.value&&Z()}),(0,i.watch)(()=>[b.provider,b.challengeUrl,b.theme,b.locale?.locale,b.verificationTimeout],()=>{if(R.value){Z();return}++I,Y(),A.value=!1,j.value=null}),(0,i.onBeforeUnmount)(()=>{++I,Y(),P?.abort(),B()}),(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:`c-captcha-modern`,"data-theme":r.theme},[R.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,ref_key:`altchaHost`,ref:k,class:(0,i.normalizeClass)([`altcha-provider`,{"is-disabled":r.disabled||O.value}])},[A.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(`altcha-widget`),{key:0,class:`altcha-widget`})):((0,i.openBlock)(),(0,i.createElementBlock)(`button`,{key:1,type:`button`,class:(0,i.normalizeClass)([`captcha-trigger`,{error:j.value,disabled:r.disabled||!j.value}]),disabled:r.disabled||!j.value,"aria-busy":!j.value,onClick:Z},[(0,i.createElementVNode)(`span`,d,[(0,i.createElementVNode)(`span`,f,[(0,i.createVNode)(n.t,{name:j.value?`captcha-error`:`captcha-verifying`,type:`svg`,"svg-path":j.value?w.error:w.verifying,size:18,class:(0,i.normalizeClass)([`captcha-state-icon`,{"is-error":j.value,"is-spinning":!j.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,i.createElementVNode)(`span`,p,(0,i.toDisplayString)(j.value?(0,i.unref)(C)(`captcha.loadFailed`):(0,i.unref)(C)(`captcha.verifying`)),1)])],10,u))],2)):((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ee,[(0,i.createElementVNode)(`button`,{type:`button`,class:(0,i.normalizeClass)([`captcha-trigger`,{verified:E.value,error:D.value,disabled:r.disabled||O.value}]),disabled:r.disabled||O.value||E.value,"aria-busy":O.value,"aria-label":se.value,onClick:Q},[(0,i.createElementVNode)(`span`,m,[(0,i.createElementVNode)(`span`,h,[(0,i.createVNode)(n.t,{name:z.value.name,type:`svg`,"svg-path":z.value.path,size:20,class:(0,i.normalizeClass)([`captcha-state-icon`,{"is-spinning":O.value,"is-success":E.value,"is-error":D.value}])},null,8,[`name`,`svg-path`,`class`])]),(0,i.createElementVNode)(`span`,ne,[O.value?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,re,(0,i.toDisplayString)((0,i.unref)(C)(`captcha.verifying`)),1)):E.value?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,g,(0,i.toDisplayString)((0,i.unref)(C)(`captcha.success`)),1)):D.value?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,_,(0,i.toDisplayString)((0,i.unref)(C)(`captcha.failed`)),1)):((0,i.openBlock)(),(0,i.createElementBlock)(`span`,ie,(0,i.toDisplayString)(r.triggerText??(0,i.unref)(C)(`captcha.trigger`)),1))])])],10,te),E.value||D.value?((0,i.openBlock)(),(0,i.createElementBlock)(`button`,{key:0,type:`button`,class:`refresh-button`,title:(0,i.unref)(C)(`captcha.reset`),"aria-label":(0,i.unref)(C)(`captcha.reset`),onClick:$},[(0,i.createVNode)(n.t,{name:`captcha-refresh`,type:`svg`,"svg-path":w.refresh,size:16},null,8,[`svg-path`])],8,v)):(0,i.createCommentVNode)(`v-if`,!0)])),R.value?(0,i.createCommentVNode)(`v-if`,!0):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(ae),{key:2,show:T.value,imgs:oe.value,onSuccess:ce,onClose:ue,onFail:le},null,8,[`show`,`imgs`]))],8,l))}});var b=r.t(y,[[`__scopeId`,`data-v-6c1c4536`]]);Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return s}}),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-5875e204`]]);export{b as i,_ as n,y as r,S as t};
1
+ import{t as e}from"./useComponentLocale.js";import{t}from"./feedback.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-6c1c4536`]]);export{b as i,_ as n,y as r,S as t};
@@ -1,6 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */.n-cascade-selector[data-v-43de5260] {
3
+ .n-cascade-selector[data-v-43de5260] {
4
4
  display: flex;
5
5
  gap: 12px;
6
6
  }
@@ -8,6 +8,6 @@
8
8
  min-width: 140px;
9
9
  flex: 1;
10
10
  }
11
- /* unplugin-vue-components disabled */
11
+
12
12
  /* layer: default */
13
13
  .flex[data-v-43de5260]{display:flex;}
package/dist/C_Chat.css CHANGED
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,7 +59,13 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
68
- /* unplugin-vue-components disabled *//* ─── CSS 变量(基于项目主题变量,自动适配明暗) ───────────────────────── */
62
+
63
+ /* layer: default */
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
67
+
68
+ /* ─── CSS 变量(基于项目主题变量,自动适配明暗) ───────────────────────── */
69
69
  .c-chat[data-v-281bb0dd] {
70
70
  --chat-bg: var(--c-bg-card, var(--card-color, #fff));
71
71
  --chat-sidebar-bg: var(--c-bg-body, var(--body-color, #f8fafc));
package/dist/C_City.css CHANGED
@@ -1,11 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .visible[data-v-e6927070]{visibility:visible;}
6
- .block[data-v-e6927070]{display:block;}
7
-
8
- /* unplugin-vue-components disabled */.city-selector-trigger[data-v-e6927070] {
3
+ .city-selector-trigger[data-v-e6927070] {
9
4
  background: transparent;
10
5
  font: inherit;
11
6
  color: inherit;
@@ -158,4 +153,8 @@
158
153
  }
159
154
  [data-v-e6927070] .n-scrollbar .n-scrollbar-content {
160
155
  padding-right: 12px;
161
- }
156
+ }
157
+
158
+ /* layer: default */
159
+ .visible[data-v-e6927070]{visibility:visible;}
160
+ .block[data-v-e6927070]{display:block;}
package/dist/C_Code.css CHANGED
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,6 +59,12 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
62
+
63
+ /* layer: default */
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
67
+
68
68
  pre code.hljs {
69
69
  display: block;
70
70
  overflow-x: auto;
@@ -183,13 +183,7 @@ code.hljs {
183
183
  /* purposely ignored */
184
184
 
185
185
  }
186
- /* unplugin-vue-components disabled */
187
- /* layer: default */
188
- .ml-2[data-v-9e3bbbe0]{margin-left:0.5rem;}
189
- .mr-2[data-v-9e3bbbe0]{margin-right:0.5rem;}
190
- .px[data-v-9e3bbbe0]{padding-left:1rem;padding-right:1rem;}
191
-
192
- /* unplugin-vue-components disabled */.c-code-wrapper[data-v-9e3bbbe0] {
186
+ .c-code-wrapper[data-v-9e3bbbe0] {
193
187
  --c-code-copy-bg: rgba(255, 255, 255, 0.9);
194
188
  --c-code-copy-shadow: rgba(0, 0, 0, 0.1);
195
189
  --c-code-loading-bg: rgba(255, 255, 255, 0.8);
@@ -321,4 +315,9 @@ code.hljs {
321
315
  }
322
316
  .ml-2[data-v-9e3bbbe0] {
323
317
  margin-left: 0.5rem;
324
- }
318
+ }
319
+
320
+ /* layer: default */
321
+ .ml-2[data-v-9e3bbbe0]{margin-left:0.5rem;}
322
+ .mr-2[data-v-9e3bbbe0]{margin-right:0.5rem;}
323
+ .px[data-v-9e3bbbe0]{padding-left:1rem;padding-right:1rem;}
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,13 +59,13 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
68
- /* unplugin-vue-components disabled */
62
+
69
63
  /* layer: default */
70
- .block[data-v-d8f0f7a0]{display:block;}
71
- .hidden[data-v-d8f0f7a0]{display:none;}
72
- .px[data-v-d8f0f7a0]{padding-left:1rem;padding-right:1rem;}
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
73
67
 
74
- /* unplugin-vue-components disabled *//* ─── 变量 ───────────────────────────────────────── */
68
+ /* ─── 变量 ───────────────────────────────────────── */
75
69
  /* ─── 容器 ───────────────────────────────────────── */
76
70
  .c-collapse-panel[data-v-d8f0f7a0] {
77
71
  width: 100%;
@@ -247,4 +241,9 @@
247
241
  font-size: 14px;
248
242
  line-height: 1.6;
249
243
  color: var(--c-text-2, #666);
250
- }
244
+ }
245
+
246
+ /* layer: default */
247
+ .block[data-v-d8f0f7a0]{display:block;}
248
+ .hidden[data-v-d8f0f7a0]{display:none;}
249
+ .px[data-v-d8f0f7a0]{padding-left:1rem;padding-right:1rem;}
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,13 +59,34 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
68
- /* unplugin-vue-components disabled */
62
+
69
63
  /* layer: default */
70
- .visible[data-v-5173cc2e]{visibility:visible;}
71
- .resize[data-v-5173cc2e]{resize:both;}
72
- .px[data-v-5173cc2e]{padding-left:1rem;padding-right:1rem;}
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
67
+
73
68
 
74
- /* unplugin-vue-components disabled */.c-context-menu {
69
+ /* layer: shortcuts */
70
+ .container[data-v-346ba072]{width:100%;}
71
+ @media (min-width: 640px){
72
+ .container[data-v-346ba072]{max-width:640px;}
73
+ }
74
+ @media (min-width: 768px){
75
+ .container[data-v-346ba072]{max-width:768px;}
76
+ }
77
+ @media (min-width: 1024px){
78
+ .container[data-v-346ba072]{max-width:1024px;}
79
+ }
80
+ @media (min-width: 1280px){
81
+ .container[data-v-346ba072]{max-width:1280px;}
82
+ }
83
+ @media (min-width: 1536px){
84
+ .container[data-v-346ba072]{max-width:1536px;}
85
+ }
86
+ /* layer: default */
87
+ .px[data-v-346ba072]{padding-left:1rem;padding-right:1rem;}
88
+
89
+ .c-context-menu {
75
90
  --ctx-bg: var(--c-bg-card, #fff);
76
91
  --ctx-bg-blur: 12px;
77
92
  --ctx-border: var(--c-border, #e5e7eb);
@@ -192,23 +207,8 @@
192
207
  inset: 0;
193
208
  z-index: 9998;
194
209
  }
195
- /* unplugin-vue-components disabled */
196
- /* layer: shortcuts */
197
- .container[data-v-346ba072]{width:100%;}
198
- @media (min-width: 640px){
199
- .container[data-v-346ba072]{max-width:640px;}
200
- }
201
- @media (min-width: 768px){
202
- .container[data-v-346ba072]{max-width:768px;}
203
- }
204
- @media (min-width: 1024px){
205
- .container[data-v-346ba072]{max-width:1024px;}
206
- }
207
- @media (min-width: 1280px){
208
- .container[data-v-346ba072]{max-width:1280px;}
209
- }
210
- @media (min-width: 1536px){
211
- .container[data-v-346ba072]{max-width:1536px;}
212
- }
210
+
213
211
  /* layer: default */
214
- .px[data-v-346ba072]{padding-left:1rem;padding-right:1rem;}
212
+ .visible[data-v-5173cc2e]{visibility:visible;}
213
+ .resize[data-v-5173cc2e]{resize:both;}
214
+ .px[data-v-5173cc2e]{padding-left:1rem;padding-right:1rem;}