@apia/api 3.0.1 → 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';\nimport {\n classToValidate,\n classToValidationFunction,\n Input,\n} from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\ndeclare global {\n interface Window {\n SALT: string;\n IV: string;\n PASSPHRASE: string;\n KEY_SIZE: number;\n ITERATION_COUNT: string;\n }\n}\n\n/**\n * Permite cargar en forma asíncrona un modal que se encuentre dentro del\n * directorio /api/modals\n * */\nexport const getModal = (path: string) => {\n return React.lazy<React.ComponentType<TApiaApiField>>(() => {\n return new Promise<{\n default: React.ComponentType<TApiaApiField>;\n }>((resolve) => {\n import(\n /* webpackChunkName: \"handlerModal\" */\n /* webpackInclude: /\\.tsx?$/ */\n `/api/modals/${path}`\n )\n .then((result: unknown) => {\n resolve(\n result as {\n default: React.ComponentType<TApiaApiField>;\n },\n );\n })\n .catch((error: unknown) => {\n resolve({\n default: () => {\n console.error(error);\n throw new Error(\n `The above error ocurred at component ApiaApiHandler/${path}, does it exist?`,\n );\n },\n });\n });\n });\n });\n};\n\nexport const ApiaApiInput = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n\n const [Submodal, setSubmodal] = React.useState<React.LazyExoticComponent<\n React.ComponentType<TApiaApiField>\n > | null>(null);\n\n useMount(() => {\n if (element.modalFunction) {\n const found = element.modalFunction.match(/(?:fnc)?(\\w+)\\(?\\)?$/);\n if (found) {\n const modalName = found[found.length - 1];\n setSubmodal(getModal(modalName));\n }\n }\n });\n\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__${element.type} ${element.class}`\n : `handler__${element.type}`,\n [element.class, element.type],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\n pattern: element.regExp,\n patternMessage: element.regExpMessage,\n ...classToValidate(element.class),\n }),\n [\n element.class,\n element.mandatory,\n element.maxlength,\n element.regExp,\n element.regExpMessage,\n ],\n );\n const validationFunction = React.useMemo(\n () => classToValidationFunction(element.class),\n [element.class],\n );\n const submitValueParser = React.useCallback(\n (value: string) => {\n if (element.type === 'password') {\n return encrypt(\n window.SALT,\n window.IV,\n window.PASSPHRASE,\n value,\n Number(window.KEY_SIZE),\n Number(window.ITERATION_COUNT),\n );\n }\n return value;\n },\n [element.type],\n );\n\n if (element.modalFunction) {\n if (Submodal) {\n return (\n <React.Suspense>\n <Submodal {...props} element={element} />\n </React.Suspense>\n );\n }\n return null;\n }\n\n return (\n <Input\n type={element.isADate ? 'date' : element.type}\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationFunction={validationFunction}\n validationRules={validationRules}\n submitValueParser={submitValueParser}\n onChange={element.onChange}\n autoComplete={element.type === 'password' ? 'new-password' : undefined}\n />\n );\n};\n\nApiaApiInput.displayName = 'ApiaApiInput';\n"],"names":["React"],"mappings":";;;;;AAuBa,MAAA,QAAA,GAAW,CAAC,IAAiB,KAAA;AACxC,EAAO,OAAAA,cAAA,CAAM,KAAyC,MAAM;AAC1D,IAAO,OAAA,IAAI,OAER,CAAA,CAAC,OAAY,KAAA;AACd,MAAA;AAAA;AAAA;AAAA,QAGE,eAAe,IAAI,CAAA,CAAA;AAAA,OAElB,CAAA,IAAA,CAAK,CAAC,MAAoB,KAAA;AACzB,QAAA,OAAA;AAAA,UACE,MAAA;AAAA,SAGF,CAAA;AAAA,OACD,CAAA,CACA,KAAM,CAAA,CAAC,KAAmB,KAAA;AACzB,QAAQ,OAAA,CAAA;AAAA,UACN,SAAS,MAAM;AACb,YAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AACnB,YAAA,MAAM,IAAI,KAAA;AAAA,cACR,uDAAuD,IAAI,CAAA,gBAAA,CAAA;AAAA,aAC7D,CAAA;AAAA,WACF;AAAA,SACD,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACH,EAAA;AAEa,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;AAElE,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAAA,cAAA,CAAM,SAE5B,IAAI,CAAA,CAAA;AAEd,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,OAAA,CAAQ,aAAc,CAAA,KAAA,CAAM,sBAAsB,CAAA,CAAA;AAChE,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,MAAM,SAAY,GAAA,KAAA,CAAM,KAAM,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AACxC,QAAY,WAAA,CAAA,QAAA,CAAS,SAAS,CAAC,CAAA,CAAA;AAAA,OACjC;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAA,CAAQ,KACJ,GAAA,CAAA,SAAA,EAAY,OAAQ,CAAA,IAAI,CAAI,CAAA,EAAA,OAAA,CAAQ,KAAK,CAAA,CAAA,GACzC,CAAY,SAAA,EAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,IAC9B,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,GAC9B,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;AACA,EAAA,MAAM,oBAAoBA,cAAM,CAAA,WAAA;AAAA,IAC9B,CAAC,KAAkB,KAAA;AACjB,MAAI,IAAA,OAAA,CAAQ,SAAS,UAAY,EAAA;AAC/B,QAAO,OAAA,OAAA;AAAA,UACL,MAAO,CAAA,IAAA;AAAA,UACP,MAAO,CAAA,EAAA;AAAA,UACP,MAAO,CAAA,UAAA;AAAA,UACP,KAAA;AAAA,UACA,MAAA,CAAO,OAAO,QAAQ,CAAA;AAAA,UACtB,MAAA,CAAO,OAAO,eAAe,CAAA;AAAA,SAC/B,CAAA;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,QAAQ,IAAI,CAAA;AAAA,GACf,CAAA;AAEA,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAA,IAAI,QAAU,EAAA;AACZ,MACE,uBAAA,GAAA,CAACA,eAAM,QAAN,EAAA,EACC,8BAAC,QAAU,EAAA,EAAA,GAAG,KAAO,EAAA,OAAA,EAAkB,CACzC,EAAA,CAAA,CAAA;AAAA,KAEJ;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAM,EAAA,OAAA,CAAQ,OAAU,GAAA,MAAA,GAAS,OAAQ,CAAA,IAAA;AAAA,MACzC,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,iBAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,YAAc,EAAA,OAAA,CAAQ,IAAS,KAAA,UAAA,GAAa,cAAiB,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GAC/D,CAAA;AAEJ,EAAA;AAEA,YAAA,CAAa,WAAc,GAAA,cAAA;;;;"}
@@ -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';\nimport { classToValidate, Radio } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiRadio = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__radio ${element.class}` : 'handler__radio',\n [element.class],\n );\n const options = React.useMemo(\n () =>\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n [element.options?.option],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n return (\n <Radio\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={element.value}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiRadio.displayName = 'ApiaApiRadio';\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';\nimport { arrayOrArray, EventEmitter } from '@apia/util';\nimport { classToValidate, Select } from '@apia/validations';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport type TOption = {\n content: string;\n value: string;\n};\n\nclass ApiaApiSelectOptions extends EventEmitter<{\n setOptions: {\n fieldName: string;\n options: TOption[];\n };\n}> {}\n\nexport const apiaApiSelectOptions = new ApiaApiSelectOptions();\n\nexport const ApiaApiSelect = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__select ${element.class}` : 'handler__select',\n [element.class],\n );\n const [options, setOptions] = React.useState<\n {\n value: string;\n label: string;\n }[]\n >(\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n\n React.useEffect(() => {\n const unsuscribe = apiaApiSelectOptions.on('setOptions', (ev) => {\n if (ev.fieldName === element.name) {\n setOptions(\n ev.options.map((currOption) => ({\n value: currOption.value,\n label: currOption.content,\n })),\n );\n }\n });\n\n return () => {\n unsuscribe();\n };\n }, [element.name]);\n\n const initialValue = React.useMemo(\n () =>\n options.find((current) => current.value === props.element.value)?.value ??\n options[0]?.value ??\n '',\n [options, props.element.value],\n );\n\n return (\n <Select\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={initialValue}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiSelect.displayName = 'ApiaApiSelect';\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 {\n classToValidate,\n classToValidationFunction,\n Textarea,\n} from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiTextArea = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__textarea ${element.class}`\n : 'handler__textarea',\n [element.class],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\n pattern: element.regExp,\n patternMessage: element.regExpMessage,\n ...classToValidate(element.class),\n }),\n [\n element.class,\n element.mandatory,\n element.maxlength,\n element.regExp,\n element.regExpMessage,\n ],\n );\n const validationFunction = React.useMemo(\n () => classToValidationFunction(element.class),\n [element.class],\n );\n\n return (\n <Textarea\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationFunction={validationFunction}\n validationRules={validationRules}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiTextArea.displayName = 'ApiaApiTextArea';\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":""}