UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 4.69 kB
{"version":3,"file":"VDatePickerYears.mjs","names":["VBtn","useDate","computed","onMounted","ref","convertToUnit","createRange","genericComponent","propsFactory","useRender","makeVDatePickerYearsProps","color","String","min","Number","max","height","displayDate","VDatePickerYears","name","props","emits","date","setup","_ref","emit","adapter","displayYear","getYear","Date","years","value","yearRef","$el","scrollIntoView","block","_createVNode","map","year","undefined","onClick","setYear","default"],"sources":["../../../src/labs/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/labs/date'\n\n// Utilities\nimport { computed, onMounted, ref } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n min: Number,\n max: Number,\n height: [String, Number],\n displayDate: null,\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n emits: {\n 'update:displayDate': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit }) {\n const adapter = useDate()\n const displayYear = computed(() => adapter.getYear(props.displayDate ?? new Date()))\n const years = computed(() => {\n const min = props.min ?? displayYear.value - 50 - 2\n const max = props.max ?? displayYear.value + 50\n\n return createRange(max - min, min)\n })\n\n const yearRef = ref<VBtn>()\n onMounted(() => {\n yearRef.value?.$el.scrollIntoView({ block: 'center' })\n })\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map(year => (\n <VBtn\n ref={ year === displayYear.value ? yearRef : undefined }\n variant={ year === displayYear.value ? 'flat' : 'text' }\n rounded=\"xl\"\n active={ year === displayYear.value }\n color={ year === displayYear.value ? props.color : undefined }\n onClick={ () => {\n emit('update:displayDate', adapter.setYear(props.displayDate, year))\n emit('update:viewMode', 'month')\n }}\n >{ year }</VBtn>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI,2CAEb;AAAA,SACSC,OAAO,6BAEhB;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,QAAQ,KAAK;AAAA,SACrCC,aAAa,EAAEC,WAAW,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE9E,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,KAAK,EAAEC,MAAM;EACbC,GAAG,EAAEC,MAAM;EACXC,GAAG,EAAED,MAAM;EACXE,MAAM,EAAE,CAACJ,MAAM,EAAEE,MAAM,CAAC;EACxBG,WAAW,EAAE;AACf,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGX,gBAAgB,EAAE,CAAC;EACjDY,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEV,yBAAyB,EAAE;EAElCW,KAAK,EAAE;IACL,oBAAoB,EAAGC,IAAS,IAAK,IAAI;IACzC,iBAAiB,EAAGA,IAAS,IAAK;EACpC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,OAAO,GAAGzB,OAAO,EAAE;IACzB,MAAM0B,WAAW,GAAGzB,QAAQ,CAAC,MAAMwB,OAAO,CAACE,OAAO,CAACR,KAAK,CAACH,WAAW,IAAI,IAAIY,IAAI,EAAE,CAAC,CAAC;IACpF,MAAMC,KAAK,GAAG5B,QAAQ,CAAC,MAAM;MAC3B,MAAMW,GAAG,GAAGO,KAAK,CAACP,GAAG,IAAIc,WAAW,CAACI,KAAK,GAAG,EAAE,GAAG,CAAC;MACnD,MAAMhB,GAAG,GAAGK,KAAK,CAACL,GAAG,IAAIY,WAAW,CAACI,KAAK,GAAG,EAAE;MAE/C,OAAOzB,WAAW,CAACS,GAAG,GAAGF,GAAG,EAAEA,GAAG,CAAC;IACpC,CAAC,CAAC;IAEF,MAAMmB,OAAO,GAAG5B,GAAG,EAAQ;IAC3BD,SAAS,CAAC,MAAM;MACd6B,OAAO,CAACD,KAAK,EAAEE,GAAG,CAACC,cAAc,CAAC;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF1B,SAAS,CAAC,MAAA2B,YAAA;MAAA,SAEA,qBAAqB;MAAA,SACpB;QACLpB,MAAM,EAAEX,aAAa,CAACe,KAAK,CAACJ,MAAM;MACpC;IAAC,IAAAoB,YAAA;MAAA,SAEU;IAA8B,IACrCN,KAAK,CAACC,KAAK,CAACM,GAAG,CAACC,IAAI,IAAAF,YAAA,CAAApC,IAAA;MAAA,OAEZsC,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAGC,OAAO,GAAGO,SAAS;MAAA,WAC5CD,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAG,MAAM,GAAG,MAAM;MAAA,WAC9C,IAAI;MAAA,UACHO,IAAI,KAAKX,WAAW,CAACI,KAAK;MAAA,SAC3BO,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAGX,KAAK,CAACT,KAAK,GAAG4B,SAAS;MAAA,WAClDC,CAAA,KAAM;QACdf,IAAI,CAAC,oBAAoB,EAAEC,OAAO,CAACe,OAAO,CAACrB,KAAK,CAACH,WAAW,EAAEqB,IAAI,CAAC,CAAC;QACpEb,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;MAClC;IAAC;MAAAiB,OAAA,EAAAA,CAAA,MACAJ,IAAI;IAAA,EACR,CAAC,IAGP,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}