@qynpm/ui 1.0.39 → 1.0.41

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 (130) hide show
  1. package/README.md +1797 -1797
  2. package/dist/index.cjs +15 -15
  3. package/dist/index.mjs +17 -17
  4. package/dist/qy-action-bar/index.cjs +1 -1
  5. package/dist/qy-action-bar/index.mjs +1 -1
  6. package/dist/qy-button/index.cjs +2 -2
  7. package/dist/qy-button/index.mjs +2 -2
  8. package/dist/qy-checkbox/index.cjs +1 -1
  9. package/dist/qy-checkbox/index.mjs +1 -1
  10. package/dist/qy-checkbox-group/index.cjs +1 -1
  11. package/dist/qy-checkbox-group/index.mjs +1 -1
  12. package/dist/qy-dialog/index.cjs +1 -1
  13. package/dist/qy-dialog/index.mjs +1 -1
  14. package/dist/qy-dropdown/index.cjs +2 -2
  15. package/dist/qy-dropdown/index.mjs +2 -2
  16. package/dist/qy-file-picker/index.cjs +1 -1
  17. package/dist/qy-file-picker/index.mjs +1 -1
  18. package/dist/qy-form-section/index.cjs +1 -1
  19. package/dist/qy-form-section/index.mjs +1 -1
  20. package/dist/qy-fullscreen/index.cjs +1 -1
  21. package/dist/qy-fullscreen/index.mjs +1 -1
  22. package/dist/qy-icon/index.cjs +1 -1
  23. package/dist/qy-icon/index.mjs +2 -2
  24. package/dist/qy-icon-picker/index.cjs +2 -2
  25. package/dist/qy-icon-picker/index.mjs +2 -2
  26. package/dist/qy-image-upload/index.cjs +1 -1
  27. package/dist/qy-image-upload/index.mjs +1 -1
  28. package/dist/qy-legacy-selection-dialog/index.cjs +1 -1
  29. package/dist/qy-legacy-selection-dialog/index.mjs +1 -1
  30. package/dist/qy-menu-actions/index.cjs +1 -1
  31. package/dist/qy-menu-actions/index.mjs +1 -1
  32. package/dist/qy-radio/index.cjs +1 -1
  33. package/dist/qy-radio/index.mjs +1 -1
  34. package/dist/qy-radio-group/index.cjs +1 -1
  35. package/dist/qy-radio-group/index.mjs +1 -1
  36. package/dist/qy-record-quote-search/index.cjs +1 -1
  37. package/dist/qy-record-quote-search/index.mjs +1 -1
  38. package/dist/qy-remark-image/index.cjs +1 -1
  39. package/dist/qy-remark-image/index.mjs +1 -1
  40. package/dist/qy-remote-select/index.cjs +1 -1
  41. package/dist/qy-remote-select/index.mjs +1 -1
  42. package/dist/qy-search-input/index.cjs +1 -1
  43. package/dist/qy-search-input/index.mjs +1 -1
  44. package/dist/qy-select/index.cjs +1 -1
  45. package/dist/qy-select/index.mjs +1 -1
  46. package/dist/qy-selection-dialog/index.cjs +1 -1
  47. package/dist/qy-selection-dialog/index.mjs +1 -1
  48. package/dist/qy-switch/index.cjs +1 -1
  49. package/dist/qy-switch/index.mjs +1 -1
  50. package/dist/qy-table-column-settings/index.cjs +1 -1
  51. package/dist/qy-table-column-settings/index.mjs +1 -1
  52. package/dist/qy-tag/index.cjs +1 -1
  53. package/dist/qy-tag/index.mjs +1 -1
  54. package/dist/qy-upload/index.cjs +1 -1
  55. package/dist/qy-upload/index.mjs +1 -1
  56. package/dist/shared/{index-lKF1vwdE.mjs → index-2D5AFexl.mjs} +1 -1
  57. package/dist/shared/{index-BzjGYfVd.mjs → index-8Iwma3ls.mjs} +3 -3
  58. package/dist/shared/{index-D7WmSi5s.mjs → index-B3XwO-Lc.mjs} +1 -1
  59. package/dist/shared/{index-GQheV777.mjs → index-B3YHS3Aa.mjs} +1 -1
  60. package/dist/shared/{index-DQosPVrl.mjs → index-BEcS8y8g.mjs} +5 -5
  61. package/dist/shared/{index-DpSbQfft.mjs → index-BNssRW4d.mjs} +1 -1
  62. package/dist/shared/{index-nVNx7f9k.mjs → index-BSTMCPDj.mjs} +5 -5
  63. package/dist/shared/{index-BXWEn5kQ.mjs → index-BhvOSOfi.mjs} +1 -1
  64. package/dist/shared/{index-CJeoAmoJ.mjs → index-BjqJCq-6.mjs} +2 -2
  65. package/dist/shared/{index-D377Dw9z.cjs → index-Bq9quq2D.cjs} +1 -1
  66. package/dist/shared/{index-D8OXRBGc.mjs → index-ByQyMTPg.mjs} +1 -1
  67. package/dist/shared/{index-DYLQNCm_.cjs → index-CUlhX6fW.cjs} +1 -1
  68. package/dist/shared/{index-9GEoEe00.cjs → index-CVWru9T3.cjs} +1 -1
  69. package/dist/shared/{index-Db0-JPH3.cjs → index-CVYNG8Fc.cjs} +1 -1
  70. package/dist/shared/{index-KNAOQ6lE.mjs → index-Co84fsS5.mjs} +1 -1
  71. package/dist/shared/{index-Dt5TyzGy.cjs → index-D27mwR57.cjs} +1 -1
  72. package/dist/shared/{index-CCd7dB4w.cjs → index-DAztNKSp.cjs} +1 -1
  73. package/dist/shared/{index-G3BezuiV.cjs → index-DKw-seoh.cjs} +1 -1
  74. package/dist/shared/{index-Bd_aS-_F.mjs → index-DRIoLeFE.mjs} +1 -1
  75. package/dist/shared/{index-MPd3qxAh.cjs → index-DTbGlDqr.cjs} +1 -1
  76. package/dist/shared/{index-D1Xkf7rL.mjs → index-DXZ6Y6wd.mjs} +2 -2
  77. package/dist/shared/{index-Br_34fum.cjs → index-DiEag4sK.cjs} +1 -1
  78. package/dist/shared/{index-BFG8tzQV.mjs → index-DvFMgAcu.mjs} +1 -1
  79. package/dist/shared/{index-_IQS5Lxm.mjs → index-E3zI0Ugj.mjs} +24 -24
  80. package/dist/shared/{index-BsDC3meI.cjs → index-Mj7JZt7y.cjs} +1 -1
  81. package/dist/shared/{index-elwxiSmc.cjs → index-MyDDX-zj.cjs} +1 -1
  82. package/dist/shared/{index-Dus42W4E.cjs → index-R_hSPemR.cjs} +1 -1
  83. package/dist/shared/{index-MNEYnZEw.cjs → index-d76Z3yrB.cjs} +1 -1
  84. package/dist/shared/{index-D0hSquu3.cjs → index-gMrQlV5n.cjs} +1 -1
  85. package/dist/shared/{index-C1gEZRI5.cjs → index-rSrDnOpu.cjs} +1 -1
  86. package/dist/shared/{index.vue_vue_type_script_setup_true_lang-CcbBUYM3.cjs → index.vue_vue_type_script_setup_true_lang-DbLp1kvW.cjs} +1 -1
  87. package/dist/shared/{index.vue_vue_type_script_setup_true_lang-OmrHTMpe.mjs → index.vue_vue_type_script_setup_true_lang-Dn29lZTs.mjs} +1 -1
  88. package/dist/shared/{index.vue_vue_type_script_setup_true_lang-Cswf_owk.cjs → index.vue_vue_type_script_setup_true_lang-UBQQ6Z03.cjs} +1 -1
  89. package/dist/shared/{index.vue_vue_type_script_setup_true_lang-BvnOeUIM.mjs → index.vue_vue_type_script_setup_true_lang-r7iyZzDS.mjs} +1 -1
  90. package/dist/shared/{index.vue_vue_type_style_index_0_lang-DOAbOPGO.mjs → index.vue_vue_type_style_index_0_lang-B6cv-Ra3.mjs} +2 -1
  91. package/dist/shared/{index.vue_vue_type_style_index_0_lang-BfQd7yxi.cjs → index.vue_vue_type_style_index_0_lang-CU9gg9t5.cjs} +1 -1
  92. package/dist/shared/{index.vue_vue_type_style_index_0_lang-Daww52B9.mjs → index.vue_vue_type_style_index_0_lang-DbQkbvgb.mjs} +2 -2
  93. package/dist/shared/{index.vue_vue_type_style_index_0_lang-D2CH70ZX.cjs → index.vue_vue_type_style_index_0_lang-OHPkiKBo.cjs} +1 -1
  94. package/index.d.ts +592 -592
  95. package/package.json +500 -496
  96. package/qy-action-bar/index.d.ts +5 -5
  97. package/qy-aside/index.d.ts +47 -47
  98. package/qy-button/index.d.ts +34 -34
  99. package/qy-checkbox/index.d.ts +45 -45
  100. package/qy-checkbox-group/index.d.ts +48 -48
  101. package/qy-col/index.d.ts +65 -65
  102. package/qy-color-picker/index.d.ts +36 -36
  103. package/qy-container/index.d.ts +49 -49
  104. package/qy-date-picker/index.d.ts +140 -140
  105. package/qy-dropdown/index.d.ts +40 -40
  106. package/qy-file-picker/index.d.ts +48 -48
  107. package/qy-form-section/index.d.ts +5 -5
  108. package/qy-fullscreen/index.d.ts +72 -72
  109. package/qy-icon/index.d.ts +99 -99
  110. package/qy-icon-picker/index.d.ts +56 -56
  111. package/qy-input/index.d.ts +32 -32
  112. package/qy-input-number/index.d.ts +15 -15
  113. package/qy-legacy-selection-dialog/index.d.ts +5 -5
  114. package/qy-main/index.d.ts +45 -45
  115. package/qy-popconfirm/index.d.ts +55 -55
  116. package/qy-popover/index.d.ts +63 -63
  117. package/qy-radio/index.d.ts +44 -44
  118. package/qy-radio-group/index.d.ts +60 -60
  119. package/qy-record-quote-search/index.d.ts +5 -5
  120. package/qy-remark-image/index.d.ts +5 -5
  121. package/qy-remote-select/index.d.ts +12 -12
  122. package/qy-row/index.d.ts +59 -59
  123. package/qy-search-input/index.d.ts +5 -5
  124. package/qy-select/index.d.ts +67 -67
  125. package/qy-selection-dialog/index.d.ts +5 -5
  126. package/qy-statistic/index.d.ts +61 -61
  127. package/qy-switch/index.d.ts +46 -46
  128. package/qy-tag/index.d.ts +44 -44
  129. package/qy-tooltip/index.d.ts +54 -54
  130. package/qy-watermark/index.d.ts +72 -72
