123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
- // Utils
- import { createNamespace, addUnit } from '../utils';
- import { emit, inherit } from '../utils/functional';
- import { BORDER_LEFT, BORDER_SURROUND } from '../utils/constant'; // Types
- var _createNamespace = createNamespace('password-input'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- function PasswordInput(h, props, slots, ctx) {
- var _ref2;
- var mask = props.mask,
- value = props.value,
- length = props.length,
- gutter = props.gutter,
- focused = props.focused,
- errorInfo = props.errorInfo;
- var info = errorInfo || props.info;
- var Points = [];
- for (var i = 0; i < length; i++) {
- var _ref;
- var _char = value[i];
- var showBorder = i !== 0 && !gutter;
- var showCursor = focused && i === value.length;
- var style = void 0;
- if (i !== 0 && gutter) {
- style = {
- marginLeft: addUnit(gutter)
- };
- }
- Points.push(h("li", {
- "class": [(_ref = {}, _ref[BORDER_LEFT] = showBorder, _ref), bem('item', {
- focus: showCursor
- })],
- "style": style
- }, [mask ? h("i", {
- "style": {
- visibility: _char ? 'visible' : 'hidden'
- }
- }) : _char, showCursor && h("div", {
- "class": bem('cursor')
- })]));
- }
- return h("div", {
- "class": bem()
- }, [h("ul", _mergeJSXProps([{
- "class": [bem('security'), (_ref2 = {}, _ref2[BORDER_SURROUND] = !gutter, _ref2)],
- "on": {
- "touchstart": function touchstart(event) {
- event.stopPropagation();
- emit(ctx, 'focus', event);
- }
- }
- }, inherit(ctx, true)]), [Points]), info && h("div", {
- "class": bem(errorInfo ? 'error-info' : 'info')
- }, [info])]);
- }
- PasswordInput.props = {
- info: String,
- gutter: [Number, String],
- focused: Boolean,
- errorInfo: String,
- mask: {
- type: Boolean,
- default: true
- },
- value: {
- type: String,
- default: ''
- },
- length: {
- type: [Number, String],
- default: 6
- }
- };
- export default createComponent(PasswordInput);
|