element-plus
Version:
A Component Library for Vue 3
1 lines • 4.82 kB
Source Map (JSON)
{"version":3,"file":"shared.mjs","sources":["../../../../../../../packages/components/date-picker-panel/src/props/shared.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@element-plus/utils'\nimport { datePickTypes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DatePickType } from '@element-plus/constants'\nimport type { DayOrDays } from '@element-plus/components/time-picker'\n\nconst selectionModes = [\n 'date',\n 'dates',\n 'year',\n 'years',\n 'month',\n 'months',\n 'week',\n 'range',\n]\n\nexport type RangeState = {\n endDate: null | Dayjs\n selecting: boolean\n}\n\nexport type DisabledDateType = (date: Date) => boolean\nexport type CellClassNameType = (date: Date) => string\n\nexport const datePickerSharedProps = buildProps({\n cellClassName: {\n type: definePropType<CellClassNameType>(Function),\n },\n disabledDate: {\n type: definePropType<DisabledDateType>(Function),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n minDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n maxDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n parsedValue: {\n type: definePropType<Dayjs | Dayjs[]>([Object, Array]),\n },\n rangeState: {\n type: definePropType<RangeState>(Object),\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n disabled: Boolean,\n} as const)\n\nexport const panelSharedProps = buildProps({\n type: {\n type: definePropType<DatePickType>(String),\n required: true,\n values: datePickTypes,\n },\n dateFormat: String,\n timeFormat: String,\n showNow: {\n type: Boolean,\n default: true,\n },\n showConfirm: Boolean,\n showFooter: {\n type: Boolean,\n default: true,\n },\n showWeekNumber: Boolean,\n border: Boolean,\n disabled: Boolean,\n editable: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n visible: {\n type: Boolean,\n default: true,\n },\n showConfirm: Boolean,\n showFooter: {\n type: Boolean,\n default: true,\n },\n border: Boolean,\n disabled: Boolean,\n parsedValue: {\n type: definePropType<DayOrDays>(Array),\n },\n} as const)\n\nexport const selectionModeWithDefault = (\n mode: (typeof selectionModes)[number]\n) => {\n return {\n type: String,\n values: selectionModes,\n default: mode,\n }\n}\n\nexport const rangePickerSharedEmits = {\n pick: (range: [Dayjs, Dayjs]) => isArray(range),\n}\n\nexport type RangePickerSharedEmits = typeof rangePickerSharedEmits\nexport type PanelRangeSharedProps = ExtractPropTypes<\n typeof panelRangeSharedProps\n>\nexport type PanelRangeSharedPropsPublic = ExtractPublicPropTypes<\n typeof panelRangeSharedProps\n>\n"],"names":[],"mappings":";;;;AAQA,MAAM,cAAA,GAAiB;AAAA,EACrB,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA;AAUO,MAAM,wBAAwB,UAAA,CAAW;AAAA,EAC9C,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,eAAkC,QAAQ;AAAA,GAClD;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAAiC,QAAQ;AAAA,GACjD;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,eAAsB,MAAM,CAAA;AAAA,IAClC,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,eAA6B,MAAM;AAAA,GAC3C;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,eAA6B,MAAM;AAAA,GAC3C;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,cAAA,CAAgC,CAAC,MAAA,EAAQ,KAAK,CAAC;AAAA,GACvD;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,OAAA,EAAS,IAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AACZ,CAAU;AAEH,MAAM,mBAAmB,UAAA,CAAW;AAAA,EACzC,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,UAAA,EAAY,MAAA;AAAA,EACZ,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa,OAAA;AAAA,EACb,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,cAAA,EAAgB,OAAA;AAAA,EAChB,MAAA,EAAQ,OAAA;AAAA,EACR,QAAA,EAAU,OAAA;AAAA,EACV,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;AAEH,MAAM,wBAAwB,UAAA,CAAW;AAAA,EAC9C,YAAA,EAAc,OAAA;AAAA,EACd,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa,OAAA;AAAA,EACb,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,MAAA,EAAQ,OAAA;AAAA,EACR,QAAA,EAAU,OAAA;AAAA,EACV,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,eAA0B,KAAK;AAAA;AAEzC,CAAU;AAEH,MAAM,wBAAA,GAA2B,CACtC,IAAA,KACG;AACH,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AACF;AAEO,MAAM,sBAAA,GAAyB;AAAA,EACpC,IAAA,EAAM,CAAC,KAAA,KAA0B,OAAA,CAAQ,KAAK;AAChD;;;;"}