UNPKG

ll-package

Version:

2 lines (1 loc) 2.84 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),M=require("../../../@babel/runtime/helpers/esm/extends.js"),a=require("vue"),V=require("../select/index.js");require("../radio/index.js");const I=require("../form/FormItemContext.js"),R=require("../radio/Group.js"),S=require("../radio/RadioButton.js"),$=10,b=20;function q(c){const{fullscreen:i,validRange:o,generateConfig:e,locale:r,prefixCls:t,value:s,onChange:f,divRef:C}=c,g=e.getYear(s||e.getNow());let d=g-$,u=d+b;o&&(d=e.getYear(o[0]),u=e.getYear(o[1])+1);const h=r&&r.year==="年"?"年":"",v=[];for(let n=d;n<u;n++)v.push({label:`${n}${h}`,value:n});return a.createVNode(V.default,{size:i?void 0:"small",options:v,value:g,class:`${t}-year-select`,onChange:n=>{let l=e.setYear(s,n);if(o){const[p,Y]=o,x=e.getYear(l),N=e.getMonth(l);x===e.getYear(Y)&&N>e.getMonth(Y)&&(l=e.setMonth(l,e.getMonth(Y))),x===e.getYear(p)&&N<e.getMonth(p)&&(l=e.setMonth(l,e.getMonth(p)))}f(l)},getPopupContainer:()=>C.value},null)}q.inheritAttrs=!1;function w(c){const{prefixCls:i,fullscreen:o,validRange:e,value:r,generateConfig:t,locale:s,onChange:f,divRef:C}=c,g=t.getMonth(r||t.getNow());let d=0,u=11;if(e){const[n,l]=e,p=t.getYear(r);t.getYear(l)===p&&(u=t.getMonth(l)),t.getYear(n)===p&&(d=t.getMonth(n))}const h=s.shortMonths||t.locale.getShortMonths(s.locale),v=[];for(let n=d;n<=u;n+=1)v.push({label:h[n],value:n});return a.createVNode(V.default,{size:o?void 0:"small",class:`${i}-month-select`,value:g,options:v,onChange:n=>{f(t.setMonth(r,n))},getPopupContainer:()=>C.value},null)}w.inheritAttrs=!1;function y(c){const{prefixCls:i,locale:o,mode:e,fullscreen:r,onModeChange:t}=c;return a.createVNode(R.default,{onChange:s=>{let{target:{value:f}}=s;t(f)},value:e,size:r?void 0:"small",class:`${i}-mode-switch`},{default:()=>[a.createVNode(S.default,{value:"month"},{default:()=>[o.month]}),a.createVNode(S.default,{value:"year"},{default:()=>[o.year]})]})}y.inheritAttrs=!1;const P=a.defineComponent({name:"CalendarHeader",inheritAttrs:!1,props:["mode","prefixCls","value","validRange","generateConfig","locale","mode","fullscreen"],setup(c,i){let{attrs:o}=i;const e=a.ref(null),r=I.FormItemInputContext.useInject();return I.FormItemInputContext.useProvide(r,{isFormItemInput:!1}),()=>{const t=M.default(M.default({},c),o),{prefixCls:s,fullscreen:f,mode:C,onChange:g,onModeChange:d}=t,u=M.default(M.default({},t),{fullscreen:f,divRef:e});return a.createVNode("div",{class:`${s}-header`,ref:e},[a.createVNode(q,m.default(m.default({},u),{},{onChange:h=>{g(h,"year")}}),null),C==="month"&&a.createVNode(w,m.default(m.default({},u),{},{onChange:h=>{g(h,"month")}}),null),a.createVNode(y,m.default(m.default({},u),{},{onModeChange:d}),null)])}}});exports.default=P;