@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.
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}