@@ -1 +1 @@
1
- "use strict";const R=require("element-plus"),e=require("vue"),le=require("clsx"),U=require("element-plus"),ne=require("@element-plus/icons-vue"),W=require("@vueuse/core"),ae={class:"text-lg flex items-center pt-2 pl-[var(--content-padding)]"},re={key:0},ie={key:1},se={key:0,class:"icon-[material-symbols--square-outline-rounded]",role:"img","aria-hidden":"true"},de={key:1,class:"icon-[tdesign--fullscreen-exit-1]",role:"img","aria-hidden":"true"},ce={key:0,class:"fixed -right-12 top-2 h-9 w-9 hover:bg-gray-600/80 transition-all"},ue={class:"flex justify-between h-[var(--footer-height)] px-[var(--content-padding)] items-center"},fe={class:"flex items-center justify-between w-full pl-1 pr-4 h-full ml-2"},me={class:"flex items-center gap-2"},pe={class:"text-sm text-gray-700 truncate max-w-[200px]"},ye={class:"flex items-center gap-2"},X=5,M=2e3,ge=e.defineComponent({inheritAttrs:!1,__name:"index",props:{open:{type:Boolean,default:!1},title:{default:""},width:{default:"50%"},showFooter:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},confirmText:{default:"确 认"},cancelText:{default:"取 消"},confirmLoading:{type:Boolean,default:!1},confirmDisabled:{type:Boolean,default:!1},closeOnConfirm:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!1},minimizable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},top:{default:"15vh"},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},size:{default:"default"},zIndex:{default:2e3}},emits:["update:open","open-change","confirm","cancel","close","opened","closed"],setup(K,{expose:P,emit:Y}){let d=0;const l=K,E=e.useSlots(),S=e.ref(!0),C=e.ref(!1),q=e.ref(M),N=e.ref(null),G=W.useBreakpoints({mobile:0,tablet:640,laptop:1024,desktop:1280}).isSmaller("tablet"),B=e.computed(()=>{const t=[];return l.showCancel&&t.push("cancel"),l.showConfirm&&t.push("confirm"),t}),V=e.computed(()=>({CancelButton:e.createVNode(Z),ConfirmButton:e.createVNode(T)})),I=e.computed(()=>!!(E.footer||l.showFooter)),m=e.ref(!1),g=e.ref(!1);let b=!1,p=document.activeElement instanceof HTMLElement?document.activeElement:null;const v=e.ref(l.showFullscreen&&G?!0:l.fullscreen),r=Y,D=e.computed(()=>l.open);e.watchEffect(()=>{D.value&&(m.value=!1)}),e.watch(()=>l.open,(t,o)=>{if(t){m.value=!1,g.value=!1,p=document.activeElement instanceof HTMLElement?document.activeElement:p,o===!1&&r("open-change",!0);return}o&&!m.value&&(m.value=!0,r("open-change",!1),r("close","external"))}),e.watch(()=>l.confirmLoading,t=>{t?b=!0:b&&(b=!1,g.value=!1)}),P({handleMinimize:z});const c=`qy-dialog-${Math.random().toString(36).slice(2,11)}`,y=e.ref(!1);let h=!1;const w=e.ref(null),{x:L,y:_}=W.useDraggable(w,{initialValue:{x:5,y:window.innerHeight-100-d*60},onMove(t){var o;(o=w.value)==null||o.classList.add("dragging"),document.body.classList.add("qy-dialog--dragging"),L.value=Math.max(0,Math.min(window.innerWidth-300,t.x)),_.value=Math.max(0,Math.min(window.innerHeight-50,t.y))},onEnd(){var t;(t=w.value)==null||t.classList.remove("dragging"),document.body.classList.remove("qy-dialog--dragging")}}),J=e.computed(()=>({transform:`translate(${L.value}px, ${_.value}px)`,willChange:"transform"}));function O(t){const o=t.target,{scrollTop:n,scrollHeight:i,clientHeight:s}=o;S.value=n<=X,C.value=i-(n+s)<=X}function Q(){const t=document.querySelector(`.${c}.el-dialog`);t&&(N.value=t,t.addEventListener("scroll",O)),x(),r("opened")}function $(){v.value=!v.value,x()}function u(t){l.confirmLoading&&t!=="external"||m.value||(m.value=!0,j(),r("update:open",!1),r("open-change",!1),(t==="cancel"||t==="header")&&r("cancel"),r("close",t))}function ee(){r("closed"),e.nextTick(()=>{p!=null&&p.isConnected&&p.focus()})}function te(t){l.showFullscreen&&t.detail>=2&&$()}function T(){return e.h(U.ElButton,{type:"primary",class:"dialog__footerBtn",loading:l.confirmLoading,disabled:l.confirmDisabled||l.confirmLoading||g.value,onClick:oe},()=>l.confirmText)}function oe(){g.value||l.confirmLoading||l.confirmDisabled||(g.value=!0,r("confirm"),l.closeOnConfirm&&u("confirm"))}function Z(){return e.h(U.ElButton,{class:"dialog__footerBtn",onClick:()=>u("cancel")},()=>l.cancelText)}e.onMounted(()=>{typeof window.qyDialogMaxZIndex>"u"&&(window.qyDialogMaxZIndex=M),x(),document.addEventListener("keydown",A),document.addEventListener("mousedown",F)});function H(){var i,s;const t=(i=document.querySelector(`.${c}`))==null?void 0:i.closest(".el-overlay");if(!t)return!1;const n=Array.from(document.querySelectorAll(".el-overlay")).filter(a=>window.getComputedStyle(a).display!=="none").map((a,f)=>({overlay:a,order:f,zIndex:Number.parseInt(window.getComputedStyle(a).zIndex||"0",10)}));return n.sort((a,f)=>a.zIndex-f.zIndex||a.order-f.order),((s=n.at(-1))==null?void 0:s.overlay)===t}function A(t){t.key!=="Escape"||!l.open||!l.closeOnEscape||l.confirmLoading||!H()||(t.preventDefault(),u("escape"))}function F(t){if(!l.open||!l.closeOnOverlay||l.confirmLoading||!H()||!(t.target instanceof Node))return;const o=document.querySelector(`.${c}.el-dialog`),n=o==null?void 0:o.closest(".el-overlay");!o||!n||!n.contains(t.target)||o.contains(t.target)||u("overlay")}function x(){var f;const t=Array.from(document.querySelectorAll(".el-overlay")).filter(k=>window.getComputedStyle(k).display!=="none"&&!k.classList.contains("is-message")),o=(f=document.querySelector(`.${c}`))==null?void 0:f.closest(".el-overlay"),n=document.querySelector(`.${c}.el-dialog`);if(!o||!n)return;const i=M;window.qyDialogMaxZIndex=window.qyDialogMaxZIndex||i;const a=Math.max(window.qyDialogMaxZIndex,...t.map(k=>parseInt(window.getComputedStyle(k).zIndex||i.toString())))+2;window.qyDialogMaxZIndex=a,e.nextTick(()=>{o.style.zIndex=a.toString(),n.style.zIndex=(a+1).toString(),q.value=a+1})}e.onUnmounted(()=>{var t;document.removeEventListener("keydown",A),document.removeEventListener("mousedown",F),(t=N.value)==null||t.removeEventListener("scroll",O),j()});function j(){if(!h){y.value=!1;return}h=!1,d=Math.max(0,d-1),y.value=!1}function z(){var o;const t=(o=document.querySelector(`.${c}`))==null?void 0:o.closest(".el-overlay");!t||!l.open||(y.value?(y.value=!1,t.style.display="block",h&&(h=!1,d=Math.max(0,d-1)),x()):(y.value=!0,t.style.display="none",h=!0,d+=1,_.value=window.innerHeight-50-d*60))}return(t,o)=>{const n=R.ElIcon,i=R.ElDialog;return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{ref:"dialogRef",class:e.normalizeClass(["qy-dialog",[l.size==="small"&&"[&_.el-dialog__header]:!hidden",c]]),"model-value":D.value,title:l.title,width:l.width,top:l.top,"align-center":"","append-to-body":"","destroy-on-close":l.destroyOnClose,"lock-scroll":l.lockScroll,style:{"--el-dialog-padding-primary":0},"show-close":!1,"close-on-press-escape":!1,fullscreen:v.value,"z-index":q.value,onClosed:ee,onOpened:Q,draggable:l.draggable},e.createSlots({header:e.withCtx(()=>[l.size==="default"?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({borderBottom:"1px solid",borderColor:S.value?"transparent":"var(--block-outline-color)",transition:"border-color .2s linear"}),class:"flex justify-between h-[var(--header-height)]",onDblclick:te},[e.createElementVNode("div",ae,[e.unref(E).header?e.unref(E).header?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"header")])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",re,e.toDisplayString(l.title),1))]),e.createElementVNode("div",{class:"flex",onMousedown:o[4]||(o[4]=e.withModifiers(()=>{},["stop"]))},[l.size==="default"&&l.minimizable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers(z,["stop"]),onMousedown:o[0]||(o[0]=e.withModifiers(()=>{},["stop"]))},[...o[7]||(o[7]=[e.createElementVNode("span",{class:"icon-[material-symbols--minimize] text-xl mb-3",role:"img","aria-hidden":"true"},null,-1)])],32)):e.createCommentVNode("",!0),l.showFullscreen?(e.openBlock(),e.createElementBlock("div",{key:1,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers($,["stop"]),onMousedown:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},[v.value?(e.openBlock(),e.createElementBlock("span",de)):(e.openBlock(),e.createElementBlock("span",se))],32)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"qy-dialog__btn qy-dialog__btn--danger",onClick:o[2]||(o[2]=e.withModifiers(s=>u("header"),["stop"])),onMousedown:o[3]||(o[3]=e.withModifiers(()=>{},["stop"]))},[...o[8]||(o[8]=[e.createElementVNode("span",{class:"icon-[ri--close-line] text-xl",role:"img","aria-hidden":"true"},null,-1)])],32)],32)],36)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["qy-dialog__wrapper",e.unref(le)(v.value&&"qy-dialog__wrapper--fullscreen")]),style:e.normalizeStyle({maxHeight:I.value?"calc(100vh - var(--header-height) - var(--footer-height) - var(--sides-gap))":"calc(100vh - var(--header-height) - var(--sides-gap))",padding:l.size==="small"?"var(--small-content-padding)":"var(--content-padding)"})},[l.size==="small"?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(n,{size:36,class:"cursor-pointer text-gray-100 active:scale-75 rounded-sm transition-all",onClick:o[5]||(o[5]=s=>u("header"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ne.Close))]),_:1})])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default")],6)]),_:2},[l.showFooter&&!t.$slots.footer&&Array.isArray(B.value)?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createElementVNode("div",null,[e.renderSlot(t.$slots,"footer-left")]),e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":C.value},"qy-dialog__footer flex items-center justify-end"])},[B.value.includes("cancel")?(e.openBlock(),e.createBlock(Z,{key:0})):e.createCommentVNode("",!0),B.value.includes("confirm")?(e.openBlock(),e.createBlock(T,{key:1})):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"footer-append")],2)])]),key:"0"}:I.value?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":C.value},"qy-dialog__footer px-[var(--content-padding)] min-h-[var(--footer-height)] flex items-center justify-end"])},[e.renderSlot(t.$slots,"footer",{layouts:V.value,layoutsNode:Object.values(V.value)})],2)]),key:"1"}:void 0]),1032,["class","model-value","title","width","top","destroy-on-close","lock-scroll","fullscreen","z-index","draggable"]),e.withDirectives(e.createElementVNode("div",{ref_key:"minimizedRef",ref:w,class:"fixed left-0 top-0 bg-white rounded shadow-lg cursor-pointer z-[9999] hover:bg-gray-50",style:e.normalizeStyle([J.value,{width:"300px",height:"50px","will-change":"transform"}])},[e.createElementVNode("div",fe,[e.createElementVNode("div",me,[o[9]||(o[9]=e.createElementVNode("div",{class:"icon-[mdi--window-restore] text-gray-600"},null,-1)),e.createElementVNode("span",pe,e.toDisplayString(l.title),1)]),e.createElementVNode("div",ye,[e.createElementVNode("div",{class:"p-1 hover:bg-gray-200 rounded",onClick:e.withModifiers(z,["stop"])},[...o[10]||(o[10]=[e.createElementVNode("div",{class:"icon-[mdi--window-maximize] text-gray-600"},null,-1)])]),e.createElementVNode("div",{class:"p-1 hover:bg-red-100 rounded",onClick:o[6]||(o[6]=e.withModifiers(s=>u("header"),["stop"]))},[...o[11]||(o[11]=[e.createElementVNode("div",{class:"icon-[mdi--close] text-red-600"},null,-1)])])])])],4),[[e.vShow,y.value]])])}}});exports._sfc_main=ge;
1
+ "use strict";const R=require("element-plus"),e=require("vue"),le=require("clsx"),U=require("element-plus"),ne=require("@element-plus/icons-vue"),W=require("@vueuse/core"),ae={class:"text-lg flex items-center pt-2 pl-[var(--content-padding)]"},re={key:0},ie={key:1},se={key:0,class:"icon-[material-symbols--square-outline-rounded]",role:"img","aria-hidden":"true"},de={key:1,class:"icon-[tdesign--fullscreen-exit-1]",role:"img","aria-hidden":"true"},ce={key:0,class:"fixed -right-12 top-2 h-9 w-9 hover:bg-gray-600/80 transition-all"},ue={class:"flex justify-between h-[var(--footer-height)] px-[var(--content-padding)] items-center"},fe={class:"flex items-center justify-between w-full pl-1 pr-4 h-full ml-2"},me={class:"flex items-center gap-2"},pe={class:"text-sm text-gray-700 truncate max-w-[200px]"},ye={class:"flex items-center gap-2"},X=5,M=2e3,ge=e.defineComponent({inheritAttrs:!1,__name:"index",props:{open:{type:Boolean,default:!1},title:{default:""},width:{default:"50%"},showFooter:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},confirmText:{default:"确 认"},cancelText:{default:"取 消"},confirmLoading:{type:Boolean,default:!1},confirmDisabled:{type:Boolean,default:!1},closeOnConfirm:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!0},minimizable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},top:{default:"15vh"},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},size:{default:"default"},zIndex:{default:2e3}},emits:["update:open","open-change","confirm","cancel","close","opened","closed"],setup(K,{expose:P,emit:Y}){let d=0;const l=K,E=e.useSlots(),S=e.ref(!0),C=e.ref(!1),q=e.ref(M),N=e.ref(null),G=W.useBreakpoints({mobile:0,tablet:640,laptop:1024,desktop:1280}).isSmaller("tablet"),B=e.computed(()=>{const t=[];return l.showCancel&&t.push("cancel"),l.showConfirm&&t.push("confirm"),t}),V=e.computed(()=>({CancelButton:e.createVNode(Z),ConfirmButton:e.createVNode(T)})),I=e.computed(()=>!!(E.footer||l.showFooter)),m=e.ref(!1),g=e.ref(!1);let b=!1,p=document.activeElement instanceof HTMLElement?document.activeElement:null;const v=e.ref(l.showFullscreen&&G?!0:l.fullscreen),r=Y,D=e.computed(()=>l.open);e.watchEffect(()=>{D.value&&(m.value=!1)}),e.watch(()=>l.open,(t,o)=>{if(t){m.value=!1,g.value=!1,p=document.activeElement instanceof HTMLElement?document.activeElement:p,o===!1&&r("open-change",!0);return}o&&!m.value&&(m.value=!0,r("open-change",!1),r("close","external"))}),e.watch(()=>l.confirmLoading,t=>{t?b=!0:b&&(b=!1,g.value=!1)}),P({handleMinimize:z});const c=`qy-dialog-${Math.random().toString(36).slice(2,11)}`,y=e.ref(!1);let h=!1;const w=e.ref(null),{x:L,y:_}=W.useDraggable(w,{initialValue:{x:5,y:window.innerHeight-100-d*60},onMove(t){var o;(o=w.value)==null||o.classList.add("dragging"),document.body.classList.add("qy-dialog--dragging"),L.value=Math.max(0,Math.min(window.innerWidth-300,t.x)),_.value=Math.max(0,Math.min(window.innerHeight-50,t.y))},onEnd(){var t;(t=w.value)==null||t.classList.remove("dragging"),document.body.classList.remove("qy-dialog--dragging")}}),J=e.computed(()=>({transform:`translate(${L.value}px, ${_.value}px)`,willChange:"transform"}));function O(t){const o=t.target,{scrollTop:n,scrollHeight:i,clientHeight:s}=o;S.value=n<=X,C.value=i-(n+s)<=X}function Q(){const t=document.querySelector(`.${c}.el-dialog`);t&&(N.value=t,t.addEventListener("scroll",O)),x(),r("opened")}function $(){v.value=!v.value,x()}function u(t){l.confirmLoading&&t!=="external"||m.value||(m.value=!0,j(),r("update:open",!1),r("open-change",!1),(t==="cancel"||t==="header")&&r("cancel"),r("close",t))}function ee(){r("closed"),e.nextTick(()=>{p!=null&&p.isConnected&&p.focus()})}function te(t){l.showFullscreen&&t.detail>=2&&$()}function T(){return e.h(U.ElButton,{type:"primary",class:"dialog__footerBtn",loading:l.confirmLoading,disabled:l.confirmDisabled||l.confirmLoading||g.value,onClick:oe},()=>l.confirmText)}function oe(){g.value||l.confirmLoading||l.confirmDisabled||(g.value=!0,r("confirm"),l.closeOnConfirm&&u("confirm"))}function Z(){return e.h(U.ElButton,{class:"dialog__footerBtn",onClick:()=>u("cancel")},()=>l.cancelText)}e.onMounted(()=>{typeof window.qyDialogMaxZIndex>"u"&&(window.qyDialogMaxZIndex=M),x(),document.addEventListener("keydown",A),document.addEventListener("mousedown",F)});function H(){var i,s;const t=(i=document.querySelector(`.${c}`))==null?void 0:i.closest(".el-overlay");if(!t)return!1;const n=Array.from(document.querySelectorAll(".el-overlay")).filter(a=>window.getComputedStyle(a).display!=="none").map((a,f)=>({overlay:a,order:f,zIndex:Number.parseInt(window.getComputedStyle(a).zIndex||"0",10)}));return n.sort((a,f)=>a.zIndex-f.zIndex||a.order-f.order),((s=n.at(-1))==null?void 0:s.overlay)===t}function A(t){t.key!=="Escape"||!l.open||!l.closeOnEscape||l.confirmLoading||!H()||(t.preventDefault(),u("escape"))}function F(t){if(!l.open||!l.closeOnOverlay||l.confirmLoading||!H()||!(t.target instanceof Node))return;const o=document.querySelector(`.${c}.el-dialog`),n=o==null?void 0:o.closest(".el-overlay");!o||!n||!n.contains(t.target)||o.contains(t.target)||u("overlay")}function x(){var f;const t=Array.from(document.querySelectorAll(".el-overlay")).filter(k=>window.getComputedStyle(k).display!=="none"&&!k.classList.contains("is-message")),o=(f=document.querySelector(`.${c}`))==null?void 0:f.closest(".el-overlay"),n=document.querySelector(`.${c}.el-dialog`);if(!o||!n)return;const i=M;window.qyDialogMaxZIndex=window.qyDialogMaxZIndex||i;const a=Math.max(window.qyDialogMaxZIndex,...t.map(k=>parseInt(window.getComputedStyle(k).zIndex||i.toString())))+2;window.qyDialogMaxZIndex=a,e.nextTick(()=>{o.style.zIndex=a.toString(),n.style.zIndex=(a+1).toString(),q.value=a+1})}e.onUnmounted(()=>{var t;document.removeEventListener("keydown",A),document.removeEventListener("mousedown",F),(t=N.value)==null||t.removeEventListener("scroll",O),j()});function j(){if(!h){y.value=!1;return}h=!1,d=Math.max(0,d-1),y.value=!1}function z(){var o;const t=(o=document.querySelector(`.${c}`))==null?void 0:o.closest(".el-overlay");!t||!l.open||(y.value?(y.value=!1,t.style.display="block",h&&(h=!1,d=Math.max(0,d-1)),x()):(y.value=!0,t.style.display="none",h=!0,d+=1,_.value=window.innerHeight-50-d*60))}return(t,o)=>{const n=R.ElIcon,i=R.ElDialog;return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{ref:"dialogRef",class:e.normalizeClass(["qy-dialog",[l.size==="small"&&"[&_.el-dialog__header]:!hidden",c]]),"model-value":D.value,title:l.title,width:l.width,top:l.top,"align-center":"","append-to-body":"","destroy-on-close":l.destroyOnClose,"lock-scroll":l.lockScroll,style:{"--el-dialog-padding-primary":0},"show-close":!1,"close-on-press-escape":!1,"close-on-click-modal":!1,fullscreen:v.value,"z-index":q.value,onClosed:ee,onOpened:Q,draggable:l.draggable},e.createSlots({header:e.withCtx(()=>[l.size==="default"?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({borderBottom:"1px solid",borderColor:S.value?"transparent":"var(--block-outline-color)",transition:"border-color .2s linear"}),class:"flex justify-between h-[var(--header-height)]",onDblclick:te},[e.createElementVNode("div",ae,[e.unref(E).header?e.unref(E).header?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"header")])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",re,e.toDisplayString(l.title),1))]),e.createElementVNode("div",{class:"flex",onMousedown:o[4]||(o[4]=e.withModifiers(()=>{},["stop"]))},[l.size==="default"&&l.minimizable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers(z,["stop"]),onMousedown:o[0]||(o[0]=e.withModifiers(()=>{},["stop"]))},[...o[7]||(o[7]=[e.createElementVNode("span",{class:"icon-[material-symbols--minimize] text-xl mb-3",role:"img","aria-hidden":"true"},null,-1)])],32)):e.createCommentVNode("",!0),l.showFullscreen?(e.openBlock(),e.createElementBlock("div",{key:1,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers($,["stop"]),onMousedown:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},[v.value?(e.openBlock(),e.createElementBlock("span",de)):(e.openBlock(),e.createElementBlock("span",se))],32)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"qy-dialog__btn qy-dialog__btn--danger",onClick:o[2]||(o[2]=e.withModifiers(s=>u("header"),["stop"])),onMousedown:o[3]||(o[3]=e.withModifiers(()=>{},["stop"]))},[...o[8]||(o[8]=[e.createElementVNode("span",{class:"icon-[ri--close-line] text-xl",role:"img","aria-hidden":"true"},null,-1)])],32)],32)],36)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["qy-dialog__wrapper",e.unref(le)(v.value&&"qy-dialog__wrapper--fullscreen")]),style:e.normalizeStyle({maxHeight:I.value?"calc(100vh - var(--header-height) - var(--footer-height) - var(--sides-gap))":"calc(100vh - var(--header-height) - var(--sides-gap))",padding:l.size==="small"?"var(--small-content-padding)":"var(--content-padding)"})},[l.size==="small"?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(n,{size:36,class:"cursor-pointer text-gray-100 active:scale-75 rounded-sm transition-all",onClick:o[5]||(o[5]=s=>u("header"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ne.Close))]),_:1})])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default")],6)]),_:2},[l.showFooter&&!t.$slots.footer&&Array.isArray(B.value)?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createElementVNode("div",null,[e.renderSlot(t.$slots,"footer-left")]),e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":C.value},"qy-dialog__footer flex items-center justify-end"])},[B.value.includes("cancel")?(e.openBlock(),e.createBlock(Z,{key:0})):e.createCommentVNode("",!0),B.value.includes("confirm")?(e.openBlock(),e.createBlock(T,{key:1})):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"footer-append")],2)])]),key:"0"}:I.value?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":C.value},"qy-dialog__footer px-[var(--content-padding)] min-h-[var(--footer-height)] flex items-center justify-end"])},[e.renderSlot(t.$slots,"footer",{layouts:V.value,layoutsNode:Object.values(V.value)})],2)]),key:"1"}:void 0]),1032,["class","model-value","title","width","top","destroy-on-close","lock-scroll","fullscreen","z-index","draggable"]),e.withDirectives(e.createElementVNode("div",{ref_key:"minimizedRef",ref:w,class:"fixed left-0 top-0 bg-white rounded shadow-lg cursor-pointer z-[9999] hover:bg-gray-50",style:e.normalizeStyle([J.value,{width:"300px",height:"50px","will-change":"transform"}])},[e.createElementVNode("div",fe,[e.createElementVNode("div",me,[o[9]||(o[9]=e.createElementVNode("div",{class:"icon-[mdi--window-restore] text-gray-600"},null,-1)),e.createElementVNode("span",pe,e.toDisplayString(l.title),1)]),e.createElementVNode("div",ye,[e.createElementVNode("div",{class:"p-1 hover:bg-gray-200 rounded",onClick:e.withModifiers(z,["stop"])},[...o[10]||(o[10]=[e.createElementVNode("div",{class:"icon-[mdi--window-maximize] text-gray-600"},null,-1)])]),e.createElementVNode("div",{class:"p-1 hover:bg-red-100 rounded",onClick:o[6]||(o[6]=e.withModifiers(s=>u("header"),["stop"]))},[...o[11]||(o[11]=[e.createElementVNode("div",{class:"icon-[mdi--close] text-red-600"},null,-1)])])])])],4),[[e.vShow,y.value]])])}}});exports._sfc_main=ge;
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as ue, inject as se, ref as d, computed as b, watch as M, nextTick as Q, openBlock as u, createElementBlock as p, createVNode as R, unref as C, withCtx as z, createElementVNode as h, toDisplayString as S, Fragment as de, renderList as pe, withKeys as K, withModifiers as L, normalizeClass as fe, renderSlot as ve, createTextVNode as ye, createCommentVNode as Y, createBlock as me } from "vue";
2
- import { Q as W } from "./index-lKF1vwdE.mjs";
2
+ import { Q as W } from "./index-2D5AFexl.mjs";
3
3
  import { Q as G } from "./index-B3GsIwhf.mjs";
4
4
  import { QyPopover as he } from "../qy-popover/index.mjs";
5
- import { n as _e, Q as ke } from "./index-D8OXRBGc.mjs";
5
+ import { n as _e, Q as ke } from "./index-ByQyMTPg.mjs";
6
6
  function be(l, y) {
7
7
  const m = y == null ? "" : String(y), a = l && m ? l.resolve(m) : void 0;
8
8
  return Object.freeze({
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),Q=require("./index-DYLQNCm_.cjs"),T=require("./index-HNFq7v-A.cjs"),J=require("../qy-popover/index.cjs"),S=require("./index-9GEoEe00.cjs");function X(l,f){const v=f==null?"":String(f),n=l&&v?l.resolve(v):void 0;return Object.freeze({value:v,known:!!n,canonicalName:n==null?void 0:n.name,definition:n})}function Z(l,f,v=""){const n=(l==null?void 0:l.list())??[],c=f===void 0?void 0:new Set(f.map(r=>{var p;return(p=l==null?void 0:l.resolve(r))==null?void 0:p.name}).filter(r=>!!r).map(z)),d=String(v).trim().toLocaleLowerCase();return Object.freeze(n.filter(r=>c&&!c.has(z(r.name))?!1:d?[r.name,r.label,...r.keywords??[]].some(p=>typeof p=="string"&&p.toLocaleLowerCase().includes(d)):!0))}function z(l){return S.normalizeQyIconName(l).toLocaleLowerCase()}const ee={class:"qy-icon-picker"},ae=["onKeydown"],ne={class:"qy-icon-picker__preview","aria-hidden":"true"},oe={key:1,class:"qy-icon-picker__missing","aria-hidden":"true"},te=["id"],le={class:"qy-icon-picker__search","data-testid":"qy-icon-picker-search"},re={key:0,class:"qy-icon-picker__state","data-testid":"qy-icon-picker-loading",role:"status"},ie={key:1,class:"qy-icon-picker__state qy-icon-picker__state--error","data-testid":"qy-icon-picker-error",role:"alert"},ce=["aria-label"],ue=["id","data-qy-icon-option","data-qy-icon-active","aria-selected","tabindex","onClick","onFocus","onKeydown"],se={class:"qy-icon-picker__option-label"},de={key:3,class:"qy-icon-picker__empty"};let pe=0;const fe=e.defineComponent({name:"QyIconPicker",__name:"index",props:{modelValue:{default:""},allowedNames:{},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},placeholder:{default:"点击选择图标"},searchPlaceholder:{default:"搜索图标名称、标签或关键词"},emptyText:{default:"暂无匹配图标"},panelWidth:{default:540},open:{type:Boolean,default:void 0},id:{},ariaLabel:{}},emits:["update:modelValue","change","clear","update:open","open-change"],setup(l,{expose:f,emit:v}){const n=l,c=v,d=e.inject(S.QY_ICON_REGISTRY_KEY,null),r=e.ref(""),p=e.ref(!1),i=e.ref(-1),w=e.ref([]),m=e.ref(!1),g=e.ref(""),V=e.ref(0);let x=!1;const h=e.ref(null),L=e.ref(null),q=e.ref("pointer"),$=`qy-icon-picker-${++pe}`,y=e.computed(()=>X(d,n.modelValue)),s=e.computed(()=>(V.value,Z(d,n.allowedNames,r.value))),_=e.computed(()=>n.open!==void 0),k=e.computed(()=>_.value?n.open===!0:p.value),M=e.computed(()=>"click"),B=e.computed(()=>`${n.id||$}-panel`);e.watch(k,(a,o)=>{!a||o||(r.value="",i.value=F(),w.value=[],!x&&d&&(x=!0,K(d.load())),q.value==="keyboard"&&e.nextTick(()=>{var t,u;return(u=(t=L.value)==null?void 0:t.focus)==null?void 0:u.call(t)}))});function K(a){m.value=!0,g.value="",a.then(()=>{m.value=!1,V.value++},o=>{m.value=!1,g.value=o instanceof Error?o.message:String(o)})}function A(){!d||m.value||K(d.retry())}e.watch(s,()=>{if(!s.value.length){i.value=-1;return}i.value>=s.value.length&&(i.value=0),i.value<0&&(i.value=0)});function P(){n.disabled||(q.value="keyboard",C("keyboard"))}function D(a){n.disabled||_.value&&n.open!==!1||(a.stopImmediatePropagation(),C("pointer"))}function O(a){I(a)}function U(a){a===k.value&&(_.value||(p.value=a),c("open-change",a),a||e.nextTick(()=>{var o,t;return(t=(o=h.value)==null?void 0:o.focus)==null?void 0:t.call(o)}))}function I(a){a&&n.disabled||a!==k.value&&(_.value||(p.value=a),c("update:open",a))}function C(a="programmatic"){q.value=a,I(!0)}function E(){I(!1),e.nextTick(()=>{var a,o;return(o=(a=h.value)==null?void 0:a.focus)==null?void 0:o.call(a)})}function R(){n.disabled||(c("update:modelValue",""),c("change",""),c("clear"))}function N(a){n.disabled||(c("update:modelValue",a.name),c("change",a.name),E())}function j(a){if(a.key==="Escape"){a.preventDefault(),E();return}if(!s.value.length||!["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"].includes(a.key))return;a.preventDefault();const o=a.key==="ArrowUp"||a.key==="ArrowLeft"?-1:1,t=s.value.length;i.value=(i.value+o+t)%t,e.nextTick(()=>{var u;return(u=w.value[i.value])==null?void 0:u.focus()})}function F(){const a=y.value.canonicalName;if(!a)return s.value.length?0:-1;const o=s.value.findIndex(({name:t})=>t===a);return o>=0?o:s.value.length?0:-1}function Y(a,o){a instanceof HTMLElement&&(w.value[o]=a)}function W(a){return`${B.value}-${encodeURIComponent(a)}`}function G(){var a,o;(o=(a=h.value)==null?void 0:a.focus)==null||o.call(a)}function H(){var a,o;(o=(a=h.value)==null?void 0:a.blur)==null||o.call(a)}return f({focus:G,blur:H,open:C,close:E}),(a,o)=>(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(e.unref(J.QyPopover),{ref:"popoverRef",class:"qy-icon-picker__popover",open:k.value,trigger:M.value,placement:"bottom-start",width:n.panelWidth,"show-delay":0,"hide-delay":0,disabled:n.disabled||_.value&&n.open===!1,"onUpdate:open":O,onOpenChange:U},{reference:e.withCtx(()=>[e.createElementVNode("div",{class:"qy-icon-picker__trigger","data-testid":"qy-icon-picker-trigger",onClick:D,onKeydown:[e.withKeys(e.withModifiers(P,["prevent"]),["enter"]),e.withKeys(e.withModifiers(P,["prevent"]),["space"])]},[e.createVNode(e.unref(T.QyInput),{ref_key:"triggerRef",ref:h,id:n.id,"model-value":y.value.value,size:n.size,disabled:n.disabled,clearable:n.clearable,readonly:"",placeholder:n.placeholder,"aria-label":n.ariaLabel,"aria-haspopup":"listbox","aria-expanded":k.value?"true":"false","aria-controls":B.value,onClear:R},{prefix:e.withCtx(()=>[e.createElementVNode("span",ne,[y.value.definition?(e.openBlock(),e.createBlock(e.unref(Q.QyIcon),{key:0,name:y.value.definition.name,size:18},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",oe,"?"))])]),suffix:e.withCtx(()=>[n.clearable&&y.value.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"qy-icon-picker__clear","data-testid":"qy-icon-picker-clear","aria-label":"清空图标",onClick:e.withModifiers(R,["stop","prevent"])},[...o[1]||(o[1]=[e.createElementVNode("span",{"aria-hidden":"true"},"×",-1)])])):e.createCommentVNode("",!0)]),_:1},8,["id","model-value","size","disabled","clearable","placeholder","aria-label","aria-expanded","aria-controls"])],40,ae)]),default:e.withCtx(()=>[k.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:B.value,class:"qy-icon-picker__panel",onKeydown:j},[e.createElementVNode("div",le,[e.createVNode(e.unref(T.QyInput),{ref_key:"searchRef",ref:L,modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=t=>r.value=t),type:"search",clearable:"",placeholder:n.searchPlaceholder,"aria-label":"搜索图标"},null,8,["modelValue","placeholder"])]),m.value?(e.openBlock(),e.createElementBlock("div",re," 正在加载图标… ")):g.value?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("span",null,e.toDisplayString(g.value),1),e.createElementVNode("button",{type:"button","data-testid":"qy-icon-picker-retry",onClick:A}," 重试 ")])):s.value.length?(e.openBlock(),e.createElementBlock("div",{key:2,class:"qy-icon-picker__grid",role:"listbox","aria-label":n.ariaLabel||"图标列表"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(t,u)=>(e.openBlock(),e.createElementBlock("div",{id:W(t.name),key:t.name,ref_for:!0,ref:b=>Y(b,u),class:e.normalizeClass(["qy-icon-picker__option",{"is-active":i.value===u}]),"data-qy-icon-option":t.name,"data-qy-icon-active":i.value===u?"true":void 0,role:"option","aria-selected":y.value.canonicalName===t.name?"true":"false",tabindex:i.value===u?0:-1,onClick:b=>N(t),onFocus:b=>i.value=u,onKeydown:[e.withKeys(e.withModifiers(b=>N(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(b=>N(t),["prevent"]),["space"])]},[e.createVNode(e.unref(Q.QyIcon),{name:t.name,size:18,"aria-hidden":"true"},null,8,["name"]),e.createElementVNode("span",se,e.toDisplayString(t.label||t.name),1)],42,ue))),128))],8,ce)):(e.openBlock(),e.createElementBlock("div",de,[e.renderSlot(a.$slots,"empty",{},()=>[e.createTextVNode(e.toDisplayString(n.emptyText),1)])]))],40,te)):e.createCommentVNode("",!0)]),_:3},8,["open","trigger","width","disabled"])]))}});exports._sfc_main=fe;
1
+ "use strict";const e=require("vue"),Q=require("./index-CUlhX6fW.cjs"),T=require("./index-HNFq7v-A.cjs"),J=require("../qy-popover/index.cjs"),S=require("./index-CVWru9T3.cjs");function X(l,f){const v=f==null?"":String(f),n=l&&v?l.resolve(v):void 0;return Object.freeze({value:v,known:!!n,canonicalName:n==null?void 0:n.name,definition:n})}function Z(l,f,v=""){const n=(l==null?void 0:l.list())??[],c=f===void 0?void 0:new Set(f.map(r=>{var p;return(p=l==null?void 0:l.resolve(r))==null?void 0:p.name}).filter(r=>!!r).map(z)),d=String(v).trim().toLocaleLowerCase();return Object.freeze(n.filter(r=>c&&!c.has(z(r.name))?!1:d?[r.name,r.label,...r.keywords??[]].some(p=>typeof p=="string"&&p.toLocaleLowerCase().includes(d)):!0))}function z(l){return S.normalizeQyIconName(l).toLocaleLowerCase()}const ee={class:"qy-icon-picker"},ae=["onKeydown"],ne={class:"qy-icon-picker__preview","aria-hidden":"true"},oe={key:1,class:"qy-icon-picker__missing","aria-hidden":"true"},te=["id"],le={class:"qy-icon-picker__search","data-testid":"qy-icon-picker-search"},re={key:0,class:"qy-icon-picker__state","data-testid":"qy-icon-picker-loading",role:"status"},ie={key:1,class:"qy-icon-picker__state qy-icon-picker__state--error","data-testid":"qy-icon-picker-error",role:"alert"},ce=["aria-label"],ue=["id","data-qy-icon-option","data-qy-icon-active","aria-selected","tabindex","onClick","onFocus","onKeydown"],se={class:"qy-icon-picker__option-label"},de={key:3,class:"qy-icon-picker__empty"};let pe=0;const fe=e.defineComponent({name:"QyIconPicker",__name:"index",props:{modelValue:{default:""},allowedNames:{},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},placeholder:{default:"点击选择图标"},searchPlaceholder:{default:"搜索图标名称、标签或关键词"},emptyText:{default:"暂无匹配图标"},panelWidth:{default:540},open:{type:Boolean,default:void 0},id:{},ariaLabel:{}},emits:["update:modelValue","change","clear","update:open","open-change"],setup(l,{expose:f,emit:v}){const n=l,c=v,d=e.inject(S.QY_ICON_REGISTRY_KEY,null),r=e.ref(""),p=e.ref(!1),i=e.ref(-1),w=e.ref([]),m=e.ref(!1),g=e.ref(""),V=e.ref(0);let x=!1;const h=e.ref(null),L=e.ref(null),q=e.ref("pointer"),$=`qy-icon-picker-${++pe}`,y=e.computed(()=>X(d,n.modelValue)),s=e.computed(()=>(V.value,Z(d,n.allowedNames,r.value))),_=e.computed(()=>n.open!==void 0),k=e.computed(()=>_.value?n.open===!0:p.value),M=e.computed(()=>"click"),B=e.computed(()=>`${n.id||$}-panel`);e.watch(k,(a,o)=>{!a||o||(r.value="",i.value=F(),w.value=[],!x&&d&&(x=!0,K(d.load())),q.value==="keyboard"&&e.nextTick(()=>{var t,u;return(u=(t=L.value)==null?void 0:t.focus)==null?void 0:u.call(t)}))});function K(a){m.value=!0,g.value="",a.then(()=>{m.value=!1,V.value++},o=>{m.value=!1,g.value=o instanceof Error?o.message:String(o)})}function A(){!d||m.value||K(d.retry())}e.watch(s,()=>{if(!s.value.length){i.value=-1;return}i.value>=s.value.length&&(i.value=0),i.value<0&&(i.value=0)});function P(){n.disabled||(q.value="keyboard",C("keyboard"))}function D(a){n.disabled||_.value&&n.open!==!1||(a.stopImmediatePropagation(),C("pointer"))}function O(a){I(a)}function U(a){a===k.value&&(_.value||(p.value=a),c("open-change",a),a||e.nextTick(()=>{var o,t;return(t=(o=h.value)==null?void 0:o.focus)==null?void 0:t.call(o)}))}function I(a){a&&n.disabled||a!==k.value&&(_.value||(p.value=a),c("update:open",a))}function C(a="programmatic"){q.value=a,I(!0)}function E(){I(!1),e.nextTick(()=>{var a,o;return(o=(a=h.value)==null?void 0:a.focus)==null?void 0:o.call(a)})}function R(){n.disabled||(c("update:modelValue",""),c("change",""),c("clear"))}function N(a){n.disabled||(c("update:modelValue",a.name),c("change",a.name),E())}function j(a){if(a.key==="Escape"){a.preventDefault(),E();return}if(!s.value.length||!["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"].includes(a.key))return;a.preventDefault();const o=a.key==="ArrowUp"||a.key==="ArrowLeft"?-1:1,t=s.value.length;i.value=(i.value+o+t)%t,e.nextTick(()=>{var u;return(u=w.value[i.value])==null?void 0:u.focus()})}function F(){const a=y.value.canonicalName;if(!a)return s.value.length?0:-1;const o=s.value.findIndex(({name:t})=>t===a);return o>=0?o:s.value.length?0:-1}function Y(a,o){a instanceof HTMLElement&&(w.value[o]=a)}function W(a){return`${B.value}-${encodeURIComponent(a)}`}function G(){var a,o;(o=(a=h.value)==null?void 0:a.focus)==null||o.call(a)}function H(){var a,o;(o=(a=h.value)==null?void 0:a.blur)==null||o.call(a)}return f({focus:G,blur:H,open:C,close:E}),(a,o)=>(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(e.unref(J.QyPopover),{ref:"popoverRef",class:"qy-icon-picker__popover",open:k.value,trigger:M.value,placement:"bottom-start",width:n.panelWidth,"show-delay":0,"hide-delay":0,disabled:n.disabled||_.value&&n.open===!1,"onUpdate:open":O,onOpenChange:U},{reference:e.withCtx(()=>[e.createElementVNode("div",{class:"qy-icon-picker__trigger","data-testid":"qy-icon-picker-trigger",onClick:D,onKeydown:[e.withKeys(e.withModifiers(P,["prevent"]),["enter"]),e.withKeys(e.withModifiers(P,["prevent"]),["space"])]},[e.createVNode(e.unref(T.QyInput),{ref_key:"triggerRef",ref:h,id:n.id,"model-value":y.value.value,size:n.size,disabled:n.disabled,clearable:n.clearable,readonly:"",placeholder:n.placeholder,"aria-label":n.ariaLabel,"aria-haspopup":"listbox","aria-expanded":k.value?"true":"false","aria-controls":B.value,onClear:R},{prefix:e.withCtx(()=>[e.createElementVNode("span",ne,[y.value.definition?(e.openBlock(),e.createBlock(e.unref(Q.QyIcon),{key:0,name:y.value.definition.name,size:18},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",oe,"?"))])]),suffix:e.withCtx(()=>[n.clearable&&y.value.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"qy-icon-picker__clear","data-testid":"qy-icon-picker-clear","aria-label":"清空图标",onClick:e.withModifiers(R,["stop","prevent"])},[...o[1]||(o[1]=[e.createElementVNode("span",{"aria-hidden":"true"},"×",-1)])])):e.createCommentVNode("",!0)]),_:1},8,["id","model-value","size","disabled","clearable","placeholder","aria-label","aria-expanded","aria-controls"])],40,ae)]),default:e.withCtx(()=>[k.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:B.value,class:"qy-icon-picker__panel",onKeydown:j},[e.createElementVNode("div",le,[e.createVNode(e.unref(T.QyInput),{ref_key:"searchRef",ref:L,modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=t=>r.value=t),type:"search",clearable:"",placeholder:n.searchPlaceholder,"aria-label":"搜索图标"},null,8,["modelValue","placeholder"])]),m.value?(e.openBlock(),e.createElementBlock("div",re," 正在加载图标… ")):g.value?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("span",null,e.toDisplayString(g.value),1),e.createElementVNode("button",{type:"button","data-testid":"qy-icon-picker-retry",onClick:A}," 重试 ")])):s.value.length?(e.openBlock(),e.createElementBlock("div",{key:2,class:"qy-icon-picker__grid",role:"listbox","aria-label":n.ariaLabel||"图标列表"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(t,u)=>(e.openBlock(),e.createElementBlock("div",{id:W(t.name),key:t.name,ref_for:!0,ref:b=>Y(b,u),class:e.normalizeClass(["qy-icon-picker__option",{"is-active":i.value===u}]),"data-qy-icon-option":t.name,"data-qy-icon-active":i.value===u?"true":void 0,role:"option","aria-selected":y.value.canonicalName===t.name?"true":"false",tabindex:i.value===u?0:-1,onClick:b=>N(t),onFocus:b=>i.value=u,onKeydown:[e.withKeys(e.withModifiers(b=>N(t),["prevent"]),["enter"]),e.withKeys(e.withModifiers(b=>N(t),["prevent"]),["space"])]},[e.createVNode(e.unref(Q.QyIcon),{name:t.name,size:18,"aria-hidden":"true"},null,8,["name"]),e.createElementVNode("span",se,e.toDisplayString(t.label||t.name),1)],42,ue))),128))],8,ce)):(e.openBlock(),e.createElementBlock("div",de,[e.renderSlot(a.$slots,"empty",{},()=>[e.createTextVNode(e.toDisplayString(n.emptyText),1)])]))],40,te)):e.createCommentVNode("",!0)]),_:3},8,["open","trigger","width","disabled"])]))}});exports._sfc_main=fe;