@kingteza/crud-component 1.36.1 → 1.38.0

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.
@@ -1 +1 @@
1
- "use strict";const i=require("react/jsx-runtime"),m=require("antd"),x=require("react"),M=require("../../locale/index.cjs.js"),P=require("../tooltip/TooltipComponent.cjs.js"),_=require("./TextField.cjs.js"),b=x.forwardRef(function({type:v,required:o,label:e,rules:c=[],placeholder:r,onEnter:a,form:f,nextFocus:q,min:d,moneyField:n,addonAfter:j,minLength:T,defaultValue:$,pattern:g,disabled:I,readOnly:N,onChange:R,value:w,max:B,addonBefore:E,size:F,isInt:u=!1,tooltip:h,help:z,...y},C){const{t:p}=M.useTranslationLib(),L=x.useMemo(()=>[...c,{required:o,message:`${e||r||""} ${p("err.validation.required")}`}],[c,e,r,p,o]);return i.jsx(P,{title:h,children:i.jsx(m.Form.Item,{...y,label:e,rules:L,children:i.jsx(m.InputNumber,{ref:C,disabled:I,defaultValue:$,value:w,readOnly:N,addonBefore:E,minLength:T,addonAfter:j,step:u?1:void 0,pattern:u?"d*":g,onChange:R,onPressEnter:t=>_.onEnterInternalTextField(t,q,f,a),className:"max-width",min:d===null?void 0:d??0,max:B,type:n?void 0:"number",size:F,formatter:n?t=>{if(t.includes(".")){const s=`${t}`.split(".");return s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),s.join(".")}else return`${t}`.replace(/\B(?=(\d{3})+(?!\d))/g,",")}:void 0,parser:n?t=>t==null?void 0:t.replace(/\$\s?|(,*)/g,""):void 0,placeholder:r||e})})})});module.exports=b;
1
+ "use strict";const f=require("react/jsx-runtime"),N=require("antd"),i=require("react"),F=require("../../locale/index.cjs.js"),G=require("../tooltip/TooltipComponent.cjs.js"),H=require("./TextField.cjs.js"),R=/\D/g,v=/\B(?=(\d{3})+(?!\d))/g,U=/\$\s?|(,*)/g,V=new Set(["e","E","."]);function z(e,t,s){return`${e??t??""} ${s}`.trim()}function J(e){if(e==null)return"";const t=String(e);if(!t.includes("."))return t.replace(v,",");const[s,...o]=t.split(".");return[s.replace(v,","),...o].join(".")}function Q(e){return(e==null?void 0:e.replace(U,""))??""}function W(e,t){return e==null?"":String(e).replace(t,"")}function X(e,t){return e==null?"":e.replace(t,"")}const Z=i.forwardRef(function({type:t,required:s,label:o,rules:p=[],placeholder:l,onEnter:m,form:g,nextFocus:E,min:T,moneyField:u,addonAfter:_,minLength:b,defaultValue:h,pattern:w,disabled:M,readOnly:P,onChange:S,value:q,max:y,addonBefore:D,size:L,isInt:n=!1,tooltip:C,help:I,...O},j){const{t:d}=F.useTranslationLib(),c=T===null,a=n&&!c,A=l??o,k=i.useMemo(()=>{const r=[...p,{required:s,message:z(o,l,d("err.validation.required"))}];return n&&r.push({type:"number",validator:async(ee,x)=>{if(!(x==null||Number.isInteger(x)))throw new Error(d("err.validation.integer"))}}),r},[p,o,l,d,s,n]),K=i.useMemo(()=>{if(u)return J;if(a)return r=>W(r,R)},[u,a]),$=i.useMemo(()=>{if(u)return Q;if(a)return r=>X(r,R)},[u,a]),B=i.useCallback(r=>H.onEnterInternalTextField(r,E,g,m),[E,g,m]),Y=i.useCallback(r=>{if(!c&&r.key==="-"){r.preventDefault();return}V.has(r.key)&&r.preventDefault()},[c]);return f.jsx(G,{title:C,children:f.jsx(N.Form.Item,{...O,label:o,rules:k,help:I,children:f.jsx(N.InputNumber,{ref:j,disabled:M,defaultValue:h,value:q,readOnly:P,addonBefore:D,minLength:b,addonAfter:_,step:n?1:void 0,inputMode:n?"numeric":void 0,pattern:n?c?"-?[0-9]*":"[0-9]*":w,precision:n?0:void 0,onChange:S,onPressEnter:B,className:"max-width",min:c?void 0:T??0,max:y,type:u?void 0:"number",size:L,formatter:K,parser:$,onKeyDown:n?Y:void 0,placeholder:A})})})});module.exports=Z;
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TextFieldProps } from './TextField';
3
- interface NumberTextFieldProps extends TextFieldProps {
3
+ export interface NumberTextFieldProps extends TextFieldProps {
4
4
  moneyField?: boolean;
5
5
  addonAfter?: ReactNode;
6
6
  minLength?: number;
@@ -1,82 +1,128 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { Form as M, InputNumber as P } from "antd";
3
- import { forwardRef as R, useMemo as _ } from "react";
4
- import { useTranslationLib as b } from "../../locale/index.es.js";
5
- import k from "../tooltip/TooltipComponent.es.js";
6
- import { onEnterInternalTextField as q } from "./TextField.es.js";
7
- const Q = R(
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { Form as G, InputNumber as H } from "antd";
3
+ import { forwardRef as U, useMemo as p, useCallback as v } from "react";
4
+ import { useTranslationLib as V } from "../../locale/index.es.js";
5
+ import z from "../tooltip/TooltipComponent.es.js";
6
+ import { onEnterInternalTextField as F } from "./TextField.es.js";
7
+ const _ = /\D/g, h = /\B(?=(\d{3})+(?!\d))/g, J = /\$\s?|(,*)/g, Q = /* @__PURE__ */ new Set(["e", "E", "."]);
8
+ function W(r, e, i) {
9
+ return `${r ?? e ?? ""} ${i}`.trim();
10
+ }
11
+ function X(r) {
12
+ if (r == null) return "";
13
+ const e = String(r);
14
+ if (!e.includes("."))
15
+ return e.replace(h, ",");
16
+ const [i, ...o] = e.split(".");
17
+ return [i.replace(h, ","), ...o].join(".");
18
+ }
19
+ function Z(r) {
20
+ return (r == null ? void 0 : r.replace(J, "")) ?? "";
21
+ }
22
+ function rr(r, e) {
23
+ return r == null ? "" : String(r).replace(e, "");
24
+ }
25
+ function tr(r, e) {
26
+ return r == null ? "" : r.replace(e, "");
27
+ }
28
+ const ar = U(
8
29
  function({
9
- type: z,
10
- required: s,
11
- label: t,
30
+ type: e,
31
+ required: i,
32
+ label: o,
12
33
  rules: m = [],
13
- placeholder: o,
14
- onEnter: c,
15
- form: u,
16
- nextFocus: a,
17
- min: p,
18
- moneyField: e,
19
- addonAfter: x,
20
- minLength: $,
21
- defaultValue: g,
22
- pattern: T,
23
- disabled: I,
24
- readOnly: N,
25
- onChange: j,
26
- value: w,
27
- max: B,
28
- addonBefore: E,
29
- size: h,
30
- isInt: d = !1,
31
- tooltip: y,
34
+ placeholder: a,
35
+ onEnter: d,
36
+ form: g,
37
+ nextFocus: E,
38
+ min: N,
39
+ moneyField: s,
40
+ addonAfter: w,
41
+ minLength: P,
42
+ defaultValue: R,
43
+ pattern: S,
44
+ disabled: b,
45
+ readOnly: y,
46
+ onChange: D,
47
+ value: L,
48
+ max: I,
49
+ addonBefore: M,
50
+ size: O,
51
+ isInt: n = !1,
52
+ tooltip: x,
32
53
  help: A,
33
54
  ...C
34
- }, F) {
35
- const { t: f } = b(), L = _(
36
- () => [
55
+ }, K) {
56
+ const { t: f } = V(), u = N === null, c = n && !u, k = a ?? o, $ = p(() => {
57
+ const t = [
37
58
  ...m,
38
59
  {
39
- required: s,
40
- message: `${t || o || ""} ${f(
41
- "err.validation.required"
42
- )}`
60
+ required: i,
61
+ message: W(
62
+ o,
63
+ a,
64
+ f("err.validation.required")
65
+ )
43
66
  }
44
- ],
45
- [m, t, o, f, s]
67
+ ];
68
+ return n && t.push({
69
+ type: "number",
70
+ validator: async (er, T) => {
71
+ if (!(T == null || Number.isInteger(T)))
72
+ throw new Error(f("err.validation.integer"));
73
+ }
74
+ }), t;
75
+ }, [m, o, a, f, i, n]), j = p(() => {
76
+ if (s) return X;
77
+ if (c)
78
+ return (t) => rr(t, _);
79
+ }, [s, c]), B = p(() => {
80
+ if (s) return Z;
81
+ if (c)
82
+ return (t) => tr(t, _);
83
+ }, [s, c]), Y = v(
84
+ (t) => F(t, E, g, d),
85
+ [E, g, d]
86
+ ), q = v(
87
+ (t) => {
88
+ if (!u && t.key === "-") {
89
+ t.preventDefault();
90
+ return;
91
+ }
92
+ Q.has(t.key) && t.preventDefault();
93
+ },
94
+ [u]
46
95
  );
47
- return /* @__PURE__ */ i(k, { title: y, children: /* @__PURE__ */ i(M.Item, { ...C, label: t, rules: L, children: /* @__PURE__ */ i(
48
- P,
96
+ return /* @__PURE__ */ l(z, { title: x, children: /* @__PURE__ */ l(G.Item, { ...C, label: o, rules: $, help: A, children: /* @__PURE__ */ l(
97
+ H,
49
98
  {
50
- ref: F,
51
- disabled: I,
52
- defaultValue: g,
53
- value: w,
54
- readOnly: N,
55
- addonBefore: E,
56
- minLength: $,
57
- addonAfter: x,
58
- step: d ? 1 : void 0,
59
- pattern: d ? "d*" : T,
60
- onChange: j,
61
- onPressEnter: (r) => q(r, a, u, c),
99
+ ref: K,
100
+ disabled: b,
101
+ defaultValue: R,
102
+ value: L,
103
+ readOnly: y,
104
+ addonBefore: M,
105
+ minLength: P,
106
+ addonAfter: w,
107
+ step: n ? 1 : void 0,
108
+ inputMode: n ? "numeric" : void 0,
109
+ pattern: n ? u ? "-?[0-9]*" : "[0-9]*" : S,
110
+ precision: n ? 0 : void 0,
111
+ onChange: D,
112
+ onPressEnter: Y,
62
113
  className: "max-width",
63
- min: p === null ? void 0 : p ?? 0,
64
- max: B,
65
- type: e ? void 0 : "number",
66
- size: h,
67
- formatter: e ? (r) => {
68
- if (r.includes(".")) {
69
- const n = `${r}`.split(".");
70
- return n[0] = n[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","), n.join(".");
71
- } else
72
- return `${r}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
73
- } : void 0,
74
- parser: e ? (r) => r == null ? void 0 : r.replace(/\$\s?|(,*)/g, "") : void 0,
75
- placeholder: o || t
114
+ min: u ? void 0 : N ?? 0,
115
+ max: I,
116
+ type: s ? void 0 : "number",
117
+ size: O,
118
+ formatter: j,
119
+ parser: B,
120
+ onKeyDown: n ? q : void 0,
121
+ placeholder: k
76
122
  }
77
123
  ) }) });
78
124
  }
79
125
  );
80
126
  export {
81
- Q as default
127
+ ar as default
82
128
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),S=require("@ant-design/icons"),d=require("antd"),_=require("react"),$=require("../../locale/index.cjs.js"),h=require("../tooltip/TooltipComponent.cjs.js"),c=(n,t,e,r)=>{var s;t&&e&&(n.preventDefault(),(s=e==null?void 0:e.getFieldInstance(t))==null||s.focus()),r&&r(n)},A=({type:n,required:t,label:e,disabled:r,rules:s=[],placeholder:i,onEnter:l,size:x,form:g,addonAfter:m,addonBefore:I,nextFocus:f,autoComplete:j="off",defaultValue:p,readOnly:q,value:v,loading:T,onBlur:F,inputRef:P,status:C,autoFocus:E,onChange:D,tooltip:M,...w})=>{const{t:a}=$.useTranslationLib(),L=_.useMemo(()=>{const o=[...s,{required:t,message:`${e||i||""} ${a("err.validation.required")}`}];return n==="email"&&o.push({type:"email",message:a("err.validation.invalidEmail")}),o},[s,t,e,i,a,n]),O={disabled:r,value:v,readOnly:q,defaultValue:p,autoFocus:E,addonBefore:I,ref:P,onBlur:F,addonAfter:T?u.jsx(S.LoadingOutlined,{}):m,status:C,size:x,autoComplete:j,onPressEnter:o=>c(o,f,g,l),type:n,placeholder:i||e},R=n=="password"?d.Input.Password:d.Input;return u.jsx(h,{title:M,children:u.jsx(d.Form.Item,{...w,label:e,rules:L,children:u.jsx(R,{...O})})})};exports.default=A;exports.onEnterInternalTextField=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),$=require("@ant-design/icons"),c=require("antd"),A=require("react"),D=require("../../locale/index.cjs.js"),h=require("../tooltip/TooltipComponent.cjs.js"),l=(n,t,e,o)=>{var s;t&&e&&(n.preventDefault(),(s=e==null?void 0:e.getFieldInstance(t))==null||s.focus()),o&&o(n)},k=({type:n,required:t,label:e,disabled:o,rules:s=[],placeholder:i,onEnter:I,size:f,form:j,addonAfter:p,addonBefore:q,nextFocus:v,autoComplete:x="off",defaultValue:T,readOnly:g,value:m,loading:C,onBlur:F,inputRef:P,status:w,autoFocus:E,onChange:z,tooltip:M,maxLength:a,...O})=>{const{t:d}=D.useTranslationLib(),R=A.useMemo(()=>{const r=[...s,{required:t,message:`${e||i||""} ${d("err.validation.required")}`}];return n==="email"&&r.push({type:"email",message:d("err.validation.invalidEmail")}),r},[s,t,e,i,d,n]),S={disabled:o,value:m,readOnly:g,defaultValue:T,autoFocus:E,addonBefore:q,ref:P,onBlur:F,addonAfter:C?u.jsx($.LoadingOutlined,{}):p,status:w,size:f,autoComplete:x,onPressEnter:r=>l(r,v,j,I),type:n,placeholder:i||e,maxLength:a,showCount:a&&a>0},_=n=="password"?c.Input.Password:c.Input;return u.jsx(h,{title:M,children:u.jsx(c.Form.Item,{...O,label:e,rules:R,children:u.jsx(_,{...S})})})};exports.default=k;exports.onEnterInternalTextField=l;
@@ -20,6 +20,7 @@ export interface TextFieldProps extends FormItemProps<any> {
20
20
  loading?: boolean;
21
21
  inputRef?: any;
22
22
  onBlur?: any;
23
+ maxLength?: number;
23
24
  onChange?: (val: any) => void;
24
25
  }
25
26
  export declare const onEnterInternalTextField: (e: React.KeyboardEvent<HTMLInputElement>, nextFocus?: string, form?: FormInstance<any>, onEnter?: React.KeyboardEventHandler<HTMLInputElement>) => void;
@@ -1,72 +1,75 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import { LoadingOutlined as D } from "@ant-design/icons";
3
- import { Input as d, Form as M } from "antd";
4
- import { useMemo as O } from "react";
5
- import { useTranslationLib as k } from "../../locale/index.es.js";
6
- import q from "../tooltip/TooltipComponent.es.js";
7
- const z = (n, i, t, s) => {
8
- var o;
9
- i && t && (n.preventDefault(), (o = t == null ? void 0 : t.getFieldInstance(i)) == null || o.focus()), s && s(n);
10
- }, R = ({
11
- type: n,
12
- required: i,
2
+ import { LoadingOutlined as h } from "@ant-design/icons";
3
+ import { Input as f, Form as k } from "antd";
4
+ import { useMemo as q } from "react";
5
+ import { useTranslationLib as z } from "../../locale/index.es.js";
6
+ import B from "../tooltip/TooltipComponent.es.js";
7
+ const G = (o, n, t, s) => {
8
+ var i;
9
+ n && t && (o.preventDefault(), (i = t == null ? void 0 : t.getFieldInstance(n)) == null || i.focus()), s && s(o);
10
+ }, S = ({
11
+ type: o,
12
+ required: n,
13
13
  label: t,
14
14
  disabled: s,
15
- rules: o = [],
15
+ rules: i = [],
16
16
  placeholder: r,
17
- onEnter: f,
18
- size: p,
19
- form: u,
20
- addonAfter: c,
21
- addonBefore: g,
22
- nextFocus: l,
23
- autoComplete: v = "off",
24
- defaultValue: I,
25
- readOnly: T,
26
- value: x,
27
- loading: C,
28
- onBlur: F,
29
- inputRef: P,
30
- status: w,
31
- autoFocus: E,
32
- onChange: B,
33
- tooltip: L,
34
- ...$
17
+ onEnter: p,
18
+ size: u,
19
+ form: c,
20
+ addonAfter: l,
21
+ addonBefore: v,
22
+ nextFocus: C,
23
+ autoComplete: I = "off",
24
+ defaultValue: T,
25
+ readOnly: g,
26
+ value: w,
27
+ loading: F,
28
+ onBlur: P,
29
+ inputRef: E,
30
+ status: $,
31
+ autoFocus: j,
32
+ onChange: H,
33
+ tooltip: x,
34
+ maxLength: a,
35
+ ...A
35
36
  }) => {
36
- const { t: a } = k(), h = O(() => {
37
+ const { t: d } = z(), D = q(() => {
37
38
  const e = [
38
- ...o,
39
+ ...i,
39
40
  {
40
- required: i,
41
- message: `${t || r || ""} ${a(
41
+ required: n,
42
+ message: `${t || r || ""} ${d(
42
43
  "err.validation.required"
43
44
  )}`
44
45
  }
45
46
  ];
46
- return n === "email" && e.push({
47
+ return o === "email" && e.push({
47
48
  type: "email",
48
- message: a("err.validation.invalidEmail")
49
+ message: d("err.validation.invalidEmail")
49
50
  }), e;
50
- }, [o, i, t, r, a, n]), j = {
51
+ }, [i, n, t, r, d, o]), M = {
51
52
  disabled: s,
52
- value: x,
53
- readOnly: T,
54
- defaultValue: I,
55
- autoFocus: E,
56
- addonBefore: g,
57
- ref: P,
58
- onBlur: F,
59
- addonAfter: C ? /* @__PURE__ */ m(D, {}) : c,
60
- status: w,
61
- size: p,
62
- autoComplete: v,
63
- onPressEnter: (e) => z(e, l, u, f),
64
- type: n,
65
- placeholder: r || t
66
- }, A = n == "password" ? d.Password : d;
67
- return /* @__PURE__ */ m(q, { title: L, children: /* @__PURE__ */ m(M.Item, { ...$, label: t, rules: h, children: /* @__PURE__ */ m(A, { ...j }) }) });
53
+ value: w,
54
+ readOnly: g,
55
+ defaultValue: T,
56
+ autoFocus: j,
57
+ addonBefore: v,
58
+ ref: E,
59
+ onBlur: P,
60
+ addonAfter: F ? /* @__PURE__ */ m(h, {}) : l,
61
+ status: $,
62
+ size: u,
63
+ autoComplete: I,
64
+ onPressEnter: (e) => G(e, C, c, p),
65
+ type: o,
66
+ placeholder: r || t,
67
+ maxLength: a,
68
+ showCount: a && a > 0
69
+ }, O = o == "password" ? f.Password : f;
70
+ return /* @__PURE__ */ m(B, { title: x, children: /* @__PURE__ */ m(k.Item, { ...A, label: t, rules: D, children: /* @__PURE__ */ m(O, { ...M }) }) });
68
71
  };
69
72
  export {
70
- R as default,
71
- z as onEnterInternalTextField
73
+ S as default,
74
+ G as onEnterInternalTextField
72
75
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),e=require("react"),t=e.createContext(null),c=()=>e.useContext(t),s=({children:r,search:o})=>{const n=e.useMemo(()=>({search:o}),[o]);return u.jsx(t.Provider,{value:n,children:r})};exports.CrudSearchContext=t;exports.CrudSearchContextProvider=s;exports.useCrudSearchContext=c;
@@ -0,0 +1,12 @@
1
+ type SearchFn = () => void;
2
+ export declare const CrudSearchContext: import('react').Context<{
3
+ search: SearchFn;
4
+ } | null>;
5
+ export declare const useCrudSearchContext: () => {
6
+ search: SearchFn;
7
+ } | null;
8
+ export declare const CrudSearchContextProvider: ({ children, search, }: {
9
+ children: React.ReactNode;
10
+ search: SearchFn;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useContext as c, createContext as u, useMemo as s } from "react";
3
+ const o = u(null), d = () => c(o), m = ({
4
+ children: t,
5
+ search: e
6
+ }) => {
7
+ const r = s(() => ({ search: e }), [e]);
8
+ return /* @__PURE__ */ n(o.Provider, { value: r, children: t });
9
+ };
10
+ export {
11
+ o as CrudSearchContext,
12
+ m as CrudSearchContextProvider,
13
+ d as useCrudSearchContext
14
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),x=require("antd"),k=require("react"),K=require("react-highlight-words"),Q=require("../locale/index.cjs.js"),V=require("./FileCrudField.cjs.js"),X=require("./ImageCrudField.cjs.js"),Y=require("../common/check-box/CheckBox.cjs.js"),Z=require("../common/date-picker/DatePicker.cjs.js"),ee=require("../common/date-picker/TimePicker.cjs.js"),U=require("../common/select/SelectComponent.cjs.js"),re=require("../common/text-field/NumberField.cjs.js"),te=require("../common/text-field/PhoneNumberField.cjs.js"),ae=require("../common/text-field/TextField.cjs.js"),le=require("../common/tooltip/TooltipComponent.cjs.js"),ne=require("./CrudTextAreaComponent.cjs.js"),M=require("../util/CrudUtil.cjs.js");function oe(w){const{label:o,name:c,type:j,required:d,hidden:P,rules:h=[],updatable:g=!0,readonly:R=!1,fieldClassName:u,customFormFieldRender:T,fieldTooltip:v,fieldHelper:f,formLayoutProps:y,...e}=w,C=x.Form.useFormInstance();k.useEffect(()=>{if(j==="select"){const{items:a=[],onSearch:n,searchOnType:s}=e;!(a!=null&&a.length)&&!s&&(n==null||n(void 0,C,e==null?void 0:e.updatingValue))}},[C,e,j,e==null?void 0:e.updatingValue]);const{t:S}=Q.useTranslationLibNoNS();if(R||P)return r.jsx(r.Fragment,{});if(T)return T(C,w);switch(j){case"text":case"email":case"password":{const{maxLength:a,onChange:n,placeholder:s,addonAfter:p,addonBefore:b}=e;return r.jsx(ae.default,{...y,maxLength:a,placeholder:s,disabled:!g,rules:h,required:d,onChange:n?i=>n(i,C):void 0,type:j,name:c,tooltip:v,label:o,className:u,autoComplete:"new-password",addonAfter:p,addonBefore:b,help:f})}case"phone":{const{onChange:a,placeholder:n,addonAfter:s,addonBefore:p}=e;return r.jsx(te,{...e,...y,placeholder:n,disabled:!g,rules:h,required:d,onChange:a?b=>a(b,C):void 0,type:j,name:c,tooltip:v,label:o,className:u,autoComplete:"new-password",addonAfter:s,addonBefore:p,help:f})}case"number":{const{onChange:a,placeholder:n,allowMinus:s,min:p,max:b,addonAfter:i,addonBefore:N}=e;return r.jsx(re,{...y,placeholder:n,disabled:!g,moneyField:!!e.formatted,type:j,onChange:a?t=>a(t,C):void 0,rules:h,autoComplete:"false",required:d,tooltip:v,className:u,min:s?null:p,max:b,addonAfter:i,addonBefore:N,name:c,label:o,help:f})}case"date":{const{range:a,disableToday:n,disabledFutureDays:s,disabledPastDays:p,onChange:b,placeholder:i,format:N}=e;return r.jsx(Z,{...y,placeholder:i,required:d,disabled:!g,type:j,format:N,tooltip:v,range:a,name:c,label:o,onChange:b?t=>b(t,C):void 0,className:u,disableToday:n,disabledFutureDays:s,disabledPastDays:p,help:f})}case"time":{const{range:a=!1,disableCurrent:n,disabledFuture:s,disabledPast:p,onChange:b,use12Hours:i,format:N,placeholder:t}=e;return r.jsx(ee,{...y,placeholder:t,required:d,format:N,disabled:!g,type:j,tooltip:v,range:a,use12Hours:i,name:c,label:o,onChange:b?F=>b(F,C):void 0,className:u,disableCurrent:n,disabledFuture:s,disabledPast:p,help:f})}case"textarea":return r.jsx(ne,{...w});case"image":return r.jsx(X.default,{...e,required:d,name:c,label:o,rules:h,fieldHelper:f,fieldClassName:u,onRemoved:e.onRemoved,onUploading:e.onUploading,provider:e.provider});case"file":return r.jsx(V.default,{...e,required:d,name:c,label:o,rules:h,fieldHelper:f,fieldClassName:u,onRemoved:e.onRemoved,onUploading:e.onUploading,provider:e.provider});case"select":return r.jsx(_,{...e,required:d,name:c,label:o,rules:h,fieldClassName:u,form:C,help:f,updatable:g,readonly:R,fieldTooltip:v,fieldHelper:f});case"enum":{const{enum:a,translation:n,onChange:s,onSearch:p,multiple:b,tagRender:i}=e,N=Array.isArray(a)?a:Object.keys(a);return"radio"in e&&e.radio?r.jsx(x.Form.Item,{...e,...y,name:c,required:d,tooltip:v,rules:h,label:o,className:["w-100",u].join(" "),help:f,children:r.jsx(x.Radio.Group,{...e,onChange:s?t=>{var F;return s((F=t==null?void 0:t.target)==null?void 0:F.value,C)}:void 0,children:N.map(t=>r.jsx(x.Radio,{disabled:!g,value:t,children:n?S(n[t]):t},t))})}):"checkbox"in e&&e.checkbox?r.jsx(x.Form.Item,{...e,...y,name:c,required:d,tooltip:v,rules:h,label:o,className:["w-100",u].join(" "),help:f,children:r.jsx(x.Checkbox.Group,{className:"w-100",children:N.map(t=>{const F=r.jsx(x.Checkbox,{disabled:!g,value:t,children:n?S(n[t]):t},t);return"checkboxGrid"in e&&e.checkboxGrid?r.jsx(x.Col,{...e.checkboxGrid,children:F}):F})})}):r.jsx(U,{...e,...y,tagRender:typeof i=="function"?i:i?t=>{const{value:F,label:O}=t,q=i[F];return q?r.jsx(x.Tag,{color:q.color,children:O}):r.jsx(x.Tag,{children:O})}:void 0,onChange:s?t=>s(t,C):void 0,className:["w-100",u].join(" "),name:c,items:N,required:d,tooltip:v,rules:h,label:o,help:f,disabled:!g,onSearch:p?t=>p(t,C):void 0,allowClear:!0,mode:b?"multiple":void 0,showLoadingInEmptyIndicator:!0,itemBuilder:t=>r.jsx(x.Select.Option,{value:t,children:n?S(n[t]):t},t)})}case"checkbox":{const{onChange:a,switch:n}=e;return r.jsx(Y,{...y,className:u,rules:h,onChange:a?s=>a(s,C):void 0,label:o,tooltip:v,disabled:!g,name:c,help:f,switch:n})}case"color":return r.jsx(D,{...e,type:"color",required:d,name:c,label:o,rules:h,fieldClassName:u,updatable:g,readonly:R,fieldTooltip:v,fieldHelper:f});default:return r.jsx(r.Fragment,{children:`${j} Not Implemented`})}}function _(w){const{items:o=[],loading:c,searchOnType:j,onSearch:d,multiple:P,onChange:h,highlightSearch:g,required:R,fieldClassName:u,rules:T,fieldTooltip:v,updatable:f,label:y,name:e,tagRender:C,updatingValue:S,onSet:a,placeholder:n,allowClear:s=!0,selectOptionRender:p,formLayoutProps:b}=w,i=w.form,[N,t]=k.useState(""),F=k.useMemo(()=>M.getRealName(e),[e]),O=k.useMemo(()=>M.getRealName(e,"upsertFieldName"),[e]),q=x.Form.useWatch(F,i),[H,L]=k.useState(!0);k.useEffect(()=>{a&&H&&q&&(a==null||a(q,o,i),L(!1))},[H,i,o,F,a,q]),k.useEffect(()=>{q&&L(!0)},[q]);const W=k.useCallback(async l=>{t(l),j&&(d==null||d(l,i,S))},[i,d,j,S]),$=k.useCallback(l=>p?p(l):l.value,[p]);return r.jsx(U,{...w,...b,showLoadingInEmptyIndicator:!0,maxTagCount:"responsive",maxTagPlaceholder:l=>r.jsxs(le,{title:r.jsx(r.Fragment,{children:l.map(m=>r.jsxs(r.Fragment,{children:[m.label," ",r.jsx("br",{})]}))}),children:["+",l==null?void 0:l.length]}),placeholder:n,onSelect:l=>{a==null||a(l==null?void 0:l.key,o,i)},onChange:h?l=>{t(""),h(l,i)}:void 0,mode:P?"multiple":void 0,className:["w-100",u].join(" "),name:O,items:o,required:R,tooltip:v,tagRender:C,rules:T,disabled:!f,label:y,allowClear:s,onSearch:W,loading:c,filterOption:g?(l,m)=>{var I,A,B;try{const E=l.toLowerCase().split(/\s+/),z=((typeof(m==null?void 0:m.children)=="string"?m==null?void 0:m.children:(A=(I=m==null?void 0:m.children)==null?void 0:I.props)==null?void 0:A.textToHighlight)??"").toLowerCase(),J=(((B=m==null?void 0:m.value)==null?void 0:B.toString())??"").toLowerCase();return E.every(G=>z.indexOf(G)>=0||J.indexOf(G)>=0)}catch{return!0}}:void 0,itemBuilder:g?l=>{const m=l.value?String(l.value):void 0;return r.jsx(x.Select.Option,{value:l.key,title:m,disabled:l.disabled,children:r.jsx(K,{highlightClassName:"highlight-text",searchWords:(N??"").split(" "),autoEscape:!0,textToHighlight:m??""})},l.key)}:l=>r.jsx(x.Select.Option,{value:l.key,title:l.value,disabled:l.disabled,children:$(l)},l.key)})}function D(w){const{formLayoutProps:o,required:c,fieldClassName:j,rules:d,fieldTooltip:P,updatable:h,label:g,name:R,fieldHelper:u}=w;return r.jsx(x.Form.Item,{...o,label:g,name:R,required:c,rules:d,tooltip:P,help:u,getValueFromEvent:T=>typeof T=="object"?T.toHexString():T,children:r.jsx(x.ColorPicker,{disabledAlpha:!0,format:"hex",defaultFormat:"hex",showText:!0,trigger:"click",className:j,disabled:!h,...w.innerProps})})}exports.ColorCrudFieldComponent=D;exports.SelectCrudFieldComponent=_;exports.default=oe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),p=require("antd"),T=require("react"),Y=require("react-highlight-words"),Z=require("../locale/index.cjs.js"),ee=require("./FileCrudField.cjs.js"),re=require("./ImageCrudField.cjs.js"),te=require("../common/check-box/CheckBox.cjs.js"),ne=require("../common/date-picker/DatePicker.cjs.js"),ae=require("../common/date-picker/TimePicker.cjs.js"),D=require("../common/select/SelectComponent.cjs.js"),oe=require("../common/text-field/NumberField.cjs.js"),le=require("../common/text-field/PhoneNumberField.cjs.js"),se=require("../common/text-field/TextField.cjs.js"),ie=require("../common/tooltip/TooltipComponent.cjs.js"),de=require("./CrudTextAreaComponent.cjs.js"),_=require("../util/CrudUtil.cjs.js"),E=require("../context/CrudSearchContext.cjs.js");function ce(j){const{label:s,name:d,type:c,required:h,hidden:H,rules:b=[],updatable:m=!0,readonly:F=!1,fieldClassName:f,customFormFieldRender:k,fieldTooltip:S,fieldHelper:C,formLayoutProps:q,...r}=j,l=p.Form.useFormInstance();T.useEffect(()=>{if(c==="select"){const{items:a=[],onSearch:o,searchOnType:u}=r;!(a!=null&&a.length)&&!u&&(o==null||o(void 0,l,r==null?void 0:r.updatingValue))}},[l,r,c,r==null?void 0:r.updatingValue]);const R=E.useCrudSearchContext(),x=T.useCallback((a,o)=>{R&&R.search(),!F&&o&&o(a,l)},[R,F,l]);if(F||H)return e.jsx(e.Fragment,{});if(k)return k(l,j);switch(c){case"text":case"email":case"password":{const{maxLength:a,onChange:o,placeholder:u,addonAfter:y,addonBefore:i}=r;return e.jsx(se.default,{...q,maxLength:a,placeholder:u,disabled:!m,rules:b,required:h,onChange:o?v=>o(v,l):void 0,type:c,name:d,tooltip:S,label:s,className:f,autoComplete:"new-password",addonAfter:y,addonBefore:i,help:C})}case"phone":{const{onChange:a,placeholder:o,addonAfter:u,addonBefore:y}=r;return e.jsx(le,{...r,...q,placeholder:o,disabled:!m,rules:b,required:h,onChange:a?i=>a(i,l):void 0,type:c,name:d,tooltip:S,label:s,className:f,autoComplete:"new-password",addonAfter:u,addonBefore:y,help:C})}case"number":{const{onChange:a,placeholder:o,allowMinus:u,min:y,max:i,addonAfter:v,addonBefore:w,int:P}=r;return e.jsx(oe,{...q,placeholder:o,disabled:!m,moneyField:!!r.formatted,type:c,onChange:a?n=>a(n,l):void 0,rules:b,autoComplete:"false",required:h,tooltip:S,className:f,min:u?null:y,max:i,addonAfter:v,addonBefore:w,name:d,label:s,help:C,isInt:P})}case"date":{const{range:a,disableToday:o,disabledFutureDays:u,disabledPastDays:y,onChange:i,placeholder:v,format:w}=r;return e.jsx(ne,{...q,placeholder:v,required:h,disabled:!m,type:c,format:w,tooltip:S,range:a,name:d,label:s,onChange:x,className:f,disableToday:o,disabledFutureDays:u,disabledPastDays:y,help:C})}case"time":{const{range:a=!1,disableCurrent:o,disabledFuture:u,disabledPast:y,onChange:i,use12Hours:v,format:w,placeholder:P}=r;return e.jsx(ae,{...q,placeholder:P,required:h,format:w,disabled:!m,type:c,tooltip:S,range:a,use12Hours:v,name:d,label:s,onChange:x,className:f,disableCurrent:o,disabledFuture:u,disabledPast:y,help:C})}case"textarea":return e.jsx(de,{...j});case"image":return e.jsx(re.default,{...r,required:h,name:d,label:s,rules:b,fieldHelper:C,fieldClassName:f,onRemoved:r.onRemoved,onUploading:r.onUploading,provider:r.provider});case"file":return e.jsx(ee.default,{...r,required:h,name:d,label:s,rules:b,fieldHelper:C,fieldClassName:f,onRemoved:r.onRemoved,onUploading:r.onUploading,provider:r.provider});case"select":return e.jsx($,{...r,required:h,name:d,label:s,rules:b,fieldClassName:f,form:l,help:C,updatable:m,readonly:F,fieldTooltip:S,fieldHelper:C});case"enum":return e.jsx(W,{...j});case"checkbox":{const{onChange:a,switch:o}=r;return e.jsx(te,{...q,className:f,rules:b,onChange:x,label:s,tooltip:S,disabled:!m,name:d,help:C,switch:o})}case"color":return e.jsx(z,{...r,type:"color",required:h,name:d,label:s,rules:b,fieldClassName:f,updatable:m,readonly:F,fieldTooltip:S,fieldHelper:C});default:return e.jsx(e.Fragment,{children:`${c} Not Implemented`})}}function W(j){const s=p.Form.useFormInstance(),{label:d,name:c,type:h,required:H,hidden:b,rules:m=[],updatable:F=!0,readonly:f=!1,fieldClassName:k,customFormFieldRender:S,fieldTooltip:C,fieldHelper:q,formLayoutProps:r,...l}=j,{t:R}=Z.useTranslationLibNoNS(),{enum:x,translation:a,onChange:o,onSearch:u,multiple:y,tagRender:i}=l,v=Array.isArray(x)?x:Object.keys(x),w=E.useCrudSearchContext(),P=T.useCallback(n=>{w&&w.search(),!f&&o&&o(n,s)},[w,f,o,s]);return"radio"in l&&l.radio?e.jsx(p.Form.Item,{...l,...r,name:c,required:H,tooltip:C,rules:m,label:d,className:["w-100",k].join(" "),help:q,children:e.jsx(p.Radio.Group,{...l,onChange:n=>{var N;return P((N=n==null?void 0:n.target)==null?void 0:N.value)},children:v.map(n=>e.jsx(p.Radio,{disabled:!F,value:n,children:a?R(a[n]):n},n))})}):"checkbox"in l&&l.checkbox?e.jsx(p.Form.Item,{...l,...r,name:c,required:H,tooltip:C,rules:m,label:d,className:["w-100",k].join(" "),help:q,children:e.jsx(p.Checkbox.Group,{className:"w-100",onChange:P,children:v.map(n=>{const N=e.jsx(p.Checkbox,{disabled:!F,value:n,children:a?R(a[n]):n},n);return"checkboxGrid"in l&&l.checkboxGrid?e.jsx(p.Col,{...l.checkboxGrid,children:N}):N})})}):e.jsx(D,{...l,...r,notSearch:!0,tagRender:typeof i=="function"?i:i?n=>{const{value:N,label:I}=n,L=i[N];return L?e.jsx(p.Tag,{color:L.color,children:I}):e.jsx(p.Tag,{children:I})}:void 0,onChange:P,className:["w-100",k].join(" "),name:c,items:v,required:H,tooltip:C,rules:m,label:d,help:q,disabled:!F,onSearch:u?n=>u(n,s):void 0,allowClear:!0,mode:y?"multiple":void 0,showLoadingInEmptyIndicator:!0,itemBuilder:n=>e.jsx(p.Select.Option,{value:n,children:a?R(a[n]):n},n)})}function $(j){const{items:s=[],loading:d,searchOnType:c,onSearch:h,multiple:H,onChange:b,highlightSearch:m,required:F,fieldClassName:f,rules:k,fieldTooltip:S,updatable:C,label:q,name:r,tagRender:l,updatingValue:R,onSet:x,placeholder:a,allowClear:o=!0,selectOptionRender:u,formLayoutProps:y}=j,i=j.form,[v,w]=T.useState(""),P=T.useMemo(()=>_.getRealName(r),[r]),n=T.useMemo(()=>_.getRealName(r,"upsertFieldName"),[r]),N=p.Form.useWatch(P,i),[I,L]=T.useState(!0);T.useEffect(()=>{x&&I&&N&&(x==null||x(N,s,i),L(!1))},[I,i,s,P,x,N]),T.useEffect(()=>{N&&L(!0)},[N]);const J=T.useCallback(async t=>{w(t),c&&(h==null||h(t,i,R))},[i,h,c,R]),K=T.useCallback(t=>u?u(t):t.value,[u]),O=E.useCrudSearchContext(),Q=T.useCallback(t=>{O&&O.search(),b&&(w(""),b(t,i))},[O,b,i]);return e.jsx(D,{...j,...y,showLoadingInEmptyIndicator:!0,maxTagCount:"responsive",maxTagPlaceholder:t=>e.jsxs(ie,{title:e.jsx(e.Fragment,{children:t.map(g=>e.jsxs(e.Fragment,{children:[g.label," ",e.jsx("br",{})]}))}),children:["+",t==null?void 0:t.length]}),placeholder:a,onSelect:t=>{x==null||x(t==null?void 0:t.key,s,i)},onChange:Q,mode:H?"multiple":void 0,className:["w-100",f].join(" "),name:n,items:s,required:F,tooltip:S,tagRender:l,rules:k,disabled:!C,label:q,allowClear:o,onSearch:J,loading:d,filterOption:m?(t,g)=>{var A,B,G;try{const M=t.toLowerCase().split(/\s+/),V=((typeof(g==null?void 0:g.children)=="string"?g==null?void 0:g.children:(B=(A=g==null?void 0:g.children)==null?void 0:A.props)==null?void 0:B.textToHighlight)??"").toLowerCase(),X=(((G=g==null?void 0:g.value)==null?void 0:G.toString())??"").toLowerCase();return M.every(U=>V.indexOf(U)>=0||X.indexOf(U)>=0)}catch{return!0}}:void 0,itemBuilder:m?t=>{const g=t.value?String(t.value):void 0;return e.jsx(p.Select.Option,{value:t.key,title:g,disabled:t.disabled,children:e.jsx(Y,{highlightClassName:"highlight-text",searchWords:(v??"").split(" "),autoEscape:!0,textToHighlight:g??""})},t.key)}:t=>e.jsx(p.Select.Option,{value:t.key,title:t.value,disabled:t.disabled,children:K(t)},t.key)})}function z(j){const{formLayoutProps:s,required:d,fieldClassName:c,rules:h,fieldTooltip:H,updatable:b,label:m,name:F,fieldHelper:f}=j;return e.jsx(p.Form.Item,{...s,label:m,name:F,required:d,rules:h,tooltip:H,help:f,getValueFromEvent:k=>typeof k=="object"?k.toHexString():k,children:e.jsx(p.ColorPicker,{disabledAlpha:!0,format:"hex",defaultFormat:"hex",showText:!0,trigger:"click",className:c,disabled:!b,...j.innerProps})})}exports.ColorCrudFieldComponent=z;exports.EnumCrudFieldComponent=W;exports.SelectCrudFieldComponent=$;exports.default=ce;
@@ -1,4 +1,5 @@
1
- import { ColorPickerFieldProps, CrudFieldProps, SelectCrudField } from './CrudComponent';
1
+ import { ColorPickerFieldProps, CrudFieldProps, EnumCrudField, SelectCrudField } from './CrudComponent';
2
2
  export default function CrudField<T = any>(props0: Readonly<CrudFieldProps<T>>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function EnumCrudFieldComponent<T>(props0: Readonly<EnumCrudField<T>>): import("react/jsx-runtime").JSX.Element;
3
4
  export declare function SelectCrudFieldComponent<T>(props: Readonly<SelectCrudField<T>>): import("react/jsx-runtime").JSX.Element;
4
5
  export declare function ColorCrudFieldComponent<T>(props: ColorPickerFieldProps<T>): import("react/jsx-runtime").JSX.Element;