hisonvue 1.1.20 → 1.1.22

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 (62) hide show
  1. package/dist/{HAccordion-BCpczHV8.js → HAccordion-CKbaRrfY.js} +1 -1
  2. package/dist/{HAccordion-BMoSFHwf.mjs → HAccordion-CNWAodMp.mjs} +2 -2
  3. package/dist/{HBaggie-oMZLaa_F.js → HBaggie-BQYZO1MF.js} +1 -1
  4. package/dist/{HBaggie-CJvlgbDQ.mjs → HBaggie-C-OS7n2D.mjs} +2 -2
  5. package/dist/{HBanner-C2_LbE2h.js → HBanner-8AQVAGPP.js} +1 -1
  6. package/dist/{HBanner-DsRKDH1u.mjs → HBanner-D0ImN6h1.mjs} +2 -2
  7. package/dist/{HButton-yAD_RoyS.js → HButton-C1AtcoQd.js} +1 -1
  8. package/dist/{HButton-rFSlupkR.mjs → HButton-CuoH95_k.mjs} +2 -2
  9. package/dist/{HCalendar-iWmcJSvC.mjs → HCalendar-CnuUn3Xk.mjs} +71 -68
  10. package/dist/{HCalendar-CTlQGPMZ.js → HCalendar-DFXWXkci.js} +2 -2
  11. package/dist/{HCaption-c9m0kiX8.js → HCaption-BaelSNHR.js} +1 -1
  12. package/dist/{HCaption-DVmiGA4e.mjs → HCaption-Di8ePmqg.mjs} +1 -1
  13. package/dist/{HChart-BiAYvoFC.js → HChart-DKfoM5dM.js} +1 -1
  14. package/dist/{HChart-RTqgX9Vw.mjs → HChart-xM2KDiJi.mjs} +1 -1
  15. package/dist/HDrawer-A3BpOuup.js +1 -0
  16. package/dist/{HDrawer-_eAs8SUX.mjs → HDrawer-Vt4JA6pk.mjs} +163 -163
  17. package/dist/{HDropdown-Jr1jdIcK.mjs → HDropdown-BBEH646p.mjs} +2 -2
  18. package/dist/{HDropdown-BQ86MUJn.js → HDropdown-Dj7h-JPP.js} +1 -1
  19. package/dist/{HFileset-DzDl7B3M.js → HFileset-B9EmgNi1.js} +1 -1
  20. package/dist/{HFileset-CuLQPIg0.mjs → HFileset-oi7P1lcc.mjs} +1 -1
  21. package/dist/{HGap-2iQmQgTz.mjs → HGap-Bp1hRvbT.mjs} +1 -1
  22. package/dist/{HGap-CEVavkgg.js → HGap-Dy_H_-in.js} +1 -1
  23. package/dist/{HGrid-ifjYNehH.mjs → HGrid-Bc13aqjL.mjs} +51 -48
  24. package/dist/HGrid-DDbU5kIr.js +1 -0
  25. package/dist/{HImagebox-DwaNSiUE.mjs → HImagebox-8Uwvm5U0.mjs} +1 -1
  26. package/dist/{HImagebox-CIIOb3Vd.js → HImagebox-BVeQuB4p.js} +1 -1
  27. package/dist/{HInput-CoawK6h1.js → HInput-DHK28wmp.js} +1 -1
  28. package/dist/{HInput-B7jIOO-G.mjs → HInput-DoSKCROI.mjs} +1 -1
  29. package/dist/{HInputGroup-c6sx8xkm.mjs → HInputGroup-DSUZqea5.mjs} +1 -1
  30. package/dist/{HInputGroup-4FByzgDv.js → HInputGroup-gD-E8vgq.js} +1 -1
  31. package/dist/{HLabel-BdJsUUwI.js → HLabel-BAbaNhJP.js} +1 -1
  32. package/dist/{HLabel-ClzEe4t5.mjs → HLabel-DQVACpDP.mjs} +2 -2
  33. package/dist/{HLayout-odNbQHZs.mjs → HLayout-BoHgIQcJ.mjs} +1 -1
  34. package/dist/{HLayout-cCfkCCnY.js → HLayout-CgaYkiuH.js} +1 -1
  35. package/dist/{HList-C4Te9S2p.mjs → HList-BQEDGW7_.mjs} +2 -2
  36. package/dist/{HList-DlESPK5m.js → HList-BROYxKwn.js} +1 -1
  37. package/dist/{HModal-CD42g96i.js → HModal-DTqm3PfL.js} +1 -1
  38. package/dist/{HModal-IPNLslSW.mjs → HModal-GpwcBz5c.mjs} +1 -1
  39. package/dist/HNote-BotCfjhk.js +1 -0
  40. package/dist/{HNote-DOXVPQTE.mjs → HNote-Dv8mltb0.mjs} +31 -28
  41. package/dist/{HPagination-71-p-_fA.mjs → HPagination-DG0I3Orn.mjs} +2 -2
  42. package/dist/{HPagination-DAipfja0.js → HPagination-DyqohdbC.js} +1 -1
  43. package/dist/{HParagraph-D727CLzE.js → HParagraph-BheX7M-W.js} +1 -1
  44. package/dist/{HParagraph-DFr9VHuc.mjs → HParagraph-dWlO5RLM.mjs} +1 -1
  45. package/dist/{HPopup-BzNv0ETv.js → HPopup-BcGomDSy.js} +1 -1
  46. package/dist/{HPopup-CKF03bB8.mjs → HPopup-BrkB_lUB.mjs} +1 -1
  47. package/dist/{HSpinner-OrX8Lncm.js → HSpinner-CjjGcQJD.js} +1 -1
  48. package/dist/{HSpinner-DskT_CbT.mjs → HSpinner-D6VNpQLM.mjs} +1 -1
  49. package/dist/{HTable-CgFXqisG.js → HTable-BdNtBsjD.js} +1 -1
  50. package/dist/{HTable-D_wg634Z.mjs → HTable-D2HYTuO9.mjs} +1 -1
  51. package/dist/hisonvue.cjs.js +1 -1
  52. package/dist/hisonvue.css +1 -1
  53. package/dist/hisonvue.d.ts +9 -4
  54. package/dist/hisonvue.es.js +2 -2
  55. package/dist/{index-C4_ZZ_fO.mjs → index-CGr5-mvg.mjs} +82 -73
  56. package/dist/{index-Dndw65fe.js → index-DcB16odB.js} +16 -14
  57. package/dist/{setButtonCssEvent-C0T9J9fO.js → setButtonCssEvent-CTLQPvWj.js} +1 -1
  58. package/dist/{setButtonCssEvent-BEJDaHrp.mjs → setButtonCssEvent-T2QV1cDz.mjs} +1 -1
  59. package/package.json +1 -1
  60. package/dist/HDrawer-CC6pLF5V.js +0 -1
  61. package/dist/HGrid-6zIauOhZ.js +0 -1
  62. package/dist/HNote-D-0CwHiB.js +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("./index-Dndw65fe.js"),B=require("./_plugin-vue_export-helper-BHFhmbuH.js"),F={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},type:{type:String,required:!0},modelValue:{type:Object,required:!0},options:{type:Object,required:!1},visible:{type:Boolean,default:!0},loadDelay:{type:Number,default:500}},H=t.defineComponent({name:"HChart",props:F,emits:["update:modelValue","mounted","responsive-change"],setup(n,{emit:w,attrs:q}){const c=n.id||r.getUUID(),u=`hchart:${c}`,h=t.ref(null),s=t.ref(null),p=t.ref(n.visible),L=t.computed(()=>p.value?"":"hison-display-none"),R=r.useDevice(),d=t.ref([]),v=t.ref(!1),y=t.ref(n.loadDelay??500);let l=null,f=!0,o=!1;const i=t.ref(!1),A=()=>{d.value=r.extractResponsiveClasses(r.toClassString(n.class)||"",R.value),r.getIndexSpecificClassNameFromClassList(d.value,"col")===-1&&d.value.push("hison-col-12"),r.addComponentNameToClass(d.value,"size",r.hisonCloser.componentStyle.size),r.addComponentNameToClass(d.value,"color","primary")},m=e=>{if(Array.isArray(e))return e.map(a=>typeof a=="string"?r.getRGBAFromColorText(a)||a:typeof a=="object"&&a!==null?m(a):a);if(typeof e=="object"&&e!==null){const a={};for(const[g,b]of Object.entries(e))if(typeof b=="string"&&/color/i.test(g)){const D=r.getRGBAFromColorText(b);a[g]=D||b}else a[g]=m(b);return a}return e};function j(e){return!e||typeof e!="object"||!Array.isArray(e.datasets)?{datasets:[]}:{...e,datasets:e.datasets.filter(a=>!!a)}}function S(e){return!e||typeof e!="object"?{}:e}function k(){if(!f||o||i.value)return;if(!h.value){console.warn("[mountChart] canvasRef.value is null");return}A(),s.value=t.markRaw(new r.Chart(h.value,{type:n.type,data:j(m(t.toRaw(n.modelValue))),options:S(m(t.toRaw(n.options)))}));const e=s.value;e.isHisonvueComponent=!0,e.getId=()=>c,e.getType=()=>"chart",e.isVisible=()=>p.value,e.setVisible=a=>{p.value=a},e.getLoadDelay=()=>y.value,e.setLoadDelay=a=>{y.value=a},e.reload=()=>r.reloadHisonComponent(u),r.hisonCloser.component.chartList[c]&&r.hisonCloser.component.chartList[c].isHisonvueComponent&&console.warn(`[Hisonvue] The chart ID is at risk of being duplicated. ${c}`),r.hisonCloser.component.chartList[c]=e,i.value=!1,w("mounted",r.hisonCloser.component.chartList[c])}const C=async()=>{var a;if(o||i.value){o=!0,l!==null&&(clearTimeout(l),l=null);return}o=!0,l!==null&&(clearTimeout(l),l=null);const e=s.value;if(e)try{try{(a=e.stop)==null||a.call(e)}catch{}e.destroy()}catch{}finally{s.value=null}delete r.hisonCloser.component.chartList[c],v.value=!0,i.value=!0,await t.nextTick()},T=async()=>{!f||o||v.value&&(v.value=!1,await t.nextTick(),l=window.setTimeout(()=>{!f||o||i.value||requestAnimationFrame(()=>{requestAnimationFrame(()=>{k()})})},y.value))};return r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T(),r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T(),r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T())}))}))}),t.onMounted(async()=>{v.value=!1,i.value=!1,await t.nextTick(),l=window.setTimeout(()=>{!f||o||i.value||requestAnimationFrame(()=>{requestAnimationFrame(()=>{k()})})},y.value)}),t.onBeforeUnmount(async()=>{f=!1,l!==null&&(clearTimeout(l),l=null),await C(),r.unregisterReloadable(u)}),t.watch(R,()=>{var e;o||i.value||(A(),s.value&&(((e=h.value)==null?void 0:e.isConnected)??!0)&&s.value.resize(),w("responsive-change",R.value))}),t.watch(()=>n.modelValue,e=>{v.value||o||i.value||!s.value||!e||typeof e!="object"||!Array.isArray(e.datasets)||(s.value.data=j(m(t.toRaw(e))),s.value.update("none"))},{deep:!0}),t.watch(()=>n.options,e=>{v.value||o||i.value||!s.value||!e||typeof e!="object"||(s.value.options=S(m(t.toRaw(e))),s.value.update("none"))},{deep:!0}),t.watch(()=>n.visible,e=>{e!==p.value&&(p.value=!!e)}),t.watch(()=>n.loadDelay,e=>{const a=Number(e);Number.isFinite(a)&&a>=0&&a!==y.value&&(y.value=a)}),t.watch(()=>n.class,()=>A()),t.watch(()=>n.type,()=>{!o&&!i.value&&r.reloadHisonComponent(u)}),{canvasRef:h,props:n,attrs:q,visibleClass:L,responsiveClassList:d,isPending:v}}});function I(n,w,q,c,u,h){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-chart","hison-wrapper",...n.responsiveClassList,n.visibleClass]),style:t.normalizeStyle(n.props.style)},[n.isPending?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("canvas",t.mergeProps({key:0,ref:"canvasRef"},n.attrs),null,16))],6)}const N=B._export_sfc(H,[["render",I]]);exports.default=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("./index-DcB16odB.js"),B=require("./_plugin-vue_export-helper-BHFhmbuH.js"),F={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},type:{type:String,required:!0},modelValue:{type:Object,required:!0},options:{type:Object,required:!1},visible:{type:Boolean,default:!0},loadDelay:{type:Number,default:500}},H=t.defineComponent({name:"HChart",props:F,emits:["update:modelValue","mounted","responsive-change"],setup(n,{emit:w,attrs:q}){const c=n.id||r.getUUID(),u=`hchart:${c}`,h=t.ref(null),s=t.ref(null),p=t.ref(n.visible),L=t.computed(()=>p.value?"":"hison-display-none"),R=r.useDevice(),d=t.ref([]),v=t.ref(!1),y=t.ref(n.loadDelay??500);let l=null,f=!0,o=!1;const i=t.ref(!1),A=()=>{d.value=r.extractResponsiveClasses(r.toClassString(n.class)||"",R.value),r.getIndexSpecificClassNameFromClassList(d.value,"col")===-1&&d.value.push("hison-col-12"),r.addComponentNameToClass(d.value,"size",r.hisonCloser.componentStyle.size),r.addComponentNameToClass(d.value,"color","primary")},m=e=>{if(Array.isArray(e))return e.map(a=>typeof a=="string"?r.getRGBAFromColorText(a)||a:typeof a=="object"&&a!==null?m(a):a);if(typeof e=="object"&&e!==null){const a={};for(const[g,b]of Object.entries(e))if(typeof b=="string"&&/color/i.test(g)){const D=r.getRGBAFromColorText(b);a[g]=D||b}else a[g]=m(b);return a}return e};function j(e){return!e||typeof e!="object"||!Array.isArray(e.datasets)?{datasets:[]}:{...e,datasets:e.datasets.filter(a=>!!a)}}function S(e){return!e||typeof e!="object"?{}:e}function k(){if(!f||o||i.value)return;if(!h.value){console.warn("[mountChart] canvasRef.value is null");return}A(),s.value=t.markRaw(new r.Chart(h.value,{type:n.type,data:j(m(t.toRaw(n.modelValue))),options:S(m(t.toRaw(n.options)))}));const e=s.value;e.isHisonvueComponent=!0,e.getId=()=>c,e.getType=()=>"chart",e.isVisible=()=>p.value,e.setVisible=a=>{p.value=a},e.getLoadDelay=()=>y.value,e.setLoadDelay=a=>{y.value=a},e.reload=()=>r.reloadHisonComponent(u),r.hisonCloser.component.chartList[c]&&r.hisonCloser.component.chartList[c].isHisonvueComponent&&console.warn(`[Hisonvue] The chart ID is at risk of being duplicated. ${c}`),r.hisonCloser.component.chartList[c]=e,i.value=!1,w("mounted",r.hisonCloser.component.chartList[c])}const C=async()=>{var a;if(o||i.value){o=!0,l!==null&&(clearTimeout(l),l=null);return}o=!0,l!==null&&(clearTimeout(l),l=null);const e=s.value;if(e)try{try{(a=e.stop)==null||a.call(e)}catch{}e.destroy()}catch{}finally{s.value=null}delete r.hisonCloser.component.chartList[c],v.value=!0,i.value=!0,await t.nextTick()},T=async()=>{!f||o||v.value&&(v.value=!1,await t.nextTick(),l=window.setTimeout(()=>{!f||o||i.value||requestAnimationFrame(()=>{requestAnimationFrame(()=>{k()})})},y.value))};return r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T(),r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T(),r.registerReloadable(u,async()=>{f&&(r.unregisterReloadable(u),await C(),await T())}))}))}),t.onMounted(async()=>{v.value=!1,i.value=!1,await t.nextTick(),l=window.setTimeout(()=>{!f||o||i.value||requestAnimationFrame(()=>{requestAnimationFrame(()=>{k()})})},y.value)}),t.onBeforeUnmount(async()=>{f=!1,l!==null&&(clearTimeout(l),l=null),await C(),r.unregisterReloadable(u)}),t.watch(R,()=>{var e;o||i.value||(A(),s.value&&(((e=h.value)==null?void 0:e.isConnected)??!0)&&s.value.resize(),w("responsive-change",R.value))}),t.watch(()=>n.modelValue,e=>{v.value||o||i.value||!s.value||!e||typeof e!="object"||!Array.isArray(e.datasets)||(s.value.data=j(m(t.toRaw(e))),s.value.update("none"))},{deep:!0}),t.watch(()=>n.options,e=>{v.value||o||i.value||!s.value||!e||typeof e!="object"||(s.value.options=S(m(t.toRaw(e))),s.value.update("none"))},{deep:!0}),t.watch(()=>n.visible,e=>{e!==p.value&&(p.value=!!e)}),t.watch(()=>n.loadDelay,e=>{const a=Number(e);Number.isFinite(a)&&a>=0&&a!==y.value&&(y.value=a)}),t.watch(()=>n.class,()=>A()),t.watch(()=>n.type,()=>{!o&&!i.value&&r.reloadHisonComponent(u)}),{canvasRef:h,props:n,attrs:q,visibleClass:L,responsiveClassList:d,isPending:v}}});function I(n,w,q,c,u,h){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-chart","hison-wrapper",...n.responsiveClassList,n.visibleClass]),style:t.normalizeStyle(n.props.style)},[n.isPending?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("canvas",t.mergeProps({key:0,ref:"canvasRef"},n.attrs),null,16))],6)}const N=B._export_sfc(H,[["render",I]]);exports.default=N;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as _, ref as f, computed as x, onMounted as V, nextTick as S, onBeforeUnmount as E, watch as v, toRaw as A, markRaw as G, createElementBlock as N, openBlock as O, normalizeStyle as M, normalizeClass as J, createCommentVNode as K, mergeProps as Q } from "vue";
2
- import { g as W, u as X, r as T, d as j, c as $, e as Y, t as Z, a as ee, b as z, h as p, p as B, C as te } from "./index-C4_ZZ_fO.mjs";
2
+ import { g as W, u as X, r as T, d as j, c as $, e as Y, t as Z, a as ee, b as z, h as p, p as B, C as te } from "./index-CGr5-mvg.mjs";
3
3
  import { _ as ae } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
4
4
  const se = {
5
5
  /**
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),i=require("./index-DcB16odB.js"),J=require("./scrollManager-CEEWQwoK.js"),Ce=require("./_plugin-vue_export-helper-BHFhmbuH.js"),be=["top","bottom","left","right"],ge={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},visible:{type:Boolean,default:!1},border:{type:Boolean,default:!0},zIndex:{type:Number,default:1100},position:{type:String,default:"bottom",validator:l=>be.includes(l)},width:{type:Number,default:null},height:{type:Number,default:null},closeButtonVisible:{type:Boolean,default:!0},closeButtonText:{type:String,default:"X"},closeButtonTitle:{type:String,default:"close"},swipeClose:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},closeClickOverlay:{type:Boolean,default:!0},overlayStyle:{type:[String,Object,Array],required:!1},scrollLock:{type:Boolean,default:!0},enterAnimationClass:{type:String,required:!1},leaveAnimationClass:{type:String,required:!1}},pe=t.defineComponent({name:"HDrawer",props:ge,inheritAttrs:!1,emits:["mounted","responsive-change","open","close"],setup(l,{emit:f}){const u=l.id||i.getUUID(),L=`hdrawer:${u}`,I=i.useDevice(),q=t.ref(null),y=t.ref(null),a=t.ref(l.visible),b=t.ref(l.zIndex??1100),w=t.ref(l.border),S=t.ref(l.showOverlay),k=t.ref(l.closeClickOverlay),g=t.ref(l.scrollLock),n=t.ref(l.position),c=t.ref(l.width??null),v=t.ref(l.height??null),B=t.ref(l.closeButtonVisible),K=t.computed(()=>w.value),Q=t.computed(()=>w.value?"filled":"empty"),N=t.ref(l.closeButtonText||"X"),P=t.ref(l.closeButtonTitle||"Close"),T=t.ref(l.swipeClose),O={top:"hison-drawer-enter-top",bottom:"hison-drawer-enter-bottom",left:"hison-drawer-enter-left",right:"hison-drawer-enter-right"},A={top:"hison-drawer-leave-top",bottom:"hison-drawer-leave-bottom",left:"hison-drawer-leave-left",right:"hison-drawer-leave-right"},h=t.ref(l.enterAnimationClass||O[n.value]),m=t.ref(l.leaveAnimationClass||A[n.value]),x=t.computed(()=>"hison-bg-empty"),_=t.computed(()=>w.value?"hison-border":""),ee=t.computed(()=>a.value?"":"hison-display-none"),$=t.ref([]),H=()=>{var e;$.value=i.extractResponsiveClasses(i.toClassString(l.class)||"",I.value),i.addComponentNameToClass($.value,"size",((e=i.hisonCloser.componentStyle)==null?void 0:e.size)||"m"),i.addComponentNameToClass($.value,"color","primary")},te=t.computed(()=>[...i.extractPrefixedClasses(i.toClassString(l.class)||"","color")]),le=t.computed(()=>a.value&&S.value),oe=t.computed(()=>{const o={zIndex:(b.value??1100)-1},s=l.overlayStyle;return s?Array.isArray(s)?[{...o},...s]:typeof s=="string"?[o,s]:{...o,...s}:o}),ne=()=>{k.value&&d()},se=t.computed(()=>{const e={zIndex:b.value,position:"fixed",inset:"auto"};switch(e.left="",e.right="",e.top="",e.bottom="",n.value){case"top":e.left="0",e.right="0",e.top="0";break;case"bottom":e.left="0",e.right="0",e.bottom="0";break;case"left":e.left="0",e.top="0",e.bottom="0";break;case"right":e.right="0",e.top="0",e.bottom="0";break}return e}),ae=t.computed(()=>{const e={};return n.value==="top"||n.value==="bottom"?(e.width="100vw",v.value!=null&&(e.height=`${v.value}px`),c.value!=null&&(e.width=`${c.value}px`)):(e.height="100vh",c.value!=null&&(e.width=`${c.value}px`),v.value!=null&&(e.height=`${v.value}px`)),e}),z=()=>{g.value&&J.acquireScrollLock(u)},V=()=>{g.value&&J.releaseScrollLock(u)},W=async()=>{const e=y.value;!e||!h.value||(e.classList.remove(m.value),e.offsetWidth,e.classList.add(h.value))},ie=async()=>{const e=y.value;!e||!m.value||(e.classList.remove(h.value),e.offsetWidth,e.classList.add(m.value),await new Promise(o=>setTimeout(o,200)))},E=async()=>{a.value||(a.value=!0,z(),await t.nextTick(),W(),f("open",t.unref(p)))},d=async()=>{if(a.value)try{await ie()}finally{a.value=!1,V(),f("close",t.unref(p))}},re=async()=>a.value?d():E(),ue=()=>d();let R=!1,M=0,U=0;const X=40,ce=e=>{T.value&&(R=!0,M=e.clientX,U=e.clientY,window.addEventListener("pointerup",ve,{once:!0,capture:!0}))},ve=e=>{if(!R)return;R=!1;const o=e.clientX-M,s=e.clientY-U,r=Math.abs(o),C=Math.abs(s);(n.value==="top"&&C>r&&s>X||n.value==="bottom"&&C>r&&s<-40||n.value==="left"&&r>C&&o<-40||n.value==="right"&&r>C&&o>X)&&d()},de=200,fe="ease";function Z(e,o,s,r,C=de,ye=fe){return new Promise(we=>{e.style.transition="none",e.style[o]=`${s}px`,e.offsetWidth,e.style.transition=`${o} ${C}ms ${ye}`,e.style[o]=`${r}px`;const D=()=>{e.removeEventListener("transitionend",D),e.style.transition="",we()};e.addEventListener("transitionend",D),setTimeout(D,C+50)})}const he=t.computed(()=>n.value==="left"||n.value==="right"),me=t.computed(()=>n.value==="top"||n.value==="bottom");async function j(e,o=!0){const s=y.value;if(!s){c.value=e;return}const r=s.getBoundingClientRect().width;if((e??r)===r){c.value=e;return}if(!o||e==null||!he.value){c.value=e;return}c.value=e,await t.nextTick(),await Z(s,"width",r,e)}async function Y(e,o=!0){const s=y.value;if(!s){v.value=e;return}const r=s.getBoundingClientRect().height;if((e??r)===r){v.value=e;return}if(!o||e==null||!me.value){v.value=e;return}v.value=e,await t.nextTick(),await Z(s,"height",r,e)}const p=t.ref(null),F=()=>{i.hisonCloser.component.drawerList[u]&&i.hisonCloser.component.drawerList[u].isHisonvueComponent&&console.warn(`[Hisonvue] The drawer ID is at risk of being duplicated. ${u}`),i.registerReloadable(L,()=>{G(),t.nextTick(F)}),H(),a.value&&(z(),t.nextTick(W)),p.value={isHisonvueComponent:!0,getId:()=>u,getType:()=>"drawer",isVisible:()=>a.value,isOpen:()=>a.value,open:E,close:d,toggle:re,setVisible:e=>e?E():d(),getZIndex:()=>b.value,setZIndex:e=>{b.value=e},getPosition:()=>n.value,setPosition:e=>{n.value=e,l.enterAnimationClass||(h.value=O[n.value]),l.leaveAnimationClass||(m.value=A[n.value])},getWidth:()=>c.value,setWidth:(e,o=!0)=>j(e,o),getHeight:()=>v.value,setHeight:(e,o=!0)=>Y(e,o),isSwipeCloseEnabled:()=>T.value,setSwipeCloseEnabled:e=>{T.value=e},isCloseButtonVisible:()=>B.value,setCloseButtonVisible:e=>{B.value=e},isOverlayShown:()=>S.value,setOverlayShown:e=>{S.value=e},isCloseClickOverlay:()=>k.value,setCloseClickOverlay:e=>{k.value=e},isScrollLocked:()=>g.value,setScrollLock:e=>{g.value=e,a.value&&(e?z():V())},isBorder:()=>w.value,setBorder:e=>{w.value=e},getAnimationClasses:()=>({enter:h.value,leave:m.value}),setAnimationClasses:e=>{"enter"in e&&(h.value=e.enter||""),"leave"in e&&(m.value=e.leave||"")},reload:()=>i.reloadHisonComponent(L)},i.hisonCloser.component.drawerList[u]=p.value,f("mounted",p.value)},G=()=>{i.unregisterReloadable(L),delete i.hisonCloser.component.drawerList[u],a.value&&V()};return t.onMounted(F),t.onBeforeUnmount(G),t.watch(I,e=>{H(),f("responsive-change",e)}),t.watch(()=>l.visible,e=>{const o=!!e;o&&!a.value?E():!o&&a.value&&d()}),t.watch(()=>l.zIndex,e=>{const o=Number(e);Number.isFinite(o)&&o!==b.value&&(b.value=o)}),t.watch(()=>l.border,e=>{const o=!!e;o!==w.value&&(w.value=o)}),t.watch(()=>l.showOverlay,e=>{const o=!!e;o!==S.value&&(S.value=o)}),t.watch(()=>l.closeClickOverlay,e=>{const o=!!e;o!==k.value&&(k.value=o)}),t.watch(()=>l.scrollLock,e=>{const o=!!e;o!==g.value&&(g.value=o,a.value&&(o?z():V()))}),t.watch(()=>l.position,e=>{e&&e!==n.value&&(n.value=e,l.enterAnimationClass||(h.value=O[n.value]),l.leaveAnimationClass||(m.value=A[n.value]))}),t.watch(()=>l.width,e=>{const o=e==null?null:Number(e);o!==c.value&&j(o,!1)}),t.watch(()=>l.height,e=>{const o=e==null?null:Number(e);o!==v.value&&Y(o,!1)}),t.watch(()=>l.closeButtonVisible,e=>{const o=!!e;o!==B.value&&(B.value=o)}),t.watch(()=>l.closeButtonText,e=>{const o=e??"X";o!==N.value&&(N.value=o)}),t.watch(()=>l.closeButtonTitle,e=>{const o=e??"Close";o!==P.value&&(P.value=o)}),t.watch(()=>l.swipeClose,e=>{const o=!!e;o!==T.value&&(T.value=o)}),t.watch(()=>l.enterAnimationClass,e=>{const o=e||O[n.value];o!==h.value&&(h.value=o)}),t.watch(()=>l.leaveAnimationClass,e=>{const o=e||A[n.value];o!==m.value&&(m.value=o)}),t.watch(()=>l.class,()=>H()),{id:u,props:l,wrapperRef:q,drawerRef:y,position:n,visibleClass:ee,responsiveClassList:$,childClassList:te,borderClass:_,backgroundTypeClass:x,wrapperStyle:se,overlayStyleWithZ:oe,isOverlayVisible:le,sizeStyle:ae,closeButtonVisible:B,closeButtonBorder:K,closeButtonBackgroundType:Q,closeButtonText:N,closeButtonTitle:P,onOverlayClick:ne,onClickClose:ue,onSwipePointerDown:ce,drawerMethods:t.computed(()=>t.unref(p))}}});function Se(l,f,u,L,I,q){const y=t.resolveComponent("HButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-layer-host",l.visibleClass])},[l.isOverlayVisible?(t.openBlock(),t.createElementBlock("div",{key:0,class:"hison-drawer-overlay",style:t.normalizeStyle(l.overlayStyleWithZ),onClick:f[0]||(f[0]=(...a)=>l.onOverlayClick&&l.onOverlayClick(...a))},null,4)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"wrapperRef",class:t.normalizeClass(["hison-drawer-wrapper",`hison-pos-${l.position}`,...l.responsiveClassList]),style:t.normalizeStyle(l.wrapperStyle)},[t.createElementVNode("div",{ref:"drawerRef",class:t.normalizeClass(["hison-drawer",l.borderClass,l.backgroundTypeClass]),style:t.normalizeStyle([l.sizeStyle,l.props.style]),role:"dialog",onPointerdown:f[1]||(f[1]=(...a)=>l.onSwipePointerDown&&l.onSwipePointerDown(...a))},[l.closeButtonVisible?t.renderSlot(l.$slots,"close-button",{key:0,onClick:l.onClickClose,text:l.closeButtonText,title:l.closeButtonTitle||"Close"},()=>[t.createVNode(y,{id:`hison_drawer_close_${l.id}`,class:t.normalizeClass(["hison-drawer-close-btn","hison-pos-right","hison-pos-top","hison-size-s",...l.childClassList]),text:l.closeButtonText,title:l.closeButtonTitle||"Close",border:l.closeButtonBorder,"background-type":l.closeButtonBackgroundType,onClick:l.onClickClose},t.createSlots({default:t.withCtx(()=>[l.$slots["close-label"]?t.renderSlot(l.$slots,"close-label",{key:0}):t.createCommentVNode("",!0)]),_:2},[l.$slots["close-icon"]?{name:"icon",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"close-icon")]),key:"0"}:void 0]),1032,["id","class","text","title","border","background-type","onClick"])]):t.createCommentVNode("",!0),t.renderSlot(l.$slots,"default")],38)],6)],2)}const ke=Ce._export_sfc(pe,[["render",Se]]);exports.default=ke;
@@ -1,8 +1,8 @@
1
- import { defineComponent as Ve, ref as n, computed as r, onMounted as Pe, onBeforeUnmount as He, watch as a, unref as j, nextTick as A, resolveComponent as Re, createElementBlock as se, openBlock as ne, normalizeClass as R, createCommentVNode as Y, createElementVNode as ae, normalizeStyle as F, renderSlot as D, createVNode as De, createSlots as Ne, withCtx as ie } from "vue";
2
- import { g as We, u as qe, j as Ue, t as re, e as Xe, b as ue, h as $, r as Ze, c as Me, d as je } from "./index-C4_ZZ_fO.mjs";
3
- import { a as Ye, r as Fe } from "./scrollManager-BGnq4wyt.mjs";
4
- import { _ as Ge } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
- const Je = ["top", "bottom", "left", "right"], Ke = {
1
+ import { defineComponent as Ee, ref as a, computed as u, onMounted as ze, onBeforeUnmount as Ve, watch as i, unref as M, nextTick as T, resolveComponent as Pe, createElementBlock as oe, openBlock as se, normalizeClass as R, createCommentVNode as j, createElementVNode as ne, normalizeStyle as Y, renderSlot as D, createVNode as He, createSlots as Re, withCtx as ae } from "vue";
2
+ import { g as De, u as Ne, j as We, t as ie, e as qe, b as re, h as A, r as Ue, c as Xe, d as Ze } from "./index-CGr5-mvg.mjs";
3
+ import { a as Me, r as je } from "./scrollManager-BGnq4wyt.mjs";
4
+ import { _ as Ye } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
+ const Fe = ["top", "bottom", "left", "right"], Ge = {
6
6
  /**
7
7
  * Unique identifier for the drawer instance.
8
8
  * - Retrieve runtime methods via `hison.component.getDrawer(id)`
@@ -53,7 +53,7 @@ const Je = ["top", "bottom", "left", "right"], Ke = {
53
53
  position: {
54
54
  type: String,
55
55
  default: "bottom",
56
- validator: (t) => Je.includes(t)
56
+ validator: (t) => Fe.includes(t)
57
57
  },
58
58
  /**
59
59
  * Drawer width in pixels.
@@ -126,33 +126,33 @@ const Je = ["top", "bottom", "left", "right"], Ke = {
126
126
  * - Default: chosen internally by `position` if not provided
127
127
  */
128
128
  leaveAnimationClass: { type: String, required: !1 }
129
- }, Qe = Ve({
129
+ }, Je = Ee({
130
130
  name: "HDrawer",
131
- props: Ke,
131
+ props: Ge,
132
132
  inheritAttrs: !1,
133
133
  emits: ["mounted", "responsive-change", "open", "close"],
134
- setup(t, { emit: f, slots: ce }) {
135
- const u = t.id || We(), I = `hdrawer:${u}`, N = qe(), W = n(null), y = n(null), k = n(t.visible), c = n(t.visible), g = n(t.zIndex ?? 1100), b = n(t.border), S = n(t.showOverlay), L = n(t.closeClickOverlay), p = n(t.scrollLock), o = n(t.position), v = n(t.width ?? null), d = n(t.height ?? null), O = n(t.closeButtonVisible), ve = r(() => b.value), de = r(() => b.value ? "filled" : "empty"), q = n(t.closeButtonText || "X"), U = n(t.closeButtonTitle || "Close"), T = n(t.swipeClose), E = {
134
+ setup(t, { emit: y }) {
135
+ const c = t.id || De(), $ = `hdrawer:${c}`, N = Ne(), F = a(null), w = a(null), n = a(t.visible), g = a(t.zIndex ?? 1100), b = a(t.border), k = a(t.showOverlay), S = a(t.closeClickOverlay), p = a(t.scrollLock), o = a(t.position), v = a(t.width ?? null), d = a(t.height ?? null), L = a(t.closeButtonVisible), ue = u(() => b.value), ce = u(() => b.value ? "filled" : "empty"), W = a(t.closeButtonText || "X"), q = a(t.closeButtonTitle || "Close"), O = a(t.swipeClose), I = {
136
136
  top: "hison-drawer-enter-top",
137
137
  bottom: "hison-drawer-enter-bottom",
138
138
  left: "hison-drawer-enter-left",
139
139
  right: "hison-drawer-enter-right"
140
- }, z = {
140
+ }, E = {
141
141
  top: "hison-drawer-leave-top",
142
142
  bottom: "hison-drawer-leave-bottom",
143
143
  left: "hison-drawer-leave-left",
144
144
  right: "hison-drawer-leave-right"
145
- }, h = n(t.enterAnimationClass || E[o.value]), m = n(t.leaveAnimationClass || z[o.value]), fe = r(() => "hison-bg-empty"), ye = r(() => b.value ? "hison-border" : ""), he = r(() => k.value ? "" : "hison-display-none"), V = n([]), X = () => {
145
+ }, h = a(t.enterAnimationClass || I[o.value]), m = a(t.leaveAnimationClass || E[o.value]), ve = u(() => "hison-bg-empty"), de = u(() => b.value ? "hison-border" : ""), fe = u(() => n.value ? "" : "hison-display-none"), z = a([]), U = () => {
146
146
  var e;
147
- V.value = Xe(re(t.class) || "", N.value), ue(V.value, "size", ((e = $.componentStyle) == null ? void 0 : e.size) || "m"), ue(V.value, "color", "primary");
148
- }, me = r(() => [
149
- ...Ue(re(t.class) || "", "color")
150
- ]), we = r(() => c.value && S.value), be = r(() => {
147
+ z.value = qe(ie(t.class) || "", N.value), re(z.value, "size", ((e = A.componentStyle) == null ? void 0 : e.size) || "m"), re(z.value, "color", "primary");
148
+ }, ye = u(() => [
149
+ ...We(ie(t.class) || "", "color")
150
+ ]), he = u(() => n.value && k.value), me = u(() => {
151
151
  const l = { zIndex: (g.value ?? 1100) - 1 }, s = t.overlayStyle;
152
152
  return s ? Array.isArray(s) ? [{ ...l }, ...s] : typeof s == "string" ? [l, s] : { ...l, ...s } : l;
153
- }), Ce = () => {
154
- L.value && w();
155
- }, ge = r(() => {
153
+ }), we = () => {
154
+ S.value && f();
155
+ }, be = u(() => {
156
156
  const e = { zIndex: g.value, position: "fixed", inset: "auto" };
157
157
  switch (e.left = "", e.right = "", e.top = "", e.bottom = "", o.value) {
158
158
  case "top":
@@ -169,128 +169,128 @@ const Je = ["top", "bottom", "left", "right"], Ke = {
169
169
  break;
170
170
  }
171
171
  return e;
172
- }), pe = r(() => {
172
+ }), Ce = u(() => {
173
173
  const e = {};
174
174
  return o.value === "top" || o.value === "bottom" ? (e.width = "100vw", d.value != null && (e.height = `${d.value}px`), v.value != null && (e.width = `${v.value}px`)) : (e.height = "100vh", v.value != null && (e.width = `${v.value}px`), d.value != null && (e.height = `${d.value}px`)), e;
175
- }), P = () => {
176
- p.value && Ye(u);
177
- }, H = () => {
178
- p.value && Fe(u);
175
+ }), V = () => {
176
+ p.value && Me(c);
177
+ }, P = () => {
178
+ p.value && je(c);
179
179
  }, G = async () => {
180
- const e = y.value;
180
+ const e = w.value;
181
181
  !e || !h.value || (e.classList.remove(m.value), e.offsetWidth, e.classList.add(h.value));
182
- }, Be = async () => {
183
- const e = y.value;
182
+ }, ge = async () => {
183
+ const e = w.value;
184
184
  !e || !m.value || (e.classList.remove(h.value), e.offsetWidth, e.classList.add(m.value), await new Promise((l) => setTimeout(l, 200)));
185
- }, J = async () => {
186
- c.value || (c.value = !0, P(), await A(), G(), f("open", j(B)));
187
- }, w = async () => {
188
- if (c.value)
185
+ }, H = async () => {
186
+ n.value || (n.value = !0, V(), await T(), G(), y("open", M(B)));
187
+ }, f = async () => {
188
+ if (n.value)
189
189
  try {
190
- await Be();
190
+ await ge();
191
191
  } finally {
192
- c.value = !1, H(), f("close", j(B));
192
+ n.value = !1, P(), y("close", M(B));
193
193
  }
194
- }, ke = async () => c.value ? w() : J(), Se = () => w();
195
- let Z = !1, K = 0, Q = 0;
196
- const x = 40, Le = (e) => {
197
- T.value && (Z = !0, K = e.clientX, Q = e.clientY, window.addEventListener("pointerup", Oe, { once: !0, capture: !0 }));
198
- }, Oe = (e) => {
199
- if (!Z) return;
200
- Z = !1;
201
- const l = e.clientX - K, s = e.clientY - Q, i = Math.abs(l), C = Math.abs(s);
202
- (o.value === "top" && C > i && s > x || o.value === "bottom" && C > i && s < -40 || o.value === "left" && i > C && l < -40 || o.value === "right" && i > C && l > x) && w();
203
- }, Te = 200, Ae = "ease";
204
- function _(e, l, s, i, C = Te, Ee = Ae) {
205
- return new Promise((ze) => {
206
- e.style.transition = "none", e.style[l] = `${s}px`, e.offsetWidth, e.style.transition = `${l} ${C}ms ${Ee}`, e.style[l] = `${i}px`;
207
- const M = () => {
208
- e.removeEventListener("transitionend", M), e.style.transition = "", ze();
194
+ }, pe = async () => n.value ? f() : H(), Be = () => f();
195
+ let X = !1, J = 0, K = 0;
196
+ const Q = 40, ke = (e) => {
197
+ O.value && (X = !0, J = e.clientX, K = e.clientY, window.addEventListener("pointerup", Se, { once: !0, capture: !0 }));
198
+ }, Se = (e) => {
199
+ if (!X) return;
200
+ X = !1;
201
+ const l = e.clientX - J, s = e.clientY - K, r = Math.abs(l), C = Math.abs(s);
202
+ (o.value === "top" && C > r && s > Q || o.value === "bottom" && C > r && s < -40 || o.value === "left" && r > C && l < -40 || o.value === "right" && r > C && l > Q) && f();
203
+ }, Le = 200, Oe = "ease";
204
+ function x(e, l, s, r, C = Le, $e = Oe) {
205
+ return new Promise((Ie) => {
206
+ e.style.transition = "none", e.style[l] = `${s}px`, e.offsetWidth, e.style.transition = `${l} ${C}ms ${$e}`, e.style[l] = `${r}px`;
207
+ const Z = () => {
208
+ e.removeEventListener("transitionend", Z), e.style.transition = "", Ie();
209
209
  };
210
- e.addEventListener("transitionend", M), setTimeout(M, C + 50);
210
+ e.addEventListener("transitionend", Z), setTimeout(Z, C + 50);
211
211
  });
212
212
  }
213
- const $e = r(() => o.value === "left" || o.value === "right"), Ie = r(() => o.value === "top" || o.value === "bottom");
214
- async function ee(e, l = !0) {
215
- const s = y.value;
213
+ const Te = u(() => o.value === "left" || o.value === "right"), Ae = u(() => o.value === "top" || o.value === "bottom");
214
+ async function _(e, l = !0) {
215
+ const s = w.value;
216
216
  if (!s) {
217
217
  v.value = e;
218
218
  return;
219
219
  }
220
- const i = s.getBoundingClientRect().width;
221
- if ((e ?? i) === i) {
220
+ const r = s.getBoundingClientRect().width;
221
+ if ((e ?? r) === r) {
222
222
  v.value = e;
223
223
  return;
224
224
  }
225
- if (!l || e == null || !$e.value) {
225
+ if (!l || e == null || !Te.value) {
226
226
  v.value = e;
227
227
  return;
228
228
  }
229
- v.value = e, await A(), await _(s, "width", i, e);
229
+ v.value = e, await T(), await x(s, "width", r, e);
230
230
  }
231
- async function te(e, l = !0) {
232
- const s = y.value;
231
+ async function ee(e, l = !0) {
232
+ const s = w.value;
233
233
  if (!s) {
234
234
  d.value = e;
235
235
  return;
236
236
  }
237
- const i = s.getBoundingClientRect().height;
238
- if ((e ?? i) === i) {
237
+ const r = s.getBoundingClientRect().height;
238
+ if ((e ?? r) === r) {
239
239
  d.value = e;
240
240
  return;
241
241
  }
242
- if (!l || e == null || !Ie.value) {
242
+ if (!l || e == null || !Ae.value) {
243
243
  d.value = e;
244
244
  return;
245
245
  }
246
- d.value = e, await A(), await _(s, "height", i, e);
246
+ d.value = e, await T(), await x(s, "height", r, e);
247
247
  }
248
- const B = n(null), le = () => {
249
- $.component.drawerList[u] && $.component.drawerList[u].isHisonvueComponent && console.warn(`[Hisonvue] The drawer ID is at risk of being duplicated. ${u}`), Ze(I, () => {
250
- oe(), A(le);
251
- }), X(), c.value && (P(), A(G)), B.value = {
248
+ const B = a(null), te = () => {
249
+ A.component.drawerList[c] && A.component.drawerList[c].isHisonvueComponent && console.warn(`[Hisonvue] The drawer ID is at risk of being duplicated. ${c}`), Ue($, () => {
250
+ le(), T(te);
251
+ }), U(), n.value && (V(), T(G)), B.value = {
252
252
  isHisonvueComponent: !0,
253
- getId: () => u,
253
+ getId: () => c,
254
254
  getType: () => "drawer",
255
- isVisible: () => k.value,
256
- isOpen: () => c.value,
257
- open: J,
258
- close: w,
259
- toggle: ke,
260
- setVisible: (e) => {
261
- k.value = !!e;
262
- },
255
+ isVisible: () => n.value,
256
+ // API 유지용: isOpen visible alias
257
+ isOpen: () => n.value,
258
+ open: H,
259
+ close: f,
260
+ toggle: pe,
261
+ // setVisible도 open/close로 위임 (HModal과 동일)
262
+ setVisible: (e) => e ? H() : f(),
263
263
  getZIndex: () => g.value,
264
264
  setZIndex: (e) => {
265
265
  g.value = e;
266
266
  },
267
267
  getPosition: () => o.value,
268
268
  setPosition: (e) => {
269
- o.value = e, t.enterAnimationClass || (h.value = E[o.value]), t.leaveAnimationClass || (m.value = z[o.value]);
269
+ o.value = e, t.enterAnimationClass || (h.value = I[o.value]), t.leaveAnimationClass || (m.value = E[o.value]);
270
270
  },
271
271
  getWidth: () => v.value,
272
- setWidth: (e, l = !0) => ee(e, l),
272
+ setWidth: (e, l = !0) => _(e, l),
273
273
  getHeight: () => d.value,
274
- setHeight: (e, l = !0) => te(e, l),
275
- isSwipeCloseEnabled: () => T.value,
274
+ setHeight: (e, l = !0) => ee(e, l),
275
+ isSwipeCloseEnabled: () => O.value,
276
276
  setSwipeCloseEnabled: (e) => {
277
- T.value = e;
277
+ O.value = e;
278
278
  },
279
- isCloseButtonVisible: () => O.value,
279
+ isCloseButtonVisible: () => L.value,
280
280
  setCloseButtonVisible: (e) => {
281
- O.value = e;
281
+ L.value = e;
282
282
  },
283
- isOverlayShown: () => S.value,
283
+ isOverlayShown: () => k.value,
284
284
  setOverlayShown: (e) => {
285
- S.value = e;
285
+ k.value = e;
286
286
  },
287
- isCloseClickOverlay: () => L.value,
287
+ isCloseClickOverlay: () => S.value,
288
288
  setCloseClickOverlay: (e) => {
289
- L.value = e;
289
+ S.value = e;
290
290
  },
291
291
  isScrollLocked: () => p.value,
292
292
  setScrollLock: (e) => {
293
- p.value = e, c.value && (e ? P() : H());
293
+ p.value = e, n.value && (e ? V() : P());
294
294
  },
295
295
  isBorder: () => b.value,
296
296
  setBorder: (e) => {
@@ -300,106 +300,106 @@ const Je = ["top", "bottom", "left", "right"], Ke = {
300
300
  setAnimationClasses: (e) => {
301
301
  "enter" in e && (h.value = e.enter || ""), "leave" in e && (m.value = e.leave || "");
302
302
  },
303
- reload: () => Me(I)
304
- }, $.component.drawerList[u] = B.value, f("mounted", B.value);
305
- }, oe = () => {
306
- je(I), delete $.component.drawerList[u], c.value && H();
303
+ reload: () => Xe($)
304
+ }, A.component.drawerList[c] = B.value, y("mounted", B.value);
305
+ }, le = () => {
306
+ Ze($), delete A.component.drawerList[c], n.value && P();
307
307
  };
308
- return Pe(le), He(oe), a(N, (e) => {
309
- X(), f("responsive-change", e);
310
- }), a(() => t.visible, (e) => {
308
+ return ze(te), Ve(le), i(N, (e) => {
309
+ U(), y("responsive-change", e);
310
+ }), i(() => t.visible, (e) => {
311
311
  const l = !!e;
312
- l !== k.value && (k.value = l);
313
- }), a(() => t.zIndex, (e) => {
312
+ l && !n.value ? H() : !l && n.value && f();
313
+ }), i(() => t.zIndex, (e) => {
314
314
  const l = Number(e);
315
315
  Number.isFinite(l) && l !== g.value && (g.value = l);
316
- }), a(() => t.border, (e) => {
316
+ }), i(() => t.border, (e) => {
317
317
  const l = !!e;
318
318
  l !== b.value && (b.value = l);
319
- }), a(() => t.showOverlay, (e) => {
319
+ }), i(() => t.showOverlay, (e) => {
320
320
  const l = !!e;
321
- l !== S.value && (S.value = l);
322
- }), a(() => t.closeClickOverlay, (e) => {
321
+ l !== k.value && (k.value = l);
322
+ }), i(() => t.closeClickOverlay, (e) => {
323
323
  const l = !!e;
324
- l !== L.value && (L.value = l);
325
- }), a(() => t.scrollLock, (e) => {
324
+ l !== S.value && (S.value = l);
325
+ }), i(() => t.scrollLock, (e) => {
326
326
  const l = !!e;
327
- l !== p.value && (p.value = l, c.value && (l ? P() : H()));
328
- }), a(() => t.position, (e) => {
329
- e && e !== o.value && (o.value = e, t.enterAnimationClass || (h.value = E[o.value]), t.leaveAnimationClass || (m.value = z[o.value]));
330
- }), a(() => t.width, (e) => {
327
+ l !== p.value && (p.value = l, n.value && (l ? V() : P()));
328
+ }), i(() => t.position, (e) => {
329
+ e && e !== o.value && (o.value = e, t.enterAnimationClass || (h.value = I[o.value]), t.leaveAnimationClass || (m.value = E[o.value]));
330
+ }), i(() => t.width, (e) => {
331
331
  const l = e == null ? null : Number(e);
332
- l !== v.value && ee(l, !1);
333
- }), a(() => t.height, (e) => {
332
+ l !== v.value && _(l, !1);
333
+ }), i(() => t.height, (e) => {
334
334
  const l = e == null ? null : Number(e);
335
- l !== d.value && te(l, !1);
336
- }), a(() => t.closeButtonVisible, (e) => {
335
+ l !== d.value && ee(l, !1);
336
+ }), i(() => t.closeButtonVisible, (e) => {
337
337
  const l = !!e;
338
- l !== O.value && (O.value = l);
339
- }), a(() => t.closeButtonText, (e) => {
338
+ l !== L.value && (L.value = l);
339
+ }), i(() => t.closeButtonText, (e) => {
340
340
  const l = e ?? "X";
341
- l !== q.value && (q.value = l);
342
- }), a(() => t.closeButtonTitle, (e) => {
341
+ l !== W.value && (W.value = l);
342
+ }), i(() => t.closeButtonTitle, (e) => {
343
343
  const l = e ?? "Close";
344
- l !== U.value && (U.value = l);
345
- }), a(() => t.swipeClose, (e) => {
344
+ l !== q.value && (q.value = l);
345
+ }), i(() => t.swipeClose, (e) => {
346
346
  const l = !!e;
347
- l !== T.value && (T.value = l);
348
- }), a(() => t.enterAnimationClass, (e) => {
349
- const l = e || E[o.value];
347
+ l !== O.value && (O.value = l);
348
+ }), i(() => t.enterAnimationClass, (e) => {
349
+ const l = e || I[o.value];
350
350
  l !== h.value && (h.value = l);
351
- }), a(() => t.leaveAnimationClass, (e) => {
352
- const l = e || z[o.value];
351
+ }), i(() => t.leaveAnimationClass, (e) => {
352
+ const l = e || E[o.value];
353
353
  l !== m.value && (m.value = l);
354
- }), a(() => t.class, () => X()), {
355
- id: u,
354
+ }), i(() => t.class, () => U()), {
355
+ id: c,
356
356
  props: t,
357
- wrapperRef: W,
358
- drawerRef: y,
357
+ wrapperRef: F,
358
+ drawerRef: w,
359
359
  position: o,
360
- visibleClass: he,
361
- responsiveClassList: V,
362
- childClassList: me,
363
- borderClass: ye,
364
- backgroundTypeClass: fe,
365
- wrapperStyle: ge,
366
- overlayStyleWithZ: be,
367
- isOverlayVisible: we,
368
- sizeStyle: pe,
369
- closeButtonVisible: O,
370
- closeButtonBorder: ve,
371
- closeButtonBackgroundType: de,
372
- closeButtonText: q,
373
- closeButtonTitle: U,
374
- onOverlayClick: Ce,
375
- onClickClose: Se,
376
- onSwipePointerDown: Le,
377
- drawerMethods: r(() => j(B))
360
+ visibleClass: fe,
361
+ responsiveClassList: z,
362
+ childClassList: ye,
363
+ borderClass: de,
364
+ backgroundTypeClass: ve,
365
+ wrapperStyle: be,
366
+ overlayStyleWithZ: me,
367
+ isOverlayVisible: he,
368
+ sizeStyle: Ce,
369
+ closeButtonVisible: L,
370
+ closeButtonBorder: ue,
371
+ closeButtonBackgroundType: ce,
372
+ closeButtonText: W,
373
+ closeButtonTitle: q,
374
+ onOverlayClick: we,
375
+ onClickClose: Be,
376
+ onSwipePointerDown: ke,
377
+ drawerMethods: u(() => M(B))
378
378
  };
379
379
  }
380
380
  });
381
- function xe(t, f, ce, u, I, N) {
382
- const W = Re("HButton");
383
- return ne(), se("div", {
381
+ function Ke(t, y, c, $, N, F) {
382
+ const w = Pe("HButton");
383
+ return se(), oe("div", {
384
384
  class: R(["hison-layer-host", t.visibleClass])
385
385
  }, [
386
- t.isOverlayVisible ? (ne(), se("div", {
386
+ t.isOverlayVisible ? (se(), oe("div", {
387
387
  key: 0,
388
388
  class: "hison-drawer-overlay",
389
- style: F(t.overlayStyleWithZ),
390
- onClick: f[0] || (f[0] = (...y) => t.onOverlayClick && t.onOverlayClick(...y))
391
- }, null, 4)) : Y("", !0),
392
- ae("div", {
389
+ style: Y(t.overlayStyleWithZ),
390
+ onClick: y[0] || (y[0] = (...n) => t.onOverlayClick && t.onOverlayClick(...n))
391
+ }, null, 4)) : j("", !0),
392
+ ne("div", {
393
393
  ref: "wrapperRef",
394
394
  class: R(["hison-drawer-wrapper", `hison-pos-${t.position}`, ...t.responsiveClassList]),
395
- style: F(t.wrapperStyle)
395
+ style: Y(t.wrapperStyle)
396
396
  }, [
397
- ae("div", {
397
+ ne("div", {
398
398
  ref: "drawerRef",
399
399
  class: R(["hison-drawer", t.borderClass, t.backgroundTypeClass]),
400
- style: F([t.sizeStyle, t.props.style]),
400
+ style: Y([t.sizeStyle, t.props.style]),
401
401
  role: "dialog",
402
- onPointerdown: f[1] || (f[1] = (...y) => t.onSwipePointerDown && t.onSwipePointerDown(...y))
402
+ onPointerdown: y[1] || (y[1] = (...n) => t.onSwipePointerDown && t.onSwipePointerDown(...n))
403
403
  }, [
404
404
  t.closeButtonVisible ? D(t.$slots, "close-button", {
405
405
  key: 0,
@@ -407,7 +407,7 @@ function xe(t, f, ce, u, I, N) {
407
407
  text: t.closeButtonText,
408
408
  title: t.closeButtonTitle || "Close"
409
409
  }, () => [
410
- De(W, {
410
+ He(w, {
411
411
  id: `hison_drawer_close_${t.id}`,
412
412
  class: R(["hison-drawer-close-btn", "hison-pos-right", "hison-pos-top", "hison-size-s", ...t.childClassList]),
413
413
  text: t.closeButtonText,
@@ -415,27 +415,27 @@ function xe(t, f, ce, u, I, N) {
415
415
  border: t.closeButtonBorder,
416
416
  "background-type": t.closeButtonBackgroundType,
417
417
  onClick: t.onClickClose
418
- }, Ne({
419
- default: ie(() => [
420
- t.$slots["close-label"] ? D(t.$slots, "close-label", { key: 0 }) : Y("", !0)
418
+ }, Re({
419
+ default: ae(() => [
420
+ t.$slots["close-label"] ? D(t.$slots, "close-label", { key: 0 }) : j("", !0)
421
421
  ]),
422
422
  _: 2
423
423
  }, [
424
424
  t.$slots["close-icon"] ? {
425
425
  name: "icon",
426
- fn: ie(() => [
426
+ fn: ae(() => [
427
427
  D(t.$slots, "close-icon")
428
428
  ]),
429
429
  key: "0"
430
430
  } : void 0
431
431
  ]), 1032, ["id", "class", "text", "title", "border", "background-type", "onClick"])
432
- ]) : Y("", !0),
432
+ ]) : j("", !0),
433
433
  D(t.$slots, "default")
434
434
  ], 38)
435
435
  ], 6)
436
436
  ], 2);
437
437
  }
438
- const ot = /* @__PURE__ */ Ge(Qe, [["render", xe]]);
438
+ const tt = /* @__PURE__ */ Ye(Je, [["render", Ke]]);
439
439
  export {
440
- ot as default
440
+ tt as default
441
441
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as Ee, ref as o, computed as v, onMounted as Oe, onBeforeUnmount as Me, watch as i, nextTick as c, unref as ae, createElementBlock as j, openBlock as U, normalizeStyle as $, normalizeClass as P, createElementVNode as A, withKeys as ie, withModifiers as se, renderSlot as Te, toDisplayString as ue, createCommentVNode as xe, Fragment as Le, renderList as De } from "vue";
2
- import { T as He, w as b, D as ke, x as Ve, E as Re, y as Z, g as $e, u as ze, e as Be, t as Fe, b as re, h as N, r as qe, c as je, d as Ue } from "./index-C4_ZZ_fO.mjs";
3
- import { a as Pe, r as Ge } from "./setButtonCssEvent-BEJDaHrp.mjs";
2
+ import { T as He, w as b, D as ke, x as Ve, E as Re, y as Z, g as $e, u as ze, e as Be, t as Fe, b as re, h as N, r as qe, c as je, d as Ue } from "./index-CGr5-mvg.mjs";
3
+ import { a as Pe, r as Ge } from "./setButtonCssEvent-T2QV1cDz.mjs";
4
4
  import { _ as Ye } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
5
  const Ke = {
6
6
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o=require("./index-Dndw65fe.js"),X=require("./setButtonCssEvent-C0T9J9fO.js"),ve=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ge={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},toggleStyle:{type:[String,Object,Array],required:!1},menuStyle:{type:[String,Object,Array],required:!1},itemStyle:{type:[String,Object,Array],required:!1},visible:{type:Boolean,default:!0},editMode:{type:String,default:o.EditMode.editable,validator:n=>o.EDIT_MODE_VALUES.includes(n)},placeholder:{type:String,default:""},trigger:{type:String,default:o.DropdownTrigger.click,validator:n=>o.DROPDOWN_TRIGGER_VALUES.includes(n)},modelValue:{type:Object,required:!0},maxHeight:{type:Number,default:240,validator:n=>Number.isFinite(n)&&n>=0},closeOnSelect:{type:Boolean,default:!0},textAlign:{type:String,default:o.TextAlign.left,validator:n=>o.TEXT_ALIGN_VALUES.includes(n)},animate:{type:Boolean,default:!0},duration:{type:Number,default:500,validator:n=>Number.isFinite(n)&&n>=0},easing:{type:String,default:"ease"},tabIndex:{type:[Number,String],default:null,validator:n=>n===null||n===""||!isNaN(+n)&&isFinite(+n)},zIndex:{type:Number,default:1050}},fe=t.defineComponent({name:"HDropdown",props:ge,inheritAttrs:!1,emits:["mounted","responsive-change","open","close","toggle-click","item-click","change","update:modelValue"],setup(n,{emit:i}){var K,Y;const g=n.id||o.getUUID(),V=`hdropdown:${g}`,s=t.ref(null),p=t.ref(null),a=o.useDevice(),r=t.ref(!1),c=t.ref(((K=n.modelValue)==null?void 0:K.options)??[]),d=t.ref(((Y=n.modelValue)==null?void 0:Y.value)??null),y=t.ref(!!n.visible),b=t.ref(n.editMode),S=t.computed(()=>b.value===o.EditMode.disable),C=t.computed(()=>b.value===o.EditMode.readonly),L=t.ref(n.placeholder||""),T=t.ref(n.trigger),x=t.ref(n.textAlign??o.TextAlign.left),Z=t.computed(()=>({textAlign:x.value})),E=t.ref(n.animate??!0),A=t.ref(n.duration??500),N=t.ref(n.easing??"ease"),k=t.ref(n.tabIndex!==null&&n.tabIndex!==""?Number(n.tabIndex):null),I=t.ref(n.zIndex??1100),J=t.computed(()=>({"--hdd-duration":`${A.value}ms`,"--hdd-easing":N.value})),Q=t.computed(()=>y.value?"":"hison-display-none"),_=t.computed(()=>S.value?"hison-disable":""),ee=t.computed(()=>C.value?"hison-readonly":""),z=t.ref([]),D=()=>{z.value=o.extractResponsiveClasses(o.toClassString(n.class)||"",a.value),o.addComponentNameToClass(z.value,"size",o.hisonCloser.componentStyle.size),o.addComponentNameToClass(z.value,"color","primary")},F=t.computed(()=>{const e=c.value.find(l=>l.value===d.value);return(e==null?void 0:e.label)??""}),h=t.ref(n.maxHeight??240),te=t.computed(()=>({maxHeight:`${h.value}px`,overflowY:"auto"})),M=t.ref(n.closeOnSelect??!0),ne=t.computed(()=>{const e=c.value.findIndex(l=>l.value===d.value);return e>=0?`opt-${e}`:void 0}),j=t.ref({}),w=t.ref(!0),B=0,le=120;function oe(){if(!p.value)return 0;const e=p.value.querySelector(".hison-dropdown-panel-inner");return e&&e.scrollHeight||0}function u(){if(!r.value||!s.value)return;const e=s.value.getBoundingClientRect(),l=window.innerHeight,v=e.width,m=e.left,W=l-e.bottom,se=e.top;w.value=W>=le;const re=oe(),ue=w.value?W-B:se-B,q=Math.max(0,Math.min(re||h.value,h.value,ue)),de=w.value?e.bottom+B:e.top-q-B,ce=getComputedStyle(s.value).fontSize||"inherit";j.value={position:"fixed",left:`${m}px`,top:`${de}px`,width:`${v}px`,height:w.value?"auto":`${q}px`,maxHeight:`${q}px`,overflowY:"auto",zIndex:String(I.value),fontSize:ce,transformOrigin:w.value?"top center":"bottom center"}}function H(){r.value&&u()}const U=e=>{if(!r.value)return;const l=e.target,v=!!s.value&&!!l&&s.value.contains(l),m=!!p.value&&!!l&&p.value.contains(l);!v&&!m&&O()},R=e=>{S.value||C.value||!y.value||r.value||(r.value=!0,t.nextTick(()=>{u(),requestAnimationFrame(()=>u())}),i("open",e??null,f.value))},O=e=>{var m;if(!r.value)return;const l=document.activeElement,v=p.value;v&&l&&v.contains(l)&&((m=s.value)==null||m.focus()),r.value=!1,i("close",e??null,f.value)},$=e=>r.value?O(e):R(e),ie=e=>{T.value==="click"&&(S.value||C.value||(i("toggle-click",e,f.value),$(e)))},ae=(e,l)=>{if(e.disabled||S.value||C.value)return;l&&i("item-click",l,f.value,e);const v=d.value;if(e.value!==v){d.value=e.value;const m={value:d.value,options:t.unref(c)};i("update:modelValue",m),i("change",v,d.value,f.value)}M.value&&O(l)},f=t.ref(null),P=()=>{o.hisonCloser.component.dropdownList[g]&&o.hisonCloser.component.dropdownList[g].isHisonvueComponent&&console.warn(`[Hisonvue] The dropdown ID is at risk of being duplicated. ${g}`),o.registerReloadable(V,()=>{G(),t.nextTick(P)}),s.value&&X.addButtonCssEvent(s.value),D(),f.value={isHisonvueComponent:!0,getId:()=>g,getType:()=>"dropdown",isVisible:()=>y.value,setVisible:e=>{y.value=e},getEditMode:()=>b.value,setEditMode:e=>{b.value=e},isOpen:()=>r.value,open:R,close:O,toggle:$,getValue:()=>d.value,setValue:e=>{d.value=e},getText:()=>F.value,getOptions:()=>t.unref(c),setOptions:e=>{c.value=Array.isArray(e)?e:[]},setTriggerType:e=>{T.value=e},getMaxHeight:()=>h.value,setMaxHeight:e=>{const l=Number(e);!Number.isFinite(l)||l<0||(h.value=l,t.nextTick(u))},isCloseOnSelect:()=>M.value,setCloseOnSelect:e=>{M.value=!!e},getTextAlign:()=>x.value,setTextAlign:e=>{(e===o.TextAlign.left||e===o.TextAlign.center||e===o.TextAlign.right)&&(x.value=e,t.nextTick(u))},getAnimate:()=>E.value,setAnimate:e=>{E.value=!!e},getDuration:()=>A.value,setDuration:e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&(A.value=l)},getEasing:()=>N.value,setEasing:e=>{typeof e=="string"&&(N.value=e)},getTabIndex:()=>k.value,setTabIndex:e=>{k.value=e!=null?Number(e):null},getZIndex:()=>I.value,setZIndex:e=>{I.value=e},focus:()=>{var e;(e=s.value)==null||e.focus()},reload:()=>o.reloadHisonComponent(V)},o.hisonCloser.component.dropdownList[g]=f.value,document.addEventListener("mousedown",U),window.addEventListener("scroll",H,!0),window.addEventListener("resize",H),t.nextTick(u),i("mounted",f.value)},G=()=>{var e;o.unregisterReloadable(V);try{document.removeEventListener("mousedown",U)}catch{}try{window.removeEventListener("scroll",H,!0)}catch{}try{window.removeEventListener("resize",H)}catch{}s.value&&X.removeButtonCssEvent(s.value),(e=o.hisonCloser.component)!=null&&e.dropdownList&&delete o.hisonCloser.component.dropdownList[g]};return t.onMounted(P),t.onBeforeUnmount(G),t.watch(()=>n.modelValue,e=>{!e||typeof e!="object"||(Array.isArray(e.options)&&(c.value=e.options),d.value=e.value,t.nextTick(u))},{deep:!0}),t.watch(a,e=>{D(),i("responsive-change",e),t.nextTick(u)}),t.watch(()=>n.visible,e=>{!!e!==y.value&&(y.value=!!e)}),t.watch(()=>n.editMode,e=>{e&&e!==b.value&&(b.value=e)}),t.watch(()=>n.placeholder,e=>{const l=e??"";l!==L.value&&(L.value=l)}),t.watch(()=>n.trigger,e=>{e&&e!==T.value&&(T.value=e)}),t.watch(()=>n.textAlign,e=>{(e===o.TextAlign.left||e===o.TextAlign.center||e===o.TextAlign.right)&&e!==x.value&&(x.value=e,t.nextTick(u))}),t.watch(()=>n.animate,e=>{const l=!!e;l!==E.value&&(E.value=l)}),t.watch(()=>n.duration,e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&l!==A.value&&(A.value=l)}),t.watch(()=>n.easing,e=>{const l=typeof e=="string"?e:"ease";l!==N.value&&(N.value=l)}),t.watch(()=>n.tabIndex,e=>{const l=e===null||e===""?null:Number(e);l!==k.value&&(k.value=l)}),t.watch(()=>n.maxHeight,e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&l!==h.value&&(h.value=l,t.nextTick(u))}),t.watch(()=>n.closeOnSelect,e=>{const l=!!e;l!==M.value&&(M.value=l)}),t.watch(()=>n.class,()=>{D(),t.nextTick(u)}),t.watch(()=>n.zIndex,e=>{const l=Number(e);Number.isFinite(l)&&l!==I.value&&(I.value=l)}),{toggleRef:s,menuRef:p,props:n,isDisabled:S,isReadonly:C,visibleClass:Q,disableClass:_,readonlyClass:ee,responsiveClassList:z,isOpen:r,trigger:T,selectedValue:d,selectedLabel:F,placeholder:L,activeDescId:ne,menuInlineStyle:te,options:c,animate:E,rootInlineStyle:J,tabIndex:k,fixedMenuStyle:j,openBelow:w,onToggleClick:ie,onSelect:ae,textAlignStyle:Z,open:R,close:O,toggle:$}}}),me=["aria-expanded","aria-disabled","tabindex"],pe={class:"hison-dropdown-label"},he=["aria-activedescendant","inert"],ye={class:"hison-dropdown-panel"},be=["aria-selected","onClick"],we={key:0,class:"hison-dropdown-empty"};function Se(n,i,g,V,s,p){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-dropdown",...n.responsiveClassList,n.visibleClass,n.disableClass,n.readonlyClass,n.isOpen?"hison-open":"",n.animate?"":"hison-no-anim"]),style:t.normalizeStyle([n.rootInlineStyle,n.props.style]),onMouseenter:i[3]||(i[3]=a=>n.trigger==="hover"?n.open(a):null),onMouseleave:i[4]||(i[4]=a=>n.trigger==="hover"?n.close(a):null)},[t.createElementVNode("div",{ref:"toggleRef",class:t.normalizeClass(["hison-dropdown-toggle",[n.isDisabled?"hison-disable":"",n.isReadonly?"hison-readonly":""]]),"aria-expanded":n.isOpen,role:"combobox","aria-disabled":n.isDisabled||n.isReadonly?"true":"false",tabindex:n.tabIndex??void 0,style:t.normalizeStyle([n.textAlignStyle,n.props.toggleStyle]),onClick:i[0]||(i[0]=a=>n.onToggleClick(a)),onKeydown:[i[1]||(i[1]=t.withKeys(t.withModifiers(a=>n.onToggleClick(a),["prevent"]),["enter"])),i[2]||(i[2]=t.withKeys(t.withModifiers(a=>n.onToggleClick(a),["prevent"]),["space"]))]},[t.createElementVNode("span",pe,t.toDisplayString(n.selectedLabel||n.placeholder),1),t.renderSlot(n.$slots,"caret",{},()=>[i[5]||(i[5]=t.createElementVNode("span",{class:"hison-dropdown-caret"},"▾",-1))])],46,me),t.createElementVNode("div",{ref:"menuRef",class:t.normalizeClass(["hison-dropdown-menu hison-dropdown-menu-fixed",[n.isOpen?"hison-open":"",n.openBelow?"hison-open-below":"hison-open-above"]]),style:t.normalizeStyle([n.fixedMenuStyle,n.textAlignStyle,n.props.menuStyle]),role:"listbox","aria-activedescendant":n.activeDescId,inert:!n.isOpen||void 0},[t.createElementVNode("div",ye,[t.createElementVNode("div",{class:"hison-dropdown-panel-inner",style:t.normalizeStyle(n.menuInlineStyle)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.options,(a,r)=>(t.openBlock(),t.createElementBlock("div",{key:`opt-${r}`,class:t.normalizeClass(["hison-dropdown-item",[a.disabled?"hison-disable":"",a.value===n.selectedValue?"hison-selected":""]]),style:t.normalizeStyle(n.props.itemStyle),role:"option","aria-selected":a.value===n.selectedValue?"true":"false",onClick:c=>n.onSelect(a,c)},t.toDisplayString(a.label),15,be))),128)),n.options.length===0?(t.openBlock(),t.createElementBlock("div",we,"No options")):t.createCommentVNode("",!0)],4)])],14,he)],38)}const Ce=ve._export_sfc(fe,[["render",Se]]);exports.default=Ce;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o=require("./index-DcB16odB.js"),X=require("./setButtonCssEvent-CTLQPvWj.js"),ve=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ge={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},toggleStyle:{type:[String,Object,Array],required:!1},menuStyle:{type:[String,Object,Array],required:!1},itemStyle:{type:[String,Object,Array],required:!1},visible:{type:Boolean,default:!0},editMode:{type:String,default:o.EditMode.editable,validator:n=>o.EDIT_MODE_VALUES.includes(n)},placeholder:{type:String,default:""},trigger:{type:String,default:o.DropdownTrigger.click,validator:n=>o.DROPDOWN_TRIGGER_VALUES.includes(n)},modelValue:{type:Object,required:!0},maxHeight:{type:Number,default:240,validator:n=>Number.isFinite(n)&&n>=0},closeOnSelect:{type:Boolean,default:!0},textAlign:{type:String,default:o.TextAlign.left,validator:n=>o.TEXT_ALIGN_VALUES.includes(n)},animate:{type:Boolean,default:!0},duration:{type:Number,default:500,validator:n=>Number.isFinite(n)&&n>=0},easing:{type:String,default:"ease"},tabIndex:{type:[Number,String],default:null,validator:n=>n===null||n===""||!isNaN(+n)&&isFinite(+n)},zIndex:{type:Number,default:1050}},fe=t.defineComponent({name:"HDropdown",props:ge,inheritAttrs:!1,emits:["mounted","responsive-change","open","close","toggle-click","item-click","change","update:modelValue"],setup(n,{emit:i}){var K,Y;const g=n.id||o.getUUID(),V=`hdropdown:${g}`,s=t.ref(null),p=t.ref(null),a=o.useDevice(),r=t.ref(!1),c=t.ref(((K=n.modelValue)==null?void 0:K.options)??[]),d=t.ref(((Y=n.modelValue)==null?void 0:Y.value)??null),y=t.ref(!!n.visible),b=t.ref(n.editMode),S=t.computed(()=>b.value===o.EditMode.disable),C=t.computed(()=>b.value===o.EditMode.readonly),L=t.ref(n.placeholder||""),T=t.ref(n.trigger),x=t.ref(n.textAlign??o.TextAlign.left),Z=t.computed(()=>({textAlign:x.value})),E=t.ref(n.animate??!0),A=t.ref(n.duration??500),N=t.ref(n.easing??"ease"),k=t.ref(n.tabIndex!==null&&n.tabIndex!==""?Number(n.tabIndex):null),I=t.ref(n.zIndex??1100),J=t.computed(()=>({"--hdd-duration":`${A.value}ms`,"--hdd-easing":N.value})),Q=t.computed(()=>y.value?"":"hison-display-none"),_=t.computed(()=>S.value?"hison-disable":""),ee=t.computed(()=>C.value?"hison-readonly":""),z=t.ref([]),D=()=>{z.value=o.extractResponsiveClasses(o.toClassString(n.class)||"",a.value),o.addComponentNameToClass(z.value,"size",o.hisonCloser.componentStyle.size),o.addComponentNameToClass(z.value,"color","primary")},F=t.computed(()=>{const e=c.value.find(l=>l.value===d.value);return(e==null?void 0:e.label)??""}),h=t.ref(n.maxHeight??240),te=t.computed(()=>({maxHeight:`${h.value}px`,overflowY:"auto"})),M=t.ref(n.closeOnSelect??!0),ne=t.computed(()=>{const e=c.value.findIndex(l=>l.value===d.value);return e>=0?`opt-${e}`:void 0}),j=t.ref({}),w=t.ref(!0),B=0,le=120;function oe(){if(!p.value)return 0;const e=p.value.querySelector(".hison-dropdown-panel-inner");return e&&e.scrollHeight||0}function u(){if(!r.value||!s.value)return;const e=s.value.getBoundingClientRect(),l=window.innerHeight,v=e.width,m=e.left,W=l-e.bottom,se=e.top;w.value=W>=le;const re=oe(),ue=w.value?W-B:se-B,q=Math.max(0,Math.min(re||h.value,h.value,ue)),de=w.value?e.bottom+B:e.top-q-B,ce=getComputedStyle(s.value).fontSize||"inherit";j.value={position:"fixed",left:`${m}px`,top:`${de}px`,width:`${v}px`,height:w.value?"auto":`${q}px`,maxHeight:`${q}px`,overflowY:"auto",zIndex:String(I.value),fontSize:ce,transformOrigin:w.value?"top center":"bottom center"}}function H(){r.value&&u()}const U=e=>{if(!r.value)return;const l=e.target,v=!!s.value&&!!l&&s.value.contains(l),m=!!p.value&&!!l&&p.value.contains(l);!v&&!m&&O()},R=e=>{S.value||C.value||!y.value||r.value||(r.value=!0,t.nextTick(()=>{u(),requestAnimationFrame(()=>u())}),i("open",e??null,f.value))},O=e=>{var m;if(!r.value)return;const l=document.activeElement,v=p.value;v&&l&&v.contains(l)&&((m=s.value)==null||m.focus()),r.value=!1,i("close",e??null,f.value)},$=e=>r.value?O(e):R(e),ie=e=>{T.value==="click"&&(S.value||C.value||(i("toggle-click",e,f.value),$(e)))},ae=(e,l)=>{if(e.disabled||S.value||C.value)return;l&&i("item-click",l,f.value,e);const v=d.value;if(e.value!==v){d.value=e.value;const m={value:d.value,options:t.unref(c)};i("update:modelValue",m),i("change",v,d.value,f.value)}M.value&&O(l)},f=t.ref(null),P=()=>{o.hisonCloser.component.dropdownList[g]&&o.hisonCloser.component.dropdownList[g].isHisonvueComponent&&console.warn(`[Hisonvue] The dropdown ID is at risk of being duplicated. ${g}`),o.registerReloadable(V,()=>{G(),t.nextTick(P)}),s.value&&X.addButtonCssEvent(s.value),D(),f.value={isHisonvueComponent:!0,getId:()=>g,getType:()=>"dropdown",isVisible:()=>y.value,setVisible:e=>{y.value=e},getEditMode:()=>b.value,setEditMode:e=>{b.value=e},isOpen:()=>r.value,open:R,close:O,toggle:$,getValue:()=>d.value,setValue:e=>{d.value=e},getText:()=>F.value,getOptions:()=>t.unref(c),setOptions:e=>{c.value=Array.isArray(e)?e:[]},setTriggerType:e=>{T.value=e},getMaxHeight:()=>h.value,setMaxHeight:e=>{const l=Number(e);!Number.isFinite(l)||l<0||(h.value=l,t.nextTick(u))},isCloseOnSelect:()=>M.value,setCloseOnSelect:e=>{M.value=!!e},getTextAlign:()=>x.value,setTextAlign:e=>{(e===o.TextAlign.left||e===o.TextAlign.center||e===o.TextAlign.right)&&(x.value=e,t.nextTick(u))},getAnimate:()=>E.value,setAnimate:e=>{E.value=!!e},getDuration:()=>A.value,setDuration:e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&(A.value=l)},getEasing:()=>N.value,setEasing:e=>{typeof e=="string"&&(N.value=e)},getTabIndex:()=>k.value,setTabIndex:e=>{k.value=e!=null?Number(e):null},getZIndex:()=>I.value,setZIndex:e=>{I.value=e},focus:()=>{var e;(e=s.value)==null||e.focus()},reload:()=>o.reloadHisonComponent(V)},o.hisonCloser.component.dropdownList[g]=f.value,document.addEventListener("mousedown",U),window.addEventListener("scroll",H,!0),window.addEventListener("resize",H),t.nextTick(u),i("mounted",f.value)},G=()=>{var e;o.unregisterReloadable(V);try{document.removeEventListener("mousedown",U)}catch{}try{window.removeEventListener("scroll",H,!0)}catch{}try{window.removeEventListener("resize",H)}catch{}s.value&&X.removeButtonCssEvent(s.value),(e=o.hisonCloser.component)!=null&&e.dropdownList&&delete o.hisonCloser.component.dropdownList[g]};return t.onMounted(P),t.onBeforeUnmount(G),t.watch(()=>n.modelValue,e=>{!e||typeof e!="object"||(Array.isArray(e.options)&&(c.value=e.options),d.value=e.value,t.nextTick(u))},{deep:!0}),t.watch(a,e=>{D(),i("responsive-change",e),t.nextTick(u)}),t.watch(()=>n.visible,e=>{!!e!==y.value&&(y.value=!!e)}),t.watch(()=>n.editMode,e=>{e&&e!==b.value&&(b.value=e)}),t.watch(()=>n.placeholder,e=>{const l=e??"";l!==L.value&&(L.value=l)}),t.watch(()=>n.trigger,e=>{e&&e!==T.value&&(T.value=e)}),t.watch(()=>n.textAlign,e=>{(e===o.TextAlign.left||e===o.TextAlign.center||e===o.TextAlign.right)&&e!==x.value&&(x.value=e,t.nextTick(u))}),t.watch(()=>n.animate,e=>{const l=!!e;l!==E.value&&(E.value=l)}),t.watch(()=>n.duration,e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&l!==A.value&&(A.value=l)}),t.watch(()=>n.easing,e=>{const l=typeof e=="string"?e:"ease";l!==N.value&&(N.value=l)}),t.watch(()=>n.tabIndex,e=>{const l=e===null||e===""?null:Number(e);l!==k.value&&(k.value=l)}),t.watch(()=>n.maxHeight,e=>{const l=Number(e);Number.isFinite(l)&&l>=0&&l!==h.value&&(h.value=l,t.nextTick(u))}),t.watch(()=>n.closeOnSelect,e=>{const l=!!e;l!==M.value&&(M.value=l)}),t.watch(()=>n.class,()=>{D(),t.nextTick(u)}),t.watch(()=>n.zIndex,e=>{const l=Number(e);Number.isFinite(l)&&l!==I.value&&(I.value=l)}),{toggleRef:s,menuRef:p,props:n,isDisabled:S,isReadonly:C,visibleClass:Q,disableClass:_,readonlyClass:ee,responsiveClassList:z,isOpen:r,trigger:T,selectedValue:d,selectedLabel:F,placeholder:L,activeDescId:ne,menuInlineStyle:te,options:c,animate:E,rootInlineStyle:J,tabIndex:k,fixedMenuStyle:j,openBelow:w,onToggleClick:ie,onSelect:ae,textAlignStyle:Z,open:R,close:O,toggle:$}}}),me=["aria-expanded","aria-disabled","tabindex"],pe={class:"hison-dropdown-label"},he=["aria-activedescendant","inert"],ye={class:"hison-dropdown-panel"},be=["aria-selected","onClick"],we={key:0,class:"hison-dropdown-empty"};function Se(n,i,g,V,s,p){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-dropdown",...n.responsiveClassList,n.visibleClass,n.disableClass,n.readonlyClass,n.isOpen?"hison-open":"",n.animate?"":"hison-no-anim"]),style:t.normalizeStyle([n.rootInlineStyle,n.props.style]),onMouseenter:i[3]||(i[3]=a=>n.trigger==="hover"?n.open(a):null),onMouseleave:i[4]||(i[4]=a=>n.trigger==="hover"?n.close(a):null)},[t.createElementVNode("div",{ref:"toggleRef",class:t.normalizeClass(["hison-dropdown-toggle",[n.isDisabled?"hison-disable":"",n.isReadonly?"hison-readonly":""]]),"aria-expanded":n.isOpen,role:"combobox","aria-disabled":n.isDisabled||n.isReadonly?"true":"false",tabindex:n.tabIndex??void 0,style:t.normalizeStyle([n.textAlignStyle,n.props.toggleStyle]),onClick:i[0]||(i[0]=a=>n.onToggleClick(a)),onKeydown:[i[1]||(i[1]=t.withKeys(t.withModifiers(a=>n.onToggleClick(a),["prevent"]),["enter"])),i[2]||(i[2]=t.withKeys(t.withModifiers(a=>n.onToggleClick(a),["prevent"]),["space"]))]},[t.createElementVNode("span",pe,t.toDisplayString(n.selectedLabel||n.placeholder),1),t.renderSlot(n.$slots,"caret",{},()=>[i[5]||(i[5]=t.createElementVNode("span",{class:"hison-dropdown-caret"},"▾",-1))])],46,me),t.createElementVNode("div",{ref:"menuRef",class:t.normalizeClass(["hison-dropdown-menu hison-dropdown-menu-fixed",[n.isOpen?"hison-open":"",n.openBelow?"hison-open-below":"hison-open-above"]]),style:t.normalizeStyle([n.fixedMenuStyle,n.textAlignStyle,n.props.menuStyle]),role:"listbox","aria-activedescendant":n.activeDescId,inert:!n.isOpen||void 0},[t.createElementVNode("div",ye,[t.createElementVNode("div",{class:"hison-dropdown-panel-inner",style:t.normalizeStyle(n.menuInlineStyle)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.options,(a,r)=>(t.openBlock(),t.createElementBlock("div",{key:`opt-${r}`,class:t.normalizeClass(["hison-dropdown-item",[a.disabled?"hison-disable":"",a.value===n.selectedValue?"hison-selected":""]]),style:t.normalizeStyle(n.props.itemStyle),role:"option","aria-selected":a.value===n.selectedValue?"true":"false",onClick:c=>n.onSelect(a,c)},t.toDisplayString(a.label),15,be))),128)),n.options.length===0?(t.openBlock(),t.createElementBlock("div",we,"No options")):t.createCommentVNode("",!0)],4)])],14,he)],38)}const Ce=ve._export_sfc(fe,[["render",Se]]);exports.default=Ce;