@erpsquad/common 1.8.4 → 1.8.6

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 (1094) hide show
  1. package/README.md +22 -0
  2. package/dist/_virtual/index/index.esm10.js +4 -2
  3. package/dist/_virtual/index/index.esm10.js.map +1 -1
  4. package/dist/_virtual/index/index.esm11.js +3 -3
  5. package/dist/_virtual/index/index.esm2.js +3 -3
  6. package/dist/_virtual/index/index.esm3.js +2 -4
  7. package/dist/_virtual/index/index.esm3.js.map +1 -1
  8. package/dist/_virtual/index/index.esm4.js +3 -3
  9. package/dist/_virtual/index/index.esm5.js +3 -3
  10. package/dist/_virtual/index/index.esm6.js +3 -3
  11. package/dist/_virtual/index/index.esm7.js +3 -3
  12. package/dist/_virtual/index/index.esm8.js +3 -3
  13. package/dist/_virtual/index/index.esm9.js +3 -3
  14. package/dist/_virtual/index/index10.js +1 -1
  15. package/dist/_virtual/index/index11.js +1 -1
  16. package/dist/_virtual/index/index2.js +1 -1
  17. package/dist/_virtual/index/index3.js +1 -1
  18. package/dist/_virtual/index/index4.js +1 -1
  19. package/dist/_virtual/index/index5.js +1 -1
  20. package/dist/_virtual/index/index6.js +1 -1
  21. package/dist/_virtual/index/index7.js +1 -1
  22. package/dist/_virtual/index/index8.js +1 -1
  23. package/dist/_virtual/index/index9.js +1 -1
  24. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  25. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  26. package/dist/components/action-bar/action-bar/index.js +1 -1
  27. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  28. package/dist/components/editor/custom-editor/index.esm.js +1 -1
  29. package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
  30. package/dist/components/editor/custom-editor/index.js +1 -1
  31. package/dist/components/editor/custom-editor/index.js.map +1 -1
  32. package/dist/components/filter/filter/index.esm.js +1 -1
  33. package/dist/components/filter/filter/index.esm.js.map +1 -1
  34. package/dist/components/filter/filter/index.js +1 -1
  35. package/dist/components/filter/filter/index.js.map +1 -1
  36. package/dist/components/header/header/index.esm.js +1 -1
  37. package/dist/components/header/header/index.esm.js.map +1 -1
  38. package/dist/components/header/header/index.js +1 -1
  39. package/dist/components/header/header/index.js.map +1 -1
  40. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  41. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  42. package/dist/components/header/redux/actionCreator/index.js +1 -1
  43. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  44. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  45. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  46. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  47. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  48. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  49. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  50. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  51. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  52. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  53. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  54. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  55. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  56. package/dist/components/upload/upload/index.esm.js +2 -2
  57. package/dist/components/upload/upload/index.esm.js.map +1 -1
  58. package/dist/components/upload/upload/index.js +2 -2
  59. package/dist/components/upload/upload/index.js.map +1 -1
  60. package/dist/contexts/AuthContext/index.esm.js +2 -2
  61. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  62. package/dist/contexts/AuthContext/index.js +1 -1
  63. package/dist/contexts/AuthContext/index.js.map +1 -1
  64. package/dist/contexts/languageContext/index.esm.js +1 -1
  65. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  66. package/dist/contexts/languageContext/index.js +1 -1
  67. package/dist/contexts/languageContext/index.js.map +1 -1
  68. package/dist/contexts/page-context/index.esm.js +1 -4
  69. package/dist/contexts/page-context/index.esm.js.map +1 -1
  70. package/dist/contexts/page-context/index.js +1 -1
  71. package/dist/contexts/page-context/index.js.map +1 -1
  72. package/dist/hooks/use-material-calculations/index.esm.js +2 -1
  73. package/dist/hooks/use-material-calculations/index.esm.js.map +1 -1
  74. package/dist/hooks/use-material-calculations/index.js +1 -1
  75. package/dist/hooks/use-material-calculations/index.js.map +1 -1
  76. package/dist/hooks/useLangauge/index.esm.js +2 -1
  77. package/dist/hooks/useLangauge/index.esm.js.map +1 -1
  78. package/dist/hooks/useLangauge/index.js +1 -1
  79. package/dist/hooks/useLangauge/index.js.map +1 -1
  80. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
  81. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
  82. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js.map +1 -1
  83. package/dist/node_modules/@hookform/resolvers/yup/dist/yup/index.esm.js +15 -14
  84. package/dist/node_modules/@hookform/resolvers/yup/dist/yup/index.esm.js.map +1 -1
  85. package/dist/node_modules/@hookform/resolvers/yup/dist/yup/index.js +1 -1
  86. package/dist/node_modules/@hookform/resolvers/yup/dist/yup/index.js.map +1 -1
  87. package/dist/node_modules/@mui/base/TextareaAutosize/TextareaAutosize/index.esm.js +3 -2
  88. package/dist/node_modules/@mui/base/TextareaAutosize/TextareaAutosize/index.esm.js.map +1 -1
  89. package/dist/node_modules/@mui/base/TextareaAutosize/TextareaAutosize/index.js +1 -1
  90. package/dist/node_modules/@mui/base/TextareaAutosize/TextareaAutosize/index.js.map +1 -1
  91. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  92. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  93. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  94. package/dist/node_modules/@mui/lab/TabContext/TabContext/index.esm.js +3 -2
  95. package/dist/node_modules/@mui/lab/TabContext/TabContext/index.esm.js.map +1 -1
  96. package/dist/node_modules/@mui/lab/TabContext/TabContext/index.js +2 -2
  97. package/dist/node_modules/@mui/lab/TabContext/TabContext/index.js.map +1 -1
  98. package/dist/node_modules/@mui/lab/TabList/TabList/index.esm.js +2 -1
  99. package/dist/node_modules/@mui/lab/TabList/TabList/index.esm.js.map +1 -1
  100. package/dist/node_modules/@mui/lab/TabList/TabList/index.js +1 -1
  101. package/dist/node_modules/@mui/lab/TabList/TabList/index.js.map +1 -1
  102. package/dist/node_modules/@mui/lab/TabPanel/TabPanel/index.esm.js +2 -1
  103. package/dist/node_modules/@mui/lab/TabPanel/TabPanel/index.esm.js.map +1 -1
  104. package/dist/node_modules/@mui/lab/TabPanel/TabPanel/index.js +2 -2
  105. package/dist/node_modules/@mui/lab/TabPanel/TabPanel/index.js.map +1 -1
  106. package/dist/node_modules/@mui/lab/Timeline/Timeline/index.esm.js +2 -1
  107. package/dist/node_modules/@mui/lab/Timeline/Timeline/index.esm.js.map +1 -1
  108. package/dist/node_modules/@mui/lab/Timeline/Timeline/index.js +2 -2
  109. package/dist/node_modules/@mui/lab/Timeline/Timeline/index.js.map +1 -1
  110. package/dist/node_modules/@mui/lab/Timeline/TimelineContext/index.esm.js +2 -1
  111. package/dist/node_modules/@mui/lab/Timeline/TimelineContext/index.esm.js.map +1 -1
  112. package/dist/node_modules/@mui/lab/Timeline/TimelineContext/index.js +1 -1
  113. package/dist/node_modules/@mui/lab/Timeline/TimelineContext/index.js.map +1 -1
  114. package/dist/node_modules/@mui/lab/TimelineConnector/TimelineConnector/index.esm.js +2 -1
  115. package/dist/node_modules/@mui/lab/TimelineConnector/TimelineConnector/index.esm.js.map +1 -1
  116. package/dist/node_modules/@mui/lab/TimelineConnector/TimelineConnector/index.js +2 -2
  117. package/dist/node_modules/@mui/lab/TimelineConnector/TimelineConnector/index.js.map +1 -1
  118. package/dist/node_modules/@mui/lab/TimelineContent/TimelineContent/index.esm.js +2 -1
  119. package/dist/node_modules/@mui/lab/TimelineContent/TimelineContent/index.esm.js.map +1 -1
  120. package/dist/node_modules/@mui/lab/TimelineContent/TimelineContent/index.js +1 -1
  121. package/dist/node_modules/@mui/lab/TimelineContent/TimelineContent/index.js.map +1 -1
  122. package/dist/node_modules/@mui/lab/TimelineDot/TimelineDot/index.esm.js +2 -1
  123. package/dist/node_modules/@mui/lab/TimelineDot/TimelineDot/index.esm.js.map +1 -1
  124. package/dist/node_modules/@mui/lab/TimelineDot/TimelineDot/index.js +2 -2
  125. package/dist/node_modules/@mui/lab/TimelineDot/TimelineDot/index.js.map +1 -1
  126. package/dist/node_modules/@mui/lab/TimelineItem/TimelineItem/index.esm.js +2 -1
  127. package/dist/node_modules/@mui/lab/TimelineItem/TimelineItem/index.esm.js.map +1 -1
  128. package/dist/node_modules/@mui/lab/TimelineItem/TimelineItem/index.js +2 -2
  129. package/dist/node_modules/@mui/lab/TimelineItem/TimelineItem/index.js.map +1 -1
  130. package/dist/node_modules/@mui/lab/TimelineSeparator/TimelineSeparator/index.esm.js +2 -1
  131. package/dist/node_modules/@mui/lab/TimelineSeparator/TimelineSeparator/index.esm.js.map +1 -1
  132. package/dist/node_modules/@mui/lab/TimelineSeparator/TimelineSeparator/index.js +2 -2
  133. package/dist/node_modules/@mui/lab/TimelineSeparator/TimelineSeparator/index.js.map +1 -1
  134. package/dist/node_modules/@mui/material/Accordion/Accordion/index.esm.js +2 -1
  135. package/dist/node_modules/@mui/material/Accordion/Accordion/index.esm.js.map +1 -1
  136. package/dist/node_modules/@mui/material/Accordion/Accordion/index.js +2 -2
  137. package/dist/node_modules/@mui/material/Accordion/Accordion/index.js.map +1 -1
  138. package/dist/node_modules/@mui/material/Accordion/AccordionContext/index.esm.js +2 -1
  139. package/dist/node_modules/@mui/material/Accordion/AccordionContext/index.esm.js.map +1 -1
  140. package/dist/node_modules/@mui/material/Accordion/AccordionContext/index.js +1 -1
  141. package/dist/node_modules/@mui/material/Accordion/AccordionContext/index.js.map +1 -1
  142. package/dist/node_modules/@mui/material/AccordionActions/AccordionActions/index.esm.js +2 -1
  143. package/dist/node_modules/@mui/material/AccordionActions/AccordionActions/index.esm.js.map +1 -1
  144. package/dist/node_modules/@mui/material/AccordionActions/AccordionActions/index.js +1 -1
  145. package/dist/node_modules/@mui/material/AccordionActions/AccordionActions/index.js.map +1 -1
  146. package/dist/node_modules/@mui/material/AccordionDetails/AccordionDetails/index.esm.js +2 -1
  147. package/dist/node_modules/@mui/material/AccordionDetails/AccordionDetails/index.esm.js.map +1 -1
  148. package/dist/node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js +2 -2
  149. package/dist/node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js.map +1 -1
  150. package/dist/node_modules/@mui/material/AccordionSummary/AccordionSummary/index.esm.js +2 -1
  151. package/dist/node_modules/@mui/material/AccordionSummary/AccordionSummary/index.esm.js.map +1 -1
  152. package/dist/node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js +2 -2
  153. package/dist/node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js.map +1 -1
  154. package/dist/node_modules/@mui/material/Alert/Alert/index.esm.js +2 -1
  155. package/dist/node_modules/@mui/material/Alert/Alert/index.esm.js.map +1 -1
  156. package/dist/node_modules/@mui/material/Alert/Alert/index.js +1 -1
  157. package/dist/node_modules/@mui/material/Alert/Alert/index.js.map +1 -1
  158. package/dist/node_modules/@mui/material/AlertTitle/AlertTitle/index.esm.js +2 -1
  159. package/dist/node_modules/@mui/material/AlertTitle/AlertTitle/index.esm.js.map +1 -1
  160. package/dist/node_modules/@mui/material/AlertTitle/AlertTitle/index.js +1 -1
  161. package/dist/node_modules/@mui/material/AlertTitle/AlertTitle/index.js.map +1 -1
  162. package/dist/node_modules/@mui/material/AppBar/AppBar/index.esm.js +2 -1
  163. package/dist/node_modules/@mui/material/AppBar/AppBar/index.esm.js.map +1 -1
  164. package/dist/node_modules/@mui/material/AppBar/AppBar/index.js +1 -1
  165. package/dist/node_modules/@mui/material/AppBar/AppBar/index.js.map +1 -1
  166. package/dist/node_modules/@mui/material/Autocomplete/Autocomplete/index.esm.js +2 -1
  167. package/dist/node_modules/@mui/material/Autocomplete/Autocomplete/index.esm.js.map +1 -1
  168. package/dist/node_modules/@mui/material/Autocomplete/Autocomplete/index.js +1 -1
  169. package/dist/node_modules/@mui/material/Autocomplete/Autocomplete/index.js.map +1 -1
  170. package/dist/node_modules/@mui/material/Avatar/Avatar/index.esm.js +2 -1
  171. package/dist/node_modules/@mui/material/Avatar/Avatar/index.esm.js.map +1 -1
  172. package/dist/node_modules/@mui/material/Avatar/Avatar/index.js +1 -1
  173. package/dist/node_modules/@mui/material/Avatar/Avatar/index.js.map +1 -1
  174. package/dist/node_modules/@mui/material/AvatarGroup/AvatarGroup/index.esm.js +3 -2
  175. package/dist/node_modules/@mui/material/AvatarGroup/AvatarGroup/index.esm.js.map +1 -1
  176. package/dist/node_modules/@mui/material/AvatarGroup/AvatarGroup/index.js +2 -2
  177. package/dist/node_modules/@mui/material/AvatarGroup/AvatarGroup/index.js.map +1 -1
  178. package/dist/node_modules/@mui/material/Backdrop/Backdrop/index.esm.js +2 -1
  179. package/dist/node_modules/@mui/material/Backdrop/Backdrop/index.esm.js.map +1 -1
  180. package/dist/node_modules/@mui/material/Backdrop/Backdrop/index.js +1 -1
  181. package/dist/node_modules/@mui/material/Backdrop/Backdrop/index.js.map +1 -1
  182. package/dist/node_modules/@mui/material/Badge/Badge/index.esm.js +2 -1
  183. package/dist/node_modules/@mui/material/Badge/Badge/index.esm.js.map +1 -1
  184. package/dist/node_modules/@mui/material/Badge/Badge/index.js +1 -1
  185. package/dist/node_modules/@mui/material/Badge/Badge/index.js.map +1 -1
  186. package/dist/node_modules/@mui/material/BottomNavigation/BottomNavigation/index.esm.js +3 -2
  187. package/dist/node_modules/@mui/material/BottomNavigation/BottomNavigation/index.esm.js.map +1 -1
  188. package/dist/node_modules/@mui/material/BottomNavigation/BottomNavigation/index.js +3 -3
  189. package/dist/node_modules/@mui/material/BottomNavigation/BottomNavigation/index.js.map +1 -1
  190. package/dist/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction/index.esm.js +2 -1
  191. package/dist/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction/index.esm.js.map +1 -1
  192. package/dist/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction/index.js +2 -2
  193. package/dist/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction/index.js.map +1 -1
  194. package/dist/node_modules/@mui/material/Box/Box/index.esm.js +2 -1
  195. package/dist/node_modules/@mui/material/Box/Box/index.esm.js.map +1 -1
  196. package/dist/node_modules/@mui/material/Box/Box/index.js +1 -1
  197. package/dist/node_modules/@mui/material/Box/Box/index.js.map +1 -1
  198. package/dist/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed/index.esm.js +2 -1
  199. package/dist/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed/index.esm.js.map +1 -1
  200. package/dist/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed/index.js +2 -2
  201. package/dist/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed/index.js.map +1 -1
  202. package/dist/node_modules/@mui/material/Breadcrumbs/Breadcrumbs/index.esm.js +4 -3
  203. package/dist/node_modules/@mui/material/Breadcrumbs/Breadcrumbs/index.esm.js.map +1 -1
  204. package/dist/node_modules/@mui/material/Breadcrumbs/Breadcrumbs/index.js +2 -2
  205. package/dist/node_modules/@mui/material/Breadcrumbs/Breadcrumbs/index.js.map +1 -1
  206. package/dist/node_modules/@mui/material/Button/Button/index.esm.js +2 -1
  207. package/dist/node_modules/@mui/material/Button/Button/index.esm.js.map +1 -1
  208. package/dist/node_modules/@mui/material/Button/Button/index.js +1 -1
  209. package/dist/node_modules/@mui/material/Button/Button/index.js.map +1 -1
  210. package/dist/node_modules/@mui/material/ButtonBase/ButtonBase/index.esm.js +3 -2
  211. package/dist/node_modules/@mui/material/ButtonBase/ButtonBase/index.esm.js.map +1 -1
  212. package/dist/node_modules/@mui/material/ButtonBase/ButtonBase/index.js +3 -3
  213. package/dist/node_modules/@mui/material/ButtonBase/ButtonBase/index.js.map +1 -1
  214. package/dist/node_modules/@mui/material/ButtonBase/Ripple/index.esm.js +2 -1
  215. package/dist/node_modules/@mui/material/ButtonBase/Ripple/index.esm.js.map +1 -1
  216. package/dist/node_modules/@mui/material/ButtonBase/Ripple/index.js +1 -1
  217. package/dist/node_modules/@mui/material/ButtonBase/Ripple/index.js.map +1 -1
  218. package/dist/node_modules/@mui/material/ButtonBase/TouchRipple/index.esm.js +2 -1
  219. package/dist/node_modules/@mui/material/ButtonBase/TouchRipple/index.esm.js.map +1 -1
  220. package/dist/node_modules/@mui/material/ButtonBase/TouchRipple/index.js +1 -1
  221. package/dist/node_modules/@mui/material/ButtonBase/TouchRipple/index.js.map +1 -1
  222. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroup/index.esm.js +2 -1
  223. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroup/index.esm.js.map +1 -1
  224. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroup/index.js +1 -1
  225. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroup/index.js.map +1 -1
  226. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext/index.esm.js +2 -1
  227. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext/index.esm.js.map +1 -1
  228. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext/index.js +1 -1
  229. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext/index.js.map +1 -1
  230. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupContext/index.esm.js +2 -1
  231. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupContext/index.esm.js.map +1 -1
  232. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupContext/index.js +1 -1
  233. package/dist/node_modules/@mui/material/ButtonGroup/ButtonGroupContext/index.js.map +1 -1
  234. package/dist/node_modules/@mui/material/Card/Card/index.esm.js +2 -1
  235. package/dist/node_modules/@mui/material/Card/Card/index.esm.js.map +1 -1
  236. package/dist/node_modules/@mui/material/Card/Card/index.js +1 -1
  237. package/dist/node_modules/@mui/material/Card/Card/index.js.map +1 -1
  238. package/dist/node_modules/@mui/material/CardActionArea/CardActionArea/index.esm.js +2 -1
  239. package/dist/node_modules/@mui/material/CardActionArea/CardActionArea/index.esm.js.map +1 -1
  240. package/dist/node_modules/@mui/material/CardActionArea/CardActionArea/index.js +2 -2
  241. package/dist/node_modules/@mui/material/CardActionArea/CardActionArea/index.js.map +1 -1
  242. package/dist/node_modules/@mui/material/CardActions/CardActions/index.esm.js +2 -1
  243. package/dist/node_modules/@mui/material/CardActions/CardActions/index.esm.js.map +1 -1
  244. package/dist/node_modules/@mui/material/CardActions/CardActions/index.js +2 -2
  245. package/dist/node_modules/@mui/material/CardActions/CardActions/index.js.map +1 -1
  246. package/dist/node_modules/@mui/material/CardContent/CardContent/index.esm.js +2 -1
  247. package/dist/node_modules/@mui/material/CardContent/CardContent/index.esm.js.map +1 -1
  248. package/dist/node_modules/@mui/material/CardContent/CardContent/index.js +1 -1
  249. package/dist/node_modules/@mui/material/CardContent/CardContent/index.js.map +1 -1
  250. package/dist/node_modules/@mui/material/CardHeader/CardHeader/index.esm.js +2 -1
  251. package/dist/node_modules/@mui/material/CardHeader/CardHeader/index.esm.js.map +1 -1
  252. package/dist/node_modules/@mui/material/CardHeader/CardHeader/index.js +1 -1
  253. package/dist/node_modules/@mui/material/CardHeader/CardHeader/index.js.map +1 -1
  254. package/dist/node_modules/@mui/material/CardMedia/CardMedia/index.esm.js +2 -1
  255. package/dist/node_modules/@mui/material/CardMedia/CardMedia/index.esm.js.map +1 -1
  256. package/dist/node_modules/@mui/material/CardMedia/CardMedia/index.js +2 -2
  257. package/dist/node_modules/@mui/material/CardMedia/CardMedia/index.js.map +1 -1
  258. package/dist/node_modules/@mui/material/Checkbox/Checkbox/index.esm.js +2 -1
  259. package/dist/node_modules/@mui/material/Checkbox/Checkbox/index.esm.js.map +1 -1
  260. package/dist/node_modules/@mui/material/Checkbox/Checkbox/index.js +1 -1
  261. package/dist/node_modules/@mui/material/Checkbox/Checkbox/index.js.map +1 -1
  262. package/dist/node_modules/@mui/material/Chip/Chip/index.esm.js +3 -2
  263. package/dist/node_modules/@mui/material/Chip/Chip/index.esm.js.map +1 -1
  264. package/dist/node_modules/@mui/material/Chip/Chip/index.js +1 -1
  265. package/dist/node_modules/@mui/material/Chip/Chip/index.js.map +1 -1
  266. package/dist/node_modules/@mui/material/CircularProgress/CircularProgress/index.esm.js +2 -1
  267. package/dist/node_modules/@mui/material/CircularProgress/CircularProgress/index.esm.js.map +1 -1
  268. package/dist/node_modules/@mui/material/CircularProgress/CircularProgress/index.js +6 -6
  269. package/dist/node_modules/@mui/material/CircularProgress/CircularProgress/index.js.map +1 -1
  270. package/dist/node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.esm.js +3 -2
  271. package/dist/node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.esm.js.map +1 -1
  272. package/dist/node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.js +1 -1
  273. package/dist/node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.js.map +1 -1
  274. package/dist/node_modules/@mui/material/Collapse/Collapse/index.esm.js +2 -1
  275. package/dist/node_modules/@mui/material/Collapse/Collapse/index.esm.js.map +1 -1
  276. package/dist/node_modules/@mui/material/Collapse/Collapse/index.js +1 -1
  277. package/dist/node_modules/@mui/material/Collapse/Collapse/index.js.map +1 -1
  278. package/dist/node_modules/@mui/material/Container/Container/index.esm.js +2 -1
  279. package/dist/node_modules/@mui/material/Container/Container/index.esm.js.map +1 -1
  280. package/dist/node_modules/@mui/material/Container/Container/index.js +1 -1
  281. package/dist/node_modules/@mui/material/Container/Container/index.js.map +1 -1
  282. package/dist/node_modules/@mui/material/CssBaseline/CssBaseline/index.esm.js +2 -1
  283. package/dist/node_modules/@mui/material/CssBaseline/CssBaseline/index.esm.js.map +1 -1
  284. package/dist/node_modules/@mui/material/CssBaseline/CssBaseline/index.js +2 -2
  285. package/dist/node_modules/@mui/material/CssBaseline/CssBaseline/index.js.map +1 -1
  286. package/dist/node_modules/@mui/material/Dialog/Dialog/index.esm.js +2 -1
  287. package/dist/node_modules/@mui/material/Dialog/Dialog/index.esm.js.map +1 -1
  288. package/dist/node_modules/@mui/material/Dialog/Dialog/index.js +1 -1
  289. package/dist/node_modules/@mui/material/Dialog/Dialog/index.js.map +1 -1
  290. package/dist/node_modules/@mui/material/Dialog/DialogContext/index.esm.js +2 -1
  291. package/dist/node_modules/@mui/material/Dialog/DialogContext/index.esm.js.map +1 -1
  292. package/dist/node_modules/@mui/material/Dialog/DialogContext/index.js +1 -1
  293. package/dist/node_modules/@mui/material/Dialog/DialogContext/index.js.map +1 -1
  294. package/dist/node_modules/@mui/material/DialogActions/DialogActions/index.esm.js +2 -1
  295. package/dist/node_modules/@mui/material/DialogActions/DialogActions/index.esm.js.map +1 -1
  296. package/dist/node_modules/@mui/material/DialogActions/DialogActions/index.js +1 -1
  297. package/dist/node_modules/@mui/material/DialogActions/DialogActions/index.js.map +1 -1
  298. package/dist/node_modules/@mui/material/DialogContent/DialogContent/index.esm.js +2 -1
  299. package/dist/node_modules/@mui/material/DialogContent/DialogContent/index.esm.js.map +1 -1
  300. package/dist/node_modules/@mui/material/DialogContent/DialogContent/index.js +2 -2
  301. package/dist/node_modules/@mui/material/DialogContent/DialogContent/index.js.map +1 -1
  302. package/dist/node_modules/@mui/material/DialogContentText/DialogContentText/index.esm.js +2 -1
  303. package/dist/node_modules/@mui/material/DialogContentText/DialogContentText/index.esm.js.map +1 -1
  304. package/dist/node_modules/@mui/material/DialogContentText/DialogContentText/index.js +1 -1
  305. package/dist/node_modules/@mui/material/DialogContentText/DialogContentText/index.js.map +1 -1
  306. package/dist/node_modules/@mui/material/DialogTitle/DialogTitle/index.esm.js +2 -1
  307. package/dist/node_modules/@mui/material/DialogTitle/DialogTitle/index.esm.js.map +1 -1
  308. package/dist/node_modules/@mui/material/DialogTitle/DialogTitle/index.js +1 -1
  309. package/dist/node_modules/@mui/material/DialogTitle/DialogTitle/index.js.map +1 -1
  310. package/dist/node_modules/@mui/material/Divider/Divider/index.esm.js +2 -1
  311. package/dist/node_modules/@mui/material/Divider/Divider/index.esm.js.map +1 -1
  312. package/dist/node_modules/@mui/material/Divider/Divider/index.js +1 -1
  313. package/dist/node_modules/@mui/material/Divider/Divider/index.js.map +1 -1
  314. package/dist/node_modules/@mui/material/Drawer/Drawer/index.esm.js +2 -1
  315. package/dist/node_modules/@mui/material/Drawer/Drawer/index.esm.js.map +1 -1
  316. package/dist/node_modules/@mui/material/Drawer/Drawer/index.js +1 -1
  317. package/dist/node_modules/@mui/material/Drawer/Drawer/index.js.map +1 -1
  318. package/dist/node_modules/@mui/material/Fab/Fab/index.esm.js +2 -1
  319. package/dist/node_modules/@mui/material/Fab/Fab/index.esm.js.map +1 -1
  320. package/dist/node_modules/@mui/material/Fab/Fab/index.js +2 -2
  321. package/dist/node_modules/@mui/material/Fab/Fab/index.js.map +1 -1
  322. package/dist/node_modules/@mui/material/Fade/Fade/index.esm.js +2 -1
  323. package/dist/node_modules/@mui/material/Fade/Fade/index.esm.js.map +1 -1
  324. package/dist/node_modules/@mui/material/Fade/Fade/index.js +1 -1
  325. package/dist/node_modules/@mui/material/Fade/Fade/index.js.map +1 -1
  326. package/dist/node_modules/@mui/material/FilledInput/FilledInput/index.esm.js +2 -1
  327. package/dist/node_modules/@mui/material/FilledInput/FilledInput/index.esm.js.map +1 -1
  328. package/dist/node_modules/@mui/material/FilledInput/FilledInput/index.js +1 -1
  329. package/dist/node_modules/@mui/material/FilledInput/FilledInput/index.js.map +1 -1
  330. package/dist/node_modules/@mui/material/FormControl/FormControl/index.esm.js +3 -2
  331. package/dist/node_modules/@mui/material/FormControl/FormControl/index.esm.js.map +1 -1
  332. package/dist/node_modules/@mui/material/FormControl/FormControl/index.js +2 -2
  333. package/dist/node_modules/@mui/material/FormControl/FormControl/index.js.map +1 -1
  334. package/dist/node_modules/@mui/material/FormControl/FormControlContext/index.esm.js +2 -1
  335. package/dist/node_modules/@mui/material/FormControl/FormControlContext/index.esm.js.map +1 -1
  336. package/dist/node_modules/@mui/material/FormControl/FormControlContext/index.js +1 -1
  337. package/dist/node_modules/@mui/material/FormControl/FormControlContext/index.js.map +1 -1
  338. package/dist/node_modules/@mui/material/FormControlLabel/FormControlLabel/index.esm.js +2 -1
  339. package/dist/node_modules/@mui/material/FormControlLabel/FormControlLabel/index.esm.js.map +1 -1
  340. package/dist/node_modules/@mui/material/FormControlLabel/FormControlLabel/index.js +1 -1
  341. package/dist/node_modules/@mui/material/FormControlLabel/FormControlLabel/index.js.map +1 -1
  342. package/dist/node_modules/@mui/material/FormGroup/FormGroup/index.esm.js +2 -1
  343. package/dist/node_modules/@mui/material/FormGroup/FormGroup/index.esm.js.map +1 -1
  344. package/dist/node_modules/@mui/material/FormGroup/FormGroup/index.js +1 -1
  345. package/dist/node_modules/@mui/material/FormGroup/FormGroup/index.js.map +1 -1
  346. package/dist/node_modules/@mui/material/FormHelperText/FormHelperText/index.esm.js +2 -1
  347. package/dist/node_modules/@mui/material/FormHelperText/FormHelperText/index.esm.js.map +1 -1
  348. package/dist/node_modules/@mui/material/FormHelperText/FormHelperText/index.js +2 -2
  349. package/dist/node_modules/@mui/material/FormHelperText/FormHelperText/index.js.map +1 -1
  350. package/dist/node_modules/@mui/material/FormLabel/FormLabel/index.esm.js +2 -1
  351. package/dist/node_modules/@mui/material/FormLabel/FormLabel/index.esm.js.map +1 -1
  352. package/dist/node_modules/@mui/material/FormLabel/FormLabel/index.js +1 -1
  353. package/dist/node_modules/@mui/material/FormLabel/FormLabel/index.js.map +1 -1
  354. package/dist/node_modules/@mui/material/GlobalStyles/GlobalStyles/index.esm.js +2 -1
  355. package/dist/node_modules/@mui/material/GlobalStyles/GlobalStyles/index.esm.js.map +1 -1
  356. package/dist/node_modules/@mui/material/GlobalStyles/GlobalStyles/index.js +2 -2
  357. package/dist/node_modules/@mui/material/GlobalStyles/GlobalStyles/index.js.map +1 -1
  358. package/dist/node_modules/@mui/material/Grid/Grid/index.esm.js +3 -2
  359. package/dist/node_modules/@mui/material/Grid/Grid/index.esm.js.map +1 -1
  360. package/dist/node_modules/@mui/material/Grid/Grid/index.js +2 -2
  361. package/dist/node_modules/@mui/material/Grid/Grid/index.js.map +1 -1
  362. package/dist/node_modules/@mui/material/Grid/GridContext/index.esm.js +2 -1
  363. package/dist/node_modules/@mui/material/Grid/GridContext/index.esm.js.map +1 -1
  364. package/dist/node_modules/@mui/material/Grid/GridContext/index.js +1 -1
  365. package/dist/node_modules/@mui/material/Grid/GridContext/index.js.map +1 -1
  366. package/dist/node_modules/@mui/material/Grow/Grow/index.esm.js +2 -1
  367. package/dist/node_modules/@mui/material/Grow/Grow/index.esm.js.map +1 -1
  368. package/dist/node_modules/@mui/material/Grow/Grow/index.js +2 -2
  369. package/dist/node_modules/@mui/material/Grow/Grow/index.js.map +1 -1
  370. package/dist/node_modules/@mui/material/Hidden/Hidden/index.esm.js +2 -1
  371. package/dist/node_modules/@mui/material/Hidden/Hidden/index.esm.js.map +1 -1
  372. package/dist/node_modules/@mui/material/Hidden/Hidden/index.js +1 -1
  373. package/dist/node_modules/@mui/material/Hidden/Hidden/index.js.map +1 -1
  374. package/dist/node_modules/@mui/material/Hidden/HiddenCss/index.esm.js +3 -2
  375. package/dist/node_modules/@mui/material/Hidden/HiddenCss/index.esm.js.map +1 -1
  376. package/dist/node_modules/@mui/material/Hidden/HiddenCss/index.js +2 -2
  377. package/dist/node_modules/@mui/material/Hidden/HiddenCss/index.js.map +1 -1
  378. package/dist/node_modules/@mui/material/Hidden/HiddenJs/index.esm.js +4 -3
  379. package/dist/node_modules/@mui/material/Hidden/HiddenJs/index.esm.js.map +1 -1
  380. package/dist/node_modules/@mui/material/Hidden/HiddenJs/index.js +1 -1
  381. package/dist/node_modules/@mui/material/Hidden/HiddenJs/index.js.map +1 -1
  382. package/dist/node_modules/@mui/material/Hidden/withWidth/index.esm.js +3 -2
  383. package/dist/node_modules/@mui/material/Hidden/withWidth/index.esm.js.map +1 -1
  384. package/dist/node_modules/@mui/material/Hidden/withWidth/index.js +1 -1
  385. package/dist/node_modules/@mui/material/Hidden/withWidth/index.js.map +1 -1
  386. package/dist/node_modules/@mui/material/Icon/Icon/index.esm.js +2 -1
  387. package/dist/node_modules/@mui/material/Icon/Icon/index.esm.js.map +1 -1
  388. package/dist/node_modules/@mui/material/Icon/Icon/index.js +2 -2
  389. package/dist/node_modules/@mui/material/Icon/Icon/index.js.map +1 -1
  390. package/dist/node_modules/@mui/material/IconButton/IconButton/index.esm.js +2 -1
  391. package/dist/node_modules/@mui/material/IconButton/IconButton/index.esm.js.map +1 -1
  392. package/dist/node_modules/@mui/material/IconButton/IconButton/index.js +1 -1
  393. package/dist/node_modules/@mui/material/IconButton/IconButton/index.js.map +1 -1
  394. package/dist/node_modules/@mui/material/ImageList/ImageList/index.esm.js +3 -2
  395. package/dist/node_modules/@mui/material/ImageList/ImageList/index.esm.js.map +1 -1
  396. package/dist/node_modules/@mui/material/ImageList/ImageList/index.js +2 -2
  397. package/dist/node_modules/@mui/material/ImageList/ImageList/index.js.map +1 -1
  398. package/dist/node_modules/@mui/material/ImageList/ImageListContext/index.esm.js +2 -1
  399. package/dist/node_modules/@mui/material/ImageList/ImageListContext/index.esm.js.map +1 -1
  400. package/dist/node_modules/@mui/material/ImageList/ImageListContext/index.js +1 -1
  401. package/dist/node_modules/@mui/material/ImageList/ImageListContext/index.js.map +1 -1
  402. package/dist/node_modules/@mui/material/ImageListItem/ImageListItem/index.esm.js +3 -2
  403. package/dist/node_modules/@mui/material/ImageListItem/ImageListItem/index.esm.js.map +1 -1
  404. package/dist/node_modules/@mui/material/ImageListItem/ImageListItem/index.js +2 -2
  405. package/dist/node_modules/@mui/material/ImageListItem/ImageListItem/index.js.map +1 -1
  406. package/dist/node_modules/@mui/material/ImageListItemBar/ImageListItemBar/index.esm.js +2 -1
  407. package/dist/node_modules/@mui/material/ImageListItemBar/ImageListItemBar/index.esm.js.map +1 -1
  408. package/dist/node_modules/@mui/material/ImageListItemBar/ImageListItemBar/index.js +1 -1
  409. package/dist/node_modules/@mui/material/ImageListItemBar/ImageListItemBar/index.js.map +1 -1
  410. package/dist/node_modules/@mui/material/Input/Input/index.esm.js +2 -1
  411. package/dist/node_modules/@mui/material/Input/Input/index.esm.js.map +1 -1
  412. package/dist/node_modules/@mui/material/Input/Input/index.js +2 -2
  413. package/dist/node_modules/@mui/material/Input/Input/index.js.map +1 -1
  414. package/dist/node_modules/@mui/material/InputAdornment/InputAdornment/index.esm.js +3 -2
  415. package/dist/node_modules/@mui/material/InputAdornment/InputAdornment/index.esm.js.map +1 -1
  416. package/dist/node_modules/@mui/material/InputAdornment/InputAdornment/index.js +2 -2
  417. package/dist/node_modules/@mui/material/InputAdornment/InputAdornment/index.js.map +1 -1
  418. package/dist/node_modules/@mui/material/InputBase/InputBase/index.esm.js +6 -5
  419. package/dist/node_modules/@mui/material/InputBase/InputBase/index.esm.js.map +1 -1
  420. package/dist/node_modules/@mui/material/InputBase/InputBase/index.js +1 -1
  421. package/dist/node_modules/@mui/material/InputBase/InputBase/index.js.map +1 -1
  422. package/dist/node_modules/@mui/material/InputLabel/InputLabel/index.esm.js +2 -1
  423. package/dist/node_modules/@mui/material/InputLabel/InputLabel/index.esm.js.map +1 -1
  424. package/dist/node_modules/@mui/material/InputLabel/InputLabel/index.js +1 -1
  425. package/dist/node_modules/@mui/material/InputLabel/InputLabel/index.js.map +1 -1
  426. package/dist/node_modules/@mui/material/LinearProgress/LinearProgress/index.esm.js +4 -3
  427. package/dist/node_modules/@mui/material/LinearProgress/LinearProgress/index.esm.js.map +1 -1
  428. package/dist/node_modules/@mui/material/LinearProgress/LinearProgress/index.js +5 -5
  429. package/dist/node_modules/@mui/material/LinearProgress/LinearProgress/index.js.map +1 -1
  430. package/dist/node_modules/@mui/material/Link/Link/index.esm.js +2 -1
  431. package/dist/node_modules/@mui/material/Link/Link/index.esm.js.map +1 -1
  432. package/dist/node_modules/@mui/material/Link/Link/index.js +1 -1
  433. package/dist/node_modules/@mui/material/Link/Link/index.js.map +1 -1
  434. package/dist/node_modules/@mui/material/List/List/index.esm.js +2 -1
  435. package/dist/node_modules/@mui/material/List/List/index.esm.js.map +1 -1
  436. package/dist/node_modules/@mui/material/List/List/index.js +2 -2
  437. package/dist/node_modules/@mui/material/List/List/index.js.map +1 -1
  438. package/dist/node_modules/@mui/material/List/ListContext/index.esm.js +2 -1
  439. package/dist/node_modules/@mui/material/List/ListContext/index.esm.js.map +1 -1
  440. package/dist/node_modules/@mui/material/List/ListContext/index.js +1 -1
  441. package/dist/node_modules/@mui/material/List/ListContext/index.js.map +1 -1
  442. package/dist/node_modules/@mui/material/ListItem/ListItem/index.esm.js +3 -2
  443. package/dist/node_modules/@mui/material/ListItem/ListItem/index.esm.js.map +1 -1
  444. package/dist/node_modules/@mui/material/ListItem/ListItem/index.js +1 -1
  445. package/dist/node_modules/@mui/material/ListItem/ListItem/index.js.map +1 -1
  446. package/dist/node_modules/@mui/material/ListItemAvatar/ListItemAvatar/index.esm.js +2 -1
  447. package/dist/node_modules/@mui/material/ListItemAvatar/ListItemAvatar/index.esm.js.map +1 -1
  448. package/dist/node_modules/@mui/material/ListItemAvatar/ListItemAvatar/index.js +1 -1
  449. package/dist/node_modules/@mui/material/ListItemAvatar/ListItemAvatar/index.js.map +1 -1
  450. package/dist/node_modules/@mui/material/ListItemButton/ListItemButton/index.esm.js +3 -2
  451. package/dist/node_modules/@mui/material/ListItemButton/ListItemButton/index.esm.js.map +1 -1
  452. package/dist/node_modules/@mui/material/ListItemButton/ListItemButton/index.js +2 -2
  453. package/dist/node_modules/@mui/material/ListItemButton/ListItemButton/index.js.map +1 -1
  454. package/dist/node_modules/@mui/material/ListItemIcon/ListItemIcon/index.esm.js +2 -1
  455. package/dist/node_modules/@mui/material/ListItemIcon/ListItemIcon/index.esm.js.map +1 -1
  456. package/dist/node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js +2 -2
  457. package/dist/node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js.map +1 -1
  458. package/dist/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction/index.esm.js +2 -1
  459. package/dist/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction/index.esm.js.map +1 -1
  460. package/dist/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction/index.js +2 -2
  461. package/dist/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction/index.js.map +1 -1
  462. package/dist/node_modules/@mui/material/ListItemText/ListItemText/index.esm.js +2 -1
  463. package/dist/node_modules/@mui/material/ListItemText/ListItemText/index.esm.js.map +1 -1
  464. package/dist/node_modules/@mui/material/ListItemText/ListItemText/index.js +1 -1
  465. package/dist/node_modules/@mui/material/ListItemText/ListItemText/index.js.map +1 -1
  466. package/dist/node_modules/@mui/material/ListSubheader/ListSubheader/index.esm.js +2 -1
  467. package/dist/node_modules/@mui/material/ListSubheader/ListSubheader/index.esm.js.map +1 -1
  468. package/dist/node_modules/@mui/material/ListSubheader/ListSubheader/index.js +2 -2
  469. package/dist/node_modules/@mui/material/ListSubheader/ListSubheader/index.js.map +1 -1
  470. package/dist/node_modules/@mui/material/Menu/Menu/index.esm.js +3 -2
  471. package/dist/node_modules/@mui/material/Menu/Menu/index.esm.js.map +1 -1
  472. package/dist/node_modules/@mui/material/Menu/Menu/index.js +2 -2
  473. package/dist/node_modules/@mui/material/Menu/Menu/index.js.map +1 -1
  474. package/dist/node_modules/@mui/material/MenuItem/MenuItem/index.esm.js +3 -2
  475. package/dist/node_modules/@mui/material/MenuItem/MenuItem/index.esm.js.map +1 -1
  476. package/dist/node_modules/@mui/material/MenuItem/MenuItem/index.js +1 -1
  477. package/dist/node_modules/@mui/material/MenuItem/MenuItem/index.js.map +1 -1
  478. package/dist/node_modules/@mui/material/MenuList/MenuList/index.esm.js +3 -2
  479. package/dist/node_modules/@mui/material/MenuList/MenuList/index.esm.js.map +1 -1
  480. package/dist/node_modules/@mui/material/MenuList/MenuList/index.js +2 -2
  481. package/dist/node_modules/@mui/material/MenuList/MenuList/index.js.map +1 -1
  482. package/dist/node_modules/@mui/material/MobileStepper/MobileStepper/index.esm.js +2 -1
  483. package/dist/node_modules/@mui/material/MobileStepper/MobileStepper/index.esm.js.map +1 -1
  484. package/dist/node_modules/@mui/material/MobileStepper/MobileStepper/index.js +1 -1
  485. package/dist/node_modules/@mui/material/MobileStepper/MobileStepper/index.js.map +1 -1
  486. package/dist/node_modules/@mui/material/Modal/Modal/index.esm.js +2 -1
  487. package/dist/node_modules/@mui/material/Modal/Modal/index.esm.js.map +1 -1
  488. package/dist/node_modules/@mui/material/Modal/Modal/index.js +1 -1
  489. package/dist/node_modules/@mui/material/Modal/Modal/index.js.map +1 -1
  490. package/dist/node_modules/@mui/material/NativeSelect/NativeSelect/index.esm.js +2 -1
  491. package/dist/node_modules/@mui/material/NativeSelect/NativeSelect/index.esm.js.map +1 -1
  492. package/dist/node_modules/@mui/material/NativeSelect/NativeSelect/index.js +2 -2
  493. package/dist/node_modules/@mui/material/NativeSelect/NativeSelect/index.js.map +1 -1
  494. package/dist/node_modules/@mui/material/NativeSelect/NativeSelectInput/index.esm.js +2 -1
  495. package/dist/node_modules/@mui/material/NativeSelect/NativeSelectInput/index.esm.js.map +1 -1
  496. package/dist/node_modules/@mui/material/NativeSelect/NativeSelectInput/index.js +1 -1
  497. package/dist/node_modules/@mui/material/NativeSelect/NativeSelectInput/index.js.map +1 -1
  498. package/dist/node_modules/@mui/material/NoSsr/NoSsr/index.esm.js +3 -2
  499. package/dist/node_modules/@mui/material/NoSsr/NoSsr/index.esm.js.map +1 -1
  500. package/dist/node_modules/@mui/material/NoSsr/NoSsr/index.js +1 -1
  501. package/dist/node_modules/@mui/material/NoSsr/NoSsr/index.js.map +1 -1
  502. package/dist/node_modules/@mui/material/OutlinedInput/NotchedOutline/index.esm.js +2 -1
  503. package/dist/node_modules/@mui/material/OutlinedInput/NotchedOutline/index.esm.js.map +1 -1
  504. package/dist/node_modules/@mui/material/OutlinedInput/NotchedOutline/index.js +1 -1
  505. package/dist/node_modules/@mui/material/OutlinedInput/NotchedOutline/index.js.map +1 -1
  506. package/dist/node_modules/@mui/material/OutlinedInput/OutlinedInput/index.esm.js +2 -1
  507. package/dist/node_modules/@mui/material/OutlinedInput/OutlinedInput/index.esm.js.map +1 -1
  508. package/dist/node_modules/@mui/material/OutlinedInput/OutlinedInput/index.js +2 -2
  509. package/dist/node_modules/@mui/material/OutlinedInput/OutlinedInput/index.js.map +1 -1
  510. package/dist/node_modules/@mui/material/Pagination/Pagination/index.esm.js +2 -1
  511. package/dist/node_modules/@mui/material/Pagination/Pagination/index.esm.js.map +1 -1
  512. package/dist/node_modules/@mui/material/Pagination/Pagination/index.js +1 -1
  513. package/dist/node_modules/@mui/material/Pagination/Pagination/index.js.map +1 -1
  514. package/dist/node_modules/@mui/material/PaginationItem/PaginationItem/index.esm.js +2 -1
  515. package/dist/node_modules/@mui/material/PaginationItem/PaginationItem/index.esm.js.map +1 -1
  516. package/dist/node_modules/@mui/material/PaginationItem/PaginationItem/index.js +1 -1
  517. package/dist/node_modules/@mui/material/PaginationItem/PaginationItem/index.js.map +1 -1
  518. package/dist/node_modules/@mui/material/Paper/Paper/index.esm.js +3 -2
  519. package/dist/node_modules/@mui/material/Paper/Paper/index.esm.js.map +1 -1
  520. package/dist/node_modules/@mui/material/Paper/Paper/index.js +1 -1
  521. package/dist/node_modules/@mui/material/Paper/Paper/index.js.map +1 -1
  522. package/dist/node_modules/@mui/material/Popover/Popover/index.esm.js +7 -6
  523. package/dist/node_modules/@mui/material/Popover/Popover/index.esm.js.map +1 -1
  524. package/dist/node_modules/@mui/material/Popover/Popover/index.js +2 -2
  525. package/dist/node_modules/@mui/material/Popover/Popover/index.js.map +1 -1
  526. package/dist/node_modules/@mui/material/Popper/BasePopper/index.esm.js +5 -4
  527. package/dist/node_modules/@mui/material/Popper/BasePopper/index.esm.js.map +1 -1
  528. package/dist/node_modules/@mui/material/Popper/BasePopper/index.js +3 -3
  529. package/dist/node_modules/@mui/material/Popper/BasePopper/index.js.map +1 -1
  530. package/dist/node_modules/@mui/material/Popper/Popper/index.esm.js +2 -1
  531. package/dist/node_modules/@mui/material/Popper/Popper/index.esm.js.map +1 -1
  532. package/dist/node_modules/@mui/material/Popper/Popper/index.js +1 -1
  533. package/dist/node_modules/@mui/material/Popper/Popper/index.js.map +1 -1
  534. package/dist/node_modules/@mui/material/Portal/Portal/index.esm.js +3 -2
  535. package/dist/node_modules/@mui/material/Portal/Portal/index.esm.js.map +1 -1
  536. package/dist/node_modules/@mui/material/Portal/Portal/index.js +4 -4
  537. package/dist/node_modules/@mui/material/Portal/Portal/index.js.map +1 -1
  538. package/dist/node_modules/@mui/material/Radio/Radio/index.esm.js +2 -1
  539. package/dist/node_modules/@mui/material/Radio/Radio/index.esm.js.map +1 -1
  540. package/dist/node_modules/@mui/material/Radio/Radio/index.js +1 -1
  541. package/dist/node_modules/@mui/material/Radio/Radio/index.js.map +1 -1
  542. package/dist/node_modules/@mui/material/Radio/RadioButtonIcon/index.esm.js +2 -1
  543. package/dist/node_modules/@mui/material/Radio/RadioButtonIcon/index.esm.js.map +1 -1
  544. package/dist/node_modules/@mui/material/Radio/RadioButtonIcon/index.js +2 -2
  545. package/dist/node_modules/@mui/material/Radio/RadioButtonIcon/index.js.map +1 -1
  546. package/dist/node_modules/@mui/material/RadioGroup/RadioGroup/index.esm.js +2 -1
  547. package/dist/node_modules/@mui/material/RadioGroup/RadioGroup/index.esm.js.map +1 -1
  548. package/dist/node_modules/@mui/material/RadioGroup/RadioGroup/index.js +2 -2
  549. package/dist/node_modules/@mui/material/RadioGroup/RadioGroup/index.js.map +1 -1
  550. package/dist/node_modules/@mui/material/RadioGroup/RadioGroupContext/index.esm.js +2 -1
  551. package/dist/node_modules/@mui/material/RadioGroup/RadioGroupContext/index.esm.js.map +1 -1
  552. package/dist/node_modules/@mui/material/RadioGroup/RadioGroupContext/index.js +1 -1
  553. package/dist/node_modules/@mui/material/RadioGroup/RadioGroupContext/index.js.map +1 -1
  554. package/dist/node_modules/@mui/material/Rating/Rating/index.esm.js +4 -3
  555. package/dist/node_modules/@mui/material/Rating/Rating/index.esm.js.map +1 -1
  556. package/dist/node_modules/@mui/material/Rating/Rating/index.js +6 -6
  557. package/dist/node_modules/@mui/material/Rating/Rating/index.js.map +1 -1
  558. package/dist/node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline/index.esm.js +2 -1
  559. package/dist/node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline/index.esm.js.map +1 -1
  560. package/dist/node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline/index.js +2 -2
  561. package/dist/node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline/index.js.map +1 -1
  562. package/dist/node_modules/@mui/material/Select/Select/index.esm.js +2 -1
  563. package/dist/node_modules/@mui/material/Select/Select/index.esm.js.map +1 -1
  564. package/dist/node_modules/@mui/material/Select/Select/index.js +1 -1
  565. package/dist/node_modules/@mui/material/Select/Select/index.js.map +1 -1
  566. package/dist/node_modules/@mui/material/Select/SelectInput/index.esm.js +5 -4
  567. package/dist/node_modules/@mui/material/Select/SelectInput/index.esm.js.map +1 -1
  568. package/dist/node_modules/@mui/material/Select/SelectInput/index.js +2 -2
  569. package/dist/node_modules/@mui/material/Select/SelectInput/index.js.map +1 -1
  570. package/dist/node_modules/@mui/material/Skeleton/Skeleton/index.esm.js +2 -1
  571. package/dist/node_modules/@mui/material/Skeleton/Skeleton/index.esm.js.map +1 -1
  572. package/dist/node_modules/@mui/material/Skeleton/Skeleton/index.js +1 -1
  573. package/dist/node_modules/@mui/material/Skeleton/Skeleton/index.js.map +1 -1
  574. package/dist/node_modules/@mui/material/Slide/Slide/index.esm.js +3 -2
  575. package/dist/node_modules/@mui/material/Slide/Slide/index.esm.js.map +1 -1
  576. package/dist/node_modules/@mui/material/Slide/Slide/index.js +1 -1
  577. package/dist/node_modules/@mui/material/Slide/Slide/index.js.map +1 -1
  578. package/dist/node_modules/@mui/material/Slider/Slider/index.esm.js +2 -1
  579. package/dist/node_modules/@mui/material/Slider/Slider/index.esm.js.map +1 -1
  580. package/dist/node_modules/@mui/material/Slider/Slider/index.js +1 -1
  581. package/dist/node_modules/@mui/material/Slider/Slider/index.js.map +1 -1
  582. package/dist/node_modules/@mui/material/Slider/SliderValueLabel/index.esm.js +2 -1
  583. package/dist/node_modules/@mui/material/Slider/SliderValueLabel/index.esm.js.map +1 -1
  584. package/dist/node_modules/@mui/material/Slider/SliderValueLabel/index.js +1 -1
  585. package/dist/node_modules/@mui/material/Slider/SliderValueLabel/index.js.map +1 -1
  586. package/dist/node_modules/@mui/material/Snackbar/Snackbar/index.esm.js +2 -1
  587. package/dist/node_modules/@mui/material/Snackbar/Snackbar/index.esm.js.map +1 -1
  588. package/dist/node_modules/@mui/material/Snackbar/Snackbar/index.js +1 -1
  589. package/dist/node_modules/@mui/material/Snackbar/Snackbar/index.js.map +1 -1
  590. package/dist/node_modules/@mui/material/SnackbarContent/SnackbarContent/index.esm.js +2 -1
  591. package/dist/node_modules/@mui/material/SnackbarContent/SnackbarContent/index.esm.js.map +1 -1
  592. package/dist/node_modules/@mui/material/SnackbarContent/SnackbarContent/index.js +1 -1
  593. package/dist/node_modules/@mui/material/SnackbarContent/SnackbarContent/index.js.map +1 -1
  594. package/dist/node_modules/@mui/material/SpeedDial/SpeedDial/index.esm.js +3 -2
  595. package/dist/node_modules/@mui/material/SpeedDial/SpeedDial/index.esm.js.map +1 -1
  596. package/dist/node_modules/@mui/material/SpeedDial/SpeedDial/index.js +3 -3
  597. package/dist/node_modules/@mui/material/SpeedDial/SpeedDial/index.js.map +1 -1
  598. package/dist/node_modules/@mui/material/SpeedDialAction/SpeedDialAction/index.esm.js +2 -1
  599. package/dist/node_modules/@mui/material/SpeedDialAction/SpeedDialAction/index.esm.js.map +1 -1
  600. package/dist/node_modules/@mui/material/SpeedDialAction/SpeedDialAction/index.js +1 -1
  601. package/dist/node_modules/@mui/material/SpeedDialAction/SpeedDialAction/index.js.map +1 -1
  602. package/dist/node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon/index.esm.js +2 -1
  603. package/dist/node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon/index.esm.js.map +1 -1
  604. package/dist/node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon/index.js +2 -2
  605. package/dist/node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon/index.js.map +1 -1
  606. package/dist/node_modules/@mui/material/Stack/Stack/index.esm.js +2 -1
  607. package/dist/node_modules/@mui/material/Stack/Stack/index.esm.js.map +1 -1
  608. package/dist/node_modules/@mui/material/Stack/Stack/index.js +1 -1
  609. package/dist/node_modules/@mui/material/Stack/Stack/index.js.map +1 -1
  610. package/dist/node_modules/@mui/material/Step/Step/index.esm.js +2 -1
  611. package/dist/node_modules/@mui/material/Step/Step/index.esm.js.map +1 -1
  612. package/dist/node_modules/@mui/material/Step/Step/index.js +1 -1
  613. package/dist/node_modules/@mui/material/Step/Step/index.js.map +1 -1
  614. package/dist/node_modules/@mui/material/Step/StepContext/index.esm.js +2 -1
  615. package/dist/node_modules/@mui/material/Step/StepContext/index.esm.js.map +1 -1
  616. package/dist/node_modules/@mui/material/Step/StepContext/index.js +1 -1
  617. package/dist/node_modules/@mui/material/Step/StepContext/index.js.map +1 -1
  618. package/dist/node_modules/@mui/material/StepButton/StepButton/index.esm.js +2 -1
  619. package/dist/node_modules/@mui/material/StepButton/StepButton/index.esm.js.map +1 -1
  620. package/dist/node_modules/@mui/material/StepButton/StepButton/index.js +1 -1
  621. package/dist/node_modules/@mui/material/StepButton/StepButton/index.js.map +1 -1
  622. package/dist/node_modules/@mui/material/StepConnector/StepConnector/index.esm.js +2 -1
  623. package/dist/node_modules/@mui/material/StepConnector/StepConnector/index.esm.js.map +1 -1
  624. package/dist/node_modules/@mui/material/StepConnector/StepConnector/index.js +1 -1
  625. package/dist/node_modules/@mui/material/StepConnector/StepConnector/index.js.map +1 -1
  626. package/dist/node_modules/@mui/material/StepContent/StepContent/index.esm.js +3 -2
  627. package/dist/node_modules/@mui/material/StepContent/StepContent/index.esm.js.map +1 -1
  628. package/dist/node_modules/@mui/material/StepContent/StepContent/index.js +1 -1
  629. package/dist/node_modules/@mui/material/StepContent/StepContent/index.js.map +1 -1
  630. package/dist/node_modules/@mui/material/StepIcon/StepIcon/index.esm.js +2 -1
  631. package/dist/node_modules/@mui/material/StepIcon/StepIcon/index.esm.js.map +1 -1
  632. package/dist/node_modules/@mui/material/StepIcon/StepIcon/index.js +1 -1
  633. package/dist/node_modules/@mui/material/StepIcon/StepIcon/index.js.map +1 -1
  634. package/dist/node_modules/@mui/material/StepLabel/StepLabel/index.esm.js +2 -1
  635. package/dist/node_modules/@mui/material/StepLabel/StepLabel/index.esm.js.map +1 -1
  636. package/dist/node_modules/@mui/material/StepLabel/StepLabel/index.js +2 -2
  637. package/dist/node_modules/@mui/material/StepLabel/StepLabel/index.js.map +1 -1
  638. package/dist/node_modules/@mui/material/Stepper/Stepper/index.esm.js +2 -1
  639. package/dist/node_modules/@mui/material/Stepper/Stepper/index.esm.js.map +1 -1
  640. package/dist/node_modules/@mui/material/Stepper/Stepper/index.js +2 -2
  641. package/dist/node_modules/@mui/material/Stepper/Stepper/index.js.map +1 -1
  642. package/dist/node_modules/@mui/material/Stepper/StepperContext/index.esm.js +2 -1
  643. package/dist/node_modules/@mui/material/Stepper/StepperContext/index.esm.js.map +1 -1
  644. package/dist/node_modules/@mui/material/Stepper/StepperContext/index.js +1 -1
  645. package/dist/node_modules/@mui/material/Stepper/StepperContext/index.js.map +1 -1
  646. package/dist/node_modules/@mui/material/SvgIcon/SvgIcon/index.esm.js +2 -1
  647. package/dist/node_modules/@mui/material/SvgIcon/SvgIcon/index.esm.js.map +1 -1
  648. package/dist/node_modules/@mui/material/SvgIcon/SvgIcon/index.js +2 -2
  649. package/dist/node_modules/@mui/material/SvgIcon/SvgIcon/index.js.map +1 -1
  650. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeArea/index.esm.js +2 -1
  651. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeArea/index.esm.js.map +1 -1
  652. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeArea/index.js +2 -2
  653. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeArea/index.js.map +1 -1
  654. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer/index.esm.js +2 -1
  655. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer/index.esm.js.map +1 -1
  656. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer/index.js +1 -1
  657. package/dist/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer/index.js.map +1 -1
  658. package/dist/node_modules/@mui/material/Switch/Switch/index.esm.js +2 -1
  659. package/dist/node_modules/@mui/material/Switch/Switch/index.esm.js.map +1 -1
  660. package/dist/node_modules/@mui/material/Switch/Switch/index.js +2 -2
  661. package/dist/node_modules/@mui/material/Switch/Switch/index.js.map +1 -1
  662. package/dist/node_modules/@mui/material/Tab/Tab/index.esm.js +2 -1
  663. package/dist/node_modules/@mui/material/Tab/Tab/index.esm.js.map +1 -1
  664. package/dist/node_modules/@mui/material/Tab/Tab/index.js +1 -1
  665. package/dist/node_modules/@mui/material/Tab/Tab/index.js.map +1 -1
  666. package/dist/node_modules/@mui/material/TabScrollButton/TabScrollButton/index.esm.js +2 -1
  667. package/dist/node_modules/@mui/material/TabScrollButton/TabScrollButton/index.esm.js.map +1 -1
  668. package/dist/node_modules/@mui/material/TabScrollButton/TabScrollButton/index.js +2 -2
  669. package/dist/node_modules/@mui/material/TabScrollButton/TabScrollButton/index.js.map +1 -1
  670. package/dist/node_modules/@mui/material/Table/Table/index.esm.js +2 -1
  671. package/dist/node_modules/@mui/material/Table/Table/index.esm.js.map +1 -1
  672. package/dist/node_modules/@mui/material/Table/Table/index.js +2 -2
  673. package/dist/node_modules/@mui/material/Table/Table/index.js.map +1 -1
  674. package/dist/node_modules/@mui/material/Table/TableContext/index.esm.js +2 -1
  675. package/dist/node_modules/@mui/material/Table/TableContext/index.esm.js.map +1 -1
  676. package/dist/node_modules/@mui/material/Table/TableContext/index.js +1 -1
  677. package/dist/node_modules/@mui/material/Table/TableContext/index.js.map +1 -1
  678. package/dist/node_modules/@mui/material/Table/Tablelvl2Context/index.esm.js +2 -1
  679. package/dist/node_modules/@mui/material/Table/Tablelvl2Context/index.esm.js.map +1 -1
  680. package/dist/node_modules/@mui/material/Table/Tablelvl2Context/index.js +1 -1
  681. package/dist/node_modules/@mui/material/Table/Tablelvl2Context/index.js.map +1 -1
  682. package/dist/node_modules/@mui/material/TableBody/TableBody/index.esm.js +2 -1
  683. package/dist/node_modules/@mui/material/TableBody/TableBody/index.esm.js.map +1 -1
  684. package/dist/node_modules/@mui/material/TableBody/TableBody/index.js +1 -1
  685. package/dist/node_modules/@mui/material/TableBody/TableBody/index.js.map +1 -1
  686. package/dist/node_modules/@mui/material/TableCell/TableCell/index.esm.js +2 -1
  687. package/dist/node_modules/@mui/material/TableCell/TableCell/index.esm.js.map +1 -1
  688. package/dist/node_modules/@mui/material/TableCell/TableCell/index.js +1 -1
  689. package/dist/node_modules/@mui/material/TableCell/TableCell/index.js.map +1 -1
  690. package/dist/node_modules/@mui/material/TableContainer/TableContainer/index.esm.js +2 -1
  691. package/dist/node_modules/@mui/material/TableContainer/TableContainer/index.esm.js.map +1 -1
  692. package/dist/node_modules/@mui/material/TableContainer/TableContainer/index.js +2 -2
  693. package/dist/node_modules/@mui/material/TableContainer/TableContainer/index.js.map +1 -1
  694. package/dist/node_modules/@mui/material/TableFooter/TableFooter/index.esm.js +2 -1
  695. package/dist/node_modules/@mui/material/TableFooter/TableFooter/index.esm.js.map +1 -1
  696. package/dist/node_modules/@mui/material/TableFooter/TableFooter/index.js +1 -1
  697. package/dist/node_modules/@mui/material/TableFooter/TableFooter/index.js.map +1 -1
  698. package/dist/node_modules/@mui/material/TableHead/TableHead/index.esm.js +2 -1
  699. package/dist/node_modules/@mui/material/TableHead/TableHead/index.esm.js.map +1 -1
  700. package/dist/node_modules/@mui/material/TableHead/TableHead/index.js +1 -1
  701. package/dist/node_modules/@mui/material/TableHead/TableHead/index.js.map +1 -1
  702. package/dist/node_modules/@mui/material/TablePagination/TablePagination/index.esm.js +2 -1
  703. package/dist/node_modules/@mui/material/TablePagination/TablePagination/index.esm.js.map +1 -1
  704. package/dist/node_modules/@mui/material/TablePagination/TablePagination/index.js +2 -2
  705. package/dist/node_modules/@mui/material/TablePagination/TablePagination/index.js.map +1 -1
  706. package/dist/node_modules/@mui/material/TablePagination/TablePaginationActions/index.esm.js +2 -1
  707. package/dist/node_modules/@mui/material/TablePagination/TablePaginationActions/index.esm.js.map +1 -1
  708. package/dist/node_modules/@mui/material/TablePagination/TablePaginationActions/index.js +2 -2
  709. package/dist/node_modules/@mui/material/TablePagination/TablePaginationActions/index.js.map +1 -1
  710. package/dist/node_modules/@mui/material/TableRow/TableRow/index.esm.js +2 -1
  711. package/dist/node_modules/@mui/material/TableRow/TableRow/index.esm.js.map +1 -1
  712. package/dist/node_modules/@mui/material/TableRow/TableRow/index.js +1 -1
  713. package/dist/node_modules/@mui/material/TableRow/TableRow/index.js.map +1 -1
  714. package/dist/node_modules/@mui/material/TableSortLabel/TableSortLabel/index.esm.js +2 -1
  715. package/dist/node_modules/@mui/material/TableSortLabel/TableSortLabel/index.esm.js.map +1 -1
  716. package/dist/node_modules/@mui/material/TableSortLabel/TableSortLabel/index.js +1 -1
  717. package/dist/node_modules/@mui/material/TableSortLabel/TableSortLabel/index.js.map +1 -1
  718. package/dist/node_modules/@mui/material/Tabs/ScrollbarSize/index.esm.js +2 -1
  719. package/dist/node_modules/@mui/material/Tabs/ScrollbarSize/index.esm.js.map +1 -1
  720. package/dist/node_modules/@mui/material/Tabs/ScrollbarSize/index.js +1 -1
  721. package/dist/node_modules/@mui/material/Tabs/ScrollbarSize/index.js.map +1 -1
  722. package/dist/node_modules/@mui/material/Tabs/Tabs/index.esm.js +7 -6
  723. package/dist/node_modules/@mui/material/Tabs/Tabs/index.esm.js.map +1 -1
  724. package/dist/node_modules/@mui/material/Tabs/Tabs/index.js +2 -2
  725. package/dist/node_modules/@mui/material/Tabs/Tabs/index.js.map +1 -1
  726. package/dist/node_modules/@mui/material/TextField/TextField/index.esm.js +3 -2
  727. package/dist/node_modules/@mui/material/TextField/TextField/index.esm.js.map +1 -1
  728. package/dist/node_modules/@mui/material/TextField/TextField/index.js +2 -2
  729. package/dist/node_modules/@mui/material/TextField/TextField/index.js.map +1 -1
  730. package/dist/node_modules/@mui/material/TextareaAutosize/TextareaAutosize/index.esm.js +2 -1
  731. package/dist/node_modules/@mui/material/TextareaAutosize/TextareaAutosize/index.esm.js.map +1 -1
  732. package/dist/node_modules/@mui/material/TextareaAutosize/TextareaAutosize/index.js +1 -1
  733. package/dist/node_modules/@mui/material/TextareaAutosize/TextareaAutosize/index.js.map +1 -1
  734. package/dist/node_modules/@mui/material/ToggleButton/ToggleButton/index.esm.js +2 -1
  735. package/dist/node_modules/@mui/material/ToggleButton/ToggleButton/index.esm.js.map +1 -1
  736. package/dist/node_modules/@mui/material/ToggleButton/ToggleButton/index.js +1 -1
  737. package/dist/node_modules/@mui/material/ToggleButton/ToggleButton/index.js.map +1 -1
  738. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup/index.esm.js +3 -2
  739. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup/index.esm.js.map +1 -1
  740. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup/index.js +2 -2
  741. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup/index.js.map +1 -1
  742. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupButtonContext/index.esm.js +2 -1
  743. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupButtonContext/index.esm.js.map +1 -1
  744. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupButtonContext/index.js +1 -1
  745. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupButtonContext/index.js.map +1 -1
  746. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupContext/index.esm.js +2 -1
  747. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupContext/index.esm.js.map +1 -1
  748. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupContext/index.js +1 -1
  749. package/dist/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupContext/index.js.map +1 -1
  750. package/dist/node_modules/@mui/material/Toolbar/Toolbar/index.esm.js +2 -1
  751. package/dist/node_modules/@mui/material/Toolbar/Toolbar/index.esm.js.map +1 -1
  752. package/dist/node_modules/@mui/material/Toolbar/Toolbar/index.js +2 -2
  753. package/dist/node_modules/@mui/material/Toolbar/Toolbar/index.js.map +1 -1
  754. package/dist/node_modules/@mui/material/Tooltip/Tooltip/index.esm.js +5 -4
  755. package/dist/node_modules/@mui/material/Tooltip/Tooltip/index.esm.js.map +1 -1
  756. package/dist/node_modules/@mui/material/Tooltip/Tooltip/index.js +2 -2
  757. package/dist/node_modules/@mui/material/Tooltip/Tooltip/index.js.map +1 -1
  758. package/dist/node_modules/@mui/material/Typography/Typography/index.esm.js +2 -1
  759. package/dist/node_modules/@mui/material/Typography/Typography/index.esm.js.map +1 -1
  760. package/dist/node_modules/@mui/material/Typography/Typography/index.js +2 -2
  761. package/dist/node_modules/@mui/material/Typography/Typography/index.js.map +1 -1
  762. package/dist/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap/index.esm.js +4 -3
  763. package/dist/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap/index.esm.js.map +1 -1
  764. package/dist/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap/index.js +2 -2
  765. package/dist/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap/index.js.map +1 -1
  766. package/dist/node_modules/@mui/material/Zoom/Zoom/index.esm.js +2 -1
  767. package/dist/node_modules/@mui/material/Zoom/Zoom/index.esm.js.map +1 -1
  768. package/dist/node_modules/@mui/material/Zoom/Zoom/index.js +1 -1
  769. package/dist/node_modules/@mui/material/Zoom/Zoom/index.js.map +1 -1
  770. package/dist/node_modules/@mui/material/internal/SwitchBase/index.esm.js +2 -1
  771. package/dist/node_modules/@mui/material/internal/SwitchBase/index.esm.js.map +1 -1
  772. package/dist/node_modules/@mui/material/internal/SwitchBase/index.js +2 -2
  773. package/dist/node_modules/@mui/material/internal/SwitchBase/index.js.map +1 -1
  774. package/dist/node_modules/@mui/material/styles/ThemeProvider/index.esm.js +2 -1
  775. package/dist/node_modules/@mui/material/styles/ThemeProvider/index.esm.js.map +1 -1
  776. package/dist/node_modules/@mui/material/styles/ThemeProvider/index.js +1 -1
  777. package/dist/node_modules/@mui/material/styles/ThemeProvider/index.js.map +1 -1
  778. package/dist/node_modules/@mui/material/styles/createPalette/index.esm.js +5 -4
  779. package/dist/node_modules/@mui/material/styles/createPalette/index.esm.js.map +1 -1
  780. package/dist/node_modules/@mui/material/styles/createPalette/index.js +1 -1
  781. package/dist/node_modules/@mui/material/styles/createPalette/index.js.map +1 -1
  782. package/dist/node_modules/@mui/material/styles/createTheme/index.esm.js +4 -3
  783. package/dist/node_modules/@mui/material/styles/createTheme/index.esm.js.map +1 -1
  784. package/dist/node_modules/@mui/material/styles/createTheme/index.js +1 -1
  785. package/dist/node_modules/@mui/material/styles/createTheme/index.js.map +1 -1
  786. package/dist/node_modules/@mui/material/styles/createTransitions/index.esm.js +2 -1
  787. package/dist/node_modules/@mui/material/styles/createTransitions/index.esm.js.map +1 -1
  788. package/dist/node_modules/@mui/material/styles/createTransitions/index.js +1 -1
  789. package/dist/node_modules/@mui/material/styles/createTransitions/index.js.map +1 -1
  790. package/dist/node_modules/@mui/material/styles/createTypography/index.esm.js +2 -1
  791. package/dist/node_modules/@mui/material/styles/createTypography/index.esm.js.map +1 -1
  792. package/dist/node_modules/@mui/material/styles/createTypography/index.js +1 -1
  793. package/dist/node_modules/@mui/material/styles/createTypography/index.js.map +1 -1
  794. package/dist/node_modules/@mui/material/styles/useTheme/index.esm.js +2 -1
  795. package/dist/node_modules/@mui/material/styles/useTheme/index.esm.js.map +1 -1
  796. package/dist/node_modules/@mui/material/styles/useTheme/index.js +1 -1
  797. package/dist/node_modules/@mui/material/styles/useTheme/index.js.map +1 -1
  798. package/dist/node_modules/@mui/material/useAutocomplete/useAutocomplete/index.esm.js +6 -5
  799. package/dist/node_modules/@mui/material/useAutocomplete/useAutocomplete/index.esm.js.map +1 -1
  800. package/dist/node_modules/@mui/material/useAutocomplete/useAutocomplete/index.js +1 -1
  801. package/dist/node_modules/@mui/material/useAutocomplete/useAutocomplete/index.js.map +1 -1
  802. package/dist/node_modules/@mui/material/utils/createSvgIcon/index.esm.js +2 -1
  803. package/dist/node_modules/@mui/material/utils/createSvgIcon/index.esm.js.map +1 -1
  804. package/dist/node_modules/@mui/material/utils/createSvgIcon/index.js +2 -2
  805. package/dist/node_modules/@mui/material/utils/createSvgIcon/index.js.map +1 -1
  806. package/dist/node_modules/@mui/material/utils/index/index.esm.js +2 -1
  807. package/dist/node_modules/@mui/material/utils/index/index.esm.js.map +1 -1
  808. package/dist/node_modules/@mui/material/utils/index/index.js +1 -1
  809. package/dist/node_modules/@mui/material/utils/index/index.js.map +1 -1
  810. package/dist/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider/index.esm.js +6 -5
  811. package/dist/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider/index.esm.js.map +1 -1
  812. package/dist/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider/index.js +2 -2
  813. package/dist/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider/index.js.map +1 -1
  814. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext/index.esm.js +2 -1
  815. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext/index.esm.js.map +1 -1
  816. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext/index.js +1 -1
  817. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext/index.js.map +1 -1
  818. package/dist/node_modules/@mui/private-theming/useTheme/useTheme/index.esm.js +2 -1
  819. package/dist/node_modules/@mui/private-theming/useTheme/useTheme/index.esm.js.map +1 -1
  820. package/dist/node_modules/@mui/private-theming/useTheme/useTheme/index.js +1 -1
  821. package/dist/node_modules/@mui/private-theming/useTheme/useTheme/index.js.map +1 -1
  822. package/dist/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles/index.esm.js +2 -1
  823. package/dist/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles/index.esm.js.map +1 -1
  824. package/dist/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles/index.js +1 -1
  825. package/dist/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles/index.js.map +1 -1
  826. package/dist/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider/index.esm.js +2 -1
  827. package/dist/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider/index.esm.js.map +1 -1
  828. package/dist/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider/index.js +1 -1
  829. package/dist/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider/index.js.map +1 -1
  830. package/dist/node_modules/@mui/styled-engine/index/index.esm.js +2 -8
  831. package/dist/node_modules/@mui/styled-engine/index/index.esm.js.map +1 -1
  832. package/dist/node_modules/@mui/styled-engine/index/index.js +1 -1
  833. package/dist/node_modules/@mui/styled-engine/index/index.js.map +1 -1
  834. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +11 -10
  835. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js.map +1 -1
  836. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  837. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  838. package/dist/node_modules/@mui/system/createStyled/index.esm.js +9 -8
  839. package/dist/node_modules/@mui/system/createStyled/index.esm.js.map +1 -1
  840. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  841. package/dist/node_modules/@mui/system/createStyled/index.js.map +1 -1
  842. package/dist/node_modules/@mui/system/esm/Container/createContainer/index.esm.js +2 -1
  843. package/dist/node_modules/@mui/system/esm/Container/createContainer/index.esm.js.map +1 -1
  844. package/dist/node_modules/@mui/system/esm/Container/createContainer/index.js +2 -2
  845. package/dist/node_modules/@mui/system/esm/Container/createContainer/index.js.map +1 -1
  846. package/dist/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider/index.esm.js +2 -1
  847. package/dist/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider/index.esm.js.map +1 -1
  848. package/dist/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider/index.js +2 -2
  849. package/dist/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider/index.js.map +1 -1
  850. package/dist/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles/index.esm.js +2 -1
  851. package/dist/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles/index.esm.js.map +1 -1
  852. package/dist/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles/index.js +1 -1
  853. package/dist/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles/index.js.map +1 -1
  854. package/dist/node_modules/@mui/system/esm/RtlProvider/index/index.esm.js +2 -1
  855. package/dist/node_modules/@mui/system/esm/RtlProvider/index/index.esm.js.map +1 -1
  856. package/dist/node_modules/@mui/system/esm/RtlProvider/index/index.js +1 -1
  857. package/dist/node_modules/@mui/system/esm/RtlProvider/index/index.js.map +1 -1
  858. package/dist/node_modules/@mui/system/esm/Stack/createStack/index.esm.js +2 -1
  859. package/dist/node_modules/@mui/system/esm/Stack/createStack/index.esm.js.map +1 -1
  860. package/dist/node_modules/@mui/system/esm/Stack/createStack/index.js +2 -2
  861. package/dist/node_modules/@mui/system/esm/Stack/createStack/index.js.map +1 -1
  862. package/dist/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider/index.esm.js +5 -4
  863. package/dist/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider/index.esm.js.map +1 -1
  864. package/dist/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider/index.js +2 -2
  865. package/dist/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider/index.js.map +1 -1
  866. package/dist/node_modules/@mui/system/esm/borders/index.esm.js +2 -1
  867. package/dist/node_modules/@mui/system/esm/borders/index.esm.js.map +1 -1
  868. package/dist/node_modules/@mui/system/esm/borders/index.js +1 -1
  869. package/dist/node_modules/@mui/system/esm/borders/index.js.map +1 -1
  870. package/dist/node_modules/@mui/system/esm/breakpoints/index.esm.js.map +1 -1
  871. package/dist/node_modules/@mui/system/esm/breakpoints/index.js.map +1 -1
  872. package/dist/node_modules/@mui/system/esm/colorManipulator/index.esm.js +4 -3
  873. package/dist/node_modules/@mui/system/esm/colorManipulator/index.esm.js.map +1 -1
  874. package/dist/node_modules/@mui/system/esm/colorManipulator/index.js +1 -1
  875. package/dist/node_modules/@mui/system/esm/colorManipulator/index.js.map +1 -1
  876. package/dist/node_modules/@mui/system/esm/compose/index.esm.js +2 -1
  877. package/dist/node_modules/@mui/system/esm/compose/index.esm.js.map +1 -1
  878. package/dist/node_modules/@mui/system/esm/compose/index.js +1 -1
  879. package/dist/node_modules/@mui/system/esm/compose/index.js.map +1 -1
  880. package/dist/node_modules/@mui/system/esm/createStyled/index.esm.js +3 -2
  881. package/dist/node_modules/@mui/system/esm/createStyled/index.esm.js.map +1 -1
  882. package/dist/node_modules/@mui/system/esm/createStyled/index.js +1 -1
  883. package/dist/node_modules/@mui/system/esm/createStyled/index.js.map +1 -1
  884. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing/index.esm.js +2 -1
  885. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing/index.esm.js.map +1 -1
  886. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing/index.js +1 -1
  887. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing/index.js.map +1 -1
  888. package/dist/node_modules/@mui/system/esm/cssGrid/index.esm.js +4 -3
  889. package/dist/node_modules/@mui/system/esm/cssGrid/index.esm.js.map +1 -1
  890. package/dist/node_modules/@mui/system/esm/cssGrid/index.js +1 -1
  891. package/dist/node_modules/@mui/system/esm/cssGrid/index.js.map +1 -1
  892. package/dist/node_modules/@mui/system/esm/responsivePropType/index.esm.js +2 -1
  893. package/dist/node_modules/@mui/system/esm/responsivePropType/index.esm.js.map +1 -1
  894. package/dist/node_modules/@mui/system/esm/responsivePropType/index.js +1 -1
  895. package/dist/node_modules/@mui/system/esm/responsivePropType/index.js.map +1 -1
  896. package/dist/node_modules/@mui/system/esm/spacing/index.esm.js +7 -6
  897. package/dist/node_modules/@mui/system/esm/spacing/index.esm.js.map +1 -1
  898. package/dist/node_modules/@mui/system/esm/spacing/index.js +1 -1
  899. package/dist/node_modules/@mui/system/esm/spacing/index.js.map +1 -1
  900. package/dist/node_modules/@mui/system/esm/style/index.esm.js +2 -1
  901. package/dist/node_modules/@mui/system/esm/style/index.esm.js.map +1 -1
  902. package/dist/node_modules/@mui/system/esm/style/index.js +1 -1
  903. package/dist/node_modules/@mui/system/esm/style/index.js.map +1 -1
  904. package/dist/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery/index.esm.js +3 -2
  905. package/dist/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery/index.esm.js.map +1 -1
  906. package/dist/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery/index.js +1 -1
  907. package/dist/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery/index.js.map +1 -1
  908. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  909. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  910. package/dist/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType/index.esm.js +2 -1
  911. package/dist/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType/index.esm.js.map +1 -1
  912. package/dist/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType/index.js +1 -1
  913. package/dist/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType/index.js.map +1 -1
  914. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize/index.esm.js +2 -1
  915. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize/index.esm.js.map +1 -1
  916. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize/index.js +1 -1
  917. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize/index.js.map +1 -1
  918. package/dist/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes/index.esm.js +2 -1
  919. package/dist/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes/index.esm.js.map +1 -1
  920. package/dist/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes/index.js +1 -1
  921. package/dist/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes/index.js.map +1 -1
  922. package/dist/node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType/index.esm.js +2 -1
  923. package/dist/node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType/index.esm.js.map +1 -1
  924. package/dist/node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType/index.js +1 -1
  925. package/dist/node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType/index.js.map +1 -1
  926. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp/index.esm.js +2 -1
  927. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp/index.esm.js.map +1 -1
  928. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp/index.js +1 -1
  929. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp/index.js.map +1 -1
  930. package/dist/node_modules/@mui/utils/esm/integerPropType/integerPropType/index.esm.js +2 -1
  931. package/dist/node_modules/@mui/utils/esm/integerPropType/integerPropType/index.esm.js.map +1 -1
  932. package/dist/node_modules/@mui/utils/esm/integerPropType/integerPropType/index.js +1 -1
  933. package/dist/node_modules/@mui/utils/esm/integerPropType/integerPropType/index.js.map +1 -1
  934. package/dist/node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory/index.esm.js +2 -1
  935. package/dist/node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory/index.esm.js.map +1 -1
  936. package/dist/node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory/index.js +1 -1
  937. package/dist/node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory/index.js.map +1 -1
  938. package/dist/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp/index.esm.js +2 -1
  939. package/dist/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp/index.esm.js.map +1 -1
  940. package/dist/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp/index.js +1 -1
  941. package/dist/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp/index.js.map +1 -1
  942. package/dist/node_modules/@mui/utils/esm/useControlled/useControlled/index.esm.js +2 -1
  943. package/dist/node_modules/@mui/utils/esm/useControlled/useControlled/index.esm.js.map +1 -1
  944. package/dist/node_modules/@mui/utils/esm/useControlled/useControlled/index.js +1 -1
  945. package/dist/node_modules/@mui/utils/esm/useControlled/useControlled/index.js.map +1 -1
  946. package/dist/node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar/index.esm.js +2 -1
  947. package/dist/node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar/index.esm.js.map +1 -1
  948. package/dist/node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar/index.js +1 -1
  949. package/dist/node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar/index.js.map +1 -1
  950. package/dist/node_modules/@mui/x-date-pickers/DateField/DateField/index.esm.js +2 -1
  951. package/dist/node_modules/@mui/x-date-pickers/DateField/DateField/index.esm.js.map +1 -1
  952. package/dist/node_modules/@mui/x-date-pickers/DateField/DateField/index.js +2 -2
  953. package/dist/node_modules/@mui/x-date-pickers/DateField/DateField/index.js.map +1 -1
  954. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePicker/index.esm.js +2 -1
  955. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePicker/index.esm.js.map +1 -1
  956. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePicker/index.js +1 -1
  957. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePicker/index.js.map +1 -1
  958. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar/index.esm.js +2 -1
  959. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar/index.esm.js.map +1 -1
  960. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar/index.js +1 -1
  961. package/dist/node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar/index.js.map +1 -1
  962. package/dist/node_modules/@mui/x-date-pickers/DateTimeField/DateTimeField/index.esm.js +2 -1
  963. package/dist/node_modules/@mui/x-date-pickers/DateTimeField/DateTimeField/index.esm.js.map +1 -1
  964. package/dist/node_modules/@mui/x-date-pickers/DateTimeField/DateTimeField/index.js +2 -2
  965. package/dist/node_modules/@mui/x-date-pickers/DateTimeField/DateTimeField/index.js.map +1 -1
  966. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePicker/index.esm.js +2 -1
  967. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePicker/index.esm.js.map +1 -1
  968. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePicker/index.js +1 -1
  969. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePicker/index.js.map +1 -1
  970. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerTabs/index.esm.js +2 -1
  971. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerTabs/index.esm.js.map +1 -1
  972. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerTabs/index.js +1 -1
  973. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerTabs/index.js.map +1 -1
  974. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerToolbar/index.esm.js +2 -1
  975. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerToolbar/index.esm.js.map +1 -1
  976. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerToolbar/index.js +1 -1
  977. package/dist/node_modules/@mui/x-date-pickers/DateTimePicker/DateTimePickerToolbar/index.js.map +1 -1
  978. package/dist/node_modules/@mui/x-date-pickers/DigitalClock/DigitalClock/index.esm.js +2 -1
  979. package/dist/node_modules/@mui/x-date-pickers/DigitalClock/DigitalClock/index.esm.js.map +1 -1
  980. package/dist/node_modules/@mui/x-date-pickers/DigitalClock/DigitalClock/index.js +1 -1
  981. package/dist/node_modules/@mui/x-date-pickers/DigitalClock/DigitalClock/index.js.map +1 -1
  982. package/dist/node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider/index.esm.js +3 -2
  983. package/dist/node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider/index.esm.js.map +1 -1
  984. package/dist/node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider/index.js +2 -2
  985. package/dist/node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider/index.js.map +1 -1
  986. package/dist/node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar/index.esm.js +2 -1
  987. package/dist/node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar/index.esm.js.map +1 -1
  988. package/dist/node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar/index.js +1 -1
  989. package/dist/node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar/index.js.map +1 -1
  990. package/dist/node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock/index.esm.js +2 -1
  991. package/dist/node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock/index.esm.js.map +1 -1
  992. package/dist/node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock/index.js +1 -1
  993. package/dist/node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock/index.js.map +1 -1
  994. package/dist/node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar/index.esm.js +2 -1
  995. package/dist/node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar/index.esm.js.map +1 -1
  996. package/dist/node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar/index.js +4 -4
  997. package/dist/node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar/index.js.map +1 -1
  998. package/dist/node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader/index.esm.js +2 -1
  999. package/dist/node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader/index.esm.js.map +1 -1
  1000. package/dist/node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader/index.js +1 -1
  1001. package/dist/node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader/index.js.map +1 -1
  1002. package/dist/node_modules/@mui/x-date-pickers/PickersDay/PickersDay/index.esm.js +5 -4
  1003. package/dist/node_modules/@mui/x-date-pickers/PickersDay/PickersDay/index.esm.js.map +1 -1
  1004. package/dist/node_modules/@mui/x-date-pickers/PickersDay/PickersDay/index.js +1 -1
  1005. package/dist/node_modules/@mui/x-date-pickers/PickersDay/PickersDay/index.js.map +1 -1
  1006. package/dist/node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout/index.esm.js +2 -1
  1007. package/dist/node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout/index.esm.js.map +1 -1
  1008. package/dist/node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout/index.js +1 -1
  1009. package/dist/node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout/index.js.map +1 -1
  1010. package/dist/node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts/index.esm.js +2 -1
  1011. package/dist/node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts/index.esm.js.map +1 -1
  1012. package/dist/node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts/index.js +2 -2
  1013. package/dist/node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts/index.js.map +1 -1
  1014. package/dist/node_modules/@mui/x-date-pickers/TimeClock/TimeClock/index.esm.js +2 -1
  1015. package/dist/node_modules/@mui/x-date-pickers/TimeClock/TimeClock/index.esm.js.map +1 -1
  1016. package/dist/node_modules/@mui/x-date-pickers/TimeClock/TimeClock/index.js +2 -2
  1017. package/dist/node_modules/@mui/x-date-pickers/TimeClock/TimeClock/index.js.map +1 -1
  1018. package/dist/node_modules/@mui/x-date-pickers/TimeField/TimeField/index.esm.js +2 -1
  1019. package/dist/node_modules/@mui/x-date-pickers/TimeField/TimeField/index.esm.js.map +1 -1
  1020. package/dist/node_modules/@mui/x-date-pickers/TimeField/TimeField/index.js +1 -1
  1021. package/dist/node_modules/@mui/x-date-pickers/TimeField/TimeField/index.js.map +1 -1
  1022. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePicker/index.esm.js +2 -1
  1023. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePicker/index.esm.js.map +1 -1
  1024. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePicker/index.js +1 -1
  1025. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePicker/index.js.map +1 -1
  1026. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePickerToolbar/index.esm.js +2 -1
  1027. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePickerToolbar/index.esm.js.map +1 -1
  1028. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePickerToolbar/index.js +2 -2
  1029. package/dist/node_modules/@mui/x-date-pickers/TimePicker/TimePickerToolbar/index.js.map +1 -1
  1030. package/dist/node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar/index.esm.js +2 -1
  1031. package/dist/node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar/index.esm.js.map +1 -1
  1032. package/dist/node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar/index.js +2 -2
  1033. package/dist/node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar/index.js.map +1 -1
  1034. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils/index.esm.js +4 -3
  1035. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils/index.esm.js.map +1 -1
  1036. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils/index.js +1 -1
  1037. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils/index.js.map +1 -1
  1038. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker/index.esm.js +2 -1
  1039. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker/index.esm.js.map +1 -1
  1040. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker/index.js +1 -1
  1041. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker/index.js.map +1 -1
  1042. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue/index.esm.js +2 -1
  1043. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue/index.esm.js.map +1 -1
  1044. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue/index.js +1 -1
  1045. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue/index.js.map +1 -1
  1046. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useViews/index.esm.js +2 -1
  1047. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useViews/index.esm.js.map +1 -1
  1048. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useViews/index.js +1 -1
  1049. package/dist/node_modules/@mui/x-date-pickers/internals/hooks/useViews/index.js.map +1 -1
  1050. package/dist/node_modules/@mui/x-date-pickers/internals/utils/warning/index.esm.js.map +1 -1
  1051. package/dist/node_modules/@react-querybuilder/material/dist/react-querybuilder_material/index.esm.js.map +1 -1
  1052. package/dist/node_modules/@react-querybuilder/material/dist/react-querybuilder_material/index.js.map +1 -1
  1053. package/dist/node_modules/@tanstack/table-core/build/lib/index/index.esm.js +11 -20
  1054. package/dist/node_modules/@tanstack/table-core/build/lib/index/index.esm.js.map +1 -1
  1055. package/dist/node_modules/@tanstack/table-core/build/lib/index/index.js +1 -1
  1056. package/dist/node_modules/@tanstack/table-core/build/lib/index/index.js.map +1 -1
  1057. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index/index.esm.js +7 -6
  1058. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index/index.esm.js.map +1 -1
  1059. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index/index.js +1 -1
  1060. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index/index.js.map +1 -1
  1061. package/dist/node_modules/notistack/notistack.esm/index.esm.js +3 -2
  1062. package/dist/node_modules/notistack/notistack.esm/index.esm.js.map +1 -1
  1063. package/dist/node_modules/notistack/notistack.esm/index.js +1 -1
  1064. package/dist/node_modules/notistack/notistack.esm/index.js.map +1 -1
  1065. package/dist/node_modules/prop-types/checkPropTypes/index.esm.js +4 -3
  1066. package/dist/node_modules/prop-types/checkPropTypes/index.esm.js.map +1 -1
  1067. package/dist/node_modules/prop-types/checkPropTypes/index.js +1 -1
  1068. package/dist/node_modules/prop-types/checkPropTypes/index.js.map +1 -1
  1069. package/dist/node_modules/prop-types/factoryWithTypeCheckers/index.esm.js +6 -5
  1070. package/dist/node_modules/prop-types/factoryWithTypeCheckers/index.esm.js.map +1 -1
  1071. package/dist/node_modules/prop-types/factoryWithTypeCheckers/index.js +1 -1
  1072. package/dist/node_modules/prop-types/factoryWithTypeCheckers/index.js.map +1 -1
  1073. package/dist/node_modules/prop-types/index/index.esm.js +2 -1
  1074. package/dist/node_modules/prop-types/index/index.esm.js.map +1 -1
  1075. package/dist/node_modules/prop-types/index/index.js +1 -1
  1076. package/dist/node_modules/prop-types/index/index.js.map +1 -1
  1077. package/dist/style.css +2 -2
  1078. package/dist/utils/api/index.esm.js +4 -4
  1079. package/dist/utils/api/index.esm.js.map +1 -1
  1080. package/dist/utils/api/index.js +1 -1
  1081. package/dist/utils/api/index.js.map +1 -1
  1082. package/dist/utils/common/index.esm.js +8 -8
  1083. package/dist/utils/common/index.esm.js.map +1 -1
  1084. package/dist/utils/common/index.js +1 -1
  1085. package/dist/utils/common/index.js.map +1 -1
  1086. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +3 -3
  1087. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  1088. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  1089. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  1090. package/dist/views/template-editor/templates/index.esm.js +1 -1
  1091. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  1092. package/dist/views/template-editor/templates/index.js +1 -1
  1093. package/dist/views/template-editor/templates/index.js.map +1 -1
  1094. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),l=require("../../utils/common/index.js"),i=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js");const o=["en","en-US",t.DEFAULT_LANG],c={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},s=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},d=a.createContext(void 0);exports.LanguageProvider=({children:t})=>{const[u,g]=a.useReducer(s,c),{i18n:E}=n.useTranslation();a.useEffect(()=>{i.setBaseUrl("undefined/rbac")},[]);const A=async e=>{if(E&&"function"==typeof E.changeLanguage)try{await E.changeLanguage(e)}catch(a){}},_=e=>{document.body.dir=e.direction||"ltr",A(e.code),localStorage.setItem("_language",e.code)},p=async()=>{var e,a;try{g({type:"FETCH_LANGUAGES_START"});const n=await r.getV1Languages({order:"id:1",filters:"(is_active.in=[1])",...l.getToken()}),t=(null==(e=null==n?void 0:n.data)?void 0:e.languages)||[],i=null==(a=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:a.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}));i.some(e=>"en"===e.code)||i.unshift({code:"en",label:"English",direction:"ltr"}),g({type:"FETCH_LANGUAGES_SUCCESS",payload:i});const c=localStorage.getItem("_language"),s=((e,a)=>{if(!e||0===e.length)return null;if(a){const n=e.find(e=>e.code===a);if(n)return n}for(const n of o){const a=e.find(e=>e.code===n);if(a)return a}return e[0]||null})(i,c||void 0);if(s){const e=c&&c!==s.code;g({type:"SET_CURRENT_LANGUAGE",payload:s,isFallback:e}),_(s)}}catch(n){const e=n instanceof Error?n.message:"Failed to fetch languages";g({type:"FETCH_LANGUAGES_ERROR",payload:e});const a={code:"en",label:"English",direction:"ltr"};g({type:"FETCH_LANGUAGES_SUCCESS",payload:[a]}),g({type:"SET_CURRENT_LANGUAGE",payload:a,isFallback:!0}),document.body.dir="ltr",A("en"),localStorage.setItem("_language","en")}};a.useEffect(()=>{p()},[]);const y={...u,changeLanguage:e=>{const a=u.languages.find(a=>a.code===e);if(a)g({type:"SET_CURRENT_LANGUAGE",payload:a}),g({type:"SET_FALLBACK_ACTIVE",payload:!1}),_(a);else{const e={code:"en",label:"English",direction:"ltr"};g({type:"SET_CURRENT_LANGUAGE",payload:e,isFallback:!0}),_(e)}},fetchLanguages:p};/* @__PURE__ */
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),l=require("../../utils/common/index.js"),i=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js");const o=["en","en-US",t.DEFAULT_LANG],c={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},s=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},d=a.createContext(void 0);exports.LanguageProvider=({children:t})=>{const[u,g]=a.useReducer(s,c),{i18n:E}=n.useTranslation();a.useEffect(()=>{i.setBaseUrl("https://apidev.erpforce.co/rbac")},[]);const A=async e=>{if(E&&"function"==typeof E.changeLanguage)try{await E.changeLanguage(e)}catch(a){}},p=e=>{document.body.dir=e.direction||"ltr",A(e.code),localStorage.setItem("_language",e.code)},_=async()=>{var e,a;try{g({type:"FETCH_LANGUAGES_START"});const n=await r.getV1Languages({order:"id:1",filters:"(is_active.in=[1])",...l.getToken()}),t=(null==(e=null==n?void 0:n.data)?void 0:e.languages)||[],i=null==(a=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:a.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}));i.some(e=>"en"===e.code)||i.unshift({code:"en",label:"English",direction:"ltr"}),g({type:"FETCH_LANGUAGES_SUCCESS",payload:i});const c=localStorage.getItem("_language"),s=((e,a)=>{if(!e||0===e.length)return null;if(a){const n=e.find(e=>e.code===a);if(n)return n}for(const n of o){const a=e.find(e=>e.code===n);if(a)return a}return e[0]||null})(i,c||void 0);if(s){const e=c&&c!==s.code;g({type:"SET_CURRENT_LANGUAGE",payload:s,isFallback:e}),p(s)}}catch(n){const e=n instanceof Error?n.message:"Failed to fetch languages";g({type:"FETCH_LANGUAGES_ERROR",payload:e});const a={code:"en",label:"English",direction:"ltr"};g({type:"FETCH_LANGUAGES_SUCCESS",payload:[a]}),g({type:"SET_CURRENT_LANGUAGE",payload:a,isFallback:!0}),document.body.dir="ltr",A("en"),localStorage.setItem("_language","en")}};a.useEffect(()=>{_()},[]);const y={...u,changeLanguage:e=>{const a=u.languages.find(a=>a.code===e);if(a)g({type:"SET_CURRENT_LANGUAGE",payload:a}),g({type:"SET_FALLBACK_ACTIVE",payload:!1}),p(a);else{const e={code:"en",label:"English",direction:"ltr"};g({type:"SET_CURRENT_LANGUAGE",payload:e,isFallback:!0}),p(e)}},fetchLanguages:_};/* @__PURE__ */
2
2
  return e.jsx(d.Provider,{value:y,children:t})},exports.default=d;
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","setRoleURL","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","setRoleURL","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx, Fragment } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useState, useRef, useMemo, useCallback, useEffect } from "react";
3
3
  import { useLocation } from "react-router-dom";
4
4
  import { getV1PagesResource, getV1FormBuilderSchemaFieldsName, getV1FormBuilder, patchV1PagesPageId, getV1FilterResource } from "../../api-client/api.system-feature/api/index.esm.js";
@@ -327,9 +327,6 @@ const PageProvider = ({ children }) => {
327
327
  setLoading(true);
328
328
  };
329
329
  }, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]);
330
- if ((loading || curPathName != currentPathnameRef.current) && resources) {
331
- return /* @__PURE__ */ jsx(Fragment, {});
332
- }
333
330
  return /* @__PURE__ */ jsx(
334
331
  PageContext.Provider,
335
332
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData:Record<string, any>\n\tsetFormData:(data:Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst UpdatePageInfo = () => {};\nconst UpdateGeneratedColumns = () => {};\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => {},\n\tsetActivePage: () => {},\n\tsetPages: () => {},\n\tschemaFields: [],\n\tinitializeColumns: () => {},\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\tif(dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\treturn f || column\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\t\t\t\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field)=>!field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && {typeArrayAccessorKey: field.accessorKey || ''}),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false: true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues( _.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey||column.enableSorting===false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children }) => {\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst {user} = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\t\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = routeToColumnsMap[curPathName]?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName]);\n\t\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName]);\n\n\t//Translation\n\tconst {t}=useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry {\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '',formResource='' } = currentResources;\n\t\t\t\t\t\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst [pageResponse, fieldResponse,formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }): Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters:`(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label}));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n \n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\n\t};\n\n\tconst addOrDeletePage=async(restPages?:any[])=>{\n\t\ttry {\n\t\t\tconst filteredPages =restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name==p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n \t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg=restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t} \n\t}\n\t\n\tconst deletePage=async(pages:string)=>{\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\t\t\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\t\t\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\t\t\n\t\t// Fetch data for new page with current values\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <></>; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["field","_a","pages","sharedPages"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData:Record<string, any>\n\tsetFormData:(data:Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst UpdatePageInfo = () => {};\nconst UpdateGeneratedColumns = () => {};\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => {},\n\tsetActivePage: () => {},\n\tsetPages: () => {},\n\tschemaFields: [],\n\tinitializeColumns: () => {},\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\tif(dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\treturn f || column\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\t\t\t\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field)=>!field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && {typeArrayAccessorKey: field.accessorKey || ''}),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false: true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues( _.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey||column.enableSorting===false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children }) => {\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst {user} = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\t\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = routeToColumnsMap[curPathName]?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName]);\n\t\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName]);\n\n\t//Translation\n\tconst {t}=useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry {\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '',formResource='' } = currentResources;\n\t\t\t\t\t\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst [pageResponse, fieldResponse,formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }): Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters:`(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label}));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n \n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\n\t};\n\n\tconst addOrDeletePage=async(restPages?:any[])=>{\n\t\ttry {\n\t\t\tconst filteredPages =restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name==p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n \t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg=restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t} \n\t}\n\t\n\tconst deletePage=async(pages:string)=>{\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\t\t\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\t\t\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\t\t\n\t\t// Fetch data for new page with current values\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["field","_a","pages","sharedPages"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),t=require("react-router-dom"),l=require("../../api-client/api.system-feature/api/index.js"),n=require("../../constants/route-page-map/index.js"),r=require("../../utils/common/index.js"),s=require("lodash"),o=require("../../utils/format-text/index.js"),i=require("../../node_modules/notistack/notistack.esm/index.js"),u=require("react-i18next"),d=require("../../hooks/useAuth/index.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=/* @__PURE__ */c(s);const v={combinator:"and",rules:[]},g={_id:"",name:"",page_size:10,column_order:["id"],visible_columns:[],views:[],active_view:"",filters:v,filterQueryString:"",sort:null,search:"",enabled_views:["Table","Grid","Kanban","Calendar","Gantt"],isShared:!1,column_sizes:{}},p=a.createContext({pageTemplateId:"",activePage:g,updatePageInfo:()=>{},loading:!1,isSaving:!1,error:null,pages:[],sharedPages:[],savePages:()=>{},setActivePage:()=>{},setPages:()=>{},schemaFields:[],initializeColumns:()=>{},generatedColumns:{columns:[],orderKeys:[]},updateGeneratedColumns:()=>{}});function y(e,a){const t=new Set(e),l=a.filter(e=>!t.has(e));return[...e,...l]}const f=(e,a,t,l,n)=>{try{l&&(null==l?void 0:l.length)&&(e=e.map(e=>l.find(a=>a.accessorKey==e.accessorKey)||e));let r=t.length?t:e.map(e=>e.accessorKey);const s=e=>"object"===e.type||(null==e?void 0:e.join)?`${e.alias}.${e.accessorKey}`:e.key,i=a.map(e=>({...e,key:e.key.replace("__replaceKey","")})).filter(e=>!e.is_inner_join),u=m.default.differenceWith(i,i,(e,a)=>e.key===(null==a?void 0:a.joinKey)),d=m.default.differenceWith(u,e,(e,a)=>s(e)===a.accessorKey).map(e=>{var a,t,l;return{header:n?o.formatLabel((null==(a=n(null==e?void 0:e.label))?void 0:a.replace("_data",""))||""):o.formatLabel((null==(t=null==e?void 0:e.label)?void 0:t.replace("_data",""))||""),accessorKey:s(e),visible:!1,type:(null==e?void 0:e.enum)?"status":e.type,..."array"===e.type&&{typeArrayAccessorKey:e.accessorKey||""},enableSorting:"array"!==e.type&&"object"!==e.type&&!(null==e?void 0:e.join),..."boolean"===(null==e?void 0:e.type)?{typeBooleanLabels:(null==(l=null==e?void 0:e.values)?void 0:l.length)?m.default.mapValues(m.default.keyBy(null==e?void 0:e.values.map(e=>({key:e.name,value:e.label})),"key"),"value"):{0:"Inactive",1:"Active",false:"Inactive",true:"Active"}}:{}}}),c=[...null==e?void 0:e.map(e=>{const t=a.find(a=>s(a)===e.accessorKey);return{...e,..."object"===(null==t?void 0:t.type)||(null==t?void 0:t.joinKey)||!1===e.enableSorting?{enableSorting:!1}:{}}}),...d];return r=y(r,c.map(e=>e.accessorKey)),{columns:c,orderKeys:r}}catch(r){return{columns:e,orderKeys:e.map(e=>e.accessorKey)}}};exports.PageContext=p,exports.PageProvider=({children:s})=>{const c=t.useLocation(),[v,h]=a.useState(g),[_,b]=a.useState([]),[S,P]=a.useState(!0),[K,j]=a.useState(!1),[k,x]=a.useState(null),[C,q]=a.useState([]),[T,w]=a.useState([]),[F,I]=a.useState(!1),[R,A]=a.useState(""),[M,V]=a.useState(!0),[L,O]=a.useState(!1),[z,B]=a.useState({}),[G,$]=a.useState({columns:[],orderKeys:[]}),{user:N}=d.useAuth(),D=a.useRef(c.pathname),J=a.useMemo(()=>c.pathname,[c.pathname]),W=a.useMemo(()=>{var e;return(null==(e=n.routeToColumnsMap[J])?void 0:e.defaultColumns)||[]},[J]),E=a.useMemo(()=>n.routeToResourceMap[J]||null,[J]),{t:Q}=u.useTranslation(),H=a.useCallback(async(e,a,t)=>{var n,s,i,u,d,c,v,p,_;if(D.current===e){P(!0),x(null);try{if(a.length&&t){const{pageResource:S="",fieldResource:P="",formResource:K=""}=t;if(D.current!==e)return;const[j,k,x]=await Promise.all([S?l.getV1PagesResource({...r.getToken(),resource:S}):Promise.resolve(null),l.getV1FormBuilderSchemaFieldsName({name:P,...r.getToken()}),l.getV1FormBuilder({...r.getToken(),filters:`(resource.eq=${K}&company_id.eq=${null==N?void 0:N.company_id})`})]);if(D.current!==e)return;const C=null==(s=null==(n=null==k?void 0:k.data)?void 0:n.fields)?void 0:s.map(e=>{var a;return{...e,label:(null==(a=null==e?void 0:e.label)?void 0:a.trim())?e.label:o.formatLabel(e.key)}}),T=f(a,C,[],[],Q),F=(null==(u=null==(i=null==j?void 0:j.data)?void 0:i.pages)?void 0:u.map(e=>{var t;return{...g,...e,visible_columns:f((null==(t=e.visible_columns)?void 0:t.length)?e.visible_columns:a,C,e.column_order||[],a,Q).columns,column_order:y(e.column_order||[],m.default.uniq(T.orderKeys))}}))||[],I=(null==(c=null==(d=null==j?void 0:j.data)?void 0:d.shared_pages)?void 0:c.map(e=>({...e.details,isShared:!0,owner:e.owner,_id:e.id})))||[],R=[...F,...I];D.current===e&&await Promise.all([b(C),$(T),A(null==(v=null==j?void 0:j.data)?void 0:v._id),w(I),q(R||[]),B((null==(_=null==(p=null==x?void 0:x.data)?void 0:p.form)?void 0:_[0])||{}),h(e=>({...e,...(null==F?void 0:F[0])||{}}))])}}catch(S){D.current===e&&x("Failed to load page data")}finally{D.current===e&&setTimeout(()=>{P(!1)},1e3)}}},[]),U=async e=>{var a,t,n;try{const s=((null==e?void 0:e.length)?e:C.filter(e=>!e.isShared)).map(e=>e._id==(null==v?void 0:v._id)&&v.name==e.name?v:e),o=r.removeIdStaticIdsFromMongoObject(s),u=await l.patchV1PagesPageId({...r.getToken(),page_id:R,pages:o});if(200===u.status_code){const s=(null==(a=null==u?void 0:u.data)?void 0:a.pages)||[];q(s),(async()=>{await l.getV1FilterResource({...r.getToken(),resource:(null==E?void 0:E.pageResource)||(null==E?void 0:E.fieldResource)})})(),h(e=>({...e,...s.find(a=>a.name==e.name)||{}})),I(!1),O(!1),B((null==(n=null==(t=null==u?void 0:u.data)?void 0:t.form)?void 0:n[0])||{});const o=(null==e?void 0:e.length)?Q("pages.msg.delete"):Q("pages.msg.save");i.enqueueSnackbar(o)}return u}catch(s){x("Failed to save page data")}};return a.useEffect(()=>(D.current=J,P(!0),j(!1),h(g),I(!1),V(!0),b([]),$({columns:[],orderKeys:[]}),q([]),w([]),A(""),x(null),H(J,W,E),()=>{P(!0)}),[J,JSON.stringify(W),JSON.stringify(E)]),(S||J!=D.current)&&E?/* @__PURE__ */e.jsx(e.Fragment,{}):/* @__PURE__ */e.jsx(p.Provider,{value:{pageTemplateId:R,activePage:v,pages:C,sharedPages:T,schemaFields:_,setPages:q,updatePageInfo:e=>{h(a=>({...a,...e})),!M&&I(!0),V(!1)},savePages:async()=>{x(null),j(!0),await U(),setTimeout(()=>{j(!1)},1e3)},setActivePage:e=>{const a=C.map(e=>e._id==(null==v?void 0:v._id)?v:e);q(a),h(e)},isSaving:K,loading:S,error:k,initializeColumns:e=>{},generatedColumns:G,updateGeneratedColumns:e=>{$(a=>({...a,...e}))},isChanged:F,deletePage:async e=>{U(e)},isCreatePage:L,setIsCreatePage:O,addOrDeletePage:U,setIsChanged:I,formData:z},children:s})},exports.defaultPageState=g,exports.initialFilter=v;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),t=require("react-router-dom"),l=require("../../api-client/api.system-feature/api/index.js"),n=require("../../constants/route-page-map/index.js"),r=require("../../utils/common/index.js"),s=require("lodash"),o=require("../../utils/format-text/index.js"),i=require("../../node_modules/notistack/notistack.esm/index.js"),u=require("react-i18next"),d=require("../../hooks/useAuth/index.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=/* @__PURE__ */c(s);const v={combinator:"and",rules:[]},g={_id:"",name:"",page_size:10,column_order:["id"],visible_columns:[],views:[],active_view:"",filters:v,filterQueryString:"",sort:null,search:"",enabled_views:["Table","Grid","Kanban","Calendar","Gantt"],isShared:!1,column_sizes:{}},p=a.createContext({pageTemplateId:"",activePage:g,updatePageInfo:()=>{},loading:!1,isSaving:!1,error:null,pages:[],sharedPages:[],savePages:()=>{},setActivePage:()=>{},setPages:()=>{},schemaFields:[],initializeColumns:()=>{},generatedColumns:{columns:[],orderKeys:[]},updateGeneratedColumns:()=>{}});function y(e,a){const t=new Set(e),l=a.filter(e=>!t.has(e));return[...e,...l]}const f=(e,a,t,l,n)=>{try{l&&(null==l?void 0:l.length)&&(e=e.map(e=>l.find(a=>a.accessorKey==e.accessorKey)||e));let r=t.length?t:e.map(e=>e.accessorKey);const s=e=>"object"===e.type||(null==e?void 0:e.join)?`${e.alias}.${e.accessorKey}`:e.key,i=a.map(e=>({...e,key:e.key.replace("__replaceKey","")})).filter(e=>!e.is_inner_join),u=m.default.differenceWith(i,i,(e,a)=>e.key===(null==a?void 0:a.joinKey)),d=m.default.differenceWith(u,e,(e,a)=>s(e)===a.accessorKey).map(e=>{var a,t,l;return{header:n?o.formatLabel((null==(a=n(null==e?void 0:e.label))?void 0:a.replace("_data",""))||""):o.formatLabel((null==(t=null==e?void 0:e.label)?void 0:t.replace("_data",""))||""),accessorKey:s(e),visible:!1,type:(null==e?void 0:e.enum)?"status":e.type,..."array"===e.type&&{typeArrayAccessorKey:e.accessorKey||""},enableSorting:"array"!==e.type&&"object"!==e.type&&!(null==e?void 0:e.join),..."boolean"===(null==e?void 0:e.type)?{typeBooleanLabels:(null==(l=null==e?void 0:e.values)?void 0:l.length)?m.default.mapValues(m.default.keyBy(null==e?void 0:e.values.map(e=>({key:e.name,value:e.label})),"key"),"value"):{0:"Inactive",1:"Active",false:"Inactive",true:"Active"}}:{}}}),c=[...null==e?void 0:e.map(e=>{const t=a.find(a=>s(a)===e.accessorKey);return{...e,..."object"===(null==t?void 0:t.type)||(null==t?void 0:t.joinKey)||!1===e.enableSorting?{enableSorting:!1}:{}}}),...d];return r=y(r,c.map(e=>e.accessorKey)),{columns:c,orderKeys:r}}catch(r){return{columns:e,orderKeys:e.map(e=>e.accessorKey)}}};exports.PageContext=p,exports.PageProvider=({children:s})=>{const c=t.useLocation(),[v,h]=a.useState(g),[_,b]=a.useState([]),[S,P]=a.useState(!0),[K,j]=a.useState(!1),[k,x]=a.useState(null),[C,q]=a.useState([]),[T,w]=a.useState([]),[I,F]=a.useState(!1),[R,A]=a.useState(""),[M,V]=a.useState(!0),[L,O]=a.useState(!1),[z,B]=a.useState({}),[G,$]=a.useState({columns:[],orderKeys:[]}),{user:N}=d.useAuth(),D=a.useRef(c.pathname),J=a.useMemo(()=>c.pathname,[c.pathname]),W=a.useMemo(()=>{var e;return(null==(e=n.routeToColumnsMap[J])?void 0:e.defaultColumns)||[]},[J]),E=a.useMemo(()=>n.routeToResourceMap[J]||null,[J]),{t:Q}=u.useTranslation(),H=a.useCallback(async(e,a,t)=>{var n,s,i,u,d,c,v,p,_;if(D.current===e){P(!0),x(null);try{if(a.length&&t){const{pageResource:S="",fieldResource:P="",formResource:K=""}=t;if(D.current!==e)return;const[j,k,x]=await Promise.all([S?l.getV1PagesResource({...r.getToken(),resource:S}):Promise.resolve(null),l.getV1FormBuilderSchemaFieldsName({name:P,...r.getToken()}),l.getV1FormBuilder({...r.getToken(),filters:`(resource.eq=${K}&company_id.eq=${null==N?void 0:N.company_id})`})]);if(D.current!==e)return;const C=null==(s=null==(n=null==k?void 0:k.data)?void 0:n.fields)?void 0:s.map(e=>{var a;return{...e,label:(null==(a=null==e?void 0:e.label)?void 0:a.trim())?e.label:o.formatLabel(e.key)}}),T=f(a,C,[],[],Q),I=(null==(u=null==(i=null==j?void 0:j.data)?void 0:i.pages)?void 0:u.map(e=>{var t;return{...g,...e,visible_columns:f((null==(t=e.visible_columns)?void 0:t.length)?e.visible_columns:a,C,e.column_order||[],a,Q).columns,column_order:y(e.column_order||[],m.default.uniq(T.orderKeys))}}))||[],F=(null==(c=null==(d=null==j?void 0:j.data)?void 0:d.shared_pages)?void 0:c.map(e=>({...e.details,isShared:!0,owner:e.owner,_id:e.id})))||[],R=[...I,...F];D.current===e&&await Promise.all([b(C),$(T),A(null==(v=null==j?void 0:j.data)?void 0:v._id),w(F),q(R||[]),B((null==(_=null==(p=null==x?void 0:x.data)?void 0:p.form)?void 0:_[0])||{}),h(e=>({...e,...(null==I?void 0:I[0])||{}}))])}}catch(S){D.current===e&&x("Failed to load page data")}finally{D.current===e&&setTimeout(()=>{P(!1)},1e3)}}},[]),U=async e=>{var a,t,n;try{const s=((null==e?void 0:e.length)?e:C.filter(e=>!e.isShared)).map(e=>e._id==(null==v?void 0:v._id)&&v.name==e.name?v:e),o=r.removeIdStaticIdsFromMongoObject(s),u=await l.patchV1PagesPageId({...r.getToken(),page_id:R,pages:o});if(200===u.status_code){const s=(null==(a=null==u?void 0:u.data)?void 0:a.pages)||[];q(s),(async()=>{await l.getV1FilterResource({...r.getToken(),resource:(null==E?void 0:E.pageResource)||(null==E?void 0:E.fieldResource)})})(),h(e=>({...e,...s.find(a=>a.name==e.name)||{}})),F(!1),O(!1),B((null==(n=null==(t=null==u?void 0:u.data)?void 0:t.form)?void 0:n[0])||{});const o=(null==e?void 0:e.length)?Q("pages.msg.delete"):Q("pages.msg.save");i.enqueueSnackbar(o)}return u}catch(s){x("Failed to save page data")}};return a.useEffect(()=>(D.current=J,P(!0),j(!1),h(g),F(!1),V(!0),b([]),$({columns:[],orderKeys:[]}),q([]),w([]),A(""),x(null),H(J,W,E),()=>{P(!0)}),[J,JSON.stringify(W),JSON.stringify(E)]),/* @__PURE__ */e.jsx(p.Provider,{value:{pageTemplateId:R,activePage:v,pages:C,sharedPages:T,schemaFields:_,setPages:q,updatePageInfo:e=>{h(a=>({...a,...e})),!M&&F(!0),V(!1)},savePages:async()=>{x(null),j(!0),await U(),setTimeout(()=>{j(!1)},1e3)},setActivePage:e=>{const a=C.map(e=>e._id==(null==v?void 0:v._id)?v:e);q(a),h(e)},isSaving:K,loading:S,error:k,initializeColumns:e=>{},generatedColumns:G,updateGeneratedColumns:e=>{$(a=>({...a,...e}))},isChanged:I,deletePage:async e=>{U(e)},isCreatePage:L,setIsCreatePage:O,addOrDeletePage:U,setIsChanged:F,formData:z},children:s})},exports.defaultPageState=g,exports.initialFilter=v;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData:Record<string, any>\n\tsetFormData:(data:Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst UpdatePageInfo = () => {};\nconst UpdateGeneratedColumns = () => {};\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => {},\n\tsetActivePage: () => {},\n\tsetPages: () => {},\n\tschemaFields: [],\n\tinitializeColumns: () => {},\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\tif(dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\treturn f || column\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\t\t\t\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field)=>!field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && {typeArrayAccessorKey: field.accessorKey || ''}),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false: true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues( _.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey||column.enableSorting===false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children }) => {\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst {user} = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\t\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = routeToColumnsMap[curPathName]?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName]);\n\t\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName]);\n\n\t//Translation\n\tconst {t}=useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry {\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '',formResource='' } = currentResources;\n\t\t\t\t\t\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst [pageResponse, fieldResponse,formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }): Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters:`(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label}));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n \n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\n\t};\n\n\tconst addOrDeletePage=async(restPages?:any[])=>{\n\t\ttry {\n\t\t\tconst filteredPages =restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name==p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n \t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg=restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t} \n\t}\n\t\n\tconst deletePage=async(pages:string)=>{\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\t\t\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\t\t\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\t\t\n\t\t// Fetch data for new page with current values\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <></>; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["initialFilter","combinator","rules","defaultPageState","_id","name","page_size","column_order","visible_columns","views","active_view","filters","filterQueryString","sort","search","enabled_views","isShared","column_sizes","PageContext","createContext","pageTemplateId","activePage","updatePageInfo","loading","isSaving","error","pages","sharedPages","savePages","setActivePage","setPages","schemaFields","initializeColumns","generatedColumns","columns","orderKeys","updateGeneratedColumns","mergeArraysKeepingOrder","array1","array2","array1Set","Set","elementsToAdd","filter","item","has","generateColumnSchema","defaultColumns","columnOrders","dColumns","t","length","map","column","find","c","accessorKey","getAccesorKeyViaField","field","type","join","alias","key","updatedFields","replace","is_inner_join","uniqueFields","_","differenceWith","fieldA","fieldB","joinKey","additionalColumns","header","formatLabel","_a","label","_b","visible","enum","typeArrayAccessorKey","enableSorting","typeBooleanLabels","_c","values","mapValues","keyBy","value","false","true","children","location","useLocation","setActivePageData","useState","setSchemaFields","setLoading","setIsSaving","setError","setSharedPages","isChanged","setIsChanged","setPageTemplateId","isInitialLoad","setIsInitialLoad","isCreatePage","setIsCreatePage","formData","setFormData","setGeneratedColumns","user","useAuth","currentPathnameRef","useRef","pathname","curPathName","useMemo","routeToColumnsMap","resources","routeToResourceMap","useTranslation","fetchPageData","useCallback","async","currentPath","currentDefaultColumns","currentResources","current","pageResource","fieldResource","formResource","pageResponse","fieldResponse","formResponse","Promise","all","getV1PagesResource","getToken","resource","resolve","getV1FormBuilderSchemaFieldsName","getV1FormBuilder","company_id","fields","data","f","trim","gColumns","_d","p","uniq","_f","_e","shared_pages","sPages","details","owner","id","uPages","_g","_i","_h","form","prev","err","setTimeout","addOrDeletePage","restPages","page","sanitizedPages","removeIdStaticIdsFromMongoObject","response","patchV1PagesPageId","page_id","status_code","updatedPages","getV1FilterResource","fetchSavedFilters","msg","enqueueSnackbar","useEffect","JSON","stringify","jsx","Fragment","Provider","updates","deletePage"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData:Record<string, any>\n\tsetFormData:(data:Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst UpdatePageInfo = () => {};\nconst UpdateGeneratedColumns = () => {};\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => {},\n\tsetActivePage: () => {},\n\tsetPages: () => {},\n\tschemaFields: [],\n\tinitializeColumns: () => {},\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\tif(dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\treturn f || column\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\t\t\t\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field)=>!field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && {typeArrayAccessorKey: field.accessorKey || ''}),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false: true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues( _.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey||column.enableSorting===false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children }) => {\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst {user} = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\t\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = routeToColumnsMap[curPathName]?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName]);\n\t\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName]);\n\n\t//Translation\n\tconst {t}=useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry {\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '',formResource='' } = currentResources;\n\t\t\t\t\t\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst [pageResponse, fieldResponse,formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }): Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters:`(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label}));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n \n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\n\t};\n\n\tconst addOrDeletePage=async(restPages?:any[])=>{\n\t\ttry {\n\t\t\tconst filteredPages =restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name==p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n \t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg=restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t} \n\t}\n\t\n\tconst deletePage=async(pages:string)=>{\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\t\t\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\t\t\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\t\t\n\t\t// Fetch data for new page with current values\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["initialFilter","combinator","rules","defaultPageState","_id","name","page_size","column_order","visible_columns","views","active_view","filters","filterQueryString","sort","search","enabled_views","isShared","column_sizes","PageContext","createContext","pageTemplateId","activePage","updatePageInfo","loading","isSaving","error","pages","sharedPages","savePages","setActivePage","setPages","schemaFields","initializeColumns","generatedColumns","columns","orderKeys","updateGeneratedColumns","mergeArraysKeepingOrder","array1","array2","array1Set","Set","elementsToAdd","filter","item","has","generateColumnSchema","defaultColumns","columnOrders","dColumns","t","length","map","column","find","c","accessorKey","getAccesorKeyViaField","field","type","join","alias","key","updatedFields","replace","is_inner_join","uniqueFields","_","differenceWith","fieldA","fieldB","joinKey","additionalColumns","header","formatLabel","_a","label","_b","visible","enum","typeArrayAccessorKey","enableSorting","typeBooleanLabels","_c","values","mapValues","keyBy","value","false","true","children","location","useLocation","setActivePageData","useState","setSchemaFields","setLoading","setIsSaving","setError","setSharedPages","isChanged","setIsChanged","setPageTemplateId","isInitialLoad","setIsInitialLoad","isCreatePage","setIsCreatePage","formData","setFormData","setGeneratedColumns","user","useAuth","currentPathnameRef","useRef","pathname","curPathName","useMemo","routeToColumnsMap","resources","routeToResourceMap","useTranslation","fetchPageData","useCallback","async","currentPath","currentDefaultColumns","currentResources","current","pageResource","fieldResource","formResource","pageResponse","fieldResponse","formResponse","Promise","all","getV1PagesResource","getToken","resource","resolve","getV1FormBuilderSchemaFieldsName","getV1FormBuilder","company_id","fields","data","f","trim","gColumns","_d","p","uniq","_f","_e","shared_pages","sPages","details","owner","id","uPages","_g","_i","_h","form","prev","err","setTimeout","addOrDeletePage","restPages","page","sanitizedPages","removeIdStaticIdsFromMongoObject","response","patchV1PagesPageId","page_id","status_code","updatedPages","getV1FilterResource","fetchSavedFilters","msg","enqueueSnackbar","useEffect","JSON","stringify","jsx","Provider","updates","deletePage"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { useMemo } from "react";
2
+ var define_process_env_default = {};
2
3
  const MATERIAL_CONSTANTS = {
3
4
  STEEL_DENSITY: 7.85,
4
5
  LENGTH_CONVERSION_FACTOR: 1e3,
@@ -154,7 +155,7 @@ const useMaterialCalculations = (formValues) => {
154
155
  const boardsWeightResult = calculateBoardsWeight(formValues);
155
156
  const steelWeightResult = calculateSteelWeight(formValues);
156
157
  const materialWeightResult = calculateTubeMaterialWeight(formValues);
157
- if (process.env.NODE_ENV === "development") {
158
+ if (define_process_env_default.NODE_ENV === "development") {
158
159
  [totalWidthResult, materialUnitResult, boardsWeightResult, steelWeightResult, materialWeightResult].filter((result) => !result.isValid && result.error).forEach((result) => console.warn("Calculation warning:", result.error));
159
160
  }
160
161
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/hooks/use-material-calculations.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useMemo } from 'react';\n\n// ==================== CONSTANTS ====================\nconst MATERIAL_CONSTANTS = {\n STEEL_DENSITY: 7.85,\n LENGTH_CONVERSION_FACTOR: 1000,\n TUBE_CALCULATION_FACTOR: 0.024662,\n COIL_WEIGHTS: {\n GI: 2879.95,\n HR: 2356.59,\n },\n} as const;\n\n// ==================== TYPES ====================\ntype SteelType = keyof typeof MATERIAL_CONSTANTS.COIL_WEIGHTS;\ntype TubeType = 'Round' | 'Square' | 'Rectangle';\n\ninterface BaseFormValues {\n // Board calculation fields\n face_width?: string | number;\n bending?: string | number;\n height?: string | number;\n total_width?: string | number;\n boards_thickness?: string | number;\n boards_length?: string | number;\n \n // Steel calculation fields\n steel_length?: string | number;\n steel_width?: string | number;\n steel_thickness?: string | number;\n steel_type?: SteelType;\n \n // Tube calculation fields\n tube_type?: TubeType;\n tube_od?: string | number;\n shape_width?: string | number;\n shape_height?: string | number;\n material_thickness?: string | number;\n material_length?: string | number;\n}\n\ninterface MaterialCalculations {\n totalWidth: number;\n materialUnit: number;\n boardsWeight: number;\n steelWeight: number;\n materialWeight: number;\n}\n\ninterface CalculationResult<T = number> {\n value: T;\n isValid: boolean;\n error?: string;\n}\n\n// ==================== UTILITY FUNCTIONS ====================\n/**\n * Safely parses a value to number with comprehensive validation\n */\nconst safeParseNumber = (value: string | number | undefined | null): CalculationResult<number> => {\n if (value === undefined || value === null || value === '') {\n return { value: 0, isValid: false, error: 'Empty value' };\n }\n \n const parsed = typeof value === 'string' ? parseFloat(value.trim()) : Number(value);\n \n if (isNaN(parsed)) {\n return { value: 0, isValid: false, error: 'Invalid number format' };\n }\n \n if (!isFinite(parsed)) {\n return { value: 0, isValid: false, error: 'Number is not finite' };\n }\n \n return { value: parsed, isValid: true };\n};\n\n/**\n * Validates that all provided values are positive numbers\n */\nconst validatePositiveNumbers = (...values: (string | number | undefined)[]): boolean => {\n return values.every(value => {\n const result = safeParseNumber(value);\n return result.isValid && result.value > 0;\n });\n};\n\n/**\n * Creates a memoization key from form values to optimize re-calculations\n */\nconst createMemoKey = (formValues: BaseFormValues | undefined): string => {\n if (!formValues) return 'empty';\n \n // Only include relevant fields to avoid unnecessary recalculations\n const relevantFields = [\n 'face_width', 'bending', 'height', 'total_width', 'boards_thickness', 'boards_length',\n 'steel_length', 'steel_width', 'steel_thickness', 'steel_type',\n 'tube_type', 'tube_od', 'shape_width', 'shape_height', 'material_thickness', 'material_length'\n ];\n \n return relevantFields\n .map(field => `${field}:${formValues[field as keyof BaseFormValues] ?? ''}`)\n .join('|');\n};\n\n// ==================== CALCULATION FUNCTIONS ====================\n/**\n * Calculates the total width for boards costing\n * Formula: ((height + bending) * 2) + face_width\n */\nconst calculateBoardsTotalWidth = (formValues: BaseFormValues): CalculationResult<number> => {\n const { face_width, bending, height } = formValues;\n \n if (!validatePositiveNumbers(face_width, bending, height)) {\n return { value: 0, isValid: false, error: 'Invalid input values for boards total width calculation' };\n }\n \n const faceWidthResult = safeParseNumber(face_width);\n const bendingResult = safeParseNumber(bending);\n const heightResult = safeParseNumber(height);\n \n if (![faceWidthResult, bendingResult, heightResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const totalWidth = ((heightResult.value + bendingResult.value) * 2) + faceWidthResult.value;\n \n return { value: totalWidth, isValid: true };\n};\n\n/**\n * Calculates the weight of boards\n * Formula: (total_width * thickness * (length / 1000)) * 7.85\n */\nconst calculateBoardsWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { total_width, boards_thickness, boards_length } = formValues;\n \n if (!validatePositiveNumbers(total_width, boards_thickness, boards_length)) {\n return { value: 0, isValid: false, error: 'Invalid input values for boards weight calculation' };\n }\n \n const totalWidthResult = safeParseNumber(total_width);\n const thicknessResult = safeParseNumber(boards_thickness);\n const lengthResult = safeParseNumber(boards_length);\n \n if (![totalWidthResult, thicknessResult, lengthResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const weight = (totalWidthResult.value * thicknessResult.value * \n (lengthResult.value / MATERIAL_CONSTANTS.LENGTH_CONVERSION_FACTOR)) * \n MATERIAL_CONSTANTS.STEEL_DENSITY;\n \n return { value: weight, isValid: true };\n};\n\n/**\n * Calculates the weight of steel\n * Formula: (length * width * thickness * 7.85) / 1000\n */\nconst calculateSteelWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { steel_length, steel_width, steel_thickness } = formValues;\n \n if (!validatePositiveNumbers(steel_length, steel_width, steel_thickness)) {\n return { value: 0, isValid: false, error: 'Invalid input values for steel weight calculation' };\n }\n \n const lengthResult = safeParseNumber(steel_length);\n const widthResult = safeParseNumber(steel_width);\n const thicknessResult = safeParseNumber(steel_thickness);\n \n if (![lengthResult, widthResult, thicknessResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const weight = (lengthResult.value * widthResult.value * thicknessResult.value * \n MATERIAL_CONSTANTS.STEEL_DENSITY) / MATERIAL_CONSTANTS.LENGTH_CONVERSION_FACTOR;\n \n return { value: weight, isValid: true };\n};\n\n/**\n * Gets the material unit weight based on steel type\n */\nconst calculateMaterialUnit = (formValues: BaseFormValues): CalculationResult<number> => {\n const { steel_type } = formValues;\n \n if (!steel_type) {\n return { value: 0, isValid: false, error: 'Steel type not specified' };\n }\n \n if (!(steel_type in MATERIAL_CONSTANTS.COIL_WEIGHTS)) {\n return { value: 0, isValid: false, error: `Unsupported steel type: ${steel_type}` };\n }\n \n const weight = MATERIAL_CONSTANTS.COIL_WEIGHTS[steel_type];\n return { value: weight, isValid: true };\n};\n\n/**\n * Calculates material weight based on tube type and dimensions\n * Supports Round, Square, and Rectangle tube types\n */\nconst calculateTubeMaterialWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { tube_type, tube_od, shape_width, shape_height, material_thickness, material_length } = formValues;\n \n if (!tube_type) {\n return { value: 0, isValid: false, error: 'Tube type not specified' };\n }\n \n const thicknessResult = safeParseNumber(material_thickness);\n const lengthResult = safeParseNumber(material_length);\n \n if (!thicknessResult.isValid || !lengthResult.isValid) {\n return { value: 0, isValid: false, error: 'Invalid thickness or length values' };\n }\n \n let weight = 0;\n \n switch (tube_type) {\n case 'Round': {\n const odResult = safeParseNumber(tube_od);\n if (!odResult.isValid || odResult.value <= thicknessResult.value) {\n return { value: 0, isValid: false, error: 'Invalid outer diameter for round tube' };\n }\n \n weight = (odResult.value - thicknessResult.value) * thicknessResult.value * \n MATERIAL_CONSTANTS.TUBE_CALCULATION_FACTOR * lengthResult.value;\n break;\n }\n \n case 'Square':\n case 'Rectangle': {\n const widthResult = safeParseNumber(shape_width);\n const heightResult = safeParseNumber(shape_height);\n \n if (!widthResult.isValid || !heightResult.isValid) {\n return { value: 0, isValid: false, error: 'Invalid width or height for rectangular tube' };\n }\n \n const perimeter = 2 * (widthResult.value + heightResult.value);\n weight = (((perimeter / Math.PI) - thicknessResult.value) * thicknessResult.value * \n MATERIAL_CONSTANTS.TUBE_CALCULATION_FACTOR) * lengthResult.value;\n break;\n }\n \n default:\n return { value: 0, isValid: false, error: `Unsupported tube type: ${tube_type}` };\n }\n \n return { value: Math.max(0, weight), isValid: true };\n};\n\n// ==================== MAIN HOOK ====================\n/**\n * Custom hook for optimized material calculations with comprehensive error handling\n * and performance optimization through memoization\n */\nexport const useMaterialCalculations = (formValues?: BaseFormValues): MaterialCalculations => {\n const calculations = useMemo(() => {\n if (!formValues) {\n return {\n totalWidth: 0,\n materialUnit: 0,\n boardsWeight: 0,\n steelWeight: 0,\n materialWeight: 0,\n };\n }\n \n // Calculate all values with error handling\n const totalWidthResult = calculateBoardsTotalWidth(formValues);\n const materialUnitResult = calculateMaterialUnit(formValues);\n const boardsWeightResult = calculateBoardsWeight(formValues);\n const steelWeightResult = calculateSteelWeight(formValues);\n const materialWeightResult = calculateTubeMaterialWeight(formValues);\n \n // Optional: Log errors in development\n if (process.env.NODE_ENV === 'development') {\n [totalWidthResult, materialUnitResult, boardsWeightResult, steelWeightResult, materialWeightResult]\n .filter(result => !result.isValid && result.error)\n .forEach(result => console.warn('Calculation warning:', result.error));\n }\n \n return {\n totalWidth: totalWidthResult.value,\n materialUnit: materialUnitResult.value,\n boardsWeight: boardsWeightResult.value,\n steelWeight: steelWeightResult.value,\n materialWeight: materialWeightResult.value,\n };\n }, [createMemoKey(formValues)]); // Optimized dependency to prevent unnecessary recalculations\n \n return calculations;\n};\n\n// ==================== ADDITIONAL UTILITIES ====================\n/**\n * Utility function to validate form values before calculations\n */\nexport const validateFormValues = (formValues: BaseFormValues): { isValid: boolean; errors: string[] } => {\n const errors: string[] = [];\n const { tube_type, steel_type } = formValues;\n \n // Validate steel type if provided\n if (steel_type && !(steel_type in MATERIAL_CONSTANTS.COIL_WEIGHTS)) {\n errors.push(`Invalid steel type: ${steel_type}`);\n }\n \n // Validate tube type if provided\n if (tube_type && !['Round', 'Square', 'Rectangle'].includes(tube_type)) {\n errors.push(`Invalid tube type: ${tube_type}`);\n }\n \n return { isValid: errors.length === 0, errors };\n};\n\n/**\n * Get available steel types for form validation\n */\nexport const getAvailableSteelTypes = (): SteelType[] => {\n return Object.keys(MATERIAL_CONSTANTS.COIL_WEIGHTS) as SteelType[];\n};\n\n/**\n * Get available tube types for form validation\n */\nexport const getAvailableTubeTypes = (): TubeType[] => {\n return ['Round', 'Square', 'Rectangle'];\n};\n\nexport default {\n useMaterialCalculations,\n validateFormValues,\n getAvailableSteelTypes,\n getAvailableTubeTypes,\n MATERIAL_CONSTANTS,\n};\nexport type {\n BaseFormValues,\n MaterialCalculations,\n SteelType,\n TubeType,\n CalculationResult,\n};"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/hooks/use-material-calculations.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useMemo } from 'react';\n\n// ==================== CONSTANTS ====================\nconst MATERIAL_CONSTANTS = {\n STEEL_DENSITY: 7.85,\n LENGTH_CONVERSION_FACTOR: 1000,\n TUBE_CALCULATION_FACTOR: 0.024662,\n COIL_WEIGHTS: {\n GI: 2879.95,\n HR: 2356.59,\n },\n} as const;\n\n// ==================== TYPES ====================\ntype SteelType = keyof typeof MATERIAL_CONSTANTS.COIL_WEIGHTS;\ntype TubeType = 'Round' | 'Square' | 'Rectangle';\n\ninterface BaseFormValues {\n // Board calculation fields\n face_width?: string | number;\n bending?: string | number;\n height?: string | number;\n total_width?: string | number;\n boards_thickness?: string | number;\n boards_length?: string | number;\n \n // Steel calculation fields\n steel_length?: string | number;\n steel_width?: string | number;\n steel_thickness?: string | number;\n steel_type?: SteelType;\n \n // Tube calculation fields\n tube_type?: TubeType;\n tube_od?: string | number;\n shape_width?: string | number;\n shape_height?: string | number;\n material_thickness?: string | number;\n material_length?: string | number;\n}\n\ninterface MaterialCalculations {\n totalWidth: number;\n materialUnit: number;\n boardsWeight: number;\n steelWeight: number;\n materialWeight: number;\n}\n\ninterface CalculationResult<T = number> {\n value: T;\n isValid: boolean;\n error?: string;\n}\n\n// ==================== UTILITY FUNCTIONS ====================\n/**\n * Safely parses a value to number with comprehensive validation\n */\nconst safeParseNumber = (value: string | number | undefined | null): CalculationResult<number> => {\n if (value === undefined || value === null || value === '') {\n return { value: 0, isValid: false, error: 'Empty value' };\n }\n \n const parsed = typeof value === 'string' ? parseFloat(value.trim()) : Number(value);\n \n if (isNaN(parsed)) {\n return { value: 0, isValid: false, error: 'Invalid number format' };\n }\n \n if (!isFinite(parsed)) {\n return { value: 0, isValid: false, error: 'Number is not finite' };\n }\n \n return { value: parsed, isValid: true };\n};\n\n/**\n * Validates that all provided values are positive numbers\n */\nconst validatePositiveNumbers = (...values: (string | number | undefined)[]): boolean => {\n return values.every(value => {\n const result = safeParseNumber(value);\n return result.isValid && result.value > 0;\n });\n};\n\n/**\n * Creates a memoization key from form values to optimize re-calculations\n */\nconst createMemoKey = (formValues: BaseFormValues | undefined): string => {\n if (!formValues) return 'empty';\n \n // Only include relevant fields to avoid unnecessary recalculations\n const relevantFields = [\n 'face_width', 'bending', 'height', 'total_width', 'boards_thickness', 'boards_length',\n 'steel_length', 'steel_width', 'steel_thickness', 'steel_type',\n 'tube_type', 'tube_od', 'shape_width', 'shape_height', 'material_thickness', 'material_length'\n ];\n \n return relevantFields\n .map(field => `${field}:${formValues[field as keyof BaseFormValues] ?? ''}`)\n .join('|');\n};\n\n// ==================== CALCULATION FUNCTIONS ====================\n/**\n * Calculates the total width for boards costing\n * Formula: ((height + bending) * 2) + face_width\n */\nconst calculateBoardsTotalWidth = (formValues: BaseFormValues): CalculationResult<number> => {\n const { face_width, bending, height } = formValues;\n \n if (!validatePositiveNumbers(face_width, bending, height)) {\n return { value: 0, isValid: false, error: 'Invalid input values for boards total width calculation' };\n }\n \n const faceWidthResult = safeParseNumber(face_width);\n const bendingResult = safeParseNumber(bending);\n const heightResult = safeParseNumber(height);\n \n if (![faceWidthResult, bendingResult, heightResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const totalWidth = ((heightResult.value + bendingResult.value) * 2) + faceWidthResult.value;\n \n return { value: totalWidth, isValid: true };\n};\n\n/**\n * Calculates the weight of boards\n * Formula: (total_width * thickness * (length / 1000)) * 7.85\n */\nconst calculateBoardsWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { total_width, boards_thickness, boards_length } = formValues;\n \n if (!validatePositiveNumbers(total_width, boards_thickness, boards_length)) {\n return { value: 0, isValid: false, error: 'Invalid input values for boards weight calculation' };\n }\n \n const totalWidthResult = safeParseNumber(total_width);\n const thicknessResult = safeParseNumber(boards_thickness);\n const lengthResult = safeParseNumber(boards_length);\n \n if (![totalWidthResult, thicknessResult, lengthResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const weight = (totalWidthResult.value * thicknessResult.value * \n (lengthResult.value / MATERIAL_CONSTANTS.LENGTH_CONVERSION_FACTOR)) * \n MATERIAL_CONSTANTS.STEEL_DENSITY;\n \n return { value: weight, isValid: true };\n};\n\n/**\n * Calculates the weight of steel\n * Formula: (length * width * thickness * 7.85) / 1000\n */\nconst calculateSteelWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { steel_length, steel_width, steel_thickness } = formValues;\n \n if (!validatePositiveNumbers(steel_length, steel_width, steel_thickness)) {\n return { value: 0, isValid: false, error: 'Invalid input values for steel weight calculation' };\n }\n \n const lengthResult = safeParseNumber(steel_length);\n const widthResult = safeParseNumber(steel_width);\n const thicknessResult = safeParseNumber(steel_thickness);\n \n if (![lengthResult, widthResult, thicknessResult].every(r => r.isValid)) {\n return { value: 0, isValid: false, error: 'Failed to parse input values' };\n }\n \n const weight = (lengthResult.value * widthResult.value * thicknessResult.value * \n MATERIAL_CONSTANTS.STEEL_DENSITY) / MATERIAL_CONSTANTS.LENGTH_CONVERSION_FACTOR;\n \n return { value: weight, isValid: true };\n};\n\n/**\n * Gets the material unit weight based on steel type\n */\nconst calculateMaterialUnit = (formValues: BaseFormValues): CalculationResult<number> => {\n const { steel_type } = formValues;\n \n if (!steel_type) {\n return { value: 0, isValid: false, error: 'Steel type not specified' };\n }\n \n if (!(steel_type in MATERIAL_CONSTANTS.COIL_WEIGHTS)) {\n return { value: 0, isValid: false, error: `Unsupported steel type: ${steel_type}` };\n }\n \n const weight = MATERIAL_CONSTANTS.COIL_WEIGHTS[steel_type];\n return { value: weight, isValid: true };\n};\n\n/**\n * Calculates material weight based on tube type and dimensions\n * Supports Round, Square, and Rectangle tube types\n */\nconst calculateTubeMaterialWeight = (formValues: BaseFormValues): CalculationResult<number> => {\n const { tube_type, tube_od, shape_width, shape_height, material_thickness, material_length } = formValues;\n \n if (!tube_type) {\n return { value: 0, isValid: false, error: 'Tube type not specified' };\n }\n \n const thicknessResult = safeParseNumber(material_thickness);\n const lengthResult = safeParseNumber(material_length);\n \n if (!thicknessResult.isValid || !lengthResult.isValid) {\n return { value: 0, isValid: false, error: 'Invalid thickness or length values' };\n }\n \n let weight = 0;\n \n switch (tube_type) {\n case 'Round': {\n const odResult = safeParseNumber(tube_od);\n if (!odResult.isValid || odResult.value <= thicknessResult.value) {\n return { value: 0, isValid: false, error: 'Invalid outer diameter for round tube' };\n }\n \n weight = (odResult.value - thicknessResult.value) * thicknessResult.value * \n MATERIAL_CONSTANTS.TUBE_CALCULATION_FACTOR * lengthResult.value;\n break;\n }\n \n case 'Square':\n case 'Rectangle': {\n const widthResult = safeParseNumber(shape_width);\n const heightResult = safeParseNumber(shape_height);\n \n if (!widthResult.isValid || !heightResult.isValid) {\n return { value: 0, isValid: false, error: 'Invalid width or height for rectangular tube' };\n }\n \n const perimeter = 2 * (widthResult.value + heightResult.value);\n weight = (((perimeter / Math.PI) - thicknessResult.value) * thicknessResult.value * \n MATERIAL_CONSTANTS.TUBE_CALCULATION_FACTOR) * lengthResult.value;\n break;\n }\n \n default:\n return { value: 0, isValid: false, error: `Unsupported tube type: ${tube_type}` };\n }\n \n return { value: Math.max(0, weight), isValid: true };\n};\n\n// ==================== MAIN HOOK ====================\n/**\n * Custom hook for optimized material calculations with comprehensive error handling\n * and performance optimization through memoization\n */\nexport const useMaterialCalculations = (formValues?: BaseFormValues): MaterialCalculations => {\n const calculations = useMemo(() => {\n if (!formValues) {\n return {\n totalWidth: 0,\n materialUnit: 0,\n boardsWeight: 0,\n steelWeight: 0,\n materialWeight: 0,\n };\n }\n \n // Calculate all values with error handling\n const totalWidthResult = calculateBoardsTotalWidth(formValues);\n const materialUnitResult = calculateMaterialUnit(formValues);\n const boardsWeightResult = calculateBoardsWeight(formValues);\n const steelWeightResult = calculateSteelWeight(formValues);\n const materialWeightResult = calculateTubeMaterialWeight(formValues);\n \n // Optional: Log errors in development\n if (process.env.NODE_ENV === 'development') {\n [totalWidthResult, materialUnitResult, boardsWeightResult, steelWeightResult, materialWeightResult]\n .filter(result => !result.isValid && result.error)\n .forEach(result => console.warn('Calculation warning:', result.error));\n }\n \n return {\n totalWidth: totalWidthResult.value,\n materialUnit: materialUnitResult.value,\n boardsWeight: boardsWeightResult.value,\n steelWeight: steelWeightResult.value,\n materialWeight: materialWeightResult.value,\n };\n }, [createMemoKey(formValues)]); // Optimized dependency to prevent unnecessary recalculations\n \n return calculations;\n};\n\n// ==================== ADDITIONAL UTILITIES ====================\n/**\n * Utility function to validate form values before calculations\n */\nexport const validateFormValues = (formValues: BaseFormValues): { isValid: boolean; errors: string[] } => {\n const errors: string[] = [];\n const { tube_type, steel_type } = formValues;\n \n // Validate steel type if provided\n if (steel_type && !(steel_type in MATERIAL_CONSTANTS.COIL_WEIGHTS)) {\n errors.push(`Invalid steel type: ${steel_type}`);\n }\n \n // Validate tube type if provided\n if (tube_type && !['Round', 'Square', 'Rectangle'].includes(tube_type)) {\n errors.push(`Invalid tube type: ${tube_type}`);\n }\n \n return { isValid: errors.length === 0, errors };\n};\n\n/**\n * Get available steel types for form validation\n */\nexport const getAvailableSteelTypes = (): SteelType[] => {\n return Object.keys(MATERIAL_CONSTANTS.COIL_WEIGHTS) as SteelType[];\n};\n\n/**\n * Get available tube types for form validation\n */\nexport const getAvailableTubeTypes = (): TubeType[] => {\n return ['Round', 'Square', 'Rectangle'];\n};\n\nexport default {\n useMaterialCalculations,\n validateFormValues,\n getAvailableSteelTypes,\n getAvailableTubeTypes,\n MATERIAL_CONSTANTS,\n};\nexport type {\n BaseFormValues,\n MaterialCalculations,\n SteelType,\n TubeType,\n CalculationResult,\n};"],"names":[],"mappings":"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"}