@veltra/utils 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -13,6 +13,6 @@ import { nextFrame } from "./helper/frame.js";
13
13
  import { extractNormalVNodes, isComment, isFragment, isTemplate, isTextNode, shallowComputed } from "./helper/vue.js";
14
14
  import { middleProxy } from "./reactive/proxy.js";
15
15
  import { DeconstructValue, DefineEvent, Index, Null, RenderReturn, Undef } from "./types/helper.js";
16
- import { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PropsWithServerQuery } from "./types/component-common.js";
16
+ import { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PresetRule, PropsWithServerQuery, ValidateRule } from "./types/component-common.js";
17
17
  import { FormContextModel, FormContextProps, FormFieldItem, injectFormContext, provideFormContext } from "./types/form-context.js";
18
- export { AnimeConfig, BEM, BEMFactory, BreakpointName, CLS_PREFIX, ColorType, ComponentProps, ComponentSize, DeconstructValue, DefineEvent, ExpandTransition, ExpandTransitionOptions, FORM_EMPTY_CONTENT, FormComponentProps, FormContextModel, FormContextProps, FormFieldItem, Index, NAME_SPACE, Null, PropsWithServerQuery, RenderReturn, Tween, TweenConfig, Undef, addClass, bem, createIncrease, createToggle, extractNormalVNodes, getHighlightChunks, getNearestScrollParent, getScrollParents, injectFormContext, isComment, isFragment, isTemplate, isTextNode, makeBEM, middleProxy, nextFrame, provideFormContext, removeClass, removeStyles, scrollIntoContainerView, setStyles, shallowComputed, withUnit, zIndex };
18
+ export { AnimeConfig, BEM, BEMFactory, BreakpointName, CLS_PREFIX, ColorType, ComponentProps, ComponentSize, DeconstructValue, DefineEvent, ExpandTransition, ExpandTransitionOptions, FORM_EMPTY_CONTENT, FormComponentProps, FormContextModel, FormContextProps, FormFieldItem, Index, NAME_SPACE, Null, PresetRule, PropsWithServerQuery, RenderReturn, Tween, TweenConfig, Undef, ValidateRule, addClass, bem, createIncrease, createToggle, extractNormalVNodes, getHighlightChunks, getNearestScrollParent, getScrollParents, injectFormContext, isComment, isFragment, isTemplate, isTextNode, makeBEM, middleProxy, nextFrame, provideFormContext, removeClass, removeStyles, scrollIntoContainerView, setStyles, shallowComputed, withUnit, zIndex };
@@ -8,6 +8,28 @@ interface ComponentProps {
8
8
  /** 组件尺寸 */
9
9
  size?: ComponentSize;
10
10
  }
11
+ type PresetRule = 'email' | 'phone' | 'num' | 'url' | 'idCard';
12
+ /** 字段校验规则 */
13
+ interface ValidateRule {
14
+ /** 是否必填 */
15
+ required?: boolean | string;
16
+ /** 长度单位 */
17
+ length?: number | [number, string];
18
+ /** 最小值 */
19
+ min?: number | [number, string];
20
+ /** 最大值 */
21
+ max?: number | [number, string];
22
+ /** 最小长度 */
23
+ minLen?: number | [number, string];
24
+ /** 最大长度 */
25
+ maxLen?: number | [number, string];
26
+ /** 匹配 */
27
+ match?: RegExp | [RegExp, string] | string;
28
+ /** 预设 */
29
+ preset?: PresetRule;
30
+ /** 自定义校验 */
31
+ validator?: (value: any, data: Record<string, any>) => Promise<string> | string;
32
+ }
11
33
  /** 表单组件通用属性 */
12
34
  interface FormComponentProps extends ComponentProps {
13
35
  /** 在表单控件内时的提示 */
@@ -24,6 +46,8 @@ interface FormComponentProps extends ComponentProps {
24
46
  disabled?: boolean;
25
47
  /** 是否只读 */
26
48
  readonly?: boolean;
49
+ /** 校验规则 */
50
+ rules?: ValidateRule;
27
51
  }
28
52
  /** 带有服务端交互功能的组件属性 */
29
53
  interface PropsWithServerQuery {
@@ -33,5 +57,5 @@ interface PropsWithServerQuery {
33
57
  query?: Record<string, any>;
34
58
  }
35
59
  //#endregion
36
- export { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PropsWithServerQuery };
60
+ export { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PresetRule, PropsWithServerQuery, ValidateRule };
37
61
  //# sourceMappingURL=component-common.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import { DeconstructValue, DefineEvent, Index, Null, RenderReturn, Undef } from "./helper.js";
2
- import { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PropsWithServerQuery } from "./component-common.js";
2
+ import { BreakpointName, ColorType, ComponentProps, ComponentSize, FormComponentProps, PresetRule, PropsWithServerQuery, ValidateRule } from "./component-common.js";
3
3
  import { FormContextModel, FormContextProps, FormFieldItem, injectFormContext, provideFormContext } from "./form-context.js";
4
- export { BreakpointName, ColorType, ComponentProps, ComponentSize, DeconstructValue, DefineEvent, FormComponentProps, FormContextModel, FormContextProps, FormFieldItem, Index, Null, PropsWithServerQuery, RenderReturn, Undef, injectFormContext, provideFormContext };
4
+ export { BreakpointName, ColorType, ComponentProps, ComponentSize, DeconstructValue, DefineEvent, FormComponentProps, FormContextModel, FormContextProps, FormFieldItem, Index, Null, PresetRule, PropsWithServerQuery, RenderReturn, Undef, ValidateRule, injectFormContext, provideFormContext };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltra/utils",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -11,6 +11,30 @@ export interface ComponentProps {
11
11
  size?: ComponentSize
12
12
  }
13
13
 
14
+ export type PresetRule = 'email' | 'phone' | 'num' | 'url' | 'idCard'
15
+
16
+ /** 字段校验规则 */
17
+ export interface ValidateRule {
18
+ /** 是否必填 */
19
+ required?: boolean | string
20
+ /** 长度单位 */
21
+ length?: number | [number, string]
22
+ /** 最小值 */
23
+ min?: number | [number, string]
24
+ /** 最大值 */
25
+ max?: number | [number, string]
26
+ /** 最小长度 */
27
+ minLen?: number | [number, string]
28
+ /** 最大长度 */
29
+ maxLen?: number | [number, string]
30
+ /** 匹配 */
31
+ match?: RegExp | [RegExp, string] | string
32
+ /** 预设 */
33
+ preset?: PresetRule
34
+ /** 自定义校验 */
35
+ validator?: (value: any, data: Record<string, any>) => Promise<string> | string
36
+ }
37
+
14
38
  /** 表单组件通用属性 */
15
39
  export interface FormComponentProps extends ComponentProps {
16
40
  /** 在表单控件内时的提示 */
@@ -30,6 +54,8 @@ export interface FormComponentProps extends ComponentProps {
30
54
  disabled?: boolean
31
55
  /** 是否只读 */
32
56
  readonly?: boolean
57
+ /** 校验规则 */
58
+ rules?: ValidateRule
33
59
  }
34
60
 
35
61
  /** 带有服务端交互功能的组件属性 */