@ssplib/react-components 0.0.295 → 0.0.296

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.
Files changed (139) hide show
  1. package/components/detalhes/Category.d.ts +1 -0
  2. package/components/detalhes/Category.js +14 -0
  3. package/components/detalhes/Field.d.ts +1 -0
  4. package/components/detalhes/Field.js +42 -0
  5. package/components/detalhes/FieldLabel.d.ts +1 -0
  6. package/components/detalhes/FieldLabel.js +28 -0
  7. package/components/detalhes/File.d.ts +1 -0
  8. package/components/detalhes/File.js +62 -0
  9. package/components/form/checkbox/CheckBox.js +18 -0
  10. package/components/form/checkbox/CheckBoxAdditional.d.ts +1 -0
  11. package/components/form/checkbox/CheckBoxAdditional.js +95 -0
  12. package/components/form/checkbox/CheckBoxWarning.js +43 -0
  13. package/components/form/checkbox/RequiredCheckBoxValidator.d.ts +1 -0
  14. package/components/form/checkbox/RequiredCheckBoxValidator.js +85 -0
  15. package/components/form/date/DatePicker.d.ts +1 -0
  16. package/components/form/date/DatePicker.js +105 -0
  17. package/components/form/date/GenericDatePicker.d.ts +1 -0
  18. package/components/form/date/GenericDatePicker.js +105 -0
  19. package/components/form/date/TimePicker.d.ts +1 -0
  20. package/components/form/date/TimePicker.js +82 -0
  21. package/components/form/file/DropFileUpload.d.ts +1 -0
  22. package/components/form/file/DropFileUpload.js +226 -0
  23. package/components/form/file/FileUpload.d.ts +1 -0
  24. package/components/form/file/FileUpload.js +200 -0
  25. package/components/form/input/ActiveInput.js +33 -0
  26. package/components/form/input/AutoComplete.d.ts +1 -0
  27. package/components/form/input/AutoComplete.js +69 -0
  28. package/components/form/input/FetchAutoComplete.d.ts +1 -0
  29. package/components/form/input/FetchAutoComplete.js +134 -0
  30. package/components/form/input/FixedAutoComplete.d.ts +1 -0
  31. package/components/form/input/FixedAutoComplete.js +83 -0
  32. package/components/form/input/GenericFetchAutoComplete.d.ts +1 -0
  33. package/components/form/input/GenericFetchAutoComplete.js +132 -0
  34. package/components/form/input/GenericInput.js +168 -0
  35. package/components/form/input/GenericMaskInput.js +79 -0
  36. package/components/form/input/GenericMultInput.d.ts +1 -0
  37. package/components/form/input/GenericMultInput.js +67 -0
  38. package/components/form/input/Input.js +168 -0
  39. package/components/form/input/MaskInput.js +78 -0
  40. package/components/form/input/MultInput.d.ts +1 -0
  41. package/components/form/input/MultInput.js +67 -0
  42. package/components/form/input/OtherCheckBox.d.ts +1 -0
  43. package/components/form/input/OtherCheckBox.js +56 -0
  44. package/components/form/stepper/Stepper.js +135 -0
  45. package/components/form/stepper/StepperBlock.js +97 -0
  46. package/components/form/switch/Switch.js +54 -0
  47. package/components/form/switch/ToggleVisibility.d.ts +1 -0
  48. package/components/form/switch/ToggleVisibility.js +61 -0
  49. package/components/form/table/FilterSection.d.ts +1 -0
  50. package/components/form/table/FilterSection.js +217 -0
  51. package/components/form/table/GenericTable.js +1034 -0
  52. package/components/form/table/Table.js +514 -0
  53. package/components/form/table/TableErrorState.js +27 -0
  54. package/components/form/table/TableLoadingState.d.ts +1 -0
  55. package/components/form/table/TableLoadingState.js +39 -0
  56. package/components/form/table/types.js +2 -0
  57. package/components/form/table/utils.d.ts +1 -0
  58. package/components/form/table/utils.js +361 -0
  59. package/components/icons/icons.d.ts +1 -0
  60. package/components/icons/icons.js +24 -0
  61. package/components/map/AnimatedMarker.js +65 -0
  62. package/components/map/DraggableMarker.js +66 -0
  63. package/components/map/Map.js +23 -0
  64. package/components/map/index.d.ts +1 -0
  65. package/components/map/index.js +31 -0
  66. package/components/modal/Modal.d.ts +1 -0
  67. package/components/modal/Modal.js +105 -0
  68. package/components/navbar/NavBar.d.ts +1 -0
  69. package/components/navbar/NavBar.js +171 -0
  70. package/components/navbar/TabNavBar.d.ts +1 -0
  71. package/components/navbar/TabNavBar.js +179 -0
  72. package/components/providers/FormProvider.js +54 -0
  73. package/components/providers/KeycloakAuthProvider.d.ts +1 -0
  74. package/components/providers/KeycloakAuthProvider.js +118 -0
  75. package/components/providers/OAuthProvider.d.ts +1 -0
  76. package/components/providers/OAuthProvider.js +138 -0
  77. package/components/providers/SspComponentsProvider.d.ts +1 -0
  78. package/components/providers/SspComponentsProvider.js +18 -0
  79. package/components/utils/Bt.d.ts +1 -0
  80. package/components/utils/Bt.js +35 -0
  81. package/components/utils/CustomMenu.js +39 -0
  82. package/context/auth.d.ts +1 -0
  83. package/context/auth.js +5 -0
  84. package/context/form.js +5 -0
  85. package/index.d.ts +18 -18
  86. package/index.js +94 -0
  87. package/package.json +1 -1
  88. package/types/auth.js +2 -0
  89. package/types/form.js +31 -0
  90. package/Map-31d95a26.js +0 -2
  91. package/Map-31d95a26.js.map +0 -1
  92. package/Map-644d2f90.js +0 -2
  93. package/Map-644d2f90.js.map +0 -1
  94. package/components/form/input/OptionalInput.d.ts +0 -10
  95. package/components/loading/LinearProgress.d.ts +0 -2
  96. package/components/loading/LoadingScreen.d.ts +0 -7
  97. package/components/providers/GenericFormProvider.d.ts +0 -10
  98. package/components/teste/Teste.d.ts +0 -3
  99. package/decorators/FormBaseDecorator.d.ts +0 -2
  100. package/decorators/GenericFormBaseDecorator.d.ts +0 -2
  101. package/decorators/StepperDecorator.d.ts +0 -2
  102. package/index.cjs +0 -3
  103. package/index.cjs.map +0 -1
  104. package/index.esm.js +0 -3
  105. package/index.esm.js.map +0 -1
  106. package/stories/Autocomplete.stories.d.ts +0 -6
  107. package/stories/CheckBox.stories.d.ts +0 -6
  108. package/stories/CheckBoxWarning.stories.d.ts +0 -6
  109. package/stories/DatePicker.stories.d.ts +0 -6
  110. package/stories/DetalhesCategory.stories.d.ts +0 -6
  111. package/stories/DetalhesField.stories.d.ts +0 -6
  112. package/stories/DetalhesFieldLabel.stories.d.ts +0 -6
  113. package/stories/DetalhesFile.stories.d.ts +0 -6
  114. package/stories/DropFileUpload.stories.d.ts +0 -6
  115. package/stories/ExemploAssitirValorInput.stories.d.ts +0 -7
  116. package/stories/ExemploInputs.stories.d.ts +0 -7
  117. package/stories/ExemploTable.stories.d.ts +0 -1
  118. package/stories/ExemploValoresCompartilhados.stories.d.ts +0 -7
  119. package/stories/FetchAutocomplete.stories.d.ts +0 -6
  120. package/stories/FileUpload.stories.d.ts +0 -6
  121. package/stories/FixedAutocomplete.stories.d.ts +0 -6
  122. package/stories/GenericFetchAutocomplete.stories.d.ts +0 -6
  123. package/stories/GenericInput.stories.d.ts +0 -6
  124. package/stories/GenericTable.stories.d.ts +0 -6
  125. package/stories/Input.stories.d.ts +0 -6
  126. package/stories/LinearProgress.stories.d.ts +0 -6
  127. package/stories/LoadingScreen.stories.d.ts +0 -6
  128. package/stories/Map.stories.d.ts +0 -6
  129. package/stories/MultInput.stories.d.ts +0 -6
  130. package/stories/NavBar.stories.d.ts +0 -6
  131. package/stories/OptionalInput.stories.d.ts +0 -6
  132. package/stories/OtherCheckBox.stories.d.ts +0 -6
  133. package/stories/Stepper.stories.d.ts +0 -6
  134. package/stories/StepperBlock.stories.d.ts +0 -6
  135. package/stories/Switch.stories.d.ts +0 -6
  136. package/stories/Table.stories.d.ts +0 -4
  137. package/stories/TableWithStaticData.stories.d.ts +0 -6
  138. package/stories/Teste.stories.d.ts +0 -6
  139. package/stories/TimePicker.stories.d.ts +0 -6
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const material_1 = require("@mui/material");
18
+ const InputLabel_1 = __importDefault(require("@mui/material/InputLabel"));
19
+ const react_1 = __importDefault(require("react"));
20
+ const Switch_1 = __importDefault(require("../switch/Switch"));
21
+ const ToggleVisibility_1 = require("../switch/ToggleVisibility");
22
+ const Input_1 = require("./Input");
23
+ function FileUpload(_a) {
24
+ var { name, required = false, title, defaultChecked = false, xs = 12, unregisterNameList, sm, md } = _a, props = __rest(_a, ["name", "required", "title", "defaultChecked", "xs", "unregisterNameList", "sm", "md"]);
25
+ const switchName = `${name}-switch`;
26
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
27
+ title && (react_1.default.createElement(InputLabel_1.default, { required: required, sx: { textTransform: 'capitalize' } }, title)),
28
+ react_1.default.createElement(material_1.Stack, { direction: 'row' },
29
+ react_1.default.createElement(Switch_1.default, { name: switchName, defaultChecked: defaultChecked }),
30
+ react_1.default.createElement(ToggleVisibility_1.SwitchWatch, { switchId: switchName, unregisterNameList: unregisterNameList },
31
+ react_1.default.createElement(Input_1.Input, { name: 'ddd', type: 'input' })))));
32
+ }
33
+ exports.default = FileUpload;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export default function AutoComplete({ name, required, title, customPlaceholder, url, xs, sm, md, dataPath, }: {
2
3
  url: string;
3
4
  name: string;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const material_1 = require("@mui/material");
30
+ const InputLabel_1 = __importDefault(require("@mui/material/InputLabel"));
31
+ const lodash_get_1 = __importDefault(require("lodash.get"));
32
+ const react_1 = __importStar(require("react"));
33
+ const react_query_1 = require("react-query");
34
+ const auth_1 = require("../../../context/auth");
35
+ const form_1 = require("../../../context/form");
36
+ function AutoComplete({ name, required = false, title, customPlaceholder, url, xs = 12, sm, md, dataPath = '', }) {
37
+ const context = (0, react_1.useContext)(form_1.FormContext);
38
+ const { user } = (0, react_1.useContext)(auth_1.AuthContext);
39
+ const [options, setOptions] = (0, react_1.useState)([]);
40
+ const { isLoading, data, error } = (0, react_query_1.useQuery)(`autocomplete-${name}`, () => fetch(url, {
41
+ headers: {
42
+ Authorization: `Bearer ${user ? user.token : ''}`,
43
+ },
44
+ }).then((x) => x.json().then((list) => setOptions(getData(list)))));
45
+ // transformar isso em um component ou utils
46
+ const getData = (0, react_1.useCallback)((dt) => {
47
+ if (Array.isArray(dt))
48
+ return dt;
49
+ if (typeof dt === 'object')
50
+ return (0, lodash_get_1.default)(dt, dataPath);
51
+ }, []);
52
+ const onSelect = (0, react_1.useCallback)((e, value) => {
53
+ context === null || context === void 0 ? void 0 : context.formSetValue(name, value ? value.id : '');
54
+ context === null || context === void 0 ? void 0 : context.formTrigger(name);
55
+ }, [context, name]);
56
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
57
+ title && react_1.default.createElement(InputLabel_1.default, { required: required }, title),
58
+ react_1.default.createElement("input", Object.assign({ type: 'text' }, context === null || context === void 0 ? void 0 : context.formRegister(name, {
59
+ validate: (v, f) => {
60
+ if (v.length <= 0 && required)
61
+ return 'Este campo é obrigatório';
62
+ },
63
+ }), { hidden: true })),
64
+ react_1.default.createElement(material_1.Autocomplete, { options: options, isOptionEqualToValue: (option, value) => option.id === value.id, onChange: onSelect, renderInput: (params) => {
65
+ var _a;
66
+ return (react_1.default.createElement(material_1.TextField, Object.assign({}, params, { placeholder: customPlaceholder, size: 'small', error: (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name) ? true : false, helperText: (_a = (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name)) === null || _a === void 0 ? void 0 : _a.message })));
67
+ } })));
68
+ }
69
+ exports.default = AutoComplete;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export default function FetchAutoComplete({ name, url, title, customLoadingText, shouldRefetch, required, defaultValue, route, onChange, xs, sm, watchValue, md, disabled, }: {
2
3
  name: string;
3
4
  url: string;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const material_1 = require("@mui/material");
30
+ const lodash_get_1 = __importDefault(require("lodash.get"));
31
+ const react_1 = __importStar(require("react"));
32
+ const auth_1 = require("../../../context/auth");
33
+ const form_1 = require("../../../context/form");
34
+ let useDefault = true;
35
+ function FetchAutoComplete({ name, url, title, customLoadingText, shouldRefetch = true, required = false, defaultValue, route = '', onChange = () => { }, xs = 12, sm, watchValue, md, disabled = false, }) {
36
+ const context = (0, react_1.useContext)(form_1.FormContext);
37
+ const [loading, setLoading] = (0, react_1.useState)(true);
38
+ const [list, setList] = (0, react_1.useState)([]);
39
+ const [loadingText, setLoadingText] = (0, react_1.useState)('Carregando...');
40
+ const [dValue, setDValue] = (0, react_1.useState)(null);
41
+ const [value, setValue] = (0, react_1.useState)(null);
42
+ const { user } = (0, react_1.useContext)(auth_1.AuthContext);
43
+ (0, react_1.useEffect)(() => {
44
+ if (defaultValue) {
45
+ fetch(url, {
46
+ method: 'GET',
47
+ headers: {
48
+ Authorization: `Bearer ${user === null || user === void 0 ? void 0 : user.token}`,
49
+ },
50
+ }).then((res) => {
51
+ if (res.ok) {
52
+ console.log('llll');
53
+ res.json().then((j) => {
54
+ let value = (0, lodash_get_1.default)(j, route, j).filter((x) => x.id === defaultValue);
55
+ if (value.length > 0) {
56
+ setList((0, lodash_get_1.default)(j, route, j));
57
+ setLoading(false);
58
+ context.formSetValue(name, defaultValue);
59
+ setDValue(value[0]);
60
+ }
61
+ else {
62
+ setLoadingText('Erro ao carregar dados. Valor inválido');
63
+ }
64
+ });
65
+ }
66
+ else {
67
+ setLoadingText('Erro ao carregar dados');
68
+ }
69
+ });
70
+ }
71
+ }, []);
72
+ (0, react_1.useEffect)(() => {
73
+ if (watchValue && useDefault) {
74
+ setValue(watchValue);
75
+ context.formSetValue(name, watchValue.id);
76
+ onChange(watchValue.id);
77
+ }
78
+ }, [watchValue]);
79
+ function onFocus() {
80
+ if ((defaultValue || !shouldRefetch) && list.length > 0)
81
+ return;
82
+ setLoading(true);
83
+ setList([]);
84
+ customLoadingText && setLoadingText(customLoadingText);
85
+ fetch(url, {
86
+ method: 'GET',
87
+ headers: {
88
+ Authorization: `Bearer ${user === null || user === void 0 ? void 0 : user.token}`,
89
+ },
90
+ }).then((res) => {
91
+ if (res.ok) {
92
+ res.json().then((j) => {
93
+ setList((0, lodash_get_1.default)(j, route, j));
94
+ setLoading(false);
95
+ });
96
+ }
97
+ else {
98
+ setLoadingText('Erro ao carregar dados');
99
+ }
100
+ });
101
+ }
102
+ function handleAutoCompleteChange(value) {
103
+ useDefault = false;
104
+ if (value) {
105
+ setValue(value);
106
+ context.formSetValue(name, value.id);
107
+ onChange(value.id);
108
+ return;
109
+ }
110
+ setValue(null);
111
+ context.formSetValue(name, '');
112
+ onChange(undefined);
113
+ }
114
+ if (defaultValue && list.length <= 0 && !dValue)
115
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
116
+ react_1.default.createElement(material_1.TextField, { size: 'small', fullWidth: true, placeholder: loadingText, disabled: true })));
117
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
118
+ title && react_1.default.createElement(material_1.InputLabel, { required: required }, title),
119
+ react_1.default.createElement("input", Object.assign({ type: 'text' }, context === null || context === void 0 ? void 0 : context.formRegister(name, {
120
+ validate: (v, f) => {
121
+ if (!v)
122
+ return 'Este campo é obrigatório';
123
+ if (v.length <= 0 && required)
124
+ return 'Este campo é obrigatório';
125
+ },
126
+ }), { hidden: true })),
127
+ react_1.default.createElement(material_1.Autocomplete, { value: value, loading: loading, loadingText: loadingText, options: list, defaultValue: dValue, getOptionDisabled: (option) => { var _a; return (_a = option === null || option === void 0 ? void 0 : option.disabled) !== null && _a !== void 0 ? _a : false; }, isOptionEqualToValue: (op, value) => op.id === value.id, onChange: (e, v) => handleAutoCompleteChange(v), renderInput: (params) => {
128
+ var _a;
129
+ return (react_1.default.createElement(material_1.TextField, Object.assign({}, params, { size: 'small', fullWidth: true, placeholder: title, onFocus: onFocus, error: (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name) ? true : false, helperText: (_a = (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name)) === null || _a === void 0 ? void 0 : _a.message })));
130
+ }, sx: {
131
+ bgcolor: 'white',
132
+ }, size: 'small', fullWidth: true, disabled: disabled })));
133
+ }
134
+ exports.default = FetchAutoComplete;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare function FixedAutoComplete({ name, title, required, list, defaultValue, onChange, xs, sm, watchValue, forceUpdate, md, }: {
2
3
  name: string;
3
4
  title: string;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.FixedAutoComplete = void 0;
30
+ const material_1 = require("@mui/material");
31
+ const lodash_get_1 = __importDefault(require("lodash.get"));
32
+ const react_1 = __importStar(require("react"));
33
+ const form_1 = require("../../../context/form");
34
+ let useDefault = true;
35
+ function FixedAutoComplete({ name, title, required = false, list, defaultValue, onChange = () => { }, xs = 12, sm, watchValue, forceUpdate = false, md, }) {
36
+ const context = (0, react_1.useContext)(form_1.FormContext);
37
+ const [value, setValue] = (0, react_1.useState)(null);
38
+ (0, react_1.useEffect)(() => {
39
+ if (defaultValue)
40
+ context === null || context === void 0 ? void 0 : context.formSetValue(name, defaultValue.id);
41
+ }, []);
42
+ (0, react_1.useEffect)(() => {
43
+ if (watchValue && (useDefault || forceUpdate)) {
44
+ setValue(watchValue);
45
+ context.formSetValue(name, watchValue.id);
46
+ onChange(watchValue.id);
47
+ }
48
+ else if (watchValue === undefined && (useDefault || forceUpdate)) {
49
+ setValue(null);
50
+ context.formSetValue(name, undefined);
51
+ onChange(undefined);
52
+ }
53
+ }, [watchValue]);
54
+ function handleAutoCompleteChange(value) {
55
+ useDefault = false;
56
+ if (value) {
57
+ setValue(value);
58
+ context.formSetValue(name, value.id);
59
+ onChange(value.id);
60
+ return;
61
+ }
62
+ setValue(null);
63
+ context.formSetValue(name, '');
64
+ onChange(undefined);
65
+ }
66
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
67
+ title && react_1.default.createElement(material_1.InputLabel, { required: required }, title),
68
+ react_1.default.createElement("input", Object.assign({ type: 'text' }, context === null || context === void 0 ? void 0 : context.formRegister(name, {
69
+ validate: (v, f) => {
70
+ if (!v)
71
+ return 'Este campo é obrigatório';
72
+ if ((v === null || v === void 0 ? void 0 : v.length) <= 0 && required)
73
+ return 'Este campo é obrigatório';
74
+ },
75
+ }), { hidden: true })),
76
+ react_1.default.createElement(material_1.Autocomplete, { value: value, options: list, defaultValue: defaultValue, getOptionLabel: (option) => (option.label ? option.label.toString() : 'Não Encontrado'), isOptionEqualToValue: (op, value) => op.id === value.id, onChange: (e, v) => handleAutoCompleteChange(v), renderInput: (params) => {
77
+ var _a;
78
+ return (react_1.default.createElement(material_1.TextField, Object.assign({}, params, { size: 'small', fullWidth: true, placeholder: title, error: (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name) ? true : false, helperText: (_a = (0, lodash_get_1.default)(context === null || context === void 0 ? void 0 : context.errors, name)) === null || _a === void 0 ? void 0 : _a.message })));
79
+ }, size: 'small', sx: {
80
+ bgcolor: 'white',
81
+ }, fullWidth: true })));
82
+ }
83
+ exports.FixedAutoComplete = FixedAutoComplete;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export default function GenericFetchAutoComplete({ name, url, title, customLoadingText, shouldRefetch, required, defaultValue, route, onChange, xs, sm, watchValue, md, disabled, }: {
2
3
  name: string;
3
4
  url: string;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const material_1 = require("@mui/material");
30
+ const lodash_get_1 = __importDefault(require("lodash.get"));
31
+ const react_1 = __importStar(require("react"));
32
+ const auth_1 = require("../../../context/auth");
33
+ const react_hook_form_1 = require("react-hook-form");
34
+ let useDefault = true;
35
+ function GenericFetchAutoComplete({ name, url, title, customLoadingText, shouldRefetch = true, required = false, defaultValue, route = '', onChange = () => { }, xs = 12, sm, watchValue, md, disabled = false, }) {
36
+ const context = (0, react_hook_form_1.useFormContext)();
37
+ const [loading, setLoading] = (0, react_1.useState)(true);
38
+ const [list, setList] = (0, react_1.useState)([]);
39
+ const [loadingText, setLoadingText] = (0, react_1.useState)('Carregando...');
40
+ const [dValue, setDValue] = (0, react_1.useState)(null);
41
+ const [value, setValue] = (0, react_1.useState)(null);
42
+ const { user } = (0, react_1.useContext)(auth_1.AuthContext);
43
+ (0, react_1.useEffect)(() => {
44
+ if (defaultValue) {
45
+ fetch(url, {
46
+ method: 'GET',
47
+ headers: {
48
+ Authorization: `Bearer ${user === null || user === void 0 ? void 0 : user.token}`,
49
+ },
50
+ }).then((res) => {
51
+ if (res.ok) {
52
+ console.log('llll');
53
+ res.json().then((j) => {
54
+ let value = (0, lodash_get_1.default)(j, route, j).filter((x) => x.id === defaultValue);
55
+ if (value.length > 0) {
56
+ setList((0, lodash_get_1.default)(j, route, j));
57
+ setLoading(false);
58
+ context.setValue(name, defaultValue);
59
+ setDValue(value[0]);
60
+ }
61
+ else {
62
+ setLoadingText('Erro ao carregar dados. Valor inválido');
63
+ }
64
+ });
65
+ }
66
+ else {
67
+ setLoadingText('Erro ao carregar dados');
68
+ }
69
+ });
70
+ }
71
+ }, []);
72
+ (0, react_1.useEffect)(() => {
73
+ if (watchValue && useDefault) {
74
+ setValue(watchValue);
75
+ context.setValue(name, watchValue.id);
76
+ onChange(watchValue.id);
77
+ }
78
+ }, [watchValue]);
79
+ function onFocus() {
80
+ if ((defaultValue || !shouldRefetch) && list.length > 0)
81
+ return;
82
+ setLoading(true);
83
+ setList([]);
84
+ customLoadingText && setLoadingText(customLoadingText);
85
+ fetch(url, {
86
+ method: 'GET',
87
+ headers: {
88
+ Authorization: `Bearer ${user === null || user === void 0 ? void 0 : user.token}`,
89
+ },
90
+ }).then((res) => {
91
+ if (res.ok) {
92
+ res.json().then((j) => {
93
+ setList((0, lodash_get_1.default)(j, route, j));
94
+ setLoading(false);
95
+ });
96
+ }
97
+ else {
98
+ setLoadingText('Erro ao carregar dados');
99
+ }
100
+ });
101
+ }
102
+ function handleAutoCompleteChange(value) {
103
+ useDefault = false;
104
+ if (value) {
105
+ setValue(value);
106
+ context.setValue(name, value.id);
107
+ onChange(value.id);
108
+ return;
109
+ }
110
+ setValue(null);
111
+ context.setValue(name, '');
112
+ onChange(undefined);
113
+ }
114
+ if (defaultValue && list.length <= 0 && !dValue)
115
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
116
+ react_1.default.createElement(material_1.TextField, { size: 'small', fullWidth: true, placeholder: loadingText, disabled: true })));
117
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
118
+ title && react_1.default.createElement(material_1.InputLabel, { required: required }, title),
119
+ react_1.default.createElement("input", Object.assign({ type: 'text' }, context === null || context === void 0 ? void 0 : context.register(name, {
120
+ validate: (v, f) => {
121
+ if (v.length <= 0 && required)
122
+ return 'Este campo é obrigatório';
123
+ },
124
+ }), { hidden: true })),
125
+ react_1.default.createElement(material_1.Autocomplete, { value: value, loading: loading, loadingText: loadingText, options: list, defaultValue: dValue, getOptionDisabled: (option) => { var _a; return (_a = option === null || option === void 0 ? void 0 : option.disabled) !== null && _a !== void 0 ? _a : false; }, isOptionEqualToValue: (op, value) => op.id === value.id, onChange: (e, v) => handleAutoCompleteChange(v), renderInput: (params) => {
126
+ var _a;
127
+ return (react_1.default.createElement(material_1.TextField, Object.assign({}, params, { size: 'small', fullWidth: true, placeholder: title, onFocus: onFocus, error: (0, lodash_get_1.default)(context.formState.errors, name) ? true : false, helperText: (_a = (0, lodash_get_1.default)(context.formState.errors, name)) === null || _a === void 0 ? void 0 : _a.message })));
128
+ }, sx: {
129
+ bgcolor: 'white',
130
+ }, size: 'small', fullWidth: true, disabled: disabled })));
131
+ }
132
+ exports.default = GenericFetchAutoComplete;
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.Input = void 0;
41
+ const material_1 = require("@mui/material");
42
+ const lodash_get_1 = __importDefault(require("lodash.get"));
43
+ const react_1 = __importStar(require("react"));
44
+ const MaskInput_1 = __importDefault(require("./MaskInput"));
45
+ const react_hook_form_1 = require("react-hook-form");
46
+ function Input(_a) {
47
+ var { type = 'input', numberMask = '000000000000000', xs = 12, sm, inputMinLength = 1, inputMaxLength = 255, defaultValue = '', md, disabled = false, watchValue } = _a, props = __rest(_a, ["type", "numberMask", "xs", "sm", "inputMinLength", "inputMaxLength", "defaultValue", "md", "disabled", "watchValue"]);
48
+ const methods = (0, react_hook_form_1.useFormContext)();
49
+ (0, react_1.useEffect)(() => {
50
+ if (watchValue !== undefined)
51
+ methods.setValue(props.name, watchValue);
52
+ }, [watchValue]);
53
+ const chooseInput = () => {
54
+ const inputConfig = {
55
+ fullWidth: true,
56
+ size: 'small',
57
+ placeholder: props.customPlaceholder ? props.customPlaceholder : props.title,
58
+ };
59
+ const name = props.name;
60
+ const errorData = (0, lodash_get_1.default)(methods === null || methods === void 0 ? void 0 : methods.formState.errors, props.name);
61
+ const helperText = errorData === null || errorData === void 0 ? void 0 : errorData.message;
62
+ const error = errorData ? true : false;
63
+ const formConfig = Object.assign(Object.assign(Object.assign(Object.assign({}, methods === null || methods === void 0 ? void 0 : methods.register(name, {
64
+ validate: (v, f) => {
65
+ const value = v !== null && v !== void 0 ? v : '';
66
+ if (value.length <= 0 && props.required)
67
+ return 'Este campo é obrigatório';
68
+ if (type === 'cnpj') {
69
+ if (value.length < 18 && props.required)
70
+ return 'O CNPJ precisa ter no mínimo 14 dígitos';
71
+ }
72
+ //
73
+ else if (type === 'cpf') {
74
+ if (value.length < 14 && props.required)
75
+ return 'O CPF precisa ter no mínimo 11 dígitos';
76
+ } //
77
+ else if (type === 'sei') {
78
+ if (value.length < 22 && props.required)
79
+ return 'O Número SEI precisa ter no mínimo 19 dígitos';
80
+ }
81
+ //
82
+ else if (type === 'cep') {
83
+ if (value.length < 9 && props.required)
84
+ return 'O CPF precisa ter no mínimo 8 dígitos';
85
+ }
86
+ //
87
+ else if (type === 'input' || type === 'password' || type === 'number') {
88
+ if (value.length > inputMaxLength)
89
+ return `Limite máximo de ${inputMaxLength} caracteres`;
90
+ if (value.length < inputMinLength && props.required)
91
+ return `Limite mínimo de ${inputMinLength} caracteres`;
92
+ }
93
+ //
94
+ else if (type === 'email') {
95
+ if (value.length > 50)
96
+ return 'Limite máximo de 50 caracteres';
97
+ if (!/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g.test(v) && props.required)
98
+ return 'O e-mail inserido não é valido';
99
+ }
100
+ //
101
+ else if (type === 'cpf_cnpj') {
102
+ if ((value.length < 14 || (value.length > 14 && value.length < 18)) && props.required)
103
+ return 'O CPF/CNPJ precisa ter no mínimo 11/14 dígitos';
104
+ }
105
+ //
106
+ else if (type === 'phone') {
107
+ if (value.length < 14 && props.required)
108
+ return 'O número precisa ter pelo menos 10 dígitos';
109
+ }
110
+ },
111
+ })), { error,
112
+ helperText }), inputConfig), { sx: {
113
+ backgroundColor: 'white',
114
+ } });
115
+ switch (type) {
116
+ case 'input':
117
+ case 'email':
118
+ return react_1.default.createElement(material_1.TextField, Object.assign({}, formConfig, { defaultValue: defaultValue, disabled: disabled }));
119
+ case 'password':
120
+ return react_1.default.createElement(material_1.TextField, Object.assign({}, formConfig, { type: 'password', disabled: disabled }));
121
+ case 'number':
122
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
123
+ mask: numberMask,
124
+ }, watchValue: watchValue, disabled: disabled }));
125
+ case 'cep':
126
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
127
+ mask: '00000-000',
128
+ }, watchValue: watchValue, disabled: disabled }));
129
+ case 'phone':
130
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
131
+ mask: '(00) [#]0000-0000',
132
+ definitions: {
133
+ '#': /^9$/,
134
+ },
135
+ }, watchValue: watchValue, disabled: disabled }));
136
+ case 'sei':
137
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
138
+ mask: '00000-00000000/0000-00',
139
+ }, watchValue: watchValue, disabled: disabled }));
140
+ case 'cpf_cnpj':
141
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
142
+ mask: '000.000.000-00[0]',
143
+ }, onMask: (value, setMask) => {
144
+ if (value.length > 14)
145
+ setMask('00.000.000/0000-00');
146
+ else
147
+ setMask('000.000.000-00[0]');
148
+ }, watchValue: watchValue, disabled: disabled }));
149
+ case 'cpf':
150
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
151
+ mask: '000.000.000-00',
152
+ }, watchValue: watchValue, disabled: disabled }));
153
+ case 'cnpj':
154
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
155
+ mask: '00.000.000/0000-00',
156
+ }, watchValue: watchValue, disabled: disabled }));
157
+ case 'rg':
158
+ return (react_1.default.createElement(MaskInput_1.default, { formConfig: formConfig, defaultValue: defaultValue, maskProps: {
159
+ mask: '00000[000000]',
160
+ }, watchValue: watchValue, disabled: disabled }));
161
+ }
162
+ };
163
+ return (react_1.default.createElement(material_1.Grid, Object.assign({ item: true }, { xs, sm, md }),
164
+ props.title && (react_1.default.createElement(material_1.InputLabel, { htmlFor: 'campo', required: props.required }, props.title)),
165
+ chooseInput()));
166
+ }
167
+ exports.Input = Input;
168
+ exports.default = react_1.default.memo(Input);