UNPKG

@square/maker

Version:

Maker Design System by Square

2 lines 7.2 kB
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../../components/Button"),require("../../components/Icon"),require("../../components/Theme"),require("date-fns/addDays"),require("date-fns/addMonths"),require("date-fns/endOfMonth"),require("date-fns/formatISO"),require("date-fns/isToday"),require("date-fns/parseISO"),require("date-fns/startOfMonth"),require("date-fns/startOfWeek"));else if("function"==typeof define&&define.amd)define(["../../components/Button","../../components/Icon","../../components/Theme","date-fns/addDays","date-fns/addMonths","date-fns/endOfMonth","date-fns/formatISO","date-fns/isToday","date-fns/parseISO","date-fns/startOfMonth","date-fns/startOfWeek"],t);else{var n="object"==typeof exports?t(require("../../components/Button"),require("../../components/Icon"),require("../../components/Theme"),require("date-fns/addDays"),require("date-fns/addMonths"),require("date-fns/endOfMonth"),require("date-fns/formatISO"),require("date-fns/isToday"),require("date-fns/parseISO"),require("date-fns/startOfMonth"),require("date-fns/startOfWeek")):t(e["../../components/Button"],e["../../components/Icon"],e["../../components/Theme"],e["date-fns/addDays"],e["date-fns/addMonths"],e["date-fns/endOfMonth"],e["date-fns/formatISO"],e["date-fns/isToday"],e["date-fns/parseISO"],e["date-fns/startOfMonth"],e["date-fns/startOfWeek"]);for(var a in n)("object"==typeof exports?exports:e)[a]=n[a]}}(this,(function(e,t,n,a,s,r,o,i,d,l,c){return(()=>{"use strict";var u={914:t=>{t.exports=e},20:e=>{e.exports=t},219:e=>{e.exports=n},836:e=>{e.exports=a},870:e=>{e.exports=s},476:e=>{e.exports=r},670:e=>{e.exports=o},934:e=>{e.exports=i},570:e=>{e.exports=d},91:e=>{e.exports=l},41:e=>{e.exports=c}},f={};function h(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={exports:{}};return u[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),h.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var m={};return(()=>{h.r(m),h.d(m,{MCalendar:()=>C});var e=h(670),t=h.n(e),n=h(570),a=h.n(n),s=h(870),r=h.n(s),o=h(934),i=h.n(o),d=h(836),l=h.n(d),c=h(476),u=h.n(c),f=h(91),p=h.n(f),D=h(41),b=h.n(D),v=h(914),y=h(20),O=h(219);const _=e=>t()(e,{representation:"date"}),M=e=>!e||/^\d{4}-\d{2}-\d{2}$/.test(e),x={components:{MButton:v.MButton,MIcon:y.MIcon},inject:{theme:{default:(0,O.defaultTheme)(),from:O.MThemeKey}},inheritAttrs:!1,model:{prop:"selectedDate",event:"calendar:update"},props:{selectedDate:{type:String,default:void 0,validator:M},minDate:{type:String,default:void 0,validator:M},maxDate:{type:String,default:void 0,validator:M},disabledDates:{type:Array,default:()=>[],validator:e=>e.every((e=>M(e)))},locale:{type:String,default:void 0}},data:()=>({showingMonth:new Date}),computed:{monthName(){return this.showingMonth.toLocaleString(this.locale,{month:"long",year:"numeric"})},weekdays(){const e=b()(new Date);return Array.from({length:7},((t,n)=>l()(e,n))).map((e=>e.toLocaleDateString(this.locale,{weekday:"short"})))},weeks(){const e=this.showingMonth.getMonth(),t=p()(this.showingMonth),n=[];let a=[];for(;t.getMonth()===e;){const e=t.getDay();a[e]=new Date(t);e===6&&(n.push(a),a=[]);const s=1;t.setDate(t.getDate()+s)}return n.push(a),n},selectedDateObject(){return this.selectedDate&&a()(this.selectedDate)},maxDateObject(){return this.maxDate&&a()(this.maxDate)},minDateObject(){return this.minDate&&a()(this.minDate)},calendarNavButtons(){return{color:this.theme.colors["neutral-10"]||"#f2f2f2",textColor:this.theme.colors["neutral-90"]||"#f2f2f2"}}},watch:{selectedDate(){const e=this.selectedDateObject;e&&(this.showingMonth=e)}},mounted(){this.selectedDateObject&&(this.showingMonth=this.selectedDateObject)},methods:{isCalendarNavDisabled(e){const t=r()(this.showingMonth,e);return-1===e&&this.minDateObject?p()(this.minDateObject)>p()(t):!(1!==e||!this.maxDateObject)&&u()(this.maxDateObject)<u()(t)},incrementMonth(e){this.showingMonth=r()(this.showingMonth,e)},isDateSelected(e){return this.selectedDate===_(e)},isDateDisabled(e){return!!(this.minDateObject&&this.minDateObject>e)||(!!(this.maxDateObject&&this.maxDateObject<e)||this.disabledDates.includes(_(e)))},isToday:i(),emitDate(e){this.isDateDisabled(e)||this.$emit("calendar:update",_(e))}}},g={Calendar:"📚19-10-2WFFPi",CalendarHeader:"📚19-10-2h9qtz",CalendarHeaderTitle:"📚19-10-2_d7cZ",CalendarTable:"📚19-10-2HHp6C",DateHeaderCell:"📚19-10-2SFAYv",DateCell:"📚19-10-2M9QOe",DateCellButton:"📚19-10-2lX828",selected:"📚19-10-2bP8I7",today:"📚19-10-2dOo3x",disabled:"📚19-10-2nUcF8"};const C=function(e,t,n,a,s,r,o,i){var d,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),a&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),o?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=d):s&&(d=i?function(){s.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:s),d)if(l.functional){l._injectStyles=d;var c=l.render;l.render=function(e,t){return d.call(t),c(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,d):[d]}return{exports:e,options:l}}(x,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",e._g(e._b({class:e.$s.Calendar},"div",e.$attrs,!1),e.$listeners),[n("div",{class:e.$s.CalendarHeader},[n("m-button",e._b({attrs:{disabled:e.isCalendarNavDisabled(-1),size:"medium",variant:"fill"},on:{click:function(t){return e.incrementMonth(-1)}}},"m-button",e.calendarNavButtons,!1),[n("m-icon",{attrs:{name:"chevronLeft",size:"large"}})],1),e._v(" "),n("span",{class:e.$s.CalendarHeaderTitle},[e._v("\n\t\t\t"+e._s(e.monthName)+"\n\t\t")]),e._v(" "),n("m-button",e._b({attrs:{disabled:e.isCalendarNavDisabled(1),size:"medium",variant:"fill"},on:{click:function(t){return e.incrementMonth(1)}}},"m-button",e.calendarNavButtons,!1),[n("m-icon",{attrs:{name:"chevronRight",size:"large"}})],1)],1),e._v(" "),n("table",{class:e.$s.CalendarTable},[n("thead",[n("tr",e._l(e.weekdays,(function(t){return n("th",{key:"day-"+t,class:e.$s.DateHeaderCell},[e._v("\n\t\t\t\t\t"+e._s(t)+"\n\t\t\t\t")])})),0)]),e._v(" "),n("tbody",e._l(e.weeks,(function(t,a){return n("tr",{key:"week-"+a},e._l(t,(function(t,s){var r;return n("td",{key:"date-"+(a-s),class:e.$s.DateCell},[t?n("button",{class:[e.$s.DateCellButton,(r={},r[e.$s.selected]=e.isDateSelected(t),r[e.$s.disabled]=e.isDateDisabled(t),r[e.$s.today]=e.isToday(t),r)],attrs:{type:"button",tabindex:"-1"},on:{click:function(n){return n.preventDefault(),e.emitDate(t)}}},[e._v("\n\t\t\t\t\t\t"+e._s(t.getDate())+"\n\t\t\t\t\t")]):e._e()])})),0)})),0)])])}),[],!1,(function(e){this.$s=g.locals||g}),null,null).exports})(),m})()})); //# sourceMappingURL=script.js.map