ll-package
Version:
2 lines (1 loc) • 4.05 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),t=require("vue"),q=require("../_util/classNames.js"),r=require("../_util/vue-types/index.js"),N=require("../_util/type.js"),D=require("../_util/props-util/initDefaultProps.js"),I=require("../_util/isNumeric.js"),K=require("../../../@ant-design/icons-vue/es/icons/BarsOutlined.js"),O=require("../../../@ant-design/icons-vue/es/icons/RightOutlined.js"),W=require("../../../@ant-design/icons-vue/es/icons/LeftOutlined.js"),U=require("../config-provider/hooks/useConfigInject.js"),V=require("./injectionKey.js"),L={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px",xxxl:"1999.98px"},T=()=>({prefixCls:String,collapsible:{type:Boolean,default:void 0},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean,default:void 0},reverseArrow:{type:Boolean,default:void 0},zeroWidthTriggerStyle:{type:Object,default:void 0},trigger:r.default.any,width:r.default.oneOfType([r.default.number,r.default.string]),collapsedWidth:r.default.oneOfType([r.default.number,r.default.string]),breakpoint:r.default.oneOf(N.tuple("xs","sm","md","lg","xl","xxl","xxxl")),theme:r.default.oneOf(N.tuple("light","dark")).def("dark"),onBreakpoint:Function,onCollapse:Function}),G=(()=>{let n=0;return function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n+=1,`${p}${n}`}})(),J=t.defineComponent({compatConfig:{MODE:3},name:"ALayoutSider",inheritAttrs:!1,props:D.default(T(),{collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80}),emits:["breakpoint","update:collapsed","collapse"],setup(n,p){let{emit:g,attrs:h,slots:u}=p;const{prefixCls:j}=U.default("layout-sider",n),c=t.inject(V.SiderHookProviderKey,void 0),a=t.shallowRef(!!(n.collapsed!==void 0?n.collapsed:n.defaultCollapsed)),v=t.shallowRef(!1);t.watch(()=>n.collapsed,()=>{a.value=!!n.collapsed}),t.provide(V.SiderCollapsedKey,a);const w=(e,i)=>{n.collapsed===void 0&&(a.value=e),g("update:collapsed",e),g("collapse",e,i)},B=t.shallowRef(e=>{v.value=e.matches,g("breakpoint",e.matches),a.value!==e.matches&&w(e.matches,"responsive")});let l;function o(e){return B.value(e)}const b=G("ant-sider-");c&&c.addSider(b),t.onMounted(()=>{t.watch(()=>n.breakpoint,()=>{try{l==null||l.removeEventListener("change",o)}catch{l==null||l.removeListener(o)}if(typeof window<"u"){const{matchMedia:e}=window;if(e&&n.breakpoint&&n.breakpoint in L){l=e(`(max-width: ${L[n.breakpoint]})`);try{l.addEventListener("change",o)}catch{l.addListener(o)}o(l)}}},{immediate:!0})}),t.onBeforeUnmount(()=>{try{l==null||l.removeEventListener("change",o)}catch{l==null||l.removeListener(o)}c&&c.removeSider(b)});const S=()=>{w(!a.value,"clickTrigger")};return()=>{var e,i;const d=j.value,{collapsedWidth:$,width:M,reverseArrow:m,zeroWidthTriggerStyle:z,trigger:f=(e=u.trigger)===null||e===void 0?void 0:e.call(u),collapsible:k,theme:A}=n,x=a.value?$:M,s=I.default(x)?`${x}px`:String(x),y=parseFloat(String($||0))===0?t.createVNode("span",{onClick:S,class:q.default(`${d}-zero-width-trigger`,`${d}-zero-width-trigger-${m?"right":"left"}`),style:z},[f||t.createVNode(K.default,null,null)]):null,P={expanded:m?t.createVNode(O.default,null,null):t.createVNode(W.default,null,null),collapsed:m?t.createVNode(W.default,null,null):t.createVNode(O.default,null,null)},R=a.value?"collapsed":"expanded",E=P[R],F=f!==null?y||t.createVNode("div",{class:`${d}-trigger`,onClick:S,style:{width:s}},[f||E]):null,H=[h.style,{flex:`0 0 ${s}`,maxWidth:s,minWidth:s,width:s}],_=q.default(d,`${d}-${A}`,{[`${d}-collapsed`]:!!a.value,[`${d}-has-trigger`]:k&&f!==null&&!y,[`${d}-below`]:!!v.value,[`${d}-zero-width`]:parseFloat(s)===0},h.class);return t.createVNode("aside",C.default(C.default({},h),{},{class:_,style:H}),[t.createVNode("div",{class:`${d}-children`},[(i=u.default)===null||i===void 0?void 0:i.call(u)]),k||v.value&&y?F:null])}}});exports.default=J;exports.siderProps=T;
;