{"version":3,"file":"VDateRangePickerMonth.mjs","names":["makeVDatePickerMonthProps","VDatePickerMonth","useDatePicker","computed","onMounted","ref","useDate","createRange","genericComponent","propsFactory","useRender","makeVDateRangePickerMonthProps","hideWeekdays","multiple","VDateRangePickerMonth","name","props","emits","date","setup","_ref","emit","adapter","hasScrolled","months","range","map","offset","addMonths","displayDate","monthRef","value","$el","scrollIntoView","block","handleScroll","datePickerMonthProps","filterProps","_createVNode","month","_Fragment","format","_mergeProps","isSameMonth","undefined","modelValue"],"sources":["../../../src/labs/VDateRangePicker/VDateRangePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDateRangePickerMonth.sass'\n\n// Components\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from '../VDatePicker/VDatePickerMonth'\n\n// Composables\nimport { useDatePicker } from '../VDatePicker/composables'\n\n// Utilities\nimport { computed, onMounted, ref } from 'vue'\nimport { useDate } from '@/labs/date'\nimport { createRange, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVDateRangePickerMonthProps = propsFactory({\n  ...makeVDatePickerMonthProps({\n    hideWeekdays: true,\n    multiple: true,\n  }),\n}, 'VDateRangePickerMonth')\n\nexport const VDateRangePickerMonth = genericComponent()({\n  name: 'VDateRangePickerMonth',\n\n  props: makeVDateRangePickerMonthProps(),\n\n  emits: {\n    'update:modelValue': (date: any) => true,\n  },\n\n  setup (props, { emit }) {\n    const adapter = useDate()\n    const { hasScrolled } = useDatePicker()\n\n    const months = computed(() => {\n      const range = createRange(6, -3)\n\n      return range.map(offset => adapter.addMonths(props.displayDate, offset))\n    })\n\n    const monthRef = ref()\n    onMounted(() => {\n      monthRef.value?.$el.scrollIntoView({ block: 'center' })\n    })\n\n    function handleScroll () {\n      hasScrolled.value = true\n    }\n\n    useRender(() => {\n      const [datePickerMonthProps] = VDatePickerMonth.filterProps(props)\n\n      return (\n        <div\n          class=\"v-date-range-picker-month\"\n          onScrollPassive={ handleScroll }\n        >\n          { months.value.map(month => (\n            <>\n              <div class=\"v-date-range-picker-month__header\">{ adapter.format(month, 'monthAndYear') }</div>\n              <VDatePickerMonth\n                ref={ adapter.isSameMonth(month, props.displayDate) ? monthRef : undefined }\n                { ...datePickerMonthProps }\n                modelValue={ props.modelValue }\n                onUpdate:modelValue={ modelValue => emit('update:modelValue', modelValue) }\n                displayDate={ month }\n              />\n            </>\n          ))}\n        </div>\n      )\n    })\n  },\n})\n\nexport type VDateRangePickerMonth = InstanceType<typeof VDateRangePickerMonth>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,yBAAyB,EAAEC,gBAAgB,+CAEpD;AAAA,SACSC,aAAa,0CAEtB;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,QAAQ,KAAK;AAAA,SACrCC,OAAO;AAAA,SACPC,WAAW,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE/D,OAAO,MAAMC,8BAA8B,GAAGF,YAAY,CAAC;EACzD,GAAGT,yBAAyB,CAAC;IAC3BY,YAAY,EAAE,IAAI;IAClBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,uBAAuB,CAAC;AAE3B,OAAO,MAAMC,qBAAqB,GAAGN,gBAAgB,EAAE,CAAC;EACtDO,IAAI,EAAE,uBAAuB;EAE7BC,KAAK,EAAEL,8BAA8B,EAAE;EAEvCM,KAAK,EAAE;IACL,mBAAmB,EAAGC,IAAS,IAAK;EACtC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,OAAO,GAAGhB,OAAO,EAAE;IACzB,MAAM;MAAEiB;IAAY,CAAC,GAAGrB,aAAa,EAAE;IAEvC,MAAMsB,MAAM,GAAGrB,QAAQ,CAAC,MAAM;MAC5B,MAAMsB,KAAK,GAAGlB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MAEhC,OAAOkB,KAAK,CAACC,GAAG,CAACC,MAAM,IAAIL,OAAO,CAACM,SAAS,CAACZ,KAAK,CAACa,WAAW,EAAEF,MAAM,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,MAAMG,QAAQ,GAAGzB,GAAG,EAAE;IACtBD,SAAS,CAAC,MAAM;MACd0B,QAAQ,CAACC,KAAK,EAAEC,GAAG,CAACC,cAAc,CAAC;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,SAASC,YAAYA,CAAA,EAAI;MACvBZ,WAAW,CAACQ,KAAK,GAAG,IAAI;IAC1B;IAEArB,SAAS,CAAC,MAAM;MACd,MAAM,CAAC0B,oBAAoB,CAAC,GAAGnC,gBAAgB,CAACoC,WAAW,CAACrB,KAAK,CAAC;MAElE,OAAAsB,YAAA;QAAA,SAEU,2BAA2B;QAAA,mBACfH;MAAY,IAE5BX,MAAM,CAACO,KAAK,CAACL,GAAG,CAACa,KAAK,IAAAD,YAAA,CAAAE,SAAA,SAAAF,YAAA;QAAA,SAET;MAAmC,IAAGhB,OAAO,CAACmB,MAAM,CAACF,KAAK,EAAE,cAAc,CAAC,IAAAD,YAAA,CAAArC,gBAAA,EAAAyC,WAAA;QAAA,OAE9EpB,OAAO,CAACqB,WAAW,CAACJ,KAAK,EAAEvB,KAAK,CAACa,WAAW,CAAC,GAAGC,QAAQ,GAAGc;MAAS,GACrER,oBAAoB;QAAA,cACZpB,KAAK,CAAC6B,UAAU;QAAA,uBACPA,UAAU,IAAIxB,IAAI,CAAC,mBAAmB,EAAEwB,UAAU,CAAC;QAAA,eAC3DN;MAAK,WAGxB,CAAC;IAGR,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}