{"version":3,"file":"props.mjs","names":["validateTimestamp","parseDate","DAYS_IN_WEEK","validateTime","CalendarEventOverlapModes","base","start","type","String","Number","Date","validate","default","date","end","weekdays","Array","validateWeekdays","hideHeader","Boolean","shortWeekdays","weekdayFormat","Function","dayFormat","intervals","maxDays","shortIntervals","intervalHeight","validateNumber","intervalWidth","intervalMinutes","firstInterval","firstTime","Object","intervalCount","intervalFormat","intervalStyle","showIntervalLabel","weeks","localeFirstDayOfYear","minWeeks","shortMonths","showMonthOnFirst","showWeek","monthFormat","calendar","value","category","categories","categoryText","categoryHideDynamic","categoryShowAll","categoryForInvalid","categoryDays","x","isFinite","parseInt","events","eventStart","eventEnd","eventTimed","eventCategory","eventHeight","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","mode","eventMore","eventMoreText","eventRipple","eventMarginBottom","input","split","isArray","ints","map","length","visited","wrapped","i","d"],"sources":["../../../../src/components/VCalendar/util/props.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\nimport { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n  base: {\n    start: {\n      type: [String, Number, Date],\n      validate: validateTimestamp,\n      default: () => parseDate(new Date()).date,\n    },\n    end: {\n      type: [String, Number, Date],\n      validate: validateTimestamp,\n    },\n    weekdays: {\n      type: [Array, String] as PropType<readonly number[] | string>,\n      default: () => [0, 1, 2, 3, 4, 5, 6],\n      validate: validateWeekdays,\n    },\n    hideHeader: {\n      type: Boolean,\n    },\n    shortWeekdays: {\n      type: Boolean,\n      default: true,\n    },\n    weekdayFormat: {\n      type: Function as PropType<CalendarFormatter>,\n      default: null,\n    },\n    dayFormat: {\n      type: Function as PropType<CalendarFormatter>,\n      default: null,\n    },\n  },\n  intervals: {\n    maxDays: {\n      type: Number,\n      default: 7,\n    },\n    shortIntervals: {\n      type: Boolean,\n      default: true,\n    },\n    intervalHeight: {\n      type: [Number, String],\n      default: 48,\n      validate: validateNumber,\n    },\n    intervalWidth: {\n      type: [Number, String],\n      default: 60,\n      validate: validateNumber,\n    },\n    intervalMinutes: {\n      type: [Number, String],\n      default: 60,\n      validate: validateNumber,\n    },\n    firstInterval: {\n      type: [Number, String],\n      default: 0,\n      validate: validateNumber,\n    },\n    firstTime: {\n      type: [Number, String, Object],\n      validate: validateTime,\n    },\n    intervalCount: {\n      type: [Number, String],\n      default: 24,\n      validate: validateNumber,\n    },\n    intervalFormat: {\n      type: Function as PropType<CalendarFormatter>,\n      default: null,\n    },\n    intervalStyle: {\n      type: Function as PropType<(interval: CalendarTimestamp) => object>,\n      default: null,\n    },\n    showIntervalLabel: {\n      type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n      default: null,\n    },\n  },\n  weeks: {\n    localeFirstDayOfYear: {\n      type: [String, Number],\n      default: 0,\n    },\n    minWeeks: {\n      validate: validateNumber,\n      default: 1,\n    },\n    shortMonths: {\n      type: Boolean,\n      default: true,\n    },\n    showMonthOnFirst: {\n      type: Boolean,\n      default: true,\n    },\n    showWeek: Boolean,\n    monthFormat: {\n      type: Function as PropType<CalendarFormatter>,\n      default: null,\n    },\n  },\n  calendar: {\n    type: {\n      type: String,\n      default: 'month',\n    },\n    value: {\n      type: [String, Number, Date] as PropType<string | number | Date>,\n      validate: validateTimestamp,\n    },\n  },\n  category: {\n    categories: {\n      type: [Array, String] as PropType<readonly CalendarCategory[] | string>,\n      default: '',\n    },\n    categoryText: {\n      type: [String, Function] as PropType<string | CalendarCategoryTextFunction>,\n    },\n    categoryHideDynamic: {\n      type: Boolean,\n    },\n    categoryShowAll: {\n      type: Boolean,\n    },\n    categoryForInvalid: {\n      type: String,\n      default: '',\n    },\n    categoryDays: {\n      type: [Number, String],\n      default: 1,\n      validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n    },\n  },\n  events: {\n    events: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<CalendarEvent[]>,\n    eventStart: {\n      type: String,\n      default: 'start',\n    },\n    eventEnd: {\n      type: String,\n      default: 'end',\n    },\n    eventTimed: {\n      type: [String, Function] as PropType<string | CalendarEventTimedFunction>,\n      default: 'timed',\n    },\n    eventCategory: {\n      type: [String, Function] as PropType<string | CalendarEventCategoryFunction>,\n      default: 'category',\n    },\n    eventHeight: {\n      type: Number,\n      default: 20,\n    },\n    eventColor: {\n      type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n      default: 'primary',\n    },\n    eventTextColor: {\n      type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n      default: 'white',\n    },\n    eventName: {\n      type: [String, Function] as PropType<string | CalendarEventNameFunction>,\n      default: 'name',\n    },\n    eventOverlapThreshold: {\n      type: [String, Number],\n      default: 60,\n    },\n    eventOverlapMode: {\n      type: [String, Function],\n      default: 'stack',\n      validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n    } as PropValidator<'stack' | 'column' | CalendarEventOverlapMode>,\n    eventMore: {\n      type: Boolean,\n      default: true,\n    },\n    eventMoreText: {\n      type: String,\n      default: '$vuetify.calendar.moreEvents',\n    },\n    eventRipple: {\n      type: [Boolean, Object],\n      default: null,\n    },\n    eventMarginBottom: {\n      type: Number,\n      default: 1,\n    },\n  },\n}\n\nexport function validateNumber (input: any): boolean {\n  return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n  if (typeof input === 'string') {\n    input = input.split(',')\n  }\n\n  if (Array.isArray(input)) {\n    const ints = input.map(x => parseInt(x))\n\n    if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n      return false\n    }\n\n    const visited: Record<number, boolean> = {}\n    let wrapped = false\n\n    for (let i = 0; i < ints.length; i++) {\n      const x = ints[i]\n\n      if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n        return false\n      }\n\n      if (i > 0) {\n        const d = x - ints[i - 1]\n        if (d < 0) {\n          if (wrapped) {\n            return false\n          }\n          wrapped = true\n        } else if (d === 0) {\n          return false\n        }\n      }\n\n      if (visited[x]) {\n        return false\n      }\n      visited[x] = true\n    }\n\n    return true\n  }\n\n  return false\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGSA,iBAAiB,EAAEC,SAAS,EAAEC,YAAY,EAAEC,YAAY;AAAA,SAGxDC,yBAAyB;AAGlC,eAAe;EACbC,IAAI,EAAE;IACJC,KAAK,EAAE;MACLC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,EAAEC,IAAI,CAAC;MAC5BC,QAAQ,EAAEX,iBAAiB;MAC3BY,OAAO,EAAEA,CAAA,KAAMX,SAAS,CAAC,IAAIS,IAAI,EAAE,CAAC,CAACG;IACvC,CAAC;IACDC,GAAG,EAAE;MACHP,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,EAAEC,IAAI,CAAC;MAC5BC,QAAQ,EAAEX;IACZ,CAAC;IACDe,QAAQ,EAAE;MACRR,IAAI,EAAE,CAACS,KAAK,EAAER,MAAM,CAAyC;MAC7DI,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACpCD,QAAQ,EAAEM;IACZ,CAAC;IACDC,UAAU,EAAE;MACVX,IAAI,EAAEY;IACR,CAAC;IACDC,aAAa,EAAE;MACbb,IAAI,EAAEY,OAAO;MACbP,OAAO,EAAE;IACX,CAAC;IACDS,aAAa,EAAE;MACbd,IAAI,EAAEe,QAAuC;MAC7CV,OAAO,EAAE;IACX,CAAC;IACDW,SAAS,EAAE;MACThB,IAAI,EAAEe,QAAuC;MAC7CV,OAAO,EAAE;IACX;EACF,CAAC;EACDY,SAAS,EAAE;IACTC,OAAO,EAAE;MACPlB,IAAI,EAAEE,MAAM;MACZG,OAAO,EAAE;IACX,CAAC;IACDc,cAAc,EAAE;MACdnB,IAAI,EAAEY,OAAO;MACbP,OAAO,EAAE;IACX,CAAC;IACDe,cAAc,EAAE;MACdpB,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,EAAE;MACXD,QAAQ,EAAEiB;IACZ,CAAC;IACDC,aAAa,EAAE;MACbtB,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,EAAE;MACXD,QAAQ,EAAEiB;IACZ,CAAC;IACDE,eAAe,EAAE;MACfvB,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,EAAE;MACXD,QAAQ,EAAEiB;IACZ,CAAC;IACDG,aAAa,EAAE;MACbxB,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,CAAC;MACVD,QAAQ,EAAEiB;IACZ,CAAC;IACDI,SAAS,EAAE;MACTzB,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,EAAEyB,MAAM,CAAC;MAC9BtB,QAAQ,EAAER;IACZ,CAAC;IACD+B,aAAa,EAAE;MACb3B,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,EAAE;MACXD,QAAQ,EAAEiB;IACZ,CAAC;IACDO,cAAc,EAAE;MACd5B,IAAI,EAAEe,QAAuC;MAC7CV,OAAO,EAAE;IACX,CAAC;IACDwB,aAAa,EAAE;MACb7B,IAAI,EAAEe,QAA6D;MACnEV,OAAO,EAAE;IACX,CAAC;IACDyB,iBAAiB,EAAE;MACjB9B,IAAI,EAAEe,QAA8D;MACpEV,OAAO,EAAE;IACX;EACF,CAAC;EACD0B,KAAK,EAAE;IACLC,oBAAoB,EAAE;MACpBhC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;MACtBG,OAAO,EAAE;IACX,CAAC;IACD4B,QAAQ,EAAE;MACR7B,QAAQ,EAAEiB,cAAc;MACxBhB,OAAO,EAAE;IACX,CAAC;IACD6B,WAAW,EAAE;MACXlC,IAAI,EAAEY,OAAO;MACbP,OAAO,EAAE;IACX,CAAC;IACD8B,gBAAgB,EAAE;MAChBnC,IAAI,EAAEY,OAAO;MACbP,OAAO,EAAE;IACX,CAAC;IACD+B,QAAQ,EAAExB,OAAO;IACjByB,WAAW,EAAE;MACXrC,IAAI,EAAEe,QAAuC;MAC7CV,OAAO,EAAE;IACX;EACF,CAAC;EACDiC,QAAQ,EAAE;IACRtC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAM;MACZI,OAAO,EAAE;IACX,CAAC;IACDkC,KAAK,EAAE;MACLvC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,EAAEC,IAAI,CAAqC;MAChEC,QAAQ,EAAEX;IACZ;EACF,CAAC;EACD+C,QAAQ,EAAE;IACRC,UAAU,EAAE;MACVzC,IAAI,EAAE,CAACS,KAAK,EAAER,MAAM,CAAmD;MACvEI,OAAO,EAAE;IACX,CAAC;IACDqC,YAAY,EAAE;MACZ1C,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ;IACzB,CAAC;IACD4B,mBAAmB,EAAE;MACnB3C,IAAI,EAAEY;IACR,CAAC;IACDgC,eAAe,EAAE;MACf5C,IAAI,EAAEY;IACR,CAAC;IACDiC,kBAAkB,EAAE;MAClB7C,IAAI,EAAEC,MAAM;MACZI,OAAO,EAAE;IACX,CAAC;IACDyC,YAAY,EAAE;MACZ9C,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;MACtBI,OAAO,EAAE,CAAC;MACVD,QAAQ,EAAG2C,CAAM,IAAKC,QAAQ,CAACC,QAAQ,CAACF,CAAC,CAAC,CAAC,IAAIE,QAAQ,CAACF,CAAC,CAAC,GAAG;IAC/D;EACF,CAAC;EACDG,MAAM,EAAE;IACNA,MAAM,EAAE;MACNlD,IAAI,EAAES,KAAK;MACXJ,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAmC;IACnC8C,UAAU,EAAE;MACVnD,IAAI,EAAEC,MAAM;MACZI,OAAO,EAAE;IACX,CAAC;IACD+C,QAAQ,EAAE;MACRpD,IAAI,EAAEC,MAAM;MACZI,OAAO,EAAE;IACX,CAAC;IACDgD,UAAU,EAAE;MACVrD,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAkD;MACzEV,OAAO,EAAE;IACX,CAAC;IACDiD,aAAa,EAAE;MACbtD,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAqD;MAC5EV,OAAO,EAAE;IACX,CAAC;IACDkD,WAAW,EAAE;MACXvD,IAAI,EAAEE,MAAM;MACZG,OAAO,EAAE;IACX,CAAC;IACDmD,UAAU,EAAE;MACVxD,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAkD;MACzEV,OAAO,EAAE;IACX,CAAC;IACDoD,cAAc,EAAE;MACdzD,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAkD;MACzEV,OAAO,EAAE;IACX,CAAC;IACDqD,SAAS,EAAE;MACT1D,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAiD;MACxEV,OAAO,EAAE;IACX,CAAC;IACDsD,qBAAqB,EAAE;MACrB3D,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;MACtBG,OAAO,EAAE;IACX,CAAC;IACDuD,gBAAgB,EAAE;MAChB5D,IAAI,EAAE,CAACC,MAAM,EAAEc,QAAQ,CAAC;MACxBV,OAAO,EAAE,OAAO;MAChBD,QAAQ,EAAGyD,IAAS,IAAKA,IAAI,IAAIhE,yBAAyB,IAAI,OAAOgE,IAAI,KAAK;IAChF,CAAiE;IACjEC,SAAS,EAAE;MACT9D,IAAI,EAAEY,OAAO;MACbP,OAAO,EAAE;IACX,CAAC;IACD0D,aAAa,EAAE;MACb/D,IAAI,EAAEC,MAAM;MACZI,OAAO,EAAE;IACX,CAAC;IACD2D,WAAW,EAAE;MACXhE,IAAI,EAAE,CAACY,OAAO,EAAEc,MAAM,CAAC;MACvBrB,OAAO,EAAE;IACX,CAAC;IACD4D,iBAAiB,EAAE;MACjBjE,IAAI,EAAEE,MAAM;MACZG,OAAO,EAAE;IACX;EACF;AACF,CAAC;AAED,OAAO,SAASgB,cAAcA,CAAE6C,KAAU,EAAW;EACnD,OAAOlB,QAAQ,CAACC,QAAQ,CAACiB,KAAK,CAAC,CAAC;AAClC;AAEA,OAAO,SAASxD,gBAAgBA,CAAEwD,KAAmC,EAAW;EAC9E,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7BA,KAAK,GAAGA,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC;EAC1B;EAEA,IAAI1D,KAAK,CAAC2D,OAAO,CAACF,KAAK,CAAC,EAAE;IACxB,MAAMG,IAAI,GAAGH,KAAK,CAACI,GAAG,CAACvB,CAAC,IAAIE,QAAQ,CAACF,CAAC,CAAC,CAAC;IAExC,IAAIsB,IAAI,CAACE,MAAM,GAAG5E,YAAY,IAAI0E,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;MACnD,OAAO,KAAK;IACd;IAEA,MAAMC,OAAgC,GAAG,CAAC,CAAC;IAC3C,IAAIC,OAAO,GAAG,KAAK;IAEnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,IAAI,CAACE,MAAM,EAAEG,CAAC,EAAE,EAAE;MACpC,MAAM3B,CAAC,GAAGsB,IAAI,CAACK,CAAC,CAAC;MAEjB,IAAI,CAAC1B,QAAQ,CAACD,CAAC,CAAC,IAAIA,CAAC,GAAG,CAAC,IAAIA,CAAC,IAAIpD,YAAY,EAAE;QAC9C,OAAO,KAAK;MACd;MAEA,IAAI+E,CAAC,GAAG,CAAC,EAAE;QACT,MAAMC,CAAC,GAAG5B,CAAC,GAAGsB,IAAI,CAACK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAIC,CAAC,GAAG,CAAC,EAAE;UACT,IAAIF,OAAO,EAAE;YACX,OAAO,KAAK;UACd;UACAA,OAAO,GAAG,IAAI;QAChB,CAAC,MAAM,IAAIE,CAAC,KAAK,CAAC,EAAE;UAClB,OAAO,KAAK;QACd;MACF;MAEA,IAAIH,OAAO,CAACzB,CAAC,CAAC,EAAE;QACd,OAAO,KAAK;MACd;MACAyB,OAAO,CAACzB,CAAC,CAAC,GAAG,IAAI;IACnB;IAEA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd"}