@zauru-sdk/components 1.0.52 → 1.0.53

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 (261) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/Alerts/ErrorBoundaryAlert/ErrorBoundaryAlert.d.ts +6 -0
  3. package/dist/Alerts/StaticAlert.d.ts +11 -0
  4. package/dist/Alerts/index.d.ts +2 -0
  5. package/dist/BlockUI/BlockUI.d.ts +8 -0
  6. package/dist/BlockUI/index.d.ts +1 -0
  7. package/dist/Buttons/Button.d.ts +15 -0
  8. package/dist/Buttons/index.d.ts +1 -0
  9. package/dist/Card/Card.d.ts +8 -0
  10. package/dist/Card/index.d.ts +1 -0
  11. package/dist/Chat/ChatLayout.d.ts +17 -0
  12. package/dist/Chat/ChatMessageHistory.d.ts +12 -0
  13. package/dist/Chat/index.d.ts +2 -0
  14. package/dist/ConnectionState/ConnectionState.d.ts +1 -0
  15. package/dist/ConnectionState/index.d.ts +1 -0
  16. package/dist/Containers/BodyContainer.d.ts +6 -0
  17. package/dist/Containers/ButtonSectionContainer.d.ts +8 -0
  18. package/dist/Containers/Container.d.ts +10 -0
  19. package/dist/Containers/DoubleContainer.d.ts +9 -0
  20. package/dist/Containers/MainContainer.d.ts +6 -0
  21. package/dist/Containers/OutletContainer.d.ts +6 -0
  22. package/dist/Containers/SubContainer.d.ts +10 -0
  23. package/dist/Containers/index.d.ts +7 -0
  24. package/dist/DynamicTable/BasicPrintDynamicTable.d.ts +10 -0
  25. package/dist/DynamicTable/DynamicPrintTable.d.ts +23 -0
  26. package/dist/DynamicTable/DynamicTable.d.ts +24 -0
  27. package/dist/DynamicTable/GenericDynamicTable.d.ts +21 -0
  28. package/dist/DynamicTable/index.d.ts +4 -0
  29. package/dist/Footer/Footer.d.ts +7 -0
  30. package/dist/Footer/index.d.ts +1 -0
  31. package/dist/Form/Checkbox/index.d.ts +17 -0
  32. package/dist/Form/Checklist/index.d.ts +14 -0
  33. package/dist/Form/DatePicker/index.d.ts +18 -0
  34. package/dist/Form/DynamicBaculoForm/index.d.ts +18 -0
  35. package/dist/Form/FieldContainer/DoubleFieldContainer.d.ts +8 -0
  36. package/dist/Form/FieldContainer/QuadrupleFieldContainer.d.ts +7 -0
  37. package/dist/Form/FieldContainer/TripleFieldContainer.d.ts +7 -0
  38. package/dist/Form/FieldContainer/index.d.ts +3 -0
  39. package/dist/Form/FileUpload/index.d.ts +21 -0
  40. package/dist/Form/FormButtons/index.d.ts +16 -0
  41. package/dist/Form/FormLayout/index.d.ts +11 -0
  42. package/dist/Form/SelectField/index.d.ts +27 -0
  43. package/dist/Form/TextArea/index.d.ts +23 -0
  44. package/dist/Form/TextField/index.d.ts +25 -0
  45. package/dist/Form/TimePicker/index.d.ts +16 -0
  46. package/dist/Form/YesNo/index.d.ts +12 -0
  47. package/dist/Form/index.d.ts +13 -0
  48. package/dist/Labels/InfoLabel/index.d.ts +7 -0
  49. package/dist/Labels/index.d.ts +1 -0
  50. package/dist/Layouts/homeLayout/index.d.ts +6 -0
  51. package/dist/Layouts/index.d.ts +1 -0
  52. package/dist/LineSeparator/LineSeparator.d.ts +1 -0
  53. package/dist/LineSeparator/index.d.ts +1 -0
  54. package/dist/Modal/Modal.d.ts +10 -0
  55. package/dist/Modal/index.d.ts +1 -0
  56. package/dist/NavBar/NavBar.d.ts +2 -0
  57. package/dist/NavBar/NavBar.types.d.ts +50 -0
  58. package/dist/NavBar/NavBar.utils.d.ts +58 -0
  59. package/dist/NavBar/index.d.ts +3 -0
  60. package/dist/ProgressBar/ProgressBar.d.ts +6 -0
  61. package/dist/ProgressBar/ProgressCircle.d.ts +6 -0
  62. package/dist/ProgressBar/index.d.ts +2 -0
  63. package/dist/Skeletons/LoadingInputSkeleton.d.ts +1 -0
  64. package/dist/Skeletons/index.d.ts +1 -0
  65. package/dist/Tab/Tab.d.ts +9 -0
  66. package/dist/Tab/index.d.ts +1 -0
  67. package/dist/Table/ZauruTable.d.ts +25 -0
  68. package/dist/Table/index.d.ts +1 -0
  69. package/dist/TaskList/TaskList.d.ts +14 -0
  70. package/dist/TaskList/index.d.ts +1 -0
  71. package/dist/Titles/LabelArray.d.ts +4 -0
  72. package/dist/Titles/TableColumnTitle.d.ts +4 -0
  73. package/dist/Titles/TitleH1.d.ts +1 -0
  74. package/dist/Titles/TitleH2.d.ts +1 -0
  75. package/dist/Titles/TitleH3.d.ts +1 -0
  76. package/dist/Titles/index.d.ts +5 -0
  77. package/dist/Tooltip/Tooltip.d.ts +7 -0
  78. package/dist/Tooltip/index.d.ts +1 -0
  79. package/dist/WithTooltip/WithTooltip.d.ts +7 -0
  80. package/dist/WithTooltip/index.d.ts +1 -0
  81. package/dist/Wizards/StepWizard.d.ts +14 -0
  82. package/dist/Wizards/index.d.ts +1 -0
  83. package/dist/Zendesk/Chat.d.ts +14 -0
  84. package/dist/Zendesk/index.d.ts +2 -0
  85. package/dist/Zendesk/zendesk.config.d.ts +9 -0
  86. package/dist/cjs/Alerts/ErrorBoundaryAlert/ErrorBoundaryAlert.js +9 -0
  87. package/dist/cjs/Alerts/StaticAlert.js +32 -0
  88. package/dist/cjs/Alerts/index.js +18 -0
  89. package/dist/cjs/BlockUI/BlockUI.js +12 -0
  90. package/dist/cjs/BlockUI/index.js +17 -0
  91. package/dist/cjs/Buttons/Button.js +47 -0
  92. package/dist/cjs/Buttons/index.js +17 -0
  93. package/dist/cjs/Card/Card.js +9 -0
  94. package/dist/cjs/Card/index.js +17 -0
  95. package/dist/cjs/Chat/ChatLayout.js +31 -0
  96. package/dist/cjs/Chat/ChatMessageHistory.js +57 -0
  97. package/dist/cjs/Chat/index.js +18 -0
  98. package/dist/cjs/ConnectionState/ConnectionState.js +25 -0
  99. package/dist/cjs/ConnectionState/index.js +17 -0
  100. package/dist/cjs/Containers/BodyContainer.js +9 -0
  101. package/dist/cjs/Containers/ButtonSectionContainer.js +9 -0
  102. package/dist/cjs/Containers/Container.js +10 -0
  103. package/dist/cjs/Containers/DoubleContainer.js +18 -0
  104. package/dist/cjs/Containers/MainContainer.js +9 -0
  105. package/dist/cjs/Containers/OutletContainer.js +9 -0
  106. package/dist/cjs/Containers/SubContainer.js +10 -0
  107. package/dist/cjs/Containers/index.js +23 -0
  108. package/dist/cjs/DynamicTable/BasicPrintDynamicTable.js +31 -0
  109. package/dist/cjs/DynamicTable/DynamicPrintTable.js +158 -0
  110. package/dist/cjs/DynamicTable/DynamicTable.js +219 -0
  111. package/dist/cjs/DynamicTable/GenericDynamicTable.js +200 -0
  112. package/dist/cjs/DynamicTable/index.js +20 -0
  113. package/dist/cjs/Footer/Footer.js +20 -0
  114. package/dist/cjs/Footer/index.js +17 -0
  115. package/dist/cjs/Form/Checkbox/index.js +39 -0
  116. package/dist/cjs/Form/Checklist/index.js +14 -0
  117. package/dist/cjs/Form/DatePicker/index.js +36 -0
  118. package/dist/cjs/Form/DynamicBaculoForm/index.js +144 -0
  119. package/dist/cjs/Form/FieldContainer/DoubleFieldContainer.js +18 -0
  120. package/dist/cjs/Form/FieldContainer/QuadrupleFieldContainer.js +18 -0
  121. package/dist/cjs/Form/FieldContainer/TripleFieldContainer.js +18 -0
  122. package/dist/cjs/Form/FieldContainer/index.js +19 -0
  123. package/dist/cjs/Form/FileUpload/index.js +59 -0
  124. package/dist/cjs/Form/FormButtons/index.js +9 -0
  125. package/dist/cjs/Form/FormLayout/index.js +11 -0
  126. package/dist/cjs/Form/SelectField/index.js +102 -0
  127. package/dist/cjs/Form/TextArea/index.js +41 -0
  128. package/dist/cjs/Form/TextField/index.js +75 -0
  129. package/dist/cjs/Form/TimePicker/index.js +36 -0
  130. package/dist/cjs/Form/YesNo/index.js +22 -0
  131. package/dist/cjs/Form/index.js +29 -0
  132. package/dist/cjs/Labels/InfoLabel/index.js +9 -0
  133. package/dist/cjs/Labels/index.js +17 -0
  134. package/dist/cjs/Layouts/homeLayout/index.js +14 -0
  135. package/dist/cjs/Layouts/index.js +17 -0
  136. package/dist/cjs/LineSeparator/LineSeparator.js +8 -0
  137. package/dist/cjs/LineSeparator/index.js +17 -0
  138. package/dist/cjs/Modal/Modal.js +36 -0
  139. package/dist/cjs/Modal/index.js +17 -0
  140. package/dist/cjs/NavBar/NavBar.js +36 -0
  141. package/dist/cjs/NavBar/NavBar.types.js +2 -0
  142. package/dist/cjs/NavBar/NavBar.utils.js +61 -0
  143. package/dist/cjs/NavBar/index.js +19 -0
  144. package/dist/cjs/ProgressBar/ProgressBar.js +9 -0
  145. package/dist/cjs/ProgressBar/ProgressCircle.js +26 -0
  146. package/dist/cjs/ProgressBar/index.js +18 -0
  147. package/dist/cjs/Skeletons/LoadingInputSkeleton.js +12 -0
  148. package/dist/cjs/Skeletons/index.js +17 -0
  149. package/dist/cjs/Tab/Tab.js +26 -0
  150. package/dist/cjs/Tab/index.js +17 -0
  151. package/dist/cjs/Table/ZauruTable.js +177 -0
  152. package/dist/cjs/Table/index.js +17 -0
  153. package/dist/cjs/TaskList/TaskList.js +40 -0
  154. package/dist/cjs/TaskList/index.js +17 -0
  155. package/dist/cjs/Titles/LabelArray.js +11 -0
  156. package/dist/cjs/Titles/TableColumnTitle.js +9 -0
  157. package/dist/cjs/Titles/TitleH1.js +9 -0
  158. package/dist/cjs/Titles/TitleH2.js +9 -0
  159. package/dist/cjs/Titles/TitleH3.js +9 -0
  160. package/dist/cjs/Titles/index.js +21 -0
  161. package/dist/cjs/Tooltip/Tooltip.js +18 -0
  162. package/dist/cjs/Tooltip/index.js +17 -0
  163. package/dist/cjs/WithTooltip/WithTooltip.js +9 -0
  164. package/dist/cjs/WithTooltip/index.js +17 -0
  165. package/dist/cjs/Wizards/StepWizard.js +18 -0
  166. package/dist/cjs/Wizards/index.js +17 -0
  167. package/dist/cjs/Zendesk/Chat.js +69 -0
  168. package/dist/cjs/Zendesk/index.js +18 -0
  169. package/dist/cjs/Zendesk/zendesk.config.js +31 -0
  170. package/dist/cjs/index.js +40 -0
  171. package/dist/cjs/tailwind.config.js +9 -0
  172. package/dist/esm/Alerts/ErrorBoundaryAlert/ErrorBoundaryAlert.js +5 -0
  173. package/dist/esm/Alerts/StaticAlert.js +28 -0
  174. package/dist/esm/Alerts/index.js +2 -0
  175. package/dist/esm/BlockUI/BlockUI.js +8 -0
  176. package/dist/esm/BlockUI/index.js +1 -0
  177. package/dist/esm/Buttons/Button.js +43 -0
  178. package/dist/esm/Buttons/index.js +1 -0
  179. package/dist/esm/Card/Card.js +5 -0
  180. package/dist/esm/Card/index.js +1 -0
  181. package/dist/esm/Chat/ChatLayout.js +27 -0
  182. package/dist/esm/Chat/ChatMessageHistory.js +53 -0
  183. package/dist/esm/Chat/index.js +2 -0
  184. package/dist/esm/ConnectionState/ConnectionState.js +21 -0
  185. package/dist/esm/ConnectionState/index.js +1 -0
  186. package/dist/esm/Containers/BodyContainer.js +5 -0
  187. package/dist/esm/Containers/ButtonSectionContainer.js +5 -0
  188. package/dist/esm/Containers/Container.js +6 -0
  189. package/dist/esm/Containers/DoubleContainer.js +14 -0
  190. package/dist/esm/Containers/MainContainer.js +5 -0
  191. package/dist/esm/Containers/OutletContainer.js +5 -0
  192. package/dist/esm/Containers/SubContainer.js +6 -0
  193. package/dist/esm/Containers/index.js +7 -0
  194. package/dist/esm/DynamicTable/BasicPrintDynamicTable.js +27 -0
  195. package/dist/esm/DynamicTable/DynamicPrintTable.js +131 -0
  196. package/dist/esm/DynamicTable/DynamicTable.js +192 -0
  197. package/dist/esm/DynamicTable/GenericDynamicTable.js +196 -0
  198. package/dist/esm/DynamicTable/index.js +4 -0
  199. package/dist/esm/Footer/Footer.js +16 -0
  200. package/dist/esm/Footer/index.js +1 -0
  201. package/dist/esm/Form/Checkbox/index.js +34 -0
  202. package/dist/esm/Form/Checklist/index.js +10 -0
  203. package/dist/esm/Form/DatePicker/index.js +31 -0
  204. package/dist/esm/Form/DynamicBaculoForm/index.js +140 -0
  205. package/dist/esm/Form/FieldContainer/DoubleFieldContainer.js +14 -0
  206. package/dist/esm/Form/FieldContainer/QuadrupleFieldContainer.js +14 -0
  207. package/dist/esm/Form/FieldContainer/TripleFieldContainer.js +14 -0
  208. package/dist/esm/Form/FieldContainer/index.js +3 -0
  209. package/dist/esm/Form/FileUpload/index.js +54 -0
  210. package/dist/esm/Form/FormButtons/index.js +5 -0
  211. package/dist/esm/Form/FormLayout/index.js +7 -0
  212. package/dist/esm/Form/SelectField/index.js +74 -0
  213. package/dist/esm/Form/TextArea/index.js +36 -0
  214. package/dist/esm/Form/TextField/index.js +70 -0
  215. package/dist/esm/Form/TimePicker/index.js +31 -0
  216. package/dist/esm/Form/YesNo/index.js +18 -0
  217. package/dist/esm/Form/index.js +13 -0
  218. package/dist/esm/Labels/InfoLabel/index.js +5 -0
  219. package/dist/esm/Labels/index.js +1 -0
  220. package/dist/esm/Layouts/homeLayout/index.js +10 -0
  221. package/dist/esm/Layouts/index.js +1 -0
  222. package/dist/esm/LineSeparator/LineSeparator.js +4 -0
  223. package/dist/esm/LineSeparator/index.js +1 -0
  224. package/dist/esm/Modal/Modal.js +32 -0
  225. package/dist/esm/Modal/index.js +1 -0
  226. package/dist/esm/NavBar/NavBar.js +32 -0
  227. package/dist/esm/NavBar/NavBar.types.js +1 -0
  228. package/dist/esm/NavBar/NavBar.utils.js +58 -0
  229. package/dist/esm/NavBar/index.js +3 -0
  230. package/dist/esm/ProgressBar/ProgressBar.js +5 -0
  231. package/dist/esm/ProgressBar/ProgressCircle.js +22 -0
  232. package/dist/esm/ProgressBar/index.js +2 -0
  233. package/dist/esm/Skeletons/LoadingInputSkeleton.js +8 -0
  234. package/dist/esm/Skeletons/index.js +1 -0
  235. package/dist/esm/Tab/Tab.js +19 -0
  236. package/dist/esm/Tab/index.js +1 -0
  237. package/dist/esm/Table/ZauruTable.js +150 -0
  238. package/dist/esm/Table/index.js +1 -0
  239. package/dist/esm/TaskList/TaskList.js +35 -0
  240. package/dist/esm/TaskList/index.js +1 -0
  241. package/dist/esm/Titles/LabelArray.js +7 -0
  242. package/dist/esm/Titles/TableColumnTitle.js +5 -0
  243. package/dist/esm/Titles/TitleH1.js +5 -0
  244. package/dist/esm/Titles/TitleH2.js +5 -0
  245. package/dist/esm/Titles/TitleH3.js +5 -0
  246. package/dist/esm/Titles/index.js +5 -0
  247. package/dist/esm/Tooltip/Tooltip.js +14 -0
  248. package/dist/esm/Tooltip/index.js +1 -0
  249. package/dist/esm/WithTooltip/WithTooltip.js +5 -0
  250. package/dist/esm/WithTooltip/index.js +1 -0
  251. package/dist/esm/Wizards/StepWizard.js +14 -0
  252. package/dist/esm/Wizards/index.js +1 -0
  253. package/dist/esm/Zendesk/Chat.js +63 -0
  254. package/dist/esm/Zendesk/index.js +2 -0
  255. package/dist/esm/Zendesk/zendesk.config.js +24 -0
  256. package/dist/esm/index.js +24 -0
  257. package/dist/esm/tailwind.config.js +8 -0
  258. package/dist/index.d.ts +24 -0
  259. package/dist/tailwind.config.d.ts +1 -0
  260. package/package.json +4 -3
  261. package/src/Table/ZauruTable.tsx +4 -2
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericDynamicTable = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const index_js_1 = require("../Form/SelectField/index.js");
7
+ const index_js_2 = require("../Form/TextField/index.js");
8
+ const index_js_3 = require("../Form/Checkbox/index.js");
9
+ const index_js_4 = require("../Modal/index.js");
10
+ const index_js_5 = require("../Buttons/index.js");
11
+ const redux_1 = require("@zauru-sdk/redux");
12
+ const common_1 = require("@zauru-sdk/common");
13
+ const index_js_6 = require("../Skeletons/index.js");
14
+ const index_js_7 = require("../WithTooltip/index.js");
15
+ const icons_1 = require("@zauru-sdk/icons");
16
+ const GenericDynamicTableErrorComponent = ({ name, formName, }) => {
17
+ const { formValidations } = (0, redux_1.useAppSelector)((state) => state.formValidation);
18
+ const error = formValidations[formName ?? "-1"]?.[name ?? "-1"];
19
+ return error ? ((0, jsx_runtime_1.jsxs)("p", { className: `mt-2 text-sm text-red-600 dark:text-red-500`, children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "Oops!" }), " ", error] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}));
20
+ };
21
+ const GenericDynamicTable = (props) => {
22
+ const { columns, onChange, className, footerRow, defaultValue = [], thCSSProperties, thElementsClassName = "", editable = true, searcheables = [], loading = false, paginated = true, defaultItemsPerPage = 10, itemsPerPageOptions = [10, 50, 100], name, withoutBg = false, } = props;
23
+ const [tableData, setTableData] = (0, react_1.useState)(defaultValue);
24
+ const [deletedData, setDeletedData] = (0, react_1.useState)([]);
25
+ const [search, setSearch] = (0, react_1.useState)("");
26
+ const [filteredTableData, setFilteredTableData] = (0, react_1.useState)(tableData);
27
+ const [currentPage, setCurrentPage] = (0, react_1.useState)(1);
28
+ const [itemsPerPage, setItemsPerPage] = (0, react_1.useState)(defaultItemsPerPage);
29
+ (0, react_1.useEffect)(() => {
30
+ if (defaultValue.length) {
31
+ setTableData(defaultValue);
32
+ }
33
+ }, []);
34
+ (0, react_1.useEffect)(() => {
35
+ setFilteredTableData(tableData);
36
+ }, [tableData]);
37
+ (0, react_1.useEffect)(() => {
38
+ changeFilteredData();
39
+ }, [tableData, search]);
40
+ const totalPages = () => {
41
+ return Math.ceil(filteredTableData.length / itemsPerPage);
42
+ };
43
+ const addRow = () => {
44
+ const defs = {};
45
+ columns.forEach((x) => {
46
+ defs[`${x.name}`] =
47
+ x.type == "label" || x.type == "textField"
48
+ ? ""
49
+ : x.type == "selectField"
50
+ ? 0
51
+ : x.type == "checkbox"
52
+ ? false
53
+ : 0;
54
+ });
55
+ setTableData((prevData) => [
56
+ ...prevData,
57
+ { id: (0, common_1.generateClientUUID)(), ...defs },
58
+ ]);
59
+ };
60
+ const removeRow = (rowId) => {
61
+ const newDeletedData = [...deletedData];
62
+ const deletedItem = tableData?.find((x) => x.id === rowId);
63
+ if (deletedItem && !isNaN(deletedItem.id)) {
64
+ newDeletedData.push(deletedItem);
65
+ }
66
+ setDeletedData(newDeletedData);
67
+ setTableData((prevData) => prevData?.filter((x) => x.id !== rowId));
68
+ };
69
+ const handleChange = (name, value, rowId) => {
70
+ // Encontrar el índice de la fila que está cambiando
71
+ const rowIndex = tableData.findIndex((x) => x.id === rowId);
72
+ // Crear una copia del objeto en esa fila
73
+ const updatedRow = { ...tableData[rowIndex], [name]: value };
74
+ // Copiar todo el array
75
+ const updatedData = [...tableData];
76
+ // Reemplazar el objeto en la fila que cambió
77
+ updatedData[rowIndex] = updatedRow;
78
+ // Actualizar el estado con el nuevo array
79
+ setTableData(updatedData);
80
+ onChange && onChange(updatedData);
81
+ };
82
+ const renderHeader = () => ((0, jsx_runtime_1.jsxs)("tr", { style: { ...thCSSProperties }, children: [columns.map((column, index) => {
83
+ const ancho = column.width ?? (editable ? 94 : 100) / (columns.length ?? 1);
84
+ return ((0, jsx_runtime_1.jsx)("th", { className: `text-left align-middle p-2 ${thElementsClassName}`, style: { width: `${ancho}%` }, children: column.label }, index));
85
+ }), editable && (0, jsx_runtime_1.jsx)("th", { style: { width: "4%" } })] }));
86
+ const renderRow = (rowData, index) => {
87
+ return ((0, jsx_runtime_1.jsxs)("tr", { className: index % 2 === 0 ? `${withoutBg ? "" : "bg-gray-200"}` : "", children: [columns.map((column) => {
88
+ if (loading) {
89
+ return ((0, jsx_runtime_1.jsx)("td", { className: "align-middle p-1", children: (0, jsx_runtime_1.jsx)(index_js_6.LoadingInputSkeleton, {}) }, `${rowData.id}-${column.name}`));
90
+ }
91
+ const tempVal = rowData[column.name];
92
+ const defaultVal = column.type === "selectField"
93
+ ? column.options?.find((x) => x.value === tempVal)
94
+ : tempVal;
95
+ if (column.type === "label") {
96
+ return ((0, jsx_runtime_1.jsx)("td", { className: "align-middle p-1", children: (0, jsx_runtime_1.jsx)("div", { children: defaultVal }) }, `${rowData.id}-${column.name}`));
97
+ }
98
+ const FieldComponent = column.type === "textField"
99
+ ? index_js_2.TextFieldWithoutValidation
100
+ : column.type === "checkbox"
101
+ ? index_js_3.CheckboxWithoutValidation
102
+ : index_js_1.SelectFieldWithoutValidation;
103
+ const setTableValue = (columnName, newValue) => {
104
+ setTableData((prevState) => {
105
+ // Encontrar el índice de la fila que está cambiando
106
+ const rowIndex = prevState.findIndex((x) => x.id === rowData.id);
107
+ // Crear una copia del objeto en esa fila
108
+ const updatedRow = {
109
+ ...prevState[rowIndex],
110
+ [columnName]: newValue,
111
+ };
112
+ // Copiar todo el array
113
+ const updatedData = [...prevState];
114
+ // Reemplazar el objeto en la fila que cambió
115
+ updatedData[rowIndex] = updatedRow;
116
+ return updatedData;
117
+ });
118
+ };
119
+ return ((0, jsx_runtime_1.jsx)("td", { className: "align-middle p-1", children: column.loadingOptions ? ((0, jsx_runtime_1.jsx)(index_js_6.LoadingInputSkeleton, {})) : ((0, jsx_runtime_1.jsx)(FieldComponent, {
120
+ //name={column.name}
121
+ type: column.textFieldType, integer: !!column.integer, disabled: column.disabled, isClearable: true, onChange: (value) => {
122
+ const sendValue = value?.value ?? value;
123
+ handleChange(column.name, sendValue, rowData.id);
124
+ column.onChange &&
125
+ column.onChange(rowData, sendValue, setTableValue);
126
+ }, defaultValue: defaultVal, options: column.options ?? [] }, `${rowData.id}-${column.name}`)) }, `${rowData.id}-${column.name}`));
127
+ }), editable && ((0, jsx_runtime_1.jsx)("td", { className: "align-middle w-16", children: (0, jsx_runtime_1.jsx)(index_js_7.WithTooltip, { text: "Eliminar", children: (0, jsx_runtime_1.jsx)("button", { className: "bg-red-500 hover:bg-red-600 font-bold py-1 px-2 rounded ml-2", onClick: (event) => {
128
+ event.preventDefault();
129
+ event.stopPropagation();
130
+ (0, index_js_4.createModal)({
131
+ title: "¿Está seguro que quiere eliminar este registro?",
132
+ description: "Una vez eliminada la información no podrá ser recuperada.",
133
+ }).then((response) => {
134
+ if (response === "OK") {
135
+ removeRow(rowData.id);
136
+ }
137
+ });
138
+ }, type: "button", children: (0, jsx_runtime_1.jsx)(icons_1.TrashSvg, {}) }) }) }))] }, rowData.id));
139
+ };
140
+ const renderRows = () => {
141
+ let mapeable = filteredTableData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
142
+ if (loading) {
143
+ mapeable = [
144
+ { id: 1 },
145
+ { id: 2 },
146
+ { id: 3 },
147
+ { id: 4 },
148
+ { id: 5 },
149
+ { id: 6 },
150
+ { id: 7 },
151
+ { id: 8 },
152
+ { id: 9 },
153
+ { id: 10 },
154
+ ];
155
+ }
156
+ return mapeable.map((rowData, index) => renderRow(rowData, index));
157
+ };
158
+ const handleChangeSearch = (newSearch) => {
159
+ setSearch(newSearch);
160
+ };
161
+ const changeFilteredData = () => {
162
+ if (search) {
163
+ const filteredData = tableData.filter((rowData) => {
164
+ for (const searchable of searcheables) {
165
+ const column = columns.find((col) => col.name === searchable.value);
166
+ if (column) {
167
+ const tempVal = rowData[column.name];
168
+ const defaultVal = column.type === "selectField"
169
+ ? column.options?.find((x) => x.value === tempVal)?.label
170
+ : tempVal;
171
+ if (defaultVal
172
+ ?.toString()
173
+ .toLowerCase()
174
+ .includes(search.toLowerCase())) {
175
+ return true;
176
+ }
177
+ }
178
+ }
179
+ return false;
180
+ });
181
+ setFilteredTableData(filteredData);
182
+ }
183
+ else {
184
+ setFilteredTableData(tableData);
185
+ }
186
+ };
187
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [name && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(GenericDynamicTableErrorComponent, { name: name }), (0, jsx_runtime_1.jsx)("input", { name: name, type: "hidden", value: JSON.stringify(tableData), hidden: true }), (0, jsx_runtime_1.jsx)("input", { name: `deleted_${name}`, type: "hidden", value: JSON.stringify(deletedData), hidden: true })] })), (0, jsx_runtime_1.jsxs)("div", { className: `${className}`, children: [searcheables.length > 0 && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(index_js_2.TextFieldWithoutValidation, { className: "mb-2", name: "search", title: `Buscar por: ${searcheables
188
+ .map((x) => x.label)
189
+ .join(", ")}`, onChange: handleChangeSearch, disabled: loading }) })), (0, jsx_runtime_1.jsxs)("table", { className: "w-full", children: [(0, jsx_runtime_1.jsx)("thead", { children: renderHeader() }), (0, jsx_runtime_1.jsx)("tbody", { children: renderRows() }), footerRow && !editable ? ((0, jsx_runtime_1.jsx)("tfoot", { className: "border-t-2 border-black", children: (0, jsx_runtime_1.jsx)("tr", { children: Object.keys(footerRow ?? {})?.map((x, indx) => {
190
+ return ((0, jsx_runtime_1.jsx)("td", { className: "align-middle", children: footerRow[x] }, indx));
191
+ }) }) })) : editable ? ((0, jsx_runtime_1.jsx)("tfoot", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { className: "align-middle", children: (0, jsx_runtime_1.jsx)("button", { className: "bg-blue-500 hover:bg-blue-600 font-bold py-2 px-4 rounded", onClick: (event) => {
192
+ event.preventDefault();
193
+ event.stopPropagation();
194
+ addRow();
195
+ }, type: "button", children: "+" }) }) }) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}))] }), paginated && totalPages() > 1 && ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center mt-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(index_js_5.Button, { type: "button", disabled: currentPage === 1, onClickSave: () => setCurrentPage((old) => Math.max(old - 1, 1)), children: "Anterior" }), (0, jsx_runtime_1.jsx)("span", { className: "mx-2", children: `Página ${currentPage} de ${totalPages()}` }), (0, jsx_runtime_1.jsx)(index_js_5.Button, { type: "button", disabled: currentPage === totalPages(), onClickSave: () => setCurrentPage((old) => Math.min(old + 1, totalPages())), children: "Siguiente" })] }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("select", { value: itemsPerPage, onChange: (e) => {
196
+ setItemsPerPage(Number(e.target.value));
197
+ setCurrentPage(1); // resetear la página al cambiar los elementos por página
198
+ }, children: itemsPerPageOptions.map((option) => ((0, jsx_runtime_1.jsxs)("option", { value: option, children: [option, " elementos por p\u00E1gina"] }, option))) }) })] }))] })] }));
199
+ };
200
+ exports.GenericDynamicTable = GenericDynamicTable;
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BasicPrintDynamicTable.js"), exports);
18
+ __exportStar(require("./DynamicPrintTable.js"), exports);
19
+ __exportStar(require("./DynamicTable.js"), exports);
20
+ __exportStar(require("./GenericDynamicTable.js"), exports);
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Footer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const index_js_1 = require("./../ConnectionState/index.js");
6
+ const COLORS = {
7
+ purple: "bg-purple-500",
8
+ pink: "bg-pink-500",
9
+ indigo: "bg-indigo-500",
10
+ cyan: "bg-cyan-500",
11
+ slate: "bg-slate-500",
12
+ green: "bg-green-500",
13
+ red: "bg-red-500",
14
+ sky: "bg-sky-500",
15
+ };
16
+ const Footer = ({ href, selectedColor, showConnection = false, }) => {
17
+ const color = COLORS[selectedColor];
18
+ return ((0, jsx_runtime_1.jsx)("footer", { className: `inset-x-0 bottom-0 px-2 py-[20px] ${color}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "px-4 mx-auto flex flex-wrap items-center justify-center", children: [(0, jsx_runtime_1.jsxs)("p", { className: "text-white text-[1.2rem]", children: [`Creado en `, " ", (0, jsx_runtime_1.jsx)("a", { href: href, children: "Zauru" }), " ", `con ❤️ ${new Date().getFullYear()} v.3.2`] }), showConnection && ((0, jsx_runtime_1.jsx)("div", { className: "ml-5", children: (0, jsx_runtime_1.jsx)(index_js_1.ConnectionState, {}) }))] }) }));
19
+ };
20
+ exports.Footer = Footer;
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Footer.js"), exports);
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckBox = exports.CheckboxWithoutValidation = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const redux_1 = require("@zauru-sdk/redux");
6
+ const react_1 = require("react");
7
+ const CheckboxWithoutValidation = (props) => {
8
+ const { id, name, defaultValue = false, onChange, disabled = false, error, label, } = props;
9
+ const [checked, setChecked] = (0, react_1.useState)(defaultValue);
10
+ (0, react_1.useEffect)(() => {
11
+ setChecked(defaultValue);
12
+ }, [defaultValue]);
13
+ const handleInputChange = (event) => {
14
+ const isChecked = event.target.checked;
15
+ if (onChange) {
16
+ const result = onChange(isChecked, event);
17
+ if (result?.stopUIChange) {
18
+ return;
19
+ }
20
+ }
21
+ setChecked(isChecked);
22
+ };
23
+ const color = error ? "red" : "gray";
24
+ const borderColor = disabled ? "border-gray-300" : `border-${color}-500`;
25
+ const inputComponent = ((0, jsx_runtime_1.jsx)("input", { type: "checkbox", id: id ?? name, name: name, checked: checked, onChange: handleInputChange, className: `form-checkbox h-4 w-4 text-indigo-600 ${borderColor} focus:border-indigo-500 focus:ring-indigo-500`, disabled: disabled }));
26
+ if (!error && !label) {
27
+ return inputComponent;
28
+ }
29
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "col-span-6 sm:col-span-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: `flex items-center ${borderColor}`, children: [inputComponent, label && ((0, jsx_runtime_1.jsx)("label", { htmlFor: id ?? name, className: `ml-2 block text-sm font-medium text-${color}-700 dark:text-${color}-500`, children: label }))] }), error && ((0, jsx_runtime_1.jsxs)("p", { className: `mt-2 text-sm text-${color}-600 dark:text-${color}-500`, children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "Oops!" }), " ", error] }))] }));
30
+ };
31
+ exports.CheckboxWithoutValidation = CheckboxWithoutValidation;
32
+ //<reference> https://tailwindui.com/components/application-ui/forms/form-layouts
33
+ const CheckBox = (props) => {
34
+ const { formValidations } = (0, redux_1.useAppSelector)((state) => state.formValidation);
35
+ const error = formValidations[props.formName ?? "-1"]?.[props.name ?? "-1"];
36
+ props = { ...props, error };
37
+ return (0, jsx_runtime_1.jsx)(exports.CheckboxWithoutValidation, { ...props });
38
+ };
39
+ exports.CheckBox = CheckBox;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Checklist = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const index_js_1 = require("../Checkbox/index.js");
6
+ const Checklist = ({ items, onChange }) => {
7
+ const handleCheckboxChange = (name, value) => {
8
+ if (onChange) {
9
+ onChange(name, value);
10
+ }
11
+ };
12
+ return ((0, jsx_runtime_1.jsx)("div", { children: items.map((item) => ((0, jsx_runtime_1.jsx)(index_js_1.CheckboxWithoutValidation, { ...item, onChange: (value) => handleCheckboxChange(item.name, value) }, item.id))) }));
13
+ };
14
+ exports.Checklist = Checklist;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormDatePicker = exports.FormDatePickerWithoutValidation = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const icons_1 = require("@zauru-sdk/icons");
7
+ const redux_1 = require("@zauru-sdk/redux");
8
+ const FormDatePickerWithoutValidation = (props) => {
9
+ const { id, name, title, defaultValue = "", hint, helpText, onChange, tabIndex, error, disabled = false, className = "", isClearable = false, } = props;
10
+ const [value, setValue] = (0, react_1.useState)(defaultValue);
11
+ const [showTooltip, setShowTooltip] = (0, react_1.useState)(false);
12
+ const color = error ? "red" : "gray";
13
+ const isReadOnly = disabled;
14
+ const bgColor = isReadOnly ? "bg-gray-200" : `bg-${color}-50`;
15
+ const textColor = isReadOnly ? "text-gray-500" : `text-${color}-500`;
16
+ const borderColor = isReadOnly ? "border-gray-300" : `border-${color}-200`;
17
+ (0, react_1.useEffect)(() => {
18
+ setValue(defaultValue);
19
+ }, [defaultValue]);
20
+ const clearValue = () => {
21
+ setValue("");
22
+ onChange && onChange("");
23
+ };
24
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [title && ((0, jsx_runtime_1.jsx)("label", { htmlFor: error ? `${name}-error` : `${name}-success`, className: `block text-sm font-medium ${textColor} ${className}`, children: title })), (0, jsx_runtime_1.jsxs)("div", { className: "flex relative items-center", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute left-0 flex items-center pl-3 pointer-events-none", children: (0, jsx_runtime_1.jsx)(icons_1.CalendarIconSVG, {}) }), (0, jsx_runtime_1.jsx)("input", { id: id, name: name, tabIndex: tabIndex, type: "date", onChange: (e) => {
25
+ setValue(e.target.value);
26
+ onChange && onChange(e.target.value);
27
+ }, value: value ?? "", pattern: "\\d{4}-\\d{2}-\\d{2}", className: `${bgColor} ${borderColor} ${textColor} text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-10 p-2.5` }), value && isClearable && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: clearValue, className: "absolute right-0 mr-10", children: (0, jsx_runtime_1.jsx)(icons_1.CloseSvgIcon, {}) })), helpText && ((0, jsx_runtime_1.jsx)("div", { className: "flex items-center relative ml-3", children: (0, jsx_runtime_1.jsxs)("div", { className: "relative cursor-pointer", onMouseEnter: () => setShowTooltip(true), onMouseLeave: () => setShowTooltip(false), children: [(0, jsx_runtime_1.jsx)(icons_1.IdeaIconSVG, {}), showTooltip && ((0, jsx_runtime_1.jsx)("div", { className: "absolute -left-48 top-0 mt-8 p-2 bg-white border rounded shadow text-black", children: helpText }))] }) }))] }), error && ((0, jsx_runtime_1.jsxs)("p", { className: `mt-2 text-sm text-${color}-600 dark:text-${color}-500`, children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "Oops!" }), " ", error] })), !error && hint && ((0, jsx_runtime_1.jsx)("p", { className: `mt-2 italic text-sm text-${color}-500 dark:text-${color}-400`, children: hint }))] }));
28
+ };
29
+ exports.FormDatePickerWithoutValidation = FormDatePickerWithoutValidation;
30
+ const FormDatePicker = (props) => {
31
+ const { formValidations } = (0, redux_1.useAppSelector)((state) => state.formValidation);
32
+ const error = formValidations[props.formName ?? "-1"]?.[props.name ?? "-1"];
33
+ props = { ...props, error };
34
+ return (0, jsx_runtime_1.jsx)(exports.FormDatePickerWithoutValidation, { ...props });
35
+ };
36
+ exports.FormDatePicker = FormDatePicker;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamicBaculoForm = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const index_js_1 = require("../TextField/index.js");
6
+ const index_js_2 = require("../FieldContainer/index.js");
7
+ const index_js_3 = require("../FieldContainer/index.js");
8
+ const index_js_4 = require("../YesNo/index.js");
9
+ const index_js_5 = require("../TextArea/index.js");
10
+ const index_js_6 = require("../SelectField/index.js");
11
+ const index_js_7 = require("../FileUpload/index.js");
12
+ const index_js_8 = require("../DatePicker/index.js");
13
+ const index_js_9 = require("../TimePicker/index.js");
14
+ const GenericDynamicTable_js_1 = require("../../DynamicTable/GenericDynamicTable.js");
15
+ const common_1 = require("@zauru-sdk/common");
16
+ const index_js_10 = require("../../Alerts/index.js");
17
+ const index_js_11 = require("../../Containers/index.js");
18
+ const index_js_12 = require("../../LineSeparator/index.js");
19
+ function DynamicBaculoForm(props) {
20
+ const { form, options = { showDescription: false, showTitle: false }, formName = "", namesStr = "", defaultValues = [], showingRules = [], readOnly = false, } = props;
21
+ if (!form) {
22
+ return ((0, jsx_runtime_1.jsx)(index_js_10.StaticAlert, { title: "No se encontr\u00F3 el formulario din\u00E1mico", description: `Ocurrió un error encontrando el formulario para ${formName}, contacte al administrador con este mensaje de error.`, type: "info" }));
23
+ }
24
+ const renderFieldComponent = (field) => {
25
+ const defaultValue = defaultValues?.find((x) => x.settings_form_field.print_var_name === field.print_var_name);
26
+ switch (field.field_type) {
27
+ case "fixed_rows_table":
28
+ case "fixed_columns_table": {
29
+ const columns = field.settings_form_field_table_headers?.map((x) => {
30
+ return {
31
+ label: x.name,
32
+ name: `${namesStr}${x.id}_${field.id}`,
33
+ type: x.cell_type === "yes_no" ? "checkbox" : "textField",
34
+ };
35
+ }) ?? [];
36
+ return ((0, jsx_runtime_1.jsx)(index_js_11.SubContainer, { title: field.name, children: (0, jsx_runtime_1.jsx)(GenericDynamicTable_js_1.GenericDynamicTable, { name: "fixed_columns_table", columns: columns }) }, field.id));
37
+ }
38
+ case "zauru_data":
39
+ return ((0, jsx_runtime_1.jsx)(index_js_1.TextFieldWithoutValidation, { title: `${field.required ? "*" : ""}${field.name}`, hint: field.hint, defaultValue: defaultValue?.value ?? field.default_value, disabled: true }, field.id));
40
+ case "hour":
41
+ return ((0, jsx_runtime_1.jsx)(index_js_9.FormTimePicker, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, disabled: readOnly, defaultValue: defaultValue?.value }, field.id));
42
+ case "date":
43
+ return ((0, jsx_runtime_1.jsx)(index_js_8.FormDatePicker, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, disabled: readOnly, defaultValue: defaultValue?.value }, field.id));
44
+ case "file":
45
+ return ((0, jsx_runtime_1.jsx)(index_js_7.FileUploadField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, disabled: readOnly, defaultValue: defaultValue?.value, download: true }, field.id));
46
+ case "image":
47
+ return ((0, jsx_runtime_1.jsx)(index_js_7.FileUploadField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, showAvailableTypes: true, fileTypes: ["png", "jpg", "jpeg"], disabled: readOnly, defaultValue: defaultValue?.value }, field.id));
48
+ case "pdf":
49
+ return ((0, jsx_runtime_1.jsx)(index_js_7.FileUploadField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, showAvailableTypes: true, fileTypes: ["pdf"], disabled: readOnly, defaultValue: defaultValue?.value, download: true }, field.id));
50
+ case "email":
51
+ case "url":
52
+ case "text":
53
+ case "currency":
54
+ case "country":
55
+ return ((0, jsx_runtime_1.jsx)(index_js_1.TextField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, defaultValue: defaultValue?.value ?? field.default_value, disabled: readOnly }, field.id));
56
+ case "percentage":
57
+ case "number":
58
+ return ((0, jsx_runtime_1.jsx)(index_js_1.TextField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, defaultValue: defaultValue?.value ?? field.default_value, type: "number", disabled: readOnly }, field.id));
59
+ case "yes_no":
60
+ return ((0, jsx_runtime_1.jsx)(index_js_4.YesNo, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, disabled: readOnly, defaultValue: field.default_value === "true" || defaultValue?.value === "true" }, field.id));
61
+ case "section":
62
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(index_js_12.LineSeparator, {}), (0, jsx_runtime_1.jsx)("h3", { className: "mb-10 text-3xl font-bold leading-8 text-gray-900", children: field.name })] }, field.id));
63
+ case "multi_line_text":
64
+ return ((0, jsx_runtime_1.jsx)(index_js_5.TextArea, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, defaultValue: defaultValue?.value ?? field.default_value, hint: field.hint, disabled: readOnly }, field.id));
65
+ case "gt_departamentos": {
66
+ const optionsDep = (0, common_1.getDepSelectOptions)();
67
+ return ((0, jsx_runtime_1.jsx)(index_js_6.SelectField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, isClearable: !field.required, options: optionsDep, disabled: readOnly, defaultValue: optionsDep.find((x) => x.value === defaultValue?.value) }, field.id));
68
+ }
69
+ case "gt_municipios": {
70
+ const options = (0, common_1.getMunSelectOptions)();
71
+ return ((0, jsx_runtime_1.jsx)(index_js_6.SelectField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, isClearable: !field.required, options: options, disabled: readOnly, defaultValue: options.find((x) => x.value === defaultValue?.value) }, field.id));
72
+ }
73
+ case "single_select_options": {
74
+ const formFieldOptions = field.settings_form_field_options?.map((x) => {
75
+ return { label: x.label, value: x.value };
76
+ }) ?? [];
77
+ return ((0, jsx_runtime_1.jsx)(index_js_6.SelectField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, isClearable: !field.required, options: formFieldOptions, disabled: readOnly, defaultValue: formFieldOptions.find((x) => x.value === defaultValue?.value) }, field.id));
78
+ }
79
+ case "multi_select_options": {
80
+ const formFieldOptions2 = field.settings_form_field_options?.map((x) => {
81
+ return { label: x.label, value: x.value };
82
+ }) ?? [];
83
+ const defaultValuesMulti = (() => {
84
+ const values = defaultValue?.value?.split(",").map((str) => str.trim()) ?? [];
85
+ return formFieldOptions2.filter((x) => values.includes(x.value));
86
+ })();
87
+ return ((0, jsx_runtime_1.jsx)(index_js_6.SelectField, { title: `${field.required ? "*" : ""}${field.name}`, name: `${namesStr}${field.form_id}_${field.id}`, hint: field.hint, isClearable: !field.required, isMulti: true, options: formFieldOptions2, defaultValueMulti: defaultValuesMulti, disabled: readOnly }, field.id));
88
+ }
89
+ default:
90
+ return ((0, jsx_runtime_1.jsxs)("div", { children: ["Componente no encontrado para: ", field.field_type] }, field.id)); // o algún componente por defecto si lo prefieres
91
+ }
92
+ };
93
+ const renderFields = () => {
94
+ const fields = form.settings_form_fields;
95
+ const fieldGroups = [];
96
+ let tempGroup = [];
97
+ fields.forEach((field, i) => {
98
+ const rule = showingRules.find((x) => x.name === field.name);
99
+ if (!(rule && !rule.show)) {
100
+ const renderedField = renderFieldComponent(field);
101
+ if (renderedField === null) {
102
+ return;
103
+ }
104
+ tempGroup.push(renderedField);
105
+ const isLastField = i === fields.length - 1;
106
+ const isSectionField = field.field_type === "section";
107
+ if (isSectionField) {
108
+ tempGroup.pop();
109
+ if (tempGroup.length === 1) {
110
+ fieldGroups.push(tempGroup[0]);
111
+ }
112
+ else if (tempGroup.length === 2) {
113
+ fieldGroups.push((0, jsx_runtime_1.jsx)(index_js_3.DoubleFieldContainer, { children: tempGroup }, i));
114
+ }
115
+ else if (tempGroup.length === 3) {
116
+ fieldGroups.push((0, jsx_runtime_1.jsx)(index_js_2.TripleFieldContainer, { children: tempGroup }, i));
117
+ }
118
+ fieldGroups.push(renderedField);
119
+ tempGroup = [];
120
+ }
121
+ else if (isLastField) {
122
+ if (tempGroup.length === 1) {
123
+ fieldGroups.push(tempGroup[0]);
124
+ }
125
+ else if (tempGroup.length === 2) {
126
+ fieldGroups.push((0, jsx_runtime_1.jsx)(index_js_3.DoubleFieldContainer, { children: tempGroup }, i));
127
+ }
128
+ else if (tempGroup.length === 3) {
129
+ fieldGroups.push((0, jsx_runtime_1.jsx)(index_js_2.TripleFieldContainer, { children: tempGroup }, i));
130
+ }
131
+ tempGroup = [];
132
+ }
133
+ else if (tempGroup.length === 3) {
134
+ // Si hay 3 elementos en el grupo temporal y el siguiente campo no es 'section', se agrega a fieldGroups
135
+ fieldGroups.push((0, jsx_runtime_1.jsx)(index_js_2.TripleFieldContainer, { children: tempGroup }, i));
136
+ tempGroup = [];
137
+ }
138
+ }
139
+ });
140
+ return fieldGroups;
141
+ };
142
+ return ((0, jsx_runtime_1.jsx)(index_js_11.SubContainer, { title: options?.showTitle ? form.name : undefined, description: options?.showDescription ? form.description : undefined, children: renderFields() }));
143
+ }
144
+ exports.DynamicBaculoForm = DynamicBaculoForm;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DoubleFieldContainer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const DoubleFieldContainer = (props) => {
6
+ const { children, className, alignCenter = true } = props;
7
+ const getChildren = (index) => {
8
+ if (children && Array.isArray(children) && children[index]) {
9
+ return children[index];
10
+ }
11
+ if (children && index === 0) {
12
+ return children;
13
+ }
14
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
15
+ };
16
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: `grid md:grid-cols-2 sm:grid-cols-1 gap-4 ${className}`, style: alignCenter ? { alignItems: "center" } : {}, children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(0) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(1) })] }) }));
17
+ };
18
+ exports.DoubleFieldContainer = DoubleFieldContainer;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuadrupleFieldContainer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const QuadrupleFieldContainer = (props) => {
6
+ const { children, className } = props;
7
+ const getChildren = (index) => {
8
+ if (children && Array.isArray(children) && children[index]) {
9
+ return children[index];
10
+ }
11
+ if (children && index === 0) {
12
+ return children;
13
+ }
14
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
15
+ };
16
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: `grid lg:grid-cols-4 sm:grid-cols-2 xs:grid-cols-1 gap-4 ${className}`, style: { alignItems: "center" }, children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(0) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(1) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(2) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(3) })] }) }));
17
+ };
18
+ exports.QuadrupleFieldContainer = QuadrupleFieldContainer;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TripleFieldContainer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const TripleFieldContainer = (props) => {
6
+ const { children, className } = props;
7
+ const getChildren = (index) => {
8
+ if (children && Array.isArray(children) && children[index]) {
9
+ return children[index];
10
+ }
11
+ if (children && index === 0) {
12
+ return children;
13
+ }
14
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
15
+ };
16
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: `grid sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 ${className}`, style: { alignItems: "center" }, children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(0) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(1) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: getChildren(2) })] }) }));
17
+ };
18
+ exports.TripleFieldContainer = TripleFieldContainer;
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DoubleFieldContainer.js"), exports);
18
+ __exportStar(require("./QuadrupleFieldContainer.js"), exports);
19
+ __exportStar(require("./TripleFieldContainer.js"), exports);