{"version":3,"file":"datepicker.vue.cjs","sources":["../../../components/datepicker/datepicker.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n  <dt-stack\n    class=\"d-datepicker\"\n    gap=\"400\"\n  >\n    <div class=\"d-datepicker__hd\">\n      <month-year-picker\n        ref=\"monthYearPicker\"\n        :locale=\"locale\"\n        :prev-month-label=\"prevMonthLabel\"\n        :next-month-label=\"nextMonthLabel\"\n        :prev-year-label=\"prevYearLabel\"\n        :next-year-label=\"nextYearLabel\"\n        :change-to-label=\"changeToLabel\"\n        :selected-date=\"selectedDate\"\n        @calendar-days=\"updateCalendarDays\"\n        @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n        @focus-last-day=\"$refs.calendar.focusLastDay()\"\n        @close-datepicker=\"$emit('close-datepicker')\"\n      />\n    </div>\n    <div class=\"d-datepicker__bd\">\n      <calendar\n        ref=\"calendar\"\n        :locale=\"locale\"\n        :calendar-days=\"calendarDays\"\n        :select-day-label=\"selectDayLabel\"\n        @select-date=\"$emit('selected-date', $event)\"\n        @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n        @close-datepicker=\"$emit('close-datepicker')\"\n        @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n        @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n      />\n    </div>\n  </dt-stack>\n</template>\n\n<script setup>\nimport { returnFirstEl, warnIfUnmounted } from '@/common/utils';\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport { DtStack } from '@/components/stack';\n\nimport { onMounted, ref, getCurrentInstance } from 'vue';\n\ndefineProps({\n  /**\n     * Label for the previous month button\n     *\n     * @type {String}\n     * @example 'Previous month'\n     */\n  prevMonthLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Label for the next month button\n     *\n     * @type {String}\n     * @example 'Next month'\n     */\n  nextMonthLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Label for the previous year button\n     *\n     * @type {String}\n     * @example 'Previous year'\n     */\n  prevYearLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Label for the next year button\n     *\n     * @type {String}\n     * @example 'Next year'\n     */\n  nextYearLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Label for the select day button\n     *\n     * @type {String}\n     * @example 'Select day'\n     */\n  selectDayLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Label for the change to button\n     *\n     * @type {String}\n     * @example 'Change to'\n     */\n  changeToLabel: {\n    type: String,\n    required: true,\n  },\n\n  /**\n     * Locale for the calendar\n     *\n     * @type {String}\n     */\n  locale: {\n    type: String,\n    default: 'en-US',\n  },\n\n  /**\n     * Selected date\n     *\n     * @type {Date}\n     */\n  selectedDate: {\n    type: Date,\n    default: () => (new Date()),\n  },\n});\n\ndefineEmits([\n  /**\n     * Event fired when a date is selected\n     *\n     * @event selected-date\n     * @type {Date}\n     */\n  'selected-date',\n\n  /**\n     * Event fired when user presses the esc key\n     *\n     * @event close-datepicker\n     */\n  'close-datepicker',\n]);\n\nconst calendarDays = ref([]);\n\nfunction updateCalendarDays (days) {\n  calendarDays.value = days;\n}\n\nonMounted(() => {\n  const instance = getCurrentInstance();\n  warnIfUnmounted(returnFirstEl(instance.proxy.$el), 'datepicker');\n});\n</script>\n"],"names":["ref","onMounted","getCurrentInstance","warnIfUnmounted","returnFirstEl"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJA,UAAM,eAAeA,IAAAA,IAAI,CAAA,CAAE;AAE3B,aAAS,mBAAoB,MAAM;AACjC,mBAAa,QAAQ;AAAA,IACvB;AAEAC,QAAAA,UAAU,MAAM;AACd,YAAM,WAAWC,IAAAA;AACjBC,mBAAe,gBAACC,aAAa,cAAC,SAAS,MAAM,GAAG,GAAG,YAAY;AAAA,IACjE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}