@apia/api 2.0.11 → 3.0.2
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 +297 -4
- package/dist/index.js +3212 -3
- package/dist/index.js.map +1 -1
- package/package.json +11 -9
- package/dist/ApiaApiContext.js +0 -15
- package/dist/ApiaApiContext.js.map +0 -1
- package/dist/ApiaApiHandler.d.ts +0 -62
- package/dist/ApiaApiHandler.d.ts.map +0 -1
- package/dist/ApiaApiHandler.js +0 -374
- package/dist/ApiaApiHandler.js.map +0 -1
- package/dist/apiaApi.d.ts +0 -156
- package/dist/apiaApi.d.ts.map +0 -1
- package/dist/apiaApi.js +0 -458
- package/dist/apiaApi.js.map +0 -1
- package/dist/buttons/ApiaApiButtonsContainer.js +0 -129
- package/dist/buttons/ApiaApiButtonsContainer.js.map +0 -1
- package/dist/fields/ApiaApiCheckbox.js +0 -39
- package/dist/fields/ApiaApiCheckbox.js.map +0 -1
- package/dist/fields/ApiaApiFieldsContainer.js +0 -213
- package/dist/fields/ApiaApiFieldsContainer.js.map +0 -1
- package/dist/fields/ApiaApiFileInput.js +0 -34
- package/dist/fields/ApiaApiFileInput.js.map +0 -1
- package/dist/fields/ApiaApiInput.d.ts +0 -20
- package/dist/fields/ApiaApiInput.d.ts.map +0 -1
- package/dist/fields/ApiaApiInput.js +0 -110
- package/dist/fields/ApiaApiInput.js.map +0 -1
- package/dist/fields/ApiaApiRadio.js +0 -43
- package/dist/fields/ApiaApiRadio.js.map +0 -1
- package/dist/fields/ApiaApiSelect.js +0 -64
- package/dist/fields/ApiaApiSelect.js.map +0 -1
- package/dist/fields/ApiaApiTextArea.js +0 -50
- package/dist/fields/ApiaApiTextArea.js.map +0 -1
- package/dist/types.d.ts +0 -39
- package/dist/types.d.ts.map +0 -1
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import { useMount, encrypt } from '@apia/util';
|
|
3
|
-
import { classToValidate, classToValidationFunction, Input } from '@apia/validations';
|
|
4
|
-
import React__default from 'react';
|
|
5
|
-
|
|
6
|
-
const getModal = (path) => {
|
|
7
|
-
return React__default.lazy(() => {
|
|
8
|
-
return new Promise((resolve) => {
|
|
9
|
-
import(
|
|
10
|
-
/* webpackChunkName: "handlerModal" */
|
|
11
|
-
/* webpackInclude: /\.tsx?$/ */
|
|
12
|
-
`/api/modals/${path}`
|
|
13
|
-
).then((result) => {
|
|
14
|
-
resolve(
|
|
15
|
-
result
|
|
16
|
-
);
|
|
17
|
-
}).catch((error) => {
|
|
18
|
-
resolve({
|
|
19
|
-
default: () => {
|
|
20
|
-
console.error(error);
|
|
21
|
-
throw new Error(
|
|
22
|
-
`The above error ocurred at component ApiaApiHandler/${path}, does it exist?`
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
const ApiaApiInput = (props) => {
|
|
31
|
-
const element = React__default.useMemo(() => props.element, [props.element]);
|
|
32
|
-
const [Submodal, setSubmodal] = React__default.useState(null);
|
|
33
|
-
useMount(() => {
|
|
34
|
-
if (element.modalFunction) {
|
|
35
|
-
const found = element.modalFunction.match(/(?:fnc)?(\w+)\(?\)?$/);
|
|
36
|
-
if (found) {
|
|
37
|
-
const modalName = found[found.length - 1];
|
|
38
|
-
setSubmodal(getModal(modalName));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
const className = React__default.useMemo(
|
|
43
|
-
() => element.class ? `handler__${element.type} ${element.class}` : `handler__${element.type}`,
|
|
44
|
-
[element.class, element.type]
|
|
45
|
-
);
|
|
46
|
-
const validationRules = React__default.useMemo(
|
|
47
|
-
() => ({
|
|
48
|
-
required: element.mandatory,
|
|
49
|
-
maxLength: element.maxlength ? Number(element.maxlength) : void 0,
|
|
50
|
-
pattern: element.regExp,
|
|
51
|
-
patternMessage: element.regExpMessage,
|
|
52
|
-
...classToValidate(element.class)
|
|
53
|
-
}),
|
|
54
|
-
[
|
|
55
|
-
element.class,
|
|
56
|
-
element.mandatory,
|
|
57
|
-
element.maxlength,
|
|
58
|
-
element.regExp,
|
|
59
|
-
element.regExpMessage
|
|
60
|
-
]
|
|
61
|
-
);
|
|
62
|
-
const validationFunction = React__default.useMemo(
|
|
63
|
-
() => classToValidationFunction(element.class),
|
|
64
|
-
[element.class]
|
|
65
|
-
);
|
|
66
|
-
const submitValueParser = React__default.useCallback(
|
|
67
|
-
(value) => {
|
|
68
|
-
if (element.type === "password") {
|
|
69
|
-
return encrypt(
|
|
70
|
-
window.SALT,
|
|
71
|
-
window.IV,
|
|
72
|
-
window.PASSPHRASE,
|
|
73
|
-
value,
|
|
74
|
-
Number(window.KEY_SIZE),
|
|
75
|
-
Number(window.ITERATION_COUNT)
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
return value;
|
|
79
|
-
},
|
|
80
|
-
[element.type]
|
|
81
|
-
);
|
|
82
|
-
if (element.modalFunction) {
|
|
83
|
-
if (Submodal) {
|
|
84
|
-
return /* @__PURE__ */ jsx(React__default.Suspense, { children: /* @__PURE__ */ jsx(Submodal, { ...props, element }) });
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
return /* @__PURE__ */ jsx(
|
|
89
|
-
Input,
|
|
90
|
-
{
|
|
91
|
-
type: element.isADate ? "date" : element.type,
|
|
92
|
-
className,
|
|
93
|
-
name: element.id || element.name,
|
|
94
|
-
label: element.text,
|
|
95
|
-
title: element.title || element.text,
|
|
96
|
-
value: element.value,
|
|
97
|
-
readOnly: element.readonly,
|
|
98
|
-
disabled: element.disabled,
|
|
99
|
-
validationFunction,
|
|
100
|
-
validationRules,
|
|
101
|
-
submitValueParser,
|
|
102
|
-
onChange: element.onChange,
|
|
103
|
-
autoComplete: element.type === "password" ? "new-password" : void 0
|
|
104
|
-
}
|
|
105
|
-
);
|
|
106
|
-
};
|
|
107
|
-
ApiaApiInput.displayName = "ApiaApiInput";
|
|
108
|
-
|
|
109
|
-
export { ApiaApiInput, getModal };
|
|
110
|
-
//# sourceMappingURL=ApiaApiInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaApiInput.js","sources":["../../src/fields/ApiaApiInput.tsx"],"sourcesContent":["import { encrypt, useMount } from '@apia/util';\r\nimport {\r\n classToValidate,\r\n classToValidationFunction,\r\n Input,\r\n} from '@apia/validations';\r\nimport React from 'react';\r\nimport { TApiaApiField } from '../ApiaApiHandler';\r\n\r\ndeclare global {\r\n interface Window {\r\n SALT: string;\r\n IV: string;\r\n PASSPHRASE: string;\r\n KEY_SIZE: number;\r\n ITERATION_COUNT: string;\r\n }\r\n}\r\n\r\n/**\r\n * Permite cargar en forma asíncrona un modal que se encuentre dentro del\r\n * directorio /api/modals\r\n * */\r\nexport const getModal = (path: string) => {\r\n return React.lazy<React.ComponentType<TApiaApiField>>(() => {\r\n return new Promise<{\r\n default: React.ComponentType<TApiaApiField>;\r\n }>((resolve) => {\r\n import(\r\n /* webpackChunkName: \"handlerModal\" */\r\n /* webpackInclude: /\\.tsx?$/ */\r\n `/api/modals/${path}`\r\n )\r\n .then((result: unknown) => {\r\n resolve(\r\n result as {\r\n default: React.ComponentType<TApiaApiField>;\r\n },\r\n );\r\n })\r\n .catch((error: unknown) => {\r\n resolve({\r\n default: () => {\r\n console.error(error);\r\n throw new Error(\r\n `The above error ocurred at component ApiaApiHandler/${path}, does it exist?`,\r\n );\r\n },\r\n });\r\n });\r\n });\r\n });\r\n};\r\n\r\nexport const ApiaApiInput = (props: TApiaApiField) => {\r\n const element = React.useMemo(() => props.element, [props.element]);\r\n\r\n const [Submodal, setSubmodal] = React.useState<React.LazyExoticComponent<\r\n React.ComponentType<TApiaApiField>\r\n > | null>(null);\r\n\r\n useMount(() => {\r\n if (element.modalFunction) {\r\n const found = element.modalFunction.match(/(?:fnc)?(\\w+)\\(?\\)?$/);\r\n if (found) {\r\n const modalName = found[found.length - 1];\r\n setSubmodal(getModal(modalName));\r\n }\r\n }\r\n });\r\n\r\n const className = React.useMemo(\r\n () =>\r\n element.class\r\n ? `handler__${element.type} ${element.class}`\r\n : `handler__${element.type}`,\r\n [element.class, element.type],\r\n );\r\n const validationRules = React.useMemo(\r\n () => ({\r\n required: element.mandatory,\r\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\r\n pattern: element.regExp,\r\n patternMessage: element.regExpMessage,\r\n ...classToValidate(element.class),\r\n }),\r\n [\r\n element.class,\r\n element.mandatory,\r\n element.maxlength,\r\n element.regExp,\r\n element.regExpMessage,\r\n ],\r\n );\r\n const validationFunction = React.useMemo(\r\n () => classToValidationFunction(element.class),\r\n [element.class],\r\n );\r\n const submitValueParser = React.useCallback(\r\n (value: string) => {\r\n if (element.type === 'password') {\r\n return encrypt(\r\n window.SALT,\r\n window.IV,\r\n window.PASSPHRASE,\r\n value,\r\n Number(window.KEY_SIZE),\r\n Number(window.ITERATION_COUNT),\r\n );\r\n }\r\n return value;\r\n },\r\n [element.type],\r\n );\r\n\r\n if (element.modalFunction) {\r\n if (Submodal) {\r\n return (\r\n <React.Suspense>\r\n <Submodal {...props} element={element} />\r\n </React.Suspense>\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n return (\r\n <Input\r\n type={element.isADate ? 'date' : element.type}\r\n className={className}\r\n name={element.id || element.name}\r\n label={element.text}\r\n title={element.title || element.text}\r\n value={element.value}\r\n readOnly={element.readonly}\r\n disabled={element.disabled}\r\n validationFunction={validationFunction}\r\n validationRules={validationRules}\r\n submitValueParser={submitValueParser}\r\n onChange={element.onChange}\r\n autoComplete={element.type === 'password' ? 'new-password' : undefined}\r\n />\r\n );\r\n};\r\n\r\nApiaApiInput.displayName = 'ApiaApiInput';\r\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import { arrayOrArray } from '@apia/util';
|
|
3
|
-
import { classToValidate, Radio } from '@apia/validations';
|
|
4
|
-
import React__default from 'react';
|
|
5
|
-
|
|
6
|
-
const ApiaApiRadio = (props) => {
|
|
7
|
-
const element = React__default.useMemo(() => props.element, [props.element]);
|
|
8
|
-
const className = React__default.useMemo(
|
|
9
|
-
() => element.class ? `handler__radio ${element.class}` : "handler__radio",
|
|
10
|
-
[element.class]
|
|
11
|
-
);
|
|
12
|
-
const options = React__default.useMemo(
|
|
13
|
-
() => arrayOrArray(element.options?.option).map((currOption) => {
|
|
14
|
-
return { value: currOption.value, label: currOption.content };
|
|
15
|
-
}),
|
|
16
|
-
[element.options?.option]
|
|
17
|
-
);
|
|
18
|
-
const validationRules = React__default.useMemo(
|
|
19
|
-
() => ({
|
|
20
|
-
required: element.mandatory,
|
|
21
|
-
...classToValidate(element.class)
|
|
22
|
-
}),
|
|
23
|
-
[element.class, element.mandatory]
|
|
24
|
-
);
|
|
25
|
-
return /* @__PURE__ */ jsx(
|
|
26
|
-
Radio,
|
|
27
|
-
{
|
|
28
|
-
className,
|
|
29
|
-
name: element.id || element.name,
|
|
30
|
-
label: element.text,
|
|
31
|
-
title: element.title || element.text,
|
|
32
|
-
initialValue: element.value,
|
|
33
|
-
disabled: element.readonly || element.disabled,
|
|
34
|
-
validationRules,
|
|
35
|
-
options,
|
|
36
|
-
onChange: element.onChange
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
};
|
|
40
|
-
ApiaApiRadio.displayName = "ApiaApiRadio";
|
|
41
|
-
|
|
42
|
-
export { ApiaApiRadio };
|
|
43
|
-
//# sourceMappingURL=ApiaApiRadio.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaApiRadio.js","sources":["../../src/fields/ApiaApiRadio.tsx"],"sourcesContent":["import { arrayOrArray } from '@apia/util';\r\nimport { classToValidate, Radio } from '@apia/validations';\r\nimport React from 'react';\r\nimport { TApiaApiField } from '../ApiaApiHandler';\r\n\r\nexport const ApiaApiRadio = (props: TApiaApiField) => {\r\n const element = React.useMemo(() => props.element, [props.element]);\r\n const className = React.useMemo(\r\n () =>\r\n element.class ? `handler__radio ${element.class}` : 'handler__radio',\r\n [element.class],\r\n );\r\n const options = React.useMemo(\r\n () =>\r\n arrayOrArray(element.options?.option).map((currOption) => {\r\n return { value: currOption.value, label: currOption.content };\r\n }),\r\n [element.options?.option],\r\n );\r\n const validationRules = React.useMemo(\r\n () => ({\r\n required: element.mandatory,\r\n ...classToValidate(element.class),\r\n }),\r\n [element.class, element.mandatory],\r\n );\r\n return (\r\n <Radio\r\n className={className}\r\n name={element.id || element.name}\r\n label={element.text}\r\n title={element.title || element.text}\r\n initialValue={element.value}\r\n disabled={element.readonly || element.disabled}\r\n validationRules={validationRules}\r\n options={options}\r\n onChange={element.onChange}\r\n />\r\n );\r\n};\r\n\r\nApiaApiRadio.displayName = 'ApiaApiRadio';\r\n"],"names":["React"],"mappings":";;;;;AAKa,MAAA,YAAA,GAAe,CAAC,KAAyB,KAAA;AACpD,EAAM,MAAA,OAAA,GAAUA,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAQ,CAAA,KAAA,GAAQ,CAAkB,eAAA,EAAA,OAAA,CAAQ,KAAK,CAAK,CAAA,GAAA,gBAAA;AAAA,IACtD,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,UAAUA,cAAM,CAAA,OAAA;AAAA,IACpB,MACE,aAAa,OAAQ,CAAA,OAAA,EAAS,MAAM,CAAE,CAAA,GAAA,CAAI,CAAC,UAAe,KAAA;AACxD,MAAA,OAAO,EAAE,KAAO,EAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,WAAW,OAAQ,EAAA,CAAA;AAAA,KAC7D,CAAA;AAAA,IACH,CAAC,OAAQ,CAAA,OAAA,EAAS,MAAM,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,OAAO;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,MAClB,GAAG,eAAgB,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAClC,CAAA;AAAA,IACA,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AACA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,cAAc,OAAQ,CAAA,KAAA;AAAA,MACtB,QAAA,EAAU,OAAQ,CAAA,QAAA,IAAY,OAAQ,CAAA,QAAA;AAAA,MACtC,eAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,KAAA;AAAA,GACpB,CAAA;AAEJ,EAAA;AAEA,YAAA,CAAa,WAAc,GAAA,cAAA;;;;"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { arrayOrArray, EventEmitter } from '@apia/util';
|
|
4
|
-
import { classToValidate, Select } from '@apia/validations';
|
|
5
|
-
|
|
6
|
-
class ApiaApiSelectOptions extends EventEmitter {
|
|
7
|
-
}
|
|
8
|
-
const apiaApiSelectOptions = new ApiaApiSelectOptions();
|
|
9
|
-
const ApiaApiSelect = (props) => {
|
|
10
|
-
const element = React__default.useMemo(() => props.element, [props.element]);
|
|
11
|
-
const className = React__default.useMemo(
|
|
12
|
-
() => element.class ? `handler__select ${element.class}` : "handler__select",
|
|
13
|
-
[element.class]
|
|
14
|
-
);
|
|
15
|
-
const [options, setOptions] = React__default.useState(
|
|
16
|
-
arrayOrArray(element.options?.option).map((currOption) => {
|
|
17
|
-
return { value: currOption.value, label: currOption.content };
|
|
18
|
-
})
|
|
19
|
-
);
|
|
20
|
-
const validationRules = React__default.useMemo(
|
|
21
|
-
() => ({
|
|
22
|
-
required: element.mandatory,
|
|
23
|
-
...classToValidate(element.class)
|
|
24
|
-
}),
|
|
25
|
-
[element.class, element.mandatory]
|
|
26
|
-
);
|
|
27
|
-
React__default.useEffect(() => {
|
|
28
|
-
const unsuscribe = apiaApiSelectOptions.on("setOptions", (ev) => {
|
|
29
|
-
if (ev.fieldName === element.name) {
|
|
30
|
-
setOptions(
|
|
31
|
-
ev.options.map((currOption) => ({
|
|
32
|
-
value: currOption.value,
|
|
33
|
-
label: currOption.content
|
|
34
|
-
}))
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
return () => {
|
|
39
|
-
unsuscribe();
|
|
40
|
-
};
|
|
41
|
-
}, [element.name]);
|
|
42
|
-
const initialValue = React__default.useMemo(
|
|
43
|
-
() => options.find((current) => current.value === props.element.value)?.value ?? options[0]?.value ?? "",
|
|
44
|
-
[options, props.element.value]
|
|
45
|
-
);
|
|
46
|
-
return /* @__PURE__ */ jsx(
|
|
47
|
-
Select,
|
|
48
|
-
{
|
|
49
|
-
className,
|
|
50
|
-
name: element.id || element.name,
|
|
51
|
-
label: element.text,
|
|
52
|
-
title: element.title || element.text,
|
|
53
|
-
initialValue,
|
|
54
|
-
disabled: element.readonly || element.disabled,
|
|
55
|
-
validationRules,
|
|
56
|
-
options,
|
|
57
|
-
onChange: element.onChange
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
ApiaApiSelect.displayName = "ApiaApiSelect";
|
|
62
|
-
|
|
63
|
-
export { ApiaApiSelect, apiaApiSelectOptions };
|
|
64
|
-
//# sourceMappingURL=ApiaApiSelect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaApiSelect.js","sources":["../../src/fields/ApiaApiSelect.tsx"],"sourcesContent":["import React from 'react';\r\nimport { arrayOrArray, EventEmitter } from '@apia/util';\r\nimport { classToValidate, Select } from '@apia/validations';\r\nimport { TApiaApiField } from '../ApiaApiHandler';\r\n\r\nexport type TOption = {\r\n content: string;\r\n value: string;\r\n};\r\n\r\nclass ApiaApiSelectOptions extends EventEmitter<{\r\n setOptions: {\r\n fieldName: string;\r\n options: TOption[];\r\n };\r\n}> {}\r\n\r\nexport const apiaApiSelectOptions = new ApiaApiSelectOptions();\r\n\r\nexport const ApiaApiSelect = (props: TApiaApiField) => {\r\n const element = React.useMemo(() => props.element, [props.element]);\r\n const className = React.useMemo(\r\n () =>\r\n element.class ? `handler__select ${element.class}` : 'handler__select',\r\n [element.class],\r\n );\r\n const [options, setOptions] = React.useState<\r\n {\r\n value: string;\r\n label: string;\r\n }[]\r\n >(\r\n arrayOrArray(element.options?.option).map((currOption) => {\r\n return { value: currOption.value, label: currOption.content };\r\n }),\r\n );\r\n const validationRules = React.useMemo(\r\n () => ({\r\n required: element.mandatory,\r\n ...classToValidate(element.class),\r\n }),\r\n [element.class, element.mandatory],\r\n );\r\n\r\n React.useEffect(() => {\r\n const unsuscribe = apiaApiSelectOptions.on('setOptions', (ev) => {\r\n if (ev.fieldName === element.name) {\r\n setOptions(\r\n ev.options.map((currOption) => ({\r\n value: currOption.value,\r\n label: currOption.content,\r\n })),\r\n );\r\n }\r\n });\r\n\r\n return () => {\r\n unsuscribe();\r\n };\r\n }, [element.name]);\r\n\r\n const initialValue = React.useMemo(\r\n () =>\r\n options.find((current) => current.value === props.element.value)?.value ??\r\n options[0]?.value ??\r\n '',\r\n [options, props.element.value],\r\n );\r\n\r\n return (\r\n <Select\r\n className={className}\r\n name={element.id || element.name}\r\n label={element.text}\r\n title={element.title || element.text}\r\n initialValue={initialValue}\r\n disabled={element.readonly || element.disabled}\r\n validationRules={validationRules}\r\n options={options}\r\n onChange={element.onChange}\r\n />\r\n );\r\n};\r\n\r\nApiaApiSelect.displayName = 'ApiaApiSelect';\r\n"],"names":["React"],"mappings":";;;;;AAUA,MAAM,6BAA6B,YAKhC,CAAA;AAAC,CAAA;AAES,MAAA,oBAAA,GAAuB,IAAI,oBAAqB,GAAA;AAEhD,MAAA,aAAA,GAAgB,CAAC,KAAyB,KAAA;AACrD,EAAM,MAAA,OAAA,GAAUA,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAQ,CAAA,KAAA,GAAQ,CAAmB,gBAAA,EAAA,OAAA,CAAQ,KAAK,CAAK,CAAA,GAAA,iBAAA;AAAA,IACvD,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,cAAM,CAAA,QAAA;AAAA,IAMlC,aAAa,OAAQ,CAAA,OAAA,EAAS,MAAM,CAAE,CAAA,GAAA,CAAI,CAAC,UAAe,KAAA;AACxD,MAAA,OAAO,EAAE,KAAO,EAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,WAAW,OAAQ,EAAA,CAAA;AAAA,KAC7D,CAAA;AAAA,GACH,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,OAAO;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,MAClB,GAAG,eAAgB,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAClC,CAAA;AAAA,IACA,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AAEA,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,MAAM,UAAa,GAAA,oBAAA,CAAqB,EAAG,CAAA,YAAA,EAAc,CAAC,EAAO,KAAA;AAC/D,MAAI,IAAA,EAAA,CAAG,SAAc,KAAA,OAAA,CAAQ,IAAM,EAAA;AACjC,QAAA,UAAA;AAAA,UACE,EAAG,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,UAAgB,MAAA;AAAA,YAC9B,OAAO,UAAW,CAAA,KAAA;AAAA,YAClB,OAAO,UAAW,CAAA,OAAA;AAAA,WAClB,CAAA,CAAA;AAAA,SACJ,CAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAW,UAAA,EAAA,CAAA;AAAA,KACb,CAAA;AAAA,GACC,EAAA,CAAC,OAAQ,CAAA,IAAI,CAAC,CAAA,CAAA;AAEjB,EAAA,MAAM,eAAeA,cAAM,CAAA,OAAA;AAAA,IACzB,MACE,OAAA,CAAQ,IAAK,CAAA,CAAC,YAAY,OAAQ,CAAA,KAAA,KAAU,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAG,EAAA,KAAA,IAClE,OAAQ,CAAA,CAAC,GAAG,KACZ,IAAA,EAAA;AAAA,IACF,CAAC,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,GAC/B,CAAA;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,YAAA;AAAA,MACA,QAAA,EAAU,OAAQ,CAAA,QAAA,IAAY,OAAQ,CAAA,QAAA;AAAA,MACtC,eAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,KAAA;AAAA,GACpB,CAAA;AAEJ,EAAA;AAEA,aAAA,CAAc,WAAc,GAAA,eAAA;;;;"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import { classToValidate, classToValidationFunction, Textarea } from '@apia/validations';
|
|
3
|
-
import React__default from 'react';
|
|
4
|
-
|
|
5
|
-
const ApiaApiTextArea = (props) => {
|
|
6
|
-
const element = React__default.useMemo(() => props.element, [props.element]);
|
|
7
|
-
const className = React__default.useMemo(
|
|
8
|
-
() => element.class ? `handler__textarea ${element.class}` : "handler__textarea",
|
|
9
|
-
[element.class]
|
|
10
|
-
);
|
|
11
|
-
const validationRules = React__default.useMemo(
|
|
12
|
-
() => ({
|
|
13
|
-
required: element.mandatory,
|
|
14
|
-
maxLength: element.maxlength ? Number(element.maxlength) : void 0,
|
|
15
|
-
pattern: element.regExp,
|
|
16
|
-
patternMessage: element.regExpMessage,
|
|
17
|
-
...classToValidate(element.class)
|
|
18
|
-
}),
|
|
19
|
-
[
|
|
20
|
-
element.class,
|
|
21
|
-
element.mandatory,
|
|
22
|
-
element.maxlength,
|
|
23
|
-
element.regExp,
|
|
24
|
-
element.regExpMessage
|
|
25
|
-
]
|
|
26
|
-
);
|
|
27
|
-
const validationFunction = React__default.useMemo(
|
|
28
|
-
() => classToValidationFunction(element.class),
|
|
29
|
-
[element.class]
|
|
30
|
-
);
|
|
31
|
-
return /* @__PURE__ */ jsx(
|
|
32
|
-
Textarea,
|
|
33
|
-
{
|
|
34
|
-
className,
|
|
35
|
-
name: element.id || element.name,
|
|
36
|
-
label: element.text,
|
|
37
|
-
title: element.title || element.text,
|
|
38
|
-
value: element.value,
|
|
39
|
-
readOnly: element.readonly,
|
|
40
|
-
disabled: element.disabled,
|
|
41
|
-
validationFunction,
|
|
42
|
-
validationRules,
|
|
43
|
-
onChange: element.onChange
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
};
|
|
47
|
-
ApiaApiTextArea.displayName = "ApiaApiTextArea";
|
|
48
|
-
|
|
49
|
-
export { ApiaApiTextArea };
|
|
50
|
-
//# sourceMappingURL=ApiaApiTextArea.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaApiTextArea.js","sources":["../../src/fields/ApiaApiTextArea.tsx"],"sourcesContent":["import {\r\n classToValidate,\r\n classToValidationFunction,\r\n Textarea,\r\n} from '@apia/validations';\r\nimport React from 'react';\r\nimport { TApiaApiField } from '../ApiaApiHandler';\r\n\r\nexport const ApiaApiTextArea = (props: TApiaApiField) => {\r\n const element = React.useMemo(() => props.element, [props.element]);\r\n\r\n const className = React.useMemo(\r\n () =>\r\n element.class\r\n ? `handler__textarea ${element.class}`\r\n : 'handler__textarea',\r\n [element.class],\r\n );\r\n const validationRules = React.useMemo(\r\n () => ({\r\n required: element.mandatory,\r\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\r\n pattern: element.regExp,\r\n patternMessage: element.regExpMessage,\r\n ...classToValidate(element.class),\r\n }),\r\n [\r\n element.class,\r\n element.mandatory,\r\n element.maxlength,\r\n element.regExp,\r\n element.regExpMessage,\r\n ],\r\n );\r\n const validationFunction = React.useMemo(\r\n () => classToValidationFunction(element.class),\r\n [element.class],\r\n );\r\n\r\n return (\r\n <Textarea\r\n className={className}\r\n name={element.id || element.name}\r\n label={element.text}\r\n title={element.title || element.text}\r\n value={element.value}\r\n readOnly={element.readonly}\r\n disabled={element.disabled}\r\n validationFunction={validationFunction}\r\n validationRules={validationRules}\r\n onChange={element.onChange}\r\n />\r\n );\r\n};\r\n\r\nApiaApiTextArea.displayName = 'ApiaApiTextArea';\r\n"],"names":["React"],"mappings":";;;;AAQa,MAAA,eAAA,GAAkB,CAAC,KAAyB,KAAA;AACvD,EAAM,MAAA,OAAA,GAAUA,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAElE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAQ,CAAA,KAAA,GACJ,CAAqB,kBAAA,EAAA,OAAA,CAAQ,KAAK,CAClC,CAAA,GAAA,mBAAA;AAAA,IACN,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,OAAO;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,MAClB,WAAW,OAAQ,CAAA,SAAA,GAAY,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,KAAA,CAAA;AAAA,MAC3D,SAAS,OAAQ,CAAA,MAAA;AAAA,MACjB,gBAAgB,OAAQ,CAAA,aAAA;AAAA,MACxB,GAAG,eAAgB,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAClC,CAAA;AAAA,IACA;AAAA,MACE,OAAQ,CAAA,KAAA;AAAA,MACR,OAAQ,CAAA,SAAA;AAAA,MACR,OAAQ,CAAA,SAAA;AAAA,MACR,OAAQ,CAAA,MAAA;AAAA,MACR,OAAQ,CAAA,aAAA;AAAA,KACV;AAAA,GACF,CAAA;AACA,EAAA,MAAM,qBAAqBA,cAAM,CAAA,OAAA;AAAA,IAC/B,MAAM,yBAA0B,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IAC7C,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,OAAO,OAAQ,CAAA,KAAA;AAAA,MACf,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,KAAA;AAAA,GACpB,CAAA;AAEJ,EAAA;AAEA,eAAA,CAAgB,WAAc,GAAA,iBAAA;;;;"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
-
import QueryString from 'qs';
|
|
3
|
-
import { TNotificationMessage } from '@apia/notifications';
|
|
4
|
-
import { IModalConfig, THandleConfiguration } from './ApiaApiHandler.js';
|
|
5
|
-
import { TApiaApiAxiosResponse } from './apiaApi.js';
|
|
6
|
-
import { TApiaLoad } from '@apia/util';
|
|
7
|
-
import { TModal } from '@apia/components';
|
|
8
|
-
|
|
9
|
-
interface TColors {
|
|
10
|
-
exception?: string;
|
|
11
|
-
alert?: string;
|
|
12
|
-
message?: string;
|
|
13
|
-
}
|
|
14
|
-
type TApiaApiResult<LoadType> = Promise<TApiaApiAxiosResponse<(LoadType & TNotificationMessage) | null> | null>;
|
|
15
|
-
interface IApiaApiConsoleConfig {
|
|
16
|
-
colors?: TColors;
|
|
17
|
-
debug?: boolean;
|
|
18
|
-
}
|
|
19
|
-
type TSetModalProps = (configuration: THandleConfiguration, formDefinition?: TApiaLoad) => TModal | null;
|
|
20
|
-
interface IApiaApiRequestConfig<DataType> extends IApiaApiConsoleConfig {
|
|
21
|
-
axiosConfig?: AxiosRequestConfig;
|
|
22
|
-
modalConfiguration?: IModalConfig;
|
|
23
|
-
handleLoad?: boolean;
|
|
24
|
-
setModalProps?: TSetModalProps;
|
|
25
|
-
/**
|
|
26
|
-
* Algunas veces las funciones llamadas por una acción en el servidor
|
|
27
|
-
* tienen el mismo nombre siendo en realidad funciones distintas. Para
|
|
28
|
-
* corregir este problema es posible pasar un path relativo al directorio
|
|
29
|
-
* apiaApi/methods
|
|
30
|
-
*/
|
|
31
|
-
methodsPath?: string;
|
|
32
|
-
notificationsCategory?: string;
|
|
33
|
-
queryData?: string | Record<string, unknown>;
|
|
34
|
-
stringifyOptions?: QueryString.IStringifyOptions;
|
|
35
|
-
validateResponse?: (response: AxiosResponse<DataType | null>) => Promise<boolean | string> | boolean | string;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export type { IApiaApiConsoleConfig, IApiaApiRequestConfig, TApiaApiResult, TColors, TSetModalProps };
|
|
39
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|