element-plus
Version:
A Component Library for Vue 3
1 lines • 6.06 kB
Source Map (JSON)
{"version":3,"file":"time-select.mjs","names":[],"sources":["../../../../../../packages/components/time-select/src/time-select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { UseEmptyValuesProps } from '@element-plus/hooks'\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type TimeSelect from './time-select.vue'\nimport type { CSSProperties, Component, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { IconPropType } from '@element-plus/utils'\n\nexport interface TimeSelectProps extends UseEmptyValuesProps {\n /**\n * @description set format of time\n */\n format?: string\n /**\n * @description binding value\n */\n modelValue?: string | null\n /**\n * @description whether TimeSelect is disabled\n */\n disabled?: boolean\n /**\n * @description whether the input is editable\n */\n editable?: boolean\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect?: PopperEffect\n /**\n * @description whether to show clear button\n */\n clearable?: boolean\n /**\n * @description size of Input\n */\n size?: ComponentSize\n /**\n * @description placeholder in non-range mode\n */\n placeholder?: string\n /**\n * @description start time\n */\n start?: string\n /**\n * @description end time\n */\n end?: string\n /**\n * @description time step\n */\n step?: string\n /**\n * @description minimum time, any time before this time will be disabled\n */\n minTime?: string | null\n /**\n * @description maximum time, any time after this time will be disabled\n */\n maxTime?: string | null\n /**\n * @description whether `end` is included in options\n */\n includeEndTime?: boolean\n /**\n * @description same as `name` in native input\n */\n name?: string\n /**\n * @description custom prefix icon component\n */\n prefixIcon?: IconPropType\n /**\n * @description custom clear icon component\n */\n clearIcon?: IconPropType\n /**\n * @description custom class name for TimeSelect's dropdown\n */\n popperClass?: string\n /**\n * @description custom style for TimeSelect's dropdown\n */\n popperStyle?: string | CSSProperties\n}\n\nexport const DEFAULT_STEP = '00:30'\n\n/**\n * @deprecated Removed after 3.0.0, Use `TimeSelectProps` instead.\n */\nexport const timeSelectProps = buildProps({\n /**\n * @description set format of time\n */\n format: {\n type: String,\n default: 'HH:mm',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether TimeSelect is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: String,\n /**\n * @description start time\n */\n start: {\n type: String,\n default: '09:00',\n },\n /**\n * @description end time\n */\n end: {\n type: String,\n default: '18:00',\n },\n /**\n * @description time step\n */\n step: {\n type: String,\n default: DEFAULT_STEP,\n },\n /**\n * @description minimum time, any time before this time will be disabled\n */\n minTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description maximum time, any time after this time will be disabled\n */\n maxTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether `end` is included in options\n */\n includeEndTime: Boolean,\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description custom prefix icon component\n */\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => Clock,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => CircleClose,\n },\n /**\n * @description custom class name for TimeSelect's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description custom style for TimeSelect's dropdown\n */\n popperStyle: {\n type: definePropType<string | CSSProperties>([String, Object]),\n },\n ...useEmptyValuesProps,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TimeSelectProps` instead.\n */\nexport type TimeSelectPropsPublic = ExtractPublicPropTypes<\n typeof timeSelectProps\n>\n\nexport type TimeSelectInstance = InstanceType<typeof TimeSelect> & unknown\n"],"mappings":";;;;;;AA0FA,MAAa,eAAe;;;;AAK5B,MAAa,kBAAkB,WAAW;CAIxC,QAAQ;EACN,MAAM;EACN,SAAS;EACV;CAID,YAAY,EACV,MAAM,eAA8B,OAAO,EAC5C;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,QAAQ;EACN,MAAM,eAA6B,OAAO;EAC1C,SAAS;EACV;CAID,WAAW;EACT,MAAM;EACN,SAAS;EACV;CAID,MAAM;CAIN,aAAa;CAIb,OAAO;EACL,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,MAAM;EACJ,MAAM;EACN,SAAS;EACV;CAID,SAAS,EACP,MAAM,eAA8B,OAAO,EAC5C;CAID,SAAS,EACP,MAAM,eAA8B,OAAO,EAC5C;CAID,gBAAgB;CAIhB,MAAM;CAIN,YAAY;EACV,MAAM,eAAmC,CAAC,QAAQ,OAAO,CAAC;EAC1D,eAAe;EAChB;CAID,WAAW;EACT,MAAM,eAAmC,CAAC,QAAQ,OAAO,CAAC;EAC1D,eAAe;EAChB;CAID,aAAa;EACX,MAAM;EACN,SAAS;EACV;CAID,aAAa,EACX,MAAM,eAAuC,CAAC,QAAQ,OAAO,CAAC,EAC/D;CACD,GAAG;CACJ,CAAU"}