{"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\r\n\r\nimport type { InputProps as AntInputProps } from 'ant-design-vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\nimport type InputSearch from './input-search.vue'\r\nimport type Input from './input.vue'\r\nimport type PasswordInput from './password-input.vue'\r\n\r\ninterface Rule {\r\n  label: string\r\n  regex: string\r\n}\r\n\r\n// 输入框\r\nexport const inputProps = buildProps({\r\n  /**\r\n   * @description input的defaultValue\r\n   */\r\n  defaultValue: {\r\n    type: definePropType<AntInputProps['defaultValue']>(String),\r\n    default: '',\r\n  },\r\n  /**\r\n   * @description input的value\r\n   */\r\n  value: {\r\n    type: definePropType<AntInputProps['value']>(String),\r\n  },\r\n  /**\r\n   * @description 带有前缀图标的 input\r\n   */\r\n  prefixIcon: {\r\n    type: String,\r\n  },\r\n  /**\r\n   * @description 带有后缀图标的 input\r\n   */\r\n  suffixIcon: {\r\n    type: String,\r\n  },\r\n  /**\r\n   * @description 是否显示密码框\r\n   */\r\n  showPassword: {\r\n    type: Boolean,\r\n  },\r\n  /**\r\n   * @description 是否点击清除图标删除内容\r\n   */\r\n  allowClear: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /**\r\n   * @description 是否禁用状态，默认为 false\r\n   */\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * @description 是否只读状态，默认为 false ,allowClear需独立设置\r\n   */\r\n  readonly: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * @description 是否灰色查询样式\r\n   */\r\n  isGray: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n\r\n  // 最大输入数\r\n  maxlength: {\r\n    type: Number,\r\n  },\r\n} as const)\r\n\r\n// 查询输入框\r\nexport const inputSearchProps = buildProps({\r\n  /**\r\n   * @description input的defaultValue\r\n   */\r\n  defaultValue: {\r\n    type: definePropType<AntInputProps['defaultValue']>(String),\r\n    default: '',\r\n  },\r\n  /**\r\n   * @description input的value\r\n   */\r\n  value: {\r\n    type: definePropType<AntInputProps['value']>(String),\r\n  },\r\n  /**\r\n   * @description 是否点击清除图标删除内容\r\n   */\r\n  allowClear: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /**\r\n   * @description 是否禁用状态，默认为 false\r\n   */\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n} as const)\r\n\r\n// 密码输入框\r\nexport const passwordInputProps = buildProps({\r\n  // 是否灰色样式\r\n  isGray: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 最大输入限制\r\n  maxlength: Number,\r\n\r\n  // 值\r\n  value: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  // 校验正则\r\n  rules: {\r\n    type: definePropType<Rule[]>(Array),\r\n    default: () => [],\r\n  },\r\n  // 是否显示密码强度\r\n  pwdStrength: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 弱强度颜色\r\n  weakColor: {\r\n    type: String,\r\n    default: 'red',\r\n  },\r\n  // 中等强度颜色\r\n  mediumColor: {\r\n    type: String,\r\n    default: 'yellow',\r\n  },\r\n  // 非常强度颜色\r\n  strongColor: {\r\n    type: String,\r\n    default: 'green',\r\n  },\r\n  // 提示标题\r\n  tipTitle: {\r\n    type: String,\r\n    default: '建议',\r\n  },\r\n  // 触发方式 点击切换 / 按下显示\r\n  trigger: {\r\n    type: String,\r\n    default: 'hold',\r\n    values: ['click', 'hold'],\r\n  },\r\n  // 密码是否可见\r\n  visible: Boolean,\r\n} as const)\r\n\r\nexport const passwordInputEmits = {\r\n  change: (value: string) => !!value || typeof value === 'string',\r\n  'update:value': (value: string) => !!value || typeof value === 'string',\r\n  'update:visible': (visible: boolean) => typeof visible === 'boolean',\r\n  state: (value: boolean) => typeof value === 'boolean',\r\n} as const\r\n\r\nexport type InputProps = ExtractPropTypes<typeof inputProps> // 输入框\r\nexport type InputSearchProps = ExtractPropTypes<typeof inputSearchProps> // 查询输入框\r\nexport type PasswordInputProps = ExtractPropTypes<typeof passwordInputProps> // 密码输入框\r\n\r\nexport type InputValue = AntInputProps['value']\r\n\r\nexport type PasswordInputEmits = typeof passwordInputEmits // 密码输入框\r\n\r\nexport type InputInstance = InstanceType<typeof Input> // 输入框\r\nexport type InputSearchInstance = InstanceType<typeof InputSearch> // 查询输入框\r\nexport type PasswordInputInstance = InstanceType<typeof PasswordInput> // 密码输入框\r\n"],"names":[],"mappings":";;;;AAeO,MAAM,aAAa,UAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAInC,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAA8C,MAAM,CAAA;AAAA,IAC1D,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAAuC,MAAM;AAAA,GACrD;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM;AAAA;AAEV,CAAU;AAGH,MAAM,mBAAmB,UAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAA8C,MAAM,CAAA;AAAA,IAC1D,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAAuC,MAAM;AAAA,GACrD;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;AAGH,MAAM,qBAAqB,UAAA,CAAW;AAAA;AAAA,EAE3C,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW,MAAA;AAAA;AAAA,EAGX,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAAuB,KAAK,CAAA;AAAA,IAClC,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,MAAA,EAAQ,CAAC,OAAA,EAAS,MAAM;AAAA,GAC1B;AAAA;AAAA,EAEA,OAAA,EAAS;AACX,CAAU;AAEH,MAAM,kBAAA,GAAqB;AAAA,EAChC,QAAQ,CAAC,KAAA,KAAkB,CAAC,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA;AAAA,EACvD,gBAAgB,CAAC,KAAA,KAAkB,CAAC,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA;AAAA,EAC/D,gBAAA,EAAkB,CAAC,OAAA,KAAqB,OAAO,OAAA,KAAY,SAAA;AAAA,EAC3D,KAAA,EAAO,CAAC,KAAA,KAAmB,OAAO,KAAA,KAAU;AAC9C;;;;"}