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.
- package/dist/{HAccordion-BCpczHV8.js → HAccordion-CKbaRrfY.js} +1 -1
- package/dist/{HAccordion-BMoSFHwf.mjs → HAccordion-CNWAodMp.mjs} +2 -2
- package/dist/{HBaggie-oMZLaa_F.js → HBaggie-BQYZO1MF.js} +1 -1
- package/dist/{HBaggie-CJvlgbDQ.mjs → HBaggie-C-OS7n2D.mjs} +2 -2
- package/dist/{HBanner-C2_LbE2h.js → HBanner-8AQVAGPP.js} +1 -1
- package/dist/{HBanner-DsRKDH1u.mjs → HBanner-D0ImN6h1.mjs} +2 -2
- package/dist/{HButton-yAD_RoyS.js → HButton-C1AtcoQd.js} +1 -1
- package/dist/{HButton-rFSlupkR.mjs → HButton-CuoH95_k.mjs} +2 -2
- package/dist/{HCalendar-iWmcJSvC.mjs → HCalendar-CnuUn3Xk.mjs} +71 -68
- package/dist/{HCalendar-CTlQGPMZ.js → HCalendar-DFXWXkci.js} +2 -2
- package/dist/{HCaption-c9m0kiX8.js → HCaption-BaelSNHR.js} +1 -1
- package/dist/{HCaption-DVmiGA4e.mjs → HCaption-Di8ePmqg.mjs} +1 -1
- package/dist/{HChart-BiAYvoFC.js → HChart-DKfoM5dM.js} +1 -1
- package/dist/{HChart-RTqgX9Vw.mjs → HChart-xM2KDiJi.mjs} +1 -1
- package/dist/HDrawer-A3BpOuup.js +1 -0
- package/dist/{HDrawer-_eAs8SUX.mjs → HDrawer-Vt4JA6pk.mjs} +163 -163
- package/dist/{HDropdown-Jr1jdIcK.mjs → HDropdown-BBEH646p.mjs} +2 -2
- package/dist/{HDropdown-BQ86MUJn.js → HDropdown-Dj7h-JPP.js} +1 -1
- package/dist/{HFileset-DzDl7B3M.js → HFileset-B9EmgNi1.js} +1 -1
- package/dist/{HFileset-CuLQPIg0.mjs → HFileset-oi7P1lcc.mjs} +1 -1
- package/dist/{HGap-2iQmQgTz.mjs → HGap-Bp1hRvbT.mjs} +1 -1
- package/dist/{HGap-CEVavkgg.js → HGap-Dy_H_-in.js} +1 -1
- package/dist/{HGrid-ifjYNehH.mjs → HGrid-Bc13aqjL.mjs} +51 -48
- package/dist/HGrid-DDbU5kIr.js +1 -0
- package/dist/{HImagebox-DwaNSiUE.mjs → HImagebox-8Uwvm5U0.mjs} +1 -1
- package/dist/{HImagebox-CIIOb3Vd.js → HImagebox-BVeQuB4p.js} +1 -1
- package/dist/{HInput-CoawK6h1.js → HInput-DHK28wmp.js} +1 -1
- package/dist/{HInput-B7jIOO-G.mjs → HInput-DoSKCROI.mjs} +1 -1
- package/dist/{HInputGroup-c6sx8xkm.mjs → HInputGroup-DSUZqea5.mjs} +1 -1
- package/dist/{HInputGroup-4FByzgDv.js → HInputGroup-gD-E8vgq.js} +1 -1
- package/dist/{HLabel-BdJsUUwI.js → HLabel-BAbaNhJP.js} +1 -1
- package/dist/{HLabel-ClzEe4t5.mjs → HLabel-DQVACpDP.mjs} +2 -2
- package/dist/{HLayout-odNbQHZs.mjs → HLayout-BoHgIQcJ.mjs} +1 -1
- package/dist/{HLayout-cCfkCCnY.js → HLayout-CgaYkiuH.js} +1 -1
- package/dist/{HList-C4Te9S2p.mjs → HList-BQEDGW7_.mjs} +2 -2
- package/dist/{HList-DlESPK5m.js → HList-BROYxKwn.js} +1 -1
- package/dist/{HModal-CD42g96i.js → HModal-DTqm3PfL.js} +1 -1
- package/dist/{HModal-IPNLslSW.mjs → HModal-GpwcBz5c.mjs} +1 -1
- package/dist/HNote-BotCfjhk.js +1 -0
- package/dist/{HNote-DOXVPQTE.mjs → HNote-Dv8mltb0.mjs} +31 -28
- package/dist/{HPagination-71-p-_fA.mjs → HPagination-DG0I3Orn.mjs} +2 -2
- package/dist/{HPagination-DAipfja0.js → HPagination-DyqohdbC.js} +1 -1
- package/dist/{HParagraph-D727CLzE.js → HParagraph-BheX7M-W.js} +1 -1
- package/dist/{HParagraph-DFr9VHuc.mjs → HParagraph-dWlO5RLM.mjs} +1 -1
- package/dist/{HPopup-BzNv0ETv.js → HPopup-BcGomDSy.js} +1 -1
- package/dist/{HPopup-CKF03bB8.mjs → HPopup-BrkB_lUB.mjs} +1 -1
- package/dist/{HSpinner-OrX8Lncm.js → HSpinner-CjjGcQJD.js} +1 -1
- package/dist/{HSpinner-DskT_CbT.mjs → HSpinner-D6VNpQLM.mjs} +1 -1
- package/dist/{HTable-CgFXqisG.js → HTable-BdNtBsjD.js} +1 -1
- package/dist/{HTable-D_wg634Z.mjs → HTable-D2HYTuO9.mjs} +1 -1
- package/dist/hisonvue.cjs.js +1 -1
- package/dist/hisonvue.css +1 -1
- package/dist/hisonvue.d.ts +9 -4
- package/dist/hisonvue.es.js +2 -2
- package/dist/{index-C4_ZZ_fO.mjs → index-CGr5-mvg.mjs} +82 -73
- package/dist/{index-Dndw65fe.js → index-DcB16odB.js} +16 -14
- package/dist/{setButtonCssEvent-C0T9J9fO.js → setButtonCssEvent-CTLQPvWj.js} +1 -1
- package/dist/{setButtonCssEvent-BEJDaHrp.mjs → setButtonCssEvent-T2QV1cDz.mjs} +1 -1
- package/package.json +1 -1
- package/dist/HDrawer-CC6pLF5V.js +0 -1
- package/dist/HGrid-6zIauOhZ.js +0 -1
- 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-
|
|
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-
|
|
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
|
|
2
|
-
import { g as
|
|
3
|
-
import { a as
|
|
4
|
-
import { _ as
|
|
5
|
-
const
|
|
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) =>
|
|
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
|
-
},
|
|
129
|
+
}, Je = Ee({
|
|
130
130
|
name: "HDrawer",
|
|
131
|
-
props:
|
|
131
|
+
props: Ge,
|
|
132
132
|
inheritAttrs: !1,
|
|
133
133
|
emits: ["mounted", "responsive-change", "open", "close"],
|
|
134
|
-
setup(t, { emit:
|
|
135
|
-
const
|
|
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
|
-
},
|
|
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 =
|
|
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
|
-
|
|
148
|
-
},
|
|
149
|
-
...
|
|
150
|
-
]),
|
|
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
|
-
}),
|
|
154
|
-
|
|
155
|
-
},
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
176
|
-
p.value &&
|
|
177
|
-
},
|
|
178
|
-
p.value &&
|
|
175
|
+
}), V = () => {
|
|
176
|
+
p.value && Me(c);
|
|
177
|
+
}, P = () => {
|
|
178
|
+
p.value && je(c);
|
|
179
179
|
}, G = async () => {
|
|
180
|
-
const e =
|
|
180
|
+
const e = w.value;
|
|
181
181
|
!e || !h.value || (e.classList.remove(m.value), e.offsetWidth, e.classList.add(h.value));
|
|
182
|
-
},
|
|
183
|
-
const e =
|
|
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
|
-
},
|
|
186
|
-
|
|
187
|
-
},
|
|
188
|
-
if (
|
|
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
|
|
190
|
+
await ge();
|
|
191
191
|
} finally {
|
|
192
|
-
|
|
192
|
+
n.value = !1, P(), y("close", M(B));
|
|
193
193
|
}
|
|
194
|
-
},
|
|
195
|
-
let
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
},
|
|
199
|
-
if (!
|
|
200
|
-
|
|
201
|
-
const l = e.clientX -
|
|
202
|
-
(o.value === "top" && C >
|
|
203
|
-
},
|
|
204
|
-
function
|
|
205
|
-
return new Promise((
|
|
206
|
-
e.style.transition = "none", e.style[l] = `${s}px`, e.offsetWidth, e.style.transition = `${l} ${C}ms ${
|
|
207
|
-
const
|
|
208
|
-
e.removeEventListener("transitionend",
|
|
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",
|
|
210
|
+
e.addEventListener("transitionend", Z), setTimeout(Z, C + 50);
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
|
-
const
|
|
214
|
-
async function
|
|
215
|
-
const s =
|
|
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
|
|
221
|
-
if ((e ??
|
|
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 ||
|
|
225
|
+
if (!l || e == null || !Te.value) {
|
|
226
226
|
v.value = e;
|
|
227
227
|
return;
|
|
228
228
|
}
|
|
229
|
-
v.value = e, await
|
|
229
|
+
v.value = e, await T(), await x(s, "width", r, e);
|
|
230
230
|
}
|
|
231
|
-
async function
|
|
232
|
-
const s =
|
|
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
|
|
238
|
-
if ((e ??
|
|
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 || !
|
|
242
|
+
if (!l || e == null || !Ae.value) {
|
|
243
243
|
d.value = e;
|
|
244
244
|
return;
|
|
245
245
|
}
|
|
246
|
-
d.value = e, await
|
|
246
|
+
d.value = e, await T(), await x(s, "height", r, e);
|
|
247
247
|
}
|
|
248
|
-
const B =
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}),
|
|
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: () =>
|
|
253
|
+
getId: () => c,
|
|
254
254
|
getType: () => "drawer",
|
|
255
|
-
isVisible: () =>
|
|
256
|
-
isOpen
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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 =
|
|
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) =>
|
|
272
|
+
setWidth: (e, l = !0) => _(e, l),
|
|
273
273
|
getHeight: () => d.value,
|
|
274
|
-
setHeight: (e, l = !0) =>
|
|
275
|
-
isSwipeCloseEnabled: () =>
|
|
274
|
+
setHeight: (e, l = !0) => ee(e, l),
|
|
275
|
+
isSwipeCloseEnabled: () => O.value,
|
|
276
276
|
setSwipeCloseEnabled: (e) => {
|
|
277
|
-
|
|
277
|
+
O.value = e;
|
|
278
278
|
},
|
|
279
|
-
isCloseButtonVisible: () =>
|
|
279
|
+
isCloseButtonVisible: () => L.value,
|
|
280
280
|
setCloseButtonVisible: (e) => {
|
|
281
|
-
|
|
281
|
+
L.value = e;
|
|
282
282
|
},
|
|
283
|
-
isOverlayShown: () =>
|
|
283
|
+
isOverlayShown: () => k.value,
|
|
284
284
|
setOverlayShown: (e) => {
|
|
285
|
-
|
|
285
|
+
k.value = e;
|
|
286
286
|
},
|
|
287
|
-
isCloseClickOverlay: () =>
|
|
287
|
+
isCloseClickOverlay: () => S.value,
|
|
288
288
|
setCloseClickOverlay: (e) => {
|
|
289
|
-
|
|
289
|
+
S.value = e;
|
|
290
290
|
},
|
|
291
291
|
isScrollLocked: () => p.value,
|
|
292
292
|
setScrollLock: (e) => {
|
|
293
|
-
p.value = e,
|
|
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: () =>
|
|
304
|
-
},
|
|
305
|
-
},
|
|
306
|
-
|
|
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
|
|
309
|
-
|
|
310
|
-
}),
|
|
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
|
|
313
|
-
}),
|
|
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
|
-
}),
|
|
316
|
+
}), i(() => t.border, (e) => {
|
|
317
317
|
const l = !!e;
|
|
318
318
|
l !== b.value && (b.value = l);
|
|
319
|
-
}),
|
|
319
|
+
}), i(() => t.showOverlay, (e) => {
|
|
320
320
|
const l = !!e;
|
|
321
|
-
l !==
|
|
322
|
-
}),
|
|
321
|
+
l !== k.value && (k.value = l);
|
|
322
|
+
}), i(() => t.closeClickOverlay, (e) => {
|
|
323
323
|
const l = !!e;
|
|
324
|
-
l !==
|
|
325
|
-
}),
|
|
324
|
+
l !== S.value && (S.value = l);
|
|
325
|
+
}), i(() => t.scrollLock, (e) => {
|
|
326
326
|
const l = !!e;
|
|
327
|
-
l !== p.value && (p.value = l,
|
|
328
|
-
}),
|
|
329
|
-
e && e !== o.value && (o.value = e, t.enterAnimationClass || (h.value =
|
|
330
|
-
}),
|
|
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 &&
|
|
333
|
-
}),
|
|
332
|
+
l !== v.value && _(l, !1);
|
|
333
|
+
}), i(() => t.height, (e) => {
|
|
334
334
|
const l = e == null ? null : Number(e);
|
|
335
|
-
l !== d.value &&
|
|
336
|
-
}),
|
|
335
|
+
l !== d.value && ee(l, !1);
|
|
336
|
+
}), i(() => t.closeButtonVisible, (e) => {
|
|
337
337
|
const l = !!e;
|
|
338
|
-
l !==
|
|
339
|
-
}),
|
|
338
|
+
l !== L.value && (L.value = l);
|
|
339
|
+
}), i(() => t.closeButtonText, (e) => {
|
|
340
340
|
const l = e ?? "X";
|
|
341
|
-
l !==
|
|
342
|
-
}),
|
|
341
|
+
l !== W.value && (W.value = l);
|
|
342
|
+
}), i(() => t.closeButtonTitle, (e) => {
|
|
343
343
|
const l = e ?? "Close";
|
|
344
|
-
l !==
|
|
345
|
-
}),
|
|
344
|
+
l !== q.value && (q.value = l);
|
|
345
|
+
}), i(() => t.swipeClose, (e) => {
|
|
346
346
|
const l = !!e;
|
|
347
|
-
l !==
|
|
348
|
-
}),
|
|
349
|
-
const l = e ||
|
|
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
|
-
}),
|
|
352
|
-
const l = e ||
|
|
351
|
+
}), i(() => t.leaveAnimationClass, (e) => {
|
|
352
|
+
const l = e || E[o.value];
|
|
353
353
|
l !== m.value && (m.value = l);
|
|
354
|
-
}),
|
|
355
|
-
id:
|
|
354
|
+
}), i(() => t.class, () => U()), {
|
|
355
|
+
id: c,
|
|
356
356
|
props: t,
|
|
357
|
-
wrapperRef:
|
|
358
|
-
drawerRef:
|
|
357
|
+
wrapperRef: F,
|
|
358
|
+
drawerRef: w,
|
|
359
359
|
position: o,
|
|
360
|
-
visibleClass:
|
|
361
|
-
responsiveClassList:
|
|
362
|
-
childClassList:
|
|
363
|
-
borderClass:
|
|
364
|
-
backgroundTypeClass:
|
|
365
|
-
wrapperStyle:
|
|
366
|
-
overlayStyleWithZ:
|
|
367
|
-
isOverlayVisible:
|
|
368
|
-
sizeStyle:
|
|
369
|
-
closeButtonVisible:
|
|
370
|
-
closeButtonBorder:
|
|
371
|
-
closeButtonBackgroundType:
|
|
372
|
-
closeButtonText:
|
|
373
|
-
closeButtonTitle:
|
|
374
|
-
onOverlayClick:
|
|
375
|
-
onClickClose:
|
|
376
|
-
onSwipePointerDown:
|
|
377
|
-
drawerMethods:
|
|
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
|
|
382
|
-
const
|
|
383
|
-
return
|
|
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 ? (
|
|
386
|
+
t.isOverlayVisible ? (se(), oe("div", {
|
|
387
387
|
key: 0,
|
|
388
388
|
class: "hison-drawer-overlay",
|
|
389
|
-
style:
|
|
390
|
-
onClick:
|
|
391
|
-
}, null, 4)) :
|
|
392
|
-
|
|
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:
|
|
395
|
+
style: Y(t.wrapperStyle)
|
|
396
396
|
}, [
|
|
397
|
-
|
|
397
|
+
ne("div", {
|
|
398
398
|
ref: "drawerRef",
|
|
399
399
|
class: R(["hison-drawer", t.borderClass, t.backgroundTypeClass]),
|
|
400
|
-
style:
|
|
400
|
+
style: Y([t.sizeStyle, t.props.style]),
|
|
401
401
|
role: "dialog",
|
|
402
|
-
onPointerdown:
|
|
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
|
-
|
|
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
|
-
},
|
|
419
|
-
default:
|
|
420
|
-
t.$slots["close-label"] ? D(t.$slots, "close-label", { key: 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:
|
|
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
|
-
]) :
|
|
432
|
+
]) : j("", !0),
|
|
433
433
|
D(t.$slots, "default")
|
|
434
434
|
], 38)
|
|
435
435
|
], 6)
|
|
436
436
|
], 2);
|
|
437
437
|
}
|
|
438
|
-
const
|
|
438
|
+
const tt = /* @__PURE__ */ Ye(Je, [["render", Ke]]);
|
|
439
439
|
export {
|
|
440
|
-
|
|
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-
|
|
3
|
-
import { a as Pe, r as Ge } from "./setButtonCssEvent-
|
|
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;
|