{"version":3,"file":"Header.mjs","sources":["../../../../../components/date-picker/components/base/Header.tsx"],"sourcesContent":["import { defineComponent, PropType, ref, computed, watch, toRefs } from 'vue';\nimport { PaginationMini, JumperTrigger } from '../../../pagination';\nimport TSelect from '../../../select';\nimport { useConfig, usePrefixClass } from '@tdesign/shared-hooks';\nimport { useSelectRange } from '../../hooks';\n\nimport type { TdDatePickerProps } from '../../type';\n\nexport default defineComponent({\n  name: 'TDatePickerHeader',\n  props: {\n    mode: {\n      type: String as PropType<TdDatePickerProps['mode']>,\n      default: 'date',\n    },\n    range: [Array, Function] as PropType<TdDatePickerProps['range']>,\n    year: Number,\n    month: Number,\n    internalYear: Array as PropType<Array<number>>,\n    partial: String,\n    onMonthChange: Function,\n    onYearChange: Function,\n    onJumperClick: Function as PropType<(context: { e: MouseEvent; trigger: JumperTrigger }) => {}>,\n  },\n  setup(props) {\n    const { year, month } = toRefs(props);\n    const { classPrefix } = useConfig('classPrefix');\n    const COMPONENT_NAME = usePrefixClass('date-picker__header');\n    const { globalConfig } = useConfig('datePicker');\n\n    const {\n      monthHasAnyAllowed,\n      yearHasAnyAllowed,\n      decadeHasAnyAllowed,\n      paginationDisabled,\n      canLoadMoreTop,\n      canLoadMoreBottom,\n    } = useSelectRange({\n      range: props.range,\n      mode: props.mode,\n      year: year,\n      month: month,\n    });\n    const yearOptions = ref(initOptions(props.year));\n    const showMonthPicker = computed(() => props.mode === 'date' || props.mode === 'week');\n    // 年份选择展示区间\n    const nearestYear = computed(() => {\n      // 右侧面板年份选择需要保持大于左侧面板年份选择\n      const extraYear =\n        props.partial === 'end' &&\n        props.mode === 'year' &&\n        Number(props.internalYear[1]) - Number(props.internalYear[0]) <= 9\n          ? 9\n          : 0;\n\n      return (\n        yearOptions.value.find(\n          (option) => option.value - (props.year + extraYear) <= 9 && option.value - (props.year + extraYear) >= 0,\n        )?.value || props.year\n      );\n    });\n\n    const monthOptions = computed(() => {\n      // 仅展示可选月份（不显示越界的，而不是置灰禁用）\n      return globalConfig.value.months.map((item: string, index: number) => ({\n        label: item,\n        value: index,\n        disabled: !monthHasAnyAllowed(props.year, index),\n      }));\n    });\n\n    // 顶部/底部是否展示“加载更多”内容（...）\n    const showPanelTop = computed(() => {\n      const options = yearOptions.value;\n      if (!options.length) return false;\n      const first = options[0].value;\n      return canLoadMoreTop(first);\n    });\n\n    const showPanelBottom = computed(() => {\n      const options = yearOptions.value;\n      if (!options.length) return false;\n      const last = options[options.length - 1].value;\n      return canLoadMoreBottom(last);\n    });\n\n    // 分页禁用逻辑由 useSelectRange 提供\n\n    function initOptions(year: number) {\n      const options = [];\n      if (props.mode === 'year') {\n        const extraYear = year % 10;\n        const minYear = year - extraYear - 100;\n        const maxYear = year - extraYear + 100;\n\n        for (let i = minYear; i <= maxYear; i += 10) {\n          const end = i + 9;\n          // 仅加入可选的年代\n          if (decadeHasAnyAllowed(end)) {\n            options.push({ label: `${i} - ${end}`, value: end, disabled: false });\n          }\n        }\n      } else {\n        // 中心年份（仅在可选范围内时加入）\n        if (yearHasAnyAllowed(year)) options.push({ label: `${year}`, value: year, disabled: false });\n\n        for (let i = 1; i <= 10; i++) {\n          if (yearHasAnyAllowed(year + i)) options.push({ label: `${year + i}`, value: year + i, disabled: false });\n          if (yearHasAnyAllowed(year - i)) options.unshift({ label: `${year - i}`, value: year - i, disabled: false });\n        }\n      }\n\n      return options;\n    }\n\n    function loadMoreYear(year: number, type?: 'add' | 'reduce') {\n      const options = [];\n      if (props.mode === 'year') {\n        const extraYear = year % 10;\n        if (type === 'add') {\n          for (let i = year - extraYear + 10; i <= year - extraYear + 50; i += 10) {\n            const end = i + 9;\n            // 仅加入可选的年代\n            if (decadeHasAnyAllowed(end)) options.push({ label: `${i} - ${end}`, value: end, disabled: false });\n          }\n        } else {\n          for (let i = year - extraYear - 1; i > year - extraYear - 50; i -= 10) {\n            if (decadeHasAnyAllowed(i)) options.unshift({ label: `${i - 9} - ${i}`, value: i, disabled: false });\n          }\n        }\n      } else if (type === 'add') {\n        for (let i = year + 1; i <= year + 10; i++) {\n          if (yearHasAnyAllowed(i)) options.push({ label: `${i}`, value: i, disabled: false });\n        }\n      } else {\n        for (let i = year - 1; i > year - 10; i--) {\n          if (yearHasAnyAllowed(i)) options.unshift({ label: `${i}`, value: i, disabled: false });\n        }\n      }\n\n      return options;\n    }\n\n    // hover title\n    const labelMap = computed(() => {\n      return {\n        year: {\n          prev: globalConfig.value.preDecade,\n          current: globalConfig.value.now,\n          next: globalConfig.value.nextDecade,\n        },\n        month: {\n          prev: globalConfig.value.preYear,\n          current: globalConfig.value.now,\n          next: globalConfig.value.nextYear,\n        },\n        date: {\n          prev: globalConfig.value.preMonth,\n          current: globalConfig.value.now,\n          next: globalConfig.value.nextMonth,\n        },\n        quarter: {\n          prev: globalConfig.value.preYear,\n          current: globalConfig.value.now,\n          next: globalConfig.value.nextYear,\n        },\n        week: {\n          prev: globalConfig.value.preMonth,\n          current: globalConfig.value.now,\n          next: globalConfig.value.nextMonth,\n        },\n      };\n    });\n\n    // 滚动顶部底部自动加载\n    function handleScroll({ e }: any) {\n      if (e.target.scrollTop === 0) {\n        if (showPanelTop.value) handlePanelTopClick(e);\n      } else if (e.target.scrollTop === e.target.scrollHeight - e.target.clientHeight) {\n        if (showPanelBottom.value) handlePanelBottomClick(e);\n      }\n    }\n\n    function handlePanelTopClick(e: MouseEvent) {\n      e?.stopPropagation?.();\n\n      const firstYear = yearOptions.value[0].value;\n      const options = loadMoreYear(firstYear, 'reduce');\n      yearOptions.value = [...options, ...yearOptions.value];\n    }\n\n    function handlePanelBottomClick(e: MouseEvent) {\n      e?.stopPropagation?.();\n\n      const lastYear = yearOptions.value.slice(-1)[0].value;\n      const options = loadMoreYear(lastYear, 'add');\n      yearOptions.value = [...yearOptions.value, ...options];\n    }\n\n    watch(\n      () => props.mode,\n      () => {\n        yearOptions.value = initOptions(props.year);\n      },\n    );\n\n    return () => (\n      <div class={COMPONENT_NAME.value}>\n        <div class={`${COMPONENT_NAME.value}-controller`}>\n          {showMonthPicker.value && (\n            <TSelect\n              class={`${COMPONENT_NAME.value}-controller-month`}\n              value={props.month}\n              options={monthOptions.value}\n              onChange={(val: number) => {\n                props.onMonthChange?.(val);\n              }}\n              popupProps={{\n                attach: (triggerElement: HTMLElement) => triggerElement.parentNode,\n                overlayClassName: `${COMPONENT_NAME.value}-controller-month-popup`,\n              }}\n            />\n          )}\n          <TSelect\n            class={`${COMPONENT_NAME.value}-controller-year`}\n            value={props.mode === 'year' ? nearestYear.value : props.year}\n            options={yearOptions.value}\n            onChange={(val: number) => {\n              props.onYearChange?.(val);\n            }}\n            popupProps={{\n              onScroll: handleScroll,\n              attach: (triggerElement: HTMLElement) => triggerElement.parentNode,\n              overlayClassName: `${COMPONENT_NAME.value}-controller-year-popup`,\n            }}\n            panelTopContent={() =>\n              showPanelTop.value && (\n                <div class={`${classPrefix.value}-select-option`} onClick={handlePanelTopClick}>\n                  ...\n                </div>\n              )\n            }\n            panelBottomContent={() =>\n              showPanelBottom.value && (\n                <div class={`${classPrefix.value}-select-option`} onClick={handlePanelBottomClick}>\n                  ...\n                </div>\n              )\n            }\n          />\n        </div>\n\n        <PaginationMini\n          tips={labelMap.value[props.mode]}\n          size=\"small\"\n          onChange={props.onJumperClick}\n          disabled={paginationDisabled.value}\n        />\n      </div>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","mode","type","String","range","Array","Function","year","Number","month","internalYear","partial","onMonthChange","onYearChange","onJumperClick","setup","_toRefs","toRefs","_useConfig","useConfig","classPrefix","COMPONENT_NAME","usePrefixClass","_useConfig2","globalConfig","_useSelectRange","useSelectRange","monthHasAnyAllowed","yearHasAnyAllowed","decadeHasAnyAllowed","paginationDisabled","canLoadMoreTop","canLoadMoreBottom","yearOptions","ref","initOptions","showMonthPicker","computed","nearestYear","_yearOptions$value$fi","extraYear","value","find","option","monthOptions","months","map","item","index","label","disabled","showPanelTop","options","length","first","showPanelBottom","last","minYear","maxYear","i","end","push","concat","unshift","loadMoreYear","labelMap","prev","preDecade","current","now","next","nextDecade","preYear","nextYear","date","preMonth","nextMonth","quarter","week","handleScroll","_ref","e","target","scrollTop","handlePanelTopClick","scrollHeight","clientHeight","handlePanelBottomClick","_e$stopPropagation","stopPropagation","call","firstYear","_toConsumableArray","_e$stopPropagation2","lastYear","slice","watch","_createVNode","TSelect","onChange","val","_props$onMonthChange","attach","triggerElement","parentNode","overlayClassName","_props$onYearChange","onScroll","panelTopContent","panelBottomContent","_createTextVNode","PaginationMini"],"mappings":"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"}