{"version":3,"file":"useColHeaders.mjs","sources":["../../../../components/calendar/hooks/useColHeaders.ts"],"sourcesContent":["import { computed } from 'vue';\n\nimport { CellColHeader, CalendarState } from '../types';\nimport { TdCalendarProps, WeekDay } from '../type';\nimport { useConfig } from '@tdesign/shared-hooks';\nimport { COMPONENT_NAME } from '../constants';\nimport * as utils from '../utils';\nimport { isObject } from 'lodash-es';\n\nexport function useColHeaders(props: TdCalendarProps, state: CalendarState) {\n  const { t, globalConfig } = useConfig(COMPONENT_NAME);\n\n  const weekDisplayText = computed<TdCalendarProps['week']>(() => {\n    return props.week || t(globalConfig.value.week).split(',');\n  });\n  function getWeekDisplay(weekNum: number): string {\n    const weekText = weekDisplayText.value as string[];\n    return isObject(weekText) && weekText[weekNum - 1] ? weekText[weekNum - 1] : utils.getDayCn(weekNum);\n  }\n  const cellColHeaders = computed<CellColHeader[]>(() => {\n    const re: CellColHeader[] = [];\n    const min: WeekDay = 1;\n    const max: WeekDay = 7;\n\n    for (let i = state.realFirstDayOfWeek; i <= max; i++) {\n      re.push({\n        num: i as WeekDay,\n        display: getWeekDisplay(i),\n      });\n    }\n    if (state.realFirstDayOfWeek > min) {\n      for (let i = min; i < state.realFirstDayOfWeek; i++) {\n        re.push({\n          num: i as WeekDay,\n          display: getWeekDisplay(i),\n        });\n      }\n    }\n    return re;\n  });\n\n  return {\n    cellColHeaders,\n  };\n}\n"],"names":["useColHeaders","props","state","_useConfig","useConfig","COMPONENT_NAME","t","globalConfig","weekDisplayText","computed","week","value","split","getWeekDisplay","weekNum","weekText","isObject","utils","cellColHeaders","re","min","max","i","realFirstDayOfWeek","push","num","display"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASgB,SAAAA,aAAAA,CAAcC,OAAwBC,KAAsB,EAAA;AAC1E,EAAA,IAAAC,UAAA,GAA4BC,UAAUC,cAAc,CAAA;IAA5CC,CAAA,GAAAH,UAAA,CAAAG,CAAA;IAAGC,YAAa,GAAAJ,UAAA,CAAbI,YAAa,CAAA;AAElB,EAAA,IAAAC,eAAA,GAAkBC,SAAkC,YAAM;AACvD,IAAA,OAAAR,KAAA,CAAMS,QAAQJ,CAAE,CAAAC,YAAA,CAAaI,MAAMD,IAAI,CAAA,CAAEE,MAAM,GAAG,CAAA,CAAA;AAC3D,GAAC,CAAA,CAAA;EACD,SAASC,eAAeC,OAAyB,EAAA;AAC/C,IAAA,IAAMC,WAAWP,eAAgB,CAAAG,KAAA,CAAA;IAC1B,OAAAK,QAAA,CAASD,QAAQ,CAAA,IAAKA,QAAS,CAAAD,OAAA,GAAU,CAAK,CAAA,GAAAC,QAAA,CAASD,OAAU,GAAA,CAAA,CAAA,GAAKG,QAAM,CAASH,OAAO,CAAA,CAAA;AACrG,GAAA;AACM,EAAA,IAAAI,cAAA,GAAiBT,SAA0B,YAAM;IACrD,IAAMU,KAAsB,EAAC,CAAA;IAC7B,IAAMC,GAAe,GAAA,CAAA,CAAA;IACrB,IAAMC,GAAe,GAAA,CAAA,CAAA;AAErB,IAAA,KAAA,IAASC,CAAI,GAAApB,KAAA,CAAMqB,kBAAoB,EAAAD,CAAA,IAAKD,KAAKC,CAAK,EAAA,EAAA;MACpDH,EAAA,CAAGK,IAAK,CAAA;AACNC,QAAAA,GAAK,EAAAH,CAAA;QACLI,OAAA,EAASb,eAAeS,CAAC,CAAA;AAC3B,OAAC,CAAA,CAAA;AACH,KAAA;AACI,IAAA,IAAApB,KAAA,CAAMqB,qBAAqBH,GAAK,EAAA;AAClC,MAAA,KAAA,IAASE,EAAI,GAAAF,GAAA,EAAKE,EAAI,GAAApB,KAAA,CAAMqB,oBAAoBD,EAAK,EAAA,EAAA;QACnDH,EAAA,CAAGK,IAAK,CAAA;AACNC,UAAAA,GAAK,EAAAH,EAAA;UACLI,OAAA,EAASb,eAAeS,EAAC,CAAA;AAC3B,SAAC,CAAA,CAAA;AACH,OAAA;AACF,KAAA;AACO,IAAA,OAAAH,EAAA,CAAA;AACT,GAAC,CAAA,CAAA;EAEM,OAAA;AACLD,IAAAA,cAAA,EAAAA,cAAAA;GACF,CAAA;AACF;;;;"}