UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 22.2 kB
{"version":3,"file":"vuetify.mjs","names":["createRange","firstDay","AD","AE","AF","AG","AI","AL","AM","AN","AR","AS","AT","AU","AX","AZ","BA","BD","BE","BG","BH","BM","BN","BR","BS","BT","BW","BY","BZ","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ES","ET","FI","FJ","FO","FR","GB","GE","GF","GP","GR","GT","GU","HK","HN","HR","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KR","KW","KZ","LA","LB","LI","LK","LT","LU","LV","LY","MC","MD","ME","MH","MK","MM","MN","MO","MQ","MT","MV","MX","MY","MZ","NI","NL","NO","NP","NZ","OM","PA","PE","PH","PK","PL","PR","PT","PY","QA","RE","RO","RS","RU","SA","SD","SE","SG","SI","SK","SM","SV","SY","TH","TJ","TM","TR","TT","TW","UA","UM","US","UY","UZ","VA","VE","VI","VN","WS","XK","YE","ZA","ZW","getWeekArray","date","locale","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","firstDayWeekIndex","getDay","slice","toUpperCase","lastDayWeekIndex","i","adjacentDay","Date","setDate","getDate","push","day","getFullYear","getMonth","length","parseLocalDate","value","parts","split","map","Number","_YYYMMDD","parsed","test","parse","isNaN","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","Intl","DateTimeFormat","format","formatString","options","month","year","timeZone","timeZoneName","addDays","amount","d","addMonths","setMonth","getYear","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","getTime","comparing","isEqual","isSameDay","isSameMonth","getDiff","unit","c","Math","floor","setYear","setFullYear","VuetifyDateAdapter","constructor","toJsDate"],"sources":["../../../../src/labs/date/adapters/vuetify.ts"],"sourcesContent":["// Utilities\nimport { createRange } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\nconst firstDay: Record<string, number> = {\n '001': 1,\n AD: 1,\n AE: 6,\n AF: 6,\n AG: 0,\n AI: 1,\n AL: 1,\n AM: 1,\n AN: 1,\n AR: 1,\n AS: 0,\n AT: 1,\n AU: 1,\n AX: 1,\n AZ: 1,\n BA: 1,\n BD: 0,\n BE: 1,\n BG: 1,\n BH: 6,\n BM: 1,\n BN: 1,\n BR: 0,\n BS: 0,\n BT: 0,\n BW: 0,\n BY: 1,\n BZ: 0,\n CA: 0,\n CH: 1,\n CL: 1,\n CM: 1,\n CN: 1,\n CO: 0,\n CR: 1,\n CY: 1,\n CZ: 1,\n DE: 1,\n DJ: 6,\n DK: 1,\n DM: 0,\n DO: 0,\n DZ: 6,\n EC: 1,\n EE: 1,\n EG: 6,\n ES: 1,\n ET: 0,\n FI: 1,\n FJ: 1,\n FO: 1,\n FR: 1,\n GB: 1,\n 'GB-alt-variant': 0,\n GE: 1,\n GF: 1,\n GP: 1,\n GR: 1,\n GT: 0,\n GU: 0,\n HK: 0,\n HN: 0,\n HR: 1,\n HU: 1,\n ID: 0,\n IE: 1,\n IL: 0,\n IN: 0,\n IQ: 6,\n IR: 6,\n IS: 1,\n IT: 1,\n JM: 0,\n JO: 6,\n JP: 0,\n KE: 0,\n KG: 1,\n KH: 0,\n KR: 0,\n KW: 6,\n KZ: 1,\n LA: 0,\n LB: 1,\n LI: 1,\n LK: 1,\n LT: 1,\n LU: 1,\n LV: 1,\n LY: 6,\n MC: 1,\n MD: 1,\n ME: 1,\n MH: 0,\n MK: 1,\n MM: 0,\n MN: 1,\n MO: 0,\n MQ: 1,\n MT: 0,\n MV: 5,\n MX: 0,\n MY: 1,\n MZ: 0,\n NI: 0,\n NL: 1,\n NO: 1,\n NP: 0,\n NZ: 1,\n OM: 6,\n PA: 0,\n PE: 0,\n PH: 0,\n PK: 0,\n PL: 1,\n PR: 0,\n PT: 0,\n PY: 0,\n QA: 6,\n RE: 1,\n RO: 1,\n RS: 1,\n RU: 1,\n SA: 0,\n SD: 6,\n SE: 1,\n SG: 0,\n SI: 1,\n SK: 1,\n SM: 1,\n SV: 0,\n SY: 6,\n TH: 0,\n TJ: 1,\n TM: 1,\n TR: 1,\n TT: 0,\n TW: 0,\n UA: 1,\n UM: 0,\n US: 0,\n UY: 1,\n UZ: 1,\n VA: 1,\n VE: 0,\n VI: 0,\n VN: 1,\n WS: 0,\n XK: 1,\n YE: 0,\n ZA: 0,\n ZW: 0,\n}\n\nfunction getWeekArray (date: Date, locale: string) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()]\n const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()]\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n weeks.push(currentWeek)\n\n return weeks\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string) {\n const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()]\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: 'narrow' }).format(weekday)\n })\n}\n\nfunction format (value: Date, formatString: string, locale: string): string {\n const date = new Date(value)\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDateWithWeekday':\n options = { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }\n break\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'keyboardDate':\n options = {}\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'dayOfMonth':\n options = { day: 'numeric' }\n break\n default:\n options = { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(date)\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n if (unit === 'month') {\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n }\n\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n\n constructor (options: { locale: string }) {\n this.locale = options.locale\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date) {\n return getWeekArray(date, this.locale)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays () {\n return getWeekdays(this.locale)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,WAAW,mCAEpB;AAGA,MAAMC,QAAgC,GAAG;EACvC,KAAK,EAAE,CAAC;EACRC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACL,gBAAgB,EAAE,CAAC;EACnBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,C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"}