UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 8.99 kB
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VIcon","Colorable","Localable","Themeable","createNativeLocaleFormatter","monthChange","mixins","extend","name","props","disabled","Boolean","format","Function","min","String","max","nextAriaLabel","nextIcon","type","default","prevAriaLabel","prevIcon","readonly","value","Number","required","data","isReversing","computed","formatter","split","currentLocale","month","year","timeZone","length","watch","newVal","oldVal","methods","genBtn","change","ariaLabelId","ariaLabel","$vuetify","lang","t","undefined","calculateChange","$createElement","attrs","dark","icon","light","on","click","e","stopPropagation","$emit","rtl","sign","map","genHeader","color","header","setTextColor","key","$slots","transition","staticClass","class","render","themeClasses"],"sources":["../../../src/components/VDatePicker/VDatePickerHeader.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"mappings":"AAAA;AACA;;AAEA;;AAEA;AAAA,OACOA,IAAI;AAAA,OACJC,KAAK,4BAEZ;AAAA,OACOC,SAAS;AAAA,OACTC,SAAS;AAAA,OACTC,SAAS,oCAEhB;AAAA,SACSC,2BAA2B,EAAEC,WAAW;AAAA,OAC1CC,MAAM,+BAEb;AAIA,eAAeA,MAAM,CACnBL,SAAS,EACTC,SAAS,EACTC;AACF,qBACC,CAACI,MAAM,CAAC;EACPC,IAAI,EAAE,sBAAsB;EAE5BC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OAAO;IACjBC,MAAM,EAAEC,QAAqD;IAC7DC,GAAG,EAAEC,MAAM;IACXC,GAAG,EAAED,MAAM;IACXE,aAAa,EAAEF,MAAM;IACrBG,QAAQ,EAAE;MACRC,IAAI,EAAEJ,MAAM;MACZK,OAAO,EAAE;IACX,CAAC;IACDC,aAAa,EAAEN,MAAM;IACrBO,QAAQ,EAAE;MACRH,IAAI,EAAEJ,MAAM;MACZK,OAAO,EAAE;IACX,CAAC;IACDG,QAAQ,EAAEZ,OAAO;IACjBa,KAAK,EAAE;MACLL,IAAI,EAAE,CAACM,MAAM,EAAEV,MAAM,CAAC;MACtBW,QAAQ,EAAE;IACZ;EACF,CAAC;EAEDC,IAAI,GAAI;IACN,OAAO;MACLC,WAAW,EAAE;IACf,CAAC;EACH,CAAC;EAEDC,QAAQ,EAAE;IACRC,SAAS,GAAyB;MAChC,IAAI,IAAI,CAAClB,MAAM,EAAE;QACf,OAAO,IAAI,CAACA,MAAM;MACpB,CAAC,MAAM,IAAIG,MAAM,CAAC,IAAI,CAACS,KAAK,CAAC,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3C,OAAO3B,2BAA2B,CAAC,IAAI,CAAC4B,aAAa,EAAE;UAAEC,KAAK,EAAE,MAAM;UAAEC,IAAI,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAM,CAAC,EAAE;UAAEC,MAAM,EAAE;QAAE,CAAC,CAAC;MAC5H,CAAC,MAAM;QACL,OAAOhC,2BAA2B,CAAC,IAAI,CAAC4B,aAAa,EAAE;UAAEE,IAAI,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAM,CAAC,EAAE;UAAEC,MAAM,EAAE;QAAE,CAAC,CAAC;MAC7G;IACF;EACF,CAAC;EAEDC,KAAK,EAAE;IACLb,KAAK,CAAEc,MAAM,EAAEC,MAAM,EAAE;MACrB,IAAI,CAACX,WAAW,GAAGU,MAAM,GAAGC,MAAM;IACpC;EACF,CAAC;EAEDC,OAAO,EAAE;IACPC,MAAM,CAAEC,MAAc,EAAE;MACtB,MAAMC,WAAW,GAAGD,MAAM,GAAG,CAAC,GAAG,IAAI,CAACzB,aAAa,GAAG,IAAI,CAACI,aAAa;MACxE,MAAMuB,SAAS,GAAGD,WAAW,GAAG,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACC,CAAC,CAACJ,WAAW,CAAC,GAAGK,SAAS;MAC7E,MAAMtC,QAAQ,GAAG,IAAI,CAACA,QAAQ,IAC3BgC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC5B,GAAG,IAAI,IAAI,CAACmC,eAAe,CAACP,MAAM,CAAC,GAAG,IAAI,CAAC5B,GAAI,IAClE4B,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC1B,GAAG,IAAI,IAAI,CAACiC,eAAe,CAACP,MAAM,CAAC,GAAG,IAAI,CAAC1B,GAAI;MAErE,OAAO,IAAI,CAACkC,cAAc,CAACnD,IAAI,EAAE;QAC/BoD,KAAK,EAAE;UAAE,YAAY,EAAEP;QAAU,CAAC;QAClCnC,KAAK,EAAE;UACL2C,IAAI,EAAE,IAAI,CAACA,IAAI;UACf1C,QAAQ;UACR2C,IAAI,EAAE,IAAI;UACVC,KAAK,EAAE,IAAI,CAACA;QACd,CAAC;QACDC,EAAE,EAAE;UACFC,KAAK,EAAGC,CAAQ,IAAK;YACnBA,CAAC,CAACC,eAAe,EAAE;YACnB,IAAI,CAACC,KAAK,CAAC,OAAO,EAAE,IAAI,CAACV,eAAe,CAACP,MAAM,CAAC,CAAC;UACnD;QACF;MACF,CAAC,EAAE,CACD,IAAI,CAACQ,cAAc,CAAClD,KAAK,EAAI0C,MAAM,GAAG,CAAC,KAAM,CAAC,IAAI,CAACG,QAAQ,CAACe,GAAG,GAAI,IAAI,CAACtC,QAAQ,GAAG,IAAI,CAACJ,QAAQ,CAAC,CAClG,CAAC;IACJ,CAAC;IACD+B,eAAe,CAAEY,IAAY,EAAE;MAC7B,MAAM,CAAC3B,IAAI,EAAED,KAAK,CAAC,GAAGlB,MAAM,CAAC,IAAI,CAACS,KAAK,CAAC,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC+B,GAAG,CAACrC,MAAM,CAAC;MAE/D,IAAIQ,KAAK,IAAI,IAAI,EAAE;QACjB,OAAQ,GAAEC,IAAI,GAAG2B,IAAK,EAAC;MACzB,CAAC,MAAM;QACL,OAAOxD,WAAW,CAACU,MAAM,CAAC,IAAI,CAACS,KAAK,CAAC,EAAEqC,IAAI,CAAC;MAC9C;IACF,CAAC;IACDE,SAAS,GAAI;MACX,MAAMC,KAAK,GAAG,CAAC,IAAI,CAACtD,QAAQ,KAAK,IAAI,CAACsD,KAAK,IAAI,QAAQ,CAAC;MACxD,MAAMC,MAAM,GAAG,IAAI,CAACf,cAAc,CAAC,KAAK,EAAE,IAAI,CAACgB,YAAY,CAACF,KAAK,EAAE;QACjEG,GAAG,EAAEpD,MAAM,CAAC,IAAI,CAACS,KAAK;MACxB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC0B,cAAc,CAAC,QAAQ,EAAE;QACjCC,KAAK,EAAE;UACLhC,IAAI,EAAE;QACR,CAAC;QACDoC,EAAE,EAAE;UACFC,KAAK,EAAE,MAAM,IAAI,CAACG,KAAK,CAAC,QAAQ;QAClC;MACF,CAAC,EAAE,CAAC,IAAI,CAACS,MAAM,CAAChD,OAAO,IAAI,IAAI,CAACU,SAAS,CAACf,MAAM,CAAC,IAAI,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAEjE,MAAM6C,UAAU,GAAG,IAAI,CAACnB,cAAc,CAAC,YAAY,EAAE;QACnDzC,KAAK,EAAE;UACLD,IAAI,EAAG,IAAI,CAACoB,WAAW,KAAK,CAAC,IAAI,CAACiB,QAAQ,CAACe,GAAG,GAAI,wBAAwB,GAAG;QAC/E;MACF,CAAC,EAAE,CAACK,MAAM,CAAC,CAAC;MAEZ,OAAO,IAAI,CAACf,cAAc,CAAC,KAAK,EAAE;QAChCoB,WAAW,EAAE,6BAA6B;QAC1CC,KAAK,EAAE;UACL,uCAAuC,EAAE,IAAI,CAAC7D;QAChD;MACF,CAAC,EAAE,CAAC2D,UAAU,CAAC,CAAC;IAClB;EACF,CAAC;EAEDG,MAAM,GAAW;IACf,OAAO,IAAI,CAACtB,cAAc,CAAC,KAAK,EAAE;MAChCoB,WAAW,EAAE,sBAAsB;MACnCC,KAAK,EAAE;QACL,gCAAgC,EAAE,IAAI,CAAC7D,QAAQ;QAC/C,GAAG,IAAI,CAAC+D;MACV;IACF,CAAC,EAAE,CACD,IAAI,CAAChC,MAAM,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAACsB,SAAS,EAAE,EAChB,IAAI,CAACtB,MAAM,CAAC,CAAC,CAAC,CAAC,CAChB,CAAC;EACJ;AACF,CAAC,CAAC"}