@m4l/components 9.2.0 → 9.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/.storybook/decorators/WithPopupsProvider/WithPopupsProvider.d.ts +6 -1
  2. package/.storybook/decorators/WithWindowsContainerSizer/WithWindowsContainerSizer.d.ts +5 -0
  3. package/@types/types.d.ts +11 -0
  4. package/components/AccountPopover/slots/AccountPopoverSlots.d.ts +3 -3
  5. package/components/AppBar/slots/AppBarSlots.d.ts +2 -2
  6. package/components/Chip/slots/ChipSlots.d.ts +1 -1
  7. package/components/Color/slots/ColorSlots.d.ts +1 -1
  8. package/components/CommonActions/components/ActionCancel/slots/ActionsCancelSlots.d.ts +1 -1
  9. package/components/CommonActions/components/ActionFormCancel/ActionFormCancel.js +1 -1
  10. package/components/CommonActions/components/ActionFormCancel/slots/ActionFormCancelSlots.d.ts +1 -1
  11. package/components/CommonActions/components/ActionIntro/slots/ActionsIntroSlots.d.ts +1 -1
  12. package/components/CommonActions/components/ActionsContainer/slots/ActionsContainerSlots.d.ts +1 -1
  13. package/components/DragResizeWindow/DragResizeWindow.d.ts +2 -2
  14. package/components/DragResizeWindow/DragResizeWindow.js +69 -11
  15. package/components/DragResizeWindow/DragResizeWindow.styles.js +0 -2
  16. package/components/DragResizeWindow/classes/index.js +1 -0
  17. package/components/DragResizeWindow/classes/types.d.ts +1 -0
  18. package/components/DragResizeWindow/helpers/draggingOrResizingWindow.d.ts +7 -0
  19. package/components/DragResizeWindow/helpers/draggingOrResizingWindow.js +1 -0
  20. package/components/DragResizeWindow/helpers/expandingParentContainer.d.ts +12 -0
  21. package/components/DragResizeWindow/helpers/expandingParentContainer.js +31 -0
  22. package/components/DragResizeWindow/helpers/getInitialSize.d.ts +15 -0
  23. package/components/DragResizeWindow/helpers/getInitialSize.js +56 -0
  24. package/components/DragResizeWindow/helpers/index.d.ts +6 -15
  25. package/components/DragResizeWindow/helpers/index.js +1 -37
  26. package/components/DragResizeWindow/helpers/isElmentInViewport.d.ts +15 -0
  27. package/components/DragResizeWindow/helpers/isElmentInViewport.js +1 -0
  28. package/components/DragResizeWindow/helpers/pointPosition.d.ts +36 -0
  29. package/components/DragResizeWindow/helpers/pointPosition.js +82 -0
  30. package/components/DragResizeWindow/helpers/shrinkingParentContainer.d.ts +6 -0
  31. package/components/DragResizeWindow/helpers/shrinkingParentContainer.js +34 -0
  32. package/components/DragResizeWindow/hooks/useDimensionEffects.d.ts +2 -0
  33. package/components/DragResizeWindow/hooks/useDimensionEffects.js +20 -223
  34. package/components/DragResizeWindow/hooks/useDragOptions.d.ts +8 -1
  35. package/components/DragResizeWindow/hooks/useDragOptions.js +79 -6
  36. package/components/DragResizeWindow/hooks/useResizeOptions.d.ts +11 -0
  37. package/components/DragResizeWindow/hooks/useResizeOptions.js +164 -19
  38. package/components/DragResizeWindow/slots/DragResizeWindowSlots.d.ts +2 -2
  39. package/components/DragResizeWindow/types.d.ts +53 -4
  40. package/components/DragResizeWindow/utils.d.ts +5 -2
  41. package/components/DragResizeWindow/utils.js +32 -13
  42. package/components/DragResizeWindowRND/DragResizeWindowRND.d.ts +19 -0
  43. package/components/DragResizeWindowRND/DragResizeWindowRND.js +224 -0
  44. package/components/DragResizeWindowRND/DragResizeWindowRND.styles.d.ts +5 -0
  45. package/components/DragResizeWindowRND/DragResizeWindowRND.styles.js +75 -0
  46. package/components/DragResizeWindowRND/classes/index.d.ts +2 -0
  47. package/components/DragResizeWindowRND/classes/index.js +18 -0
  48. package/components/DragResizeWindowRND/classes/types.d.ts +9 -0
  49. package/components/DragResizeWindowRND/constants.d.ts +3 -0
  50. package/components/DragResizeWindowRND/constants.js +6 -0
  51. package/components/DragResizeWindowRND/helpers/expandingParentContainer.d.ts +12 -0
  52. package/components/DragResizeWindowRND/helpers/expandingParentContainer.js +31 -0
  53. package/components/DragResizeWindowRND/helpers/getInitialSize.d.ts +15 -0
  54. package/components/DragResizeWindowRND/helpers/getInitialSize.js +56 -0
  55. package/components/DragResizeWindowRND/helpers/index.d.ts +5 -0
  56. package/components/DragResizeWindowRND/helpers/index.js +1 -0
  57. package/components/DragResizeWindowRND/helpers/isElmentInViewport.d.ts +15 -0
  58. package/components/DragResizeWindowRND/helpers/isElmentInViewport.js +1 -0
  59. package/components/DragResizeWindowRND/helpers/pointPosition.d.ts +36 -0
  60. package/components/DragResizeWindowRND/helpers/pointPosition.js +1 -0
  61. package/components/DragResizeWindowRND/helpers/shrinkingParentContainer.d.ts +6 -0
  62. package/components/DragResizeWindowRND/helpers/shrinkingParentContainer.js +34 -0
  63. package/components/DragResizeWindowRND/hooks/useRNDDimensionEffects.d.ts +23 -0
  64. package/components/DragResizeWindowRND/hooks/useRNDDimensionEffects.js +90 -0
  65. package/components/DragResizeWindowRND/hooks/useRNDDragOptions.d.ts +28 -0
  66. package/components/DragResizeWindowRND/hooks/useRNDDragOptions.js +220 -0
  67. package/components/DragResizeWindowRND/hooks/useRNDReResizeOptions.d.ts +45 -0
  68. package/components/DragResizeWindowRND/hooks/useRNDReResizeOptions.js +173 -0
  69. package/components/DragResizeWindowRND/icons.d.ts +3 -0
  70. package/components/DragResizeWindowRND/index.d.ts +2 -0
  71. package/components/DragResizeWindowRND/index.js +1 -0
  72. package/components/DragResizeWindowRND/slots/DragResizeWindowRNDSlots.d.ts +12 -0
  73. package/components/DragResizeWindowRND/slots/DragResizeWindowRNDSlots.js +19 -0
  74. package/components/DragResizeWindowRND/slots/slots.d.ts +5 -0
  75. package/components/DragResizeWindowRND/slots/slots.js +9 -0
  76. package/components/DragResizeWindowRND/types.d.ts +295 -0
  77. package/components/DragResizeWindowRND/utils.d.ts +15 -0
  78. package/components/DynamicFilter/slots/dynamicFilterSlots.d.ts +4 -4
  79. package/components/DynamicFilter/subcomponents/PopoverFilter/usePopoverFilter.d.ts +3 -3
  80. package/components/DynamicSort/slots/DynamicSortSlots.d.ts +2 -2
  81. package/components/DynamicSort/subcomponents/PopoverSort/usePopoverSort.d.ts +3 -3
  82. package/components/GridLayout/GridLayout.d.ts +2 -1
  83. package/components/GridLayout/GridLayout.js +10 -5
  84. package/components/GridLayout/classes/index.d.ts +1 -1
  85. package/components/GridLayout/subcomponents/Responsive/index.d.ts +1 -1
  86. package/components/GridLayout/subcomponents/Responsive/index.js +4 -3
  87. package/components/GridLayout/subcomponents/Responsive/types.d.ts +4 -0
  88. package/components/GridLayout/subcomponents/withSizeProvider/index.d.ts +3 -1
  89. package/components/GridLayout/subcomponents/withSizeProvider/index.js +11 -15
  90. package/components/GridLayout/types.d.ts +4 -0
  91. package/components/Label/slots/LabelSlots.d.ts +1 -1
  92. package/components/LanguagePopover/slots/LanguagePopoverSlots.d.ts +1 -1
  93. package/components/MFIsolationApp/MFIsolationApp.js +24 -11
  94. package/components/MFIsolationApp/types.d.ts +8 -1
  95. package/components/MFLoader/styles.js +17 -2
  96. package/components/MFLoader/types.d.ts +19 -2
  97. package/components/MenuActions/slots/MenuActionsSlots.d.ts +2 -2
  98. package/components/ModalDialog/ModalDialog.js +2 -2
  99. package/components/ModalDialog/slots/ModalDialogSlots.d.ts +2 -2
  100. package/components/NumberInput/slots/NumberInputSlots.d.ts +2 -2
  101. package/components/ToastContainer/slots/toastContainerSlots.d.ts +2 -2
  102. package/components/ToastContainer/slots/toastContainerSlots.js +1 -1
  103. package/components/WindowBase/WindowBase.js +3 -5
  104. package/components/WindowBase/WindowBase.styles.js +26 -17
  105. package/components/{areas/contexts/DynamicMFParmsContext/index.js → WindowBase/contexts/DynamicMFParmsContext/DynamicMFParmsContext.js} +2 -2
  106. package/components/WindowBase/contexts/DynamicMFParmsContext/index.d.ts +4 -0
  107. package/components/WindowBase/contexts/DynamicMFParmsContext/index.js +1 -0
  108. package/components/{areas → WindowBase}/contexts/DynamicMFParmsContext/store.d.ts +0 -1
  109. package/components/{areas/contexts/WindowToolsMFContext/index.js → WindowBase/contexts/WindowToolsMFContext/WindowToolsMFContext.js} +4 -3
  110. package/components/WindowBase/contexts/WindowToolsMFContext/index.d.ts +2 -0
  111. package/components/WindowBase/contexts/WindowToolsMFContext/index.js +1 -0
  112. package/components/{areas → WindowBase}/contexts/WindowToolsMFContext/types.d.ts +3 -2
  113. package/components/WindowBase/contexts/index.d.ts +2 -0
  114. package/components/WindowBase/helpers.d.ts +22 -0
  115. package/components/{areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions/helper.js → WindowBase/helpers.js} +17 -13
  116. package/components/{areas → WindowBase}/hooks/useDynamicMFParameters/index.js +9 -1
  117. package/components/{areas → WindowBase}/hooks/useWindowToolsMF/index.js +1 -1
  118. package/components/WindowBase/index.d.ts +5 -0
  119. package/components/WindowBase/slots/WindowBaseEnum.d.ts +2 -1
  120. package/components/WindowBase/slots/WindowBaseEnum.js +1 -0
  121. package/components/WindowBase/slots/WindowBaseSlots.d.ts +45 -14
  122. package/components/WindowBase/slots/WindowBaseSlots.js +10 -5
  123. package/components/{areas/components/AreasViewer/subcomponents/Area/subcomponents/Window → WindowBase}/subcomponents/Component/index.d.ts +1 -1
  124. package/components/{areas/components/AreasViewer/subcomponents/Area/subcomponents/Window → WindowBase}/subcomponents/Component/index.js +6 -6
  125. package/components/WindowBase/subcomponents/Component/types.d.ts +9 -0
  126. package/components/WindowBase/subcomponents/EditionInfo/EditionInfo.js +1 -1
  127. package/components/WindowBase/subcomponents/Header/HeaderWindowBase.js +52 -24
  128. package/components/WindowBase/subcomponents/Header/types.d.ts +1 -38
  129. package/components/WindowBase/subcomponents/MicroFrontend/MicroFrontend.d.ts +8 -0
  130. package/components/WindowBase/subcomponents/MicroFrontend/MicroFrontend.js +10 -0
  131. package/components/WindowBase/subcomponents/MicroFrontend/types.d.ts +8 -0
  132. package/components/WindowBase/types.d.ts +52 -18
  133. package/components/WindowConfirm/WindowConfirm.js +1 -1
  134. package/components/areas/components/AreasAdmin/slots/AreasAdminSlots.d.ts +2 -2
  135. package/components/areas/components/AreasViewer/AreasViewer.d.ts +1 -1
  136. package/components/areas/components/AreasViewer/AreasViewer.js +7 -9
  137. package/components/areas/components/AreasViewer/AreasViewer.styles.js +12 -11
  138. package/components/areas/components/AreasViewer/slots/AreasViewerEnum.d.ts +2 -2
  139. package/components/areas/components/AreasViewer/slots/AreasViewerEnum.js +1 -1
  140. package/components/areas/components/AreasViewer/slots/AreasViewerSlots.d.ts +3 -3
  141. package/components/areas/components/AreasViewer/slots/AreasViewerSlots.js +6 -5
  142. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/AreaGridLayout/AreaGridLayout.js +44 -4
  143. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/Window.d.ts +7 -5
  144. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/Window.js +9 -9
  145. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions.d.ts +12 -0
  146. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions.js +58 -0
  147. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useRightActions.d.ts +6 -0
  148. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useRightActions.js +88 -0
  149. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/{useWindow/useWindow.d.ts → useWindow.d.ts} +7 -7
  150. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/{useWindow/useWindow.js → useWindow.js} +13 -11
  151. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/types.d.ts +7 -3
  152. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/WindowModal/WindowModal.d.ts +5 -4
  153. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/WindowModal/WindowModal.js +25 -25
  154. package/components/areas/components/AreasViewer/types.d.ts +3 -1
  155. package/components/areas/components/index.d.ts +1 -1
  156. package/components/areas/constants.d.ts +1 -0
  157. package/components/areas/constants.js +3 -1
  158. package/components/areas/contexts/AreasContext/helpers/generateModuleCount.d.ts +2 -2
  159. package/components/areas/contexts/AreasContext/helpers/getWindowForAreaTest.d.ts +2 -2
  160. package/components/areas/contexts/AreasContext/helpers/helper.d.ts +4 -4
  161. package/components/areas/contexts/AreasContext/helpers/helper.js +6 -8
  162. package/components/areas/contexts/AreasContext/helpers/selectLayout.d.ts +6 -0
  163. package/components/areas/contexts/AreasContext/helpers/selectLayout.js +27 -0
  164. package/components/areas/contexts/AreasContext/index.d.ts +4 -4
  165. package/components/areas/contexts/AreasContext/index.js +24 -4
  166. package/components/areas/contexts/AreasContext/store.d.ts +4 -4
  167. package/components/areas/contexts/AreasContext/store.js +128 -86
  168. package/components/areas/contexts/AreasContext/types.d.ts +142 -31
  169. package/components/areas/contexts/index.d.ts +0 -6
  170. package/components/areas/hooks/index.d.ts +0 -2
  171. package/components/areas/hooks/useAreas/index.d.ts +5 -5
  172. package/components/areas/hooks/useSetWindowsTitle/useSetWindowsTitle.js +2 -2
  173. package/components/areas/types.d.ts +109 -100
  174. package/components/extended/React-Resizable/Resizable/Resizable.js +2 -1
  175. package/components/extended/React-Resizable/Resizable/slots/ResizableSlots.d.ts +1 -1
  176. package/components/extended/React-Resizable/ResizableBox/slots/ResizableBoxSlots.d.ts +1 -1
  177. package/components/extended/React-Resizable/helpers.d.ts +6 -1
  178. package/components/extended/React-Resizable/helpers.js +11 -2
  179. package/components/hook-form/RHFCheckbox/slots/RHFCheckBoxSlots.d.ts +1 -1
  180. package/components/hook-form/RHFPeriod/slots/RHFPeriodSlots.d.ts +2 -2
  181. package/components/hook-form/RHFSelect/slots/RHFSlots.d.ts +1 -1
  182. package/components/hook-form/RHFTextField/slots/RHFTextFieldSlots.d.ts +1 -1
  183. package/components/hook-form/RHFTextFieldPassword/slots/RHFTextFieldPasswordSlots.d.ts +2 -2
  184. package/components/index.d.ts +1 -0
  185. package/components/mui_extended/Accordion/slots/AccordionSlots.d.ts +2 -2
  186. package/components/mui_extended/Autocomplete/slots/AutocompleteSlots.d.ts +4 -4
  187. package/components/mui_extended/Avatar/slots/AvatarSlots.d.ts +1 -1
  188. package/components/mui_extended/Badge/slots/BadgeSlots.d.ts +1 -1
  189. package/components/mui_extended/Button/slots/ButtonSlots.d.ts +1 -1
  190. package/components/mui_extended/CheckBox/slots/CheckBoxSlots.d.ts +1 -1
  191. package/components/mui_extended/DateTimePicker/slots/DateTimePickerSlots.d.ts +4 -4
  192. package/components/mui_extended/Divider/slots/DividerSlots.d.ts +1 -1
  193. package/components/mui_extended/IconButton/slots/IconButtonSlots.d.ts +2 -2
  194. package/components/mui_extended/LoadingButton/slots/LoadingButtonSlots.d.ts +1 -1
  195. package/components/mui_extended/MenuDivider/slots/MenuDividerSlots.d.ts +1 -1
  196. package/components/mui_extended/MenuItem/slots/MenuItemSlots.d.ts +1 -1
  197. package/components/mui_extended/MenuItem/types.d.ts +1 -1
  198. package/components/mui_extended/Popper/slots/PopperStlots.d.ts +1 -1
  199. package/components/mui_extended/Select/slots/SelectSlots.d.ts +2 -2
  200. package/components/mui_extended/Select/slots/SelectSlots.js +1 -1
  201. package/components/mui_extended/Skeleton/Slots/skeletonSlots.d.ts +1 -1
  202. package/components/mui_extended/Stack/slots/StackSlot.d.ts +1 -1
  203. package/components/mui_extended/Tab/Slots/TabSlots.d.ts +1 -1
  204. package/components/mui_extended/Tabs/slots/TabsSlots.d.ts +1 -1
  205. package/components/mui_extended/TextField/slots/TextFieldSlots.d.ts +1 -1
  206. package/components/mui_extended/TimePicker/slots/TimePickerSlots.d.ts +3 -3
  207. package/components/mui_extended/ToggleButton/slots/ToggleButtonSlots.d.ts +1 -1
  208. package/components/mui_extended/ToggleIconButton/slots/ToggleIconButtonSlots.d.ts +1 -1
  209. package/components/mui_extended/Typography/slots/typographySlots.d.ts +1 -1
  210. package/components/popups/components/PopupsProvider/contexts/PopupsContext/PopupsContext.d.ts +8 -2
  211. package/components/popups/components/PopupsProvider/contexts/PopupsContext/PopupsContext.js +6 -24
  212. package/components/popups/components/PopupsProvider/contexts/PopupsContext/store.d.ts +9 -3
  213. package/components/popups/components/PopupsProvider/contexts/PopupsContext/store.js +278 -211
  214. package/components/popups/components/PopupsProvider/contexts/PopupsContext/tests/PopupContext.test.d.ts +1 -0
  215. package/components/popups/components/PopupsProvider/contexts/PopupsContext/tests/PopusContext.store.test.d.ts +1 -0
  216. package/components/popups/components/PopupsProvider/contexts/PopupsContext/tests/__mocks__/storeMock.d.ts +29 -0
  217. package/components/popups/components/PopupsProvider/contexts/PopupsContext/types.d.ts +183 -79
  218. package/components/popups/components/PopupsProvider/hooks/{useHeaderActionsPopups/useHeaderActionsPopups.d.ts → useHeaderActionsPopups.d.ts} +2 -8
  219. package/components/popups/components/PopupsProvider/hooks/useHeaderActionsPopups.js +60 -0
  220. package/components/popups/components/PopupsProvider/hooks/usePopups.d.ts +43 -0
  221. package/components/popups/components/PopupsProvider/hooks/usePopups.js +138 -0
  222. package/components/popups/components/PopupsProvider/hooks/usePopupsStore.d.ts +5 -0
  223. package/components/popups/components/PopupsProvider/hooks/{usePopupsStore/index.js → usePopupsStore.js} +1 -1
  224. package/components/popups/components/PopupsViewer/PopupsViewer.d.ts +13 -4
  225. package/components/popups/components/PopupsViewer/PopupsViewer.js +27 -6
  226. package/components/popups/components/PopupsViewer/PopupsViewer.styles.js +3 -11
  227. package/components/popups/components/PopupsViewer/slots/popupsViewerSlots.d.ts +7 -10
  228. package/components/popups/components/PopupsViewer/slots/popupsViewerSlots.js +3 -8
  229. package/components/popups/components/PopupsViewer/slots/slots.d.ts +1 -2
  230. package/components/popups/components/PopupsViewer/slots/slots.js +0 -1
  231. package/components/popups/components/PopupsViewer/subcomponents/Popup/Popup.d.ts +1 -1
  232. package/components/popups/components/PopupsViewer/subcomponents/Popup/Popup.js +69 -53
  233. package/components/popups/components/PopupsViewer/subcomponents/Popup/types.d.ts +16 -0
  234. package/components/popups/components/PopupsViewer/tests/PopupsViewer.integration.test.d.ts +1 -0
  235. package/components/popups/components/PopupsViewer/types.d.ts +13 -5
  236. package/contexts/AppearanceComponentContext/AppearanceComponentContext.d.ts +8 -0
  237. package/contexts/AppearanceComponentContext/AppearanceComponentContext.js +4 -3
  238. package/contexts/AppearanceComponentContext/AppearanceComponentStore.d.ts +8 -1
  239. package/contexts/AppearanceComponentContext/AppearanceComponentStore.js +10 -3
  240. package/contexts/index.d.ts +1 -1
  241. package/hooks/useDataGridPersistence/useDataGridPersistence.js +4 -4
  242. package/hooks/useDynamicFilterAndSort/types.d.ts +1 -1
  243. package/hooks/useSizeContainer/index.js +2 -2
  244. package/index.js +91 -85
  245. package/not_recognized/index.js +1280 -0
  246. package/package.json +2 -1
  247. package/storybook/components/Areas/AreasViewer/{AreasViewr.stories.d.ts → AreasViewer.stories.d.ts} +2 -2
  248. package/storybook/components/Areas/AreasViewer/hooks/useWindowsActions.d.ts +4 -0
  249. package/storybook/components/Areas/AreasViewer/subcomponents/AreasViewerRender.d.ts +4 -0
  250. package/storybook/components/Areas/AreasViewer/subcomponents/Launcher/Launcher.d.ts +5 -0
  251. package/storybook/components/Areas/AreasViewer/subcomponents/Launcher/PopupButton.d.ts +21 -0
  252. package/storybook/components/Areas/AreasViewer/subcomponents/Launcher/PopupContentExample.d.ts +4 -0
  253. package/storybook/components/Areas/AreasViewer/subcomponents/layouts/ClientsLayout.d.ts +4 -0
  254. package/storybook/components/Areas/AreasViewer/subcomponents/layouts/UsersLayout.d.ts +4 -0
  255. package/storybook/components/DragResizeWindowRND/stories/DragResizeWindowRND.stories.d.ts +8 -0
  256. package/storybook/components/DragResizeWindowRND/stories/constants.d.ts +3 -0
  257. package/storybook/components/DragResizeWindowRND/stories/subcomponents/ContentExample.d.ts +4 -0
  258. package/storybook/components/DragResizeWindowRND/stories/subcomponents/RNDWindowsContainer/RNDWindowsContainer.d.ts +5 -0
  259. package/storybook/components/DragResizeWindowRND/stories/subcomponents/RNDWindowsContainer/index.d.ts +1 -0
  260. package/storybook/components/DragResizeWindowRND/stories/subcomponents/RNDWindowsContainer/types.d.ts +4 -0
  261. package/storybook/components/{Areas/AreasViewer → DragResizeWindowRND/stories}/subcomponents/WithExtendedContainer.d.ts +1 -1
  262. package/storybook/components/DragResizeWindowRND/stories/types.d.ts +3 -0
  263. package/storybook/components/PopupsViewer/basic.stories.d.ts +12 -2
  264. package/storybook/components/PopupsViewer/subcomponents/PopupActions.d.ts +3 -1
  265. package/storybook/components/PopupsViewer/subcomponents/PopupContentExample.d.ts +2 -1
  266. package/storybook/components/PopupsViewer/subcomponents/initialPopups.d.ts +1 -1
  267. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions/helper.d.ts +0 -22
  268. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions/useHeaderActions.d.ts +0 -28
  269. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useHeaderActions/useHeaderActions.js +0 -155
  270. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/Component/types.d.ts +0 -10
  271. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/MicroFrontend/MicroFrontend.d.ts +0 -8
  272. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/MicroFrontend/MicroFrontend.js +0 -10
  273. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/MicroFrontend/types.d.ts +0 -8
  274. package/components/popups/components/PopupsProvider/hooks/useHeaderActionsPopups/helper.d.ts +0 -28
  275. package/components/popups/components/PopupsProvider/hooks/useHeaderActionsPopups/helper.js +0 -44
  276. package/components/popups/components/PopupsProvider/hooks/useHeaderActionsPopups/useHeaderActionsPopups.js +0 -157
  277. package/components/popups/components/PopupsProvider/hooks/usePopops/usePopups.d.ts +0 -28
  278. package/components/popups/components/PopupsProvider/hooks/usePopops/usePopups.js +0 -117
  279. package/components/popups/components/PopupsProvider/hooks/usePopupsStore/index.d.ts +0 -6
  280. package/storybook/components/Areas/AreasViewer/subcomponents/ClientsHeaderActions.d.ts +0 -4
  281. package/storybook/components/Areas/AreasViewer/subcomponents/UsersHeaderActions.d.ts +0 -4
  282. /package/components/{popups/components/PopupsProvider/tests/PopupsProvider.test.d.ts → DragResizeWindowRND/tests/DragResizeWindow.test.d.ts} +0 -0
  283. /package/components/{areas/contexts/DynamicMFParmsContext/index.d.ts → WindowBase/contexts/DynamicMFParmsContext/DynamicMFParmsContext.d.ts} +0 -0
  284. /package/components/{areas → WindowBase}/contexts/DynamicMFParmsContext/store.js +0 -0
  285. /package/components/{areas → WindowBase}/contexts/DynamicMFParmsContext/types.d.ts +0 -0
  286. /package/components/{areas/contexts/WindowToolsMFContext/index.d.ts → WindowBase/contexts/WindowToolsMFContext/WindowToolsMFContext.d.ts} +0 -0
  287. /package/components/{areas → WindowBase}/hooks/useDynamicMFParameters/index.d.ts +0 -0
  288. /package/components/{areas → WindowBase}/hooks/useWindowToolsMF/index.d.ts +0 -0
@@ -1,10 +1,21 @@
1
- import { GetLabelType } from '@m4l/core';
2
1
  import { ReactNode } from 'react';
3
- import { DragResizeWindowProps } from '../../../../../DragResizeWindow/types';
2
+ import { DragResizeWindowPropsRND } from '../../../../../DragResizeWindowRND/types';
4
3
  import { PopupStatus } from '../../../PopupsViewer/types';
5
- import { AreaWindowAction, MFBaseProps } from '../../../../../areas/types';
4
+ import { MFBaseProps } from '../../../../../MFLoader/types';
5
+ import { JSX_REACT_NODE, ModuleAction, WindowOptions } from '../../../../../WindowBase/types';
6
+ import { DynamicMFStore } from '../../../../../WindowBase/contexts/DynamicMFParmsContext/store';
6
7
  export type PopupVariantType = 'normal' | 'small' | 'large';
7
- export interface PopupStoreProps extends Pick<DragResizeWindowProps, 'bounds' | 'defaultPosition'> {
8
+ type PartialExcept<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
9
+ type PopupSelectedReason = 'add' | 'remove' | 'select';
10
+ export interface PopupStorePropsBase extends PartialExcept<Pick<DragResizeWindowPropsRND, 'bounds' | 'defaultPosition' | 'minWidth' | 'minHeight' | 'maxWidth' | 'maxHeight' | 'resizable' | 'draggable' | 'allowHeightResizeContainer' | 'allowWidthResizeContainer'>, 'defaultPosition'> {
11
+ /**
12
+ * "moduleId" Identificador del módulo, para Microfrontends
13
+ */
14
+ moduleId?: string;
15
+ /**
16
+ * "winType" Tipo de ventana
17
+ */
18
+ winType: 'microfrontend' | 'component';
8
19
  /**
9
20
  * "popupId" Indetificador del popupId
10
21
  */
@@ -14,7 +25,11 @@ export interface PopupStoreProps extends Pick<DragResizeWindowProps, 'bounds' |
14
25
  */
15
26
  status: PopupStatus;
16
27
  /**
17
- * "variant" Variante del popup
28
+ * "windowOptions" Opciones de la ventana
29
+ */
30
+ windowOptions?: WindowOptions;
31
+ /**
32
+ * "variant" Variante del popup //TODO: Creo que esto es size
18
33
  */
19
34
  variant?: PopupVariantType;
20
35
  /**
@@ -45,44 +60,22 @@ export interface PopupStoreProps extends Pick<DragResizeWindowProps, 'bounds' |
45
60
  * "zIndex" Zindex del popup, tener en cuenta que se usa el baseZindex como offset para el zIndex
46
61
  */
47
62
  zIndex: number;
48
- /**
49
- * component retorna el componente que se va a mostrar en el popup.
50
- *
51
- * Lo unico que necesita es guardar la referencia la función que retorna el componente.
52
- */
53
- component: React.FC<Record<string, any>>;
54
- /**
55
- * "componentProps" Propiedades que se le pasan al componente que se va a mostrar en el popup.
56
- */
57
- componentProps?: Record<string, any>;
58
63
  /**
59
64
  * "onMouseDown" Evento nativo del Draggable, para tomar acciones externamente
60
65
  */
61
66
  onMouseDown?: (e: MouseEvent) => void;
62
- /**
63
- * "mfProps" Propiedades de la ventana padre
64
- */
65
- mfProps?: MFBaseProps;
66
- /**
67
- * "winType" Tipo de ventana
68
- */
69
- winType?: 'microfrontend' | 'component';
70
67
  /**
71
68
  * "loading" Indica si el popup está cargando
72
69
  */
73
70
  loading?: boolean;
74
71
  /**
75
- * "actions" Acciones de la ventana
72
+ * "moduleActions" Acciones del módulo
76
73
  */
77
- actions?: AreaWindowAction[];
74
+ moduleActions?: ModuleAction[];
78
75
  /**
79
76
  * "version" Versión de la ventana
80
77
  */
81
78
  version?: string;
82
- /**
83
- * "progress" Indica si el popup está en progreso
84
- */
85
- progress?: boolean;
86
79
  /**
87
80
  * "fnQueryClose" Función de cierre de la consulta
88
81
  */
@@ -90,19 +83,11 @@ export interface PopupStoreProps extends Pick<DragResizeWindowProps, 'bounds' |
90
83
  /**
91
84
  * "dynamicMFStore" Almacén de microfrontends din
92
85
  */
93
- dynamicMFStore?: Record<string, any>;
86
+ dynamicMFStore: DynamicMFStore;
94
87
  /**
95
88
  * dynamic params
96
89
  */
97
90
  dynamicParams?: Record<string, any>;
98
- /**
99
- * "moduleActions" Acciones del módulo
100
- */
101
- moduleActions?: AreaWindowAction[];
102
- /**
103
- * "windowTools" Herramientas de la ventana
104
- */
105
- windowOptions?: Record<string, any>;
106
91
  /**
107
92
  * "collapsed" Indica si el popup está colapsado
108
93
  */
@@ -111,11 +96,111 @@ export interface PopupStoreProps extends Pick<DragResizeWindowProps, 'bounds' |
111
96
  * "maximized" Indica si el popup está maximizado
112
97
  */
113
98
  maximized?: boolean;
99
+ /**
100
+ * "groupId" Grupo del popup, si no se especifica, se debe almacenar en el group id "global"
101
+ */
102
+ groupId: string;
103
+ /**
104
+ * "onRemove" Función de cierre del popup
105
+ */
106
+ onRemove?: (id: string) => void;
107
+ /**
108
+ * "parentId" es un id que permitira cerrar todos los popups que dependan de él
109
+ */
110
+ parentId?: string;
111
+ /**
112
+ * "enforceVisibleCount" cuando cambia este valor, el popup se reenfoca con scrollLeft y scrollTop, esto es especialmente util en area cuando
113
+ * se utiliza replaceMeId para aseguar que el popup que se esta intentando visualizar realmente se vea.
114
+ */
115
+ enforceVisibleCount?: number;
116
+ /**
117
+ * "onSelectedPopupIdChange" Notifica cuando el popup seleccionado cambia
118
+ */
119
+ onSelectedPopupIdChange?: (groupId: string, popupId?: string, reason?: PopupSelectedReason) => void;
114
120
  }
121
+ export interface PopupStoreComponentProps extends PopupStorePropsBase {
122
+ /**
123
+ * "winType" Tipo de ventana
124
+ */
125
+ winType: 'component';
126
+ /**
127
+ * "componentProps" Propiedades que se le pasan al componente que se va a mostrar en el popup.
128
+ */
129
+ componentProps?: Record<string, any>;
130
+ /**
131
+ * "component" Componente que se va a mostrar en el popup.
132
+ */
133
+ component: JSX_REACT_NODE;
134
+ }
135
+ export interface PopupStoreMFProps extends PopupStorePropsBase {
136
+ /**
137
+ * "winType" Tipo de ventana
138
+ */
139
+ winType: 'microfrontend';
140
+ /**
141
+ * "mfProps" Propiedades de la ventana padre
142
+ */
143
+ mfProps: MFBaseProps;
144
+ /**
145
+ * "moduleId" Identificador del módulo, para Microfrontends
146
+ */
147
+ moduleId: string;
148
+ }
149
+ /**
150
+ * Props que tiene un popup en el store
151
+ */
152
+ export type PopupStoreProps = PopupStoreComponentProps | PopupStoreMFProps;
153
+ /**
154
+ * Props para usar en el initialPopups
155
+ */
156
+ export type PopupInitialComponentProps = Omit<PopupStoreComponentProps, 'status' | 'version' | 'dynamicMFStore'>;
157
+ export type PopupInitialMFProps = Omit<PopupStoreMFProps, 'status' | 'version' | 'dynamicMFStore'>;
158
+ export type PopupInitialProps = PopupInitialComponentProps | PopupInitialMFProps;
159
+ /**
160
+ * Props para usar en el addPopup
161
+ */
162
+ export type PopupAddComponentProps = Omit<PopupStoreComponentProps, 'status' | 'zIndex' | 'version' | 'dynamicMFStore' | 'groupId'> & {
163
+ /**
164
+ * "groupId" Grupo del popup, si no se especifica, se debe almacenar en el group id "global"
165
+ */
166
+ groupId?: string;
167
+ /**
168
+ * "dynamicMFStore" Almacén de datos para los microfrontends
169
+ */
170
+ dynamicMFStore?: DynamicMFStore;
171
+ };
172
+ export type PopupAddMFProps = Omit<PopupStoreMFProps, 'status' | 'zIndex' | 'version' | 'dynamicMFStore' | 'groupId'> & {
173
+ /**
174
+ * "groupId" Grupo del popup, si no se especifica, se debe almacenar en el group id "global"
175
+ */
176
+ groupId?: string;
177
+ /**
178
+ * "dynamicMFStore" Almacén de datos para los microfrontends
179
+ */
180
+ dynamicMFStore?: DynamicMFStore;
181
+ };
182
+ export type PopupAddProps = PopupAddComponentProps | PopupAddMFProps;
183
+ /**
184
+ * Grupo de popups
185
+ */
186
+ export type PopupGroup = {
187
+ /**
188
+ * "id" Id del grupo
189
+ */
190
+ id: string;
191
+ /**
192
+ * "selectedPopupId" Id del popup seleccionado, en el grupo, si no se especifica, no se selecciona ninguno
193
+ */
194
+ selectedPopupId?: string;
195
+ /**
196
+ * "count" Cantidad de popups en el grupo
197
+ */
198
+ count: number;
199
+ };
115
200
  /**
116
201
  * Interface que define el store del componente (variables y funciones )
117
202
  */
118
- export interface PopupsStore {
203
+ export interface PopupsProviderStoreState {
119
204
  /**
120
205
  * Id del store, para identificarlo en las herramientas de redux.
121
206
  */
@@ -138,15 +223,9 @@ export interface PopupsStore {
138
223
  */
139
224
  currentZindex: number;
140
225
  /**
141
- * "getLabel" funcion que usará para traducir las etiquetas de diccionario
142
- */
143
- getLabel: GetLabelType;
144
- /**
145
- * "getLabel" funcion que usará para traducir las etiquetas de diccionario
226
+ * "hashGroups" Grupos de popups
146
227
  */
147
- getContainer: () => HTMLElement;
148
- dynamicMFStore?: Record<string, any>;
149
- windowActions: Record<string, AreaWindowAction[]>;
228
+ hashGroups: Record<string, PopupGroup>;
150
229
  }
151
230
  export type OpenPopupOptions = {
152
231
  /**
@@ -154,77 +233,102 @@ export type OpenPopupOptions = {
154
233
  */
155
234
  closeOthers: boolean;
156
235
  };
157
- export interface PopupsStateWithActions extends PopupsStore {
236
+ export interface PopupsProviderStoreStateWithActions extends PopupsProviderStoreState {
158
237
  popupsActions: {
159
238
  /**
160
239
  * @description
161
240
  */
162
- init(layersStore: PopupStoreProps[]): void;
241
+ init(layersStore: PopupInitialProps[]): void;
163
242
  /**
164
- * Agrega una un poupup nuevo al hash de popups y al array de ids,
243
+ * Agrega una un poupup nuevo al hash de popups y al array de ids, NOT IMPLEMENTED YET
165
244
  */
166
245
  unColapseLayoutItem: (popupId: string) => void;
246
+ /**
247
+ * Colapsa un popup NOT IMPLEMENTED YET
248
+ */
167
249
  colapseLayoutItem: (popupId: string) => void;
168
- addPopup: (popupProps: Omit<PopupStoreProps, 'status' | 'zIndex'>, options?: OpenPopupOptions) => void;
250
+ /**
251
+ * "addPopup" Agrega un popup nuevo al hash de popups y al array de ids
252
+ */
253
+ addPopup: (popupProps: PopupAddProps, options?: OpenPopupOptions) => void;
169
254
  /**
170
255
  * Remueve el poupup del hash de poups y de arrays de ids
171
256
  */
172
257
  removePopup: (popupId: string) => void;
173
258
  /**
174
- * pasa el status a closing para que las las transiciones se ejecuten.
259
+ * Pone el popup con zIndex igual a currentIndex y lo amuneta en uno.
175
260
  */
176
- closePopup: (popupId: string) => void;
261
+ bringPopupOnFront: (popupId: string, withEnforceVisible?: boolean) => void;
177
262
  /**
178
- * Modifica un popup espeficio
263
+ * setFnQueryClose: Establece la función de cierre del popup
179
264
  */
180
- updatePopup: (popupId: string, popupProps: Partial<Omit<PopupStoreProps, 'status'>>) => void;
265
+ setFnQueryClose: (popupId: string, fn: () => void) => void;
181
266
  /**
182
- * pasa el status a init, no se ejecutan las transiciones, porque el popup viene de estar hide .
267
+ * removePopupsByGroupId: Elimina los popups de un grupo
183
268
  */
184
- showPopup: (popupId: string) => void;
269
+ closePopupsByGroupId: (groupId: string) => void;
185
270
  /**
186
- * pasa el status a hide, no se ejecutan las transiciones, porque el popup se esconde inmediatamente.
271
+ * "removeAllPopupsByGroupId" Elimina todos los popups de un grupo, esta opción se usa cuando se destruye el popupsViewer y no se alcanza hacer la transción de cierre.
272
+ * Para estos casos es obligatorio eleminarlos del store.
187
273
  */
188
- hidePopup: (popupId: string) => void;
274
+ removeAllPopupsByGroupId: (groupId: string) => void;
189
275
  /**
190
- * Pone el popup con zIndex igual a currentIndex y lo amuneta en uno.
276
+ * closeAllPopupsByParentId: Cierra todos los popups que dependan de un popup padre, normalmente se usa en areas cuando se cierra una layout
191
277
  */
192
- setPopupOnFront: (popupId: string) => void;
278
+ closeAllPopupsByParentId: (parentId: string) => void;
193
279
  /**
194
- * Actualiza la variable de estado "getLabel"
195
- * @param newHandler handle o función que va a traducir las etiquetas, esto es necesario debido que getLabel de useModuleDictionary
196
- * cambia por el useCallback, cuando el diccionario se carga.
197
- * @returns void
280
+ * setSelectedPopupId: Establece el popup seleccionado, undefined para deseleccionar
198
281
  */
199
- setHandlerGetLabel: (newHandler: GetLabelType) => void;
282
+ setSelectedPopupId: (groupId: string, popupId?: string) => void;
283
+ };
284
+ /**
285
+ * Acciones específicas que afecta a un solo popup, y no modifica el hash de popups de otros popups.
286
+ */
287
+ popupActions: {
200
288
  /**
201
- * setFnQueryClose: Establece la función de cierre del popup
289
+ * pasa el status a init, no se ejecutan las transiciones, porque el popup viene de estar hide .
202
290
  */
203
- setFnQueryClose: (popupId: string, fn: () => void) => void;
291
+ show: (popupId: string) => void;
204
292
  /**
205
- * setPopupTitle: Establece el título del popup
293
+ * pasa el status a closing para que las las transiciones se ejecuten.
294
+ */
295
+ close: (popupId: string) => void;
296
+ /**
297
+ * Modifica un popup espeficio
298
+ */
299
+ update: (popupId: string, popupProps: Partial<Omit<PopupStoreProps, 'status'>>) => void;
300
+ /**
301
+ * pasa el status a hide, no se ejecutan las transiciones, porque el popup se esconde inmediatamente.
302
+ */
303
+ hide: (popupId: string) => void;
304
+ /**
305
+ * startProgress: Inicia el progreso del popup
206
306
  */
207
- setPopupTitle: (popupId: string, title: string) => void;
208
307
  startProgress: (popupId: string) => void;
308
+ /**
309
+ * stopProgress: Detiene el progreso del popup
310
+ */
209
311
  stopProgress: (popupId: string) => void;
210
- setActions: (popupId: string, actions: AreaWindowAction[], version?: string) => void;
312
+ /**
313
+ * setActions: Establece las acciones del popup
314
+ */
315
+ setActions: (popupId: string, actions: ModuleAction[], version?: string) => void;
211
316
  };
212
317
  }
213
- export type DefaultPopupsStoreProps = PopupsStore;
214
- export type InitialPopupsStoreProps = Pick<PopupsStore, 'getLabel' | 'baseZindex'> & Partial<DefaultPopupsStoreProps> & {
215
- getContainerElement: () => HTMLElement;
216
- };
217
- export interface PopupsProviderProps extends Pick<PopupsStore, 'baseZindex' | 'storeId'> {
318
+ export type DefaultPopupsStoreProps = PopupsProviderStoreState;
319
+ export type InitialPopupsStoreProps = Pick<PopupsProviderStoreState, 'baseZindex' | 'storeId'>;
320
+ export interface PopupsProviderProps extends Pick<PopupsProviderStoreState, 'baseZindex' | 'storeId'> {
218
321
  /**
219
- * Contenedor donde los popups serán renderizados
322
+ * "storeDevtoolsEnabled" Determina si se debe usar devtools para el store
220
323
  */
221
- getContainerElement: () => HTMLElement;
324
+ storeDevtoolsEnabled?: boolean;
222
325
  /**
223
326
  * Poopus abiertos desde el principio, puede servir para abrir los poupus previamente cargados en las cookies
224
327
  */
225
- initialPopups?: PopupStoreProps[];
328
+ initialPopups?: PopupInitialProps[];
226
329
  /**
227
330
  * children
228
331
  */
229
332
  children: ReactNode;
230
333
  }
334
+ export {};
@@ -1,9 +1,7 @@
1
- import { WindowBaseAction } from '../../../../../WindowBase/types';
1
+ import { WindowBaseAction } from '../../../../WindowBase/types';
2
2
  interface UseHeaderActionsPopupsParams {
3
3
  /** Identificador de la ventana (popup) */
4
4
  popupId: string;
5
- /** Acciones adicionales a incluir en el menú del header */
6
- menuActions?: WindowBaseAction[];
7
5
  }
8
6
  /**
9
7
  * Hook useHeaderActionsPopups
@@ -13,9 +11,5 @@ interface UseHeaderActionsPopupsParams {
13
11
  * @param {UseHeaderActionsPopupsParams} params - Parámetros que incluyen el popupId y, opcionalmente, acciones adicionales.
14
12
  * @returns Objeto con leftActions, menuActions y rightActions.
15
13
  */
16
- export declare const useHeaderActionsPopups: ({ popupId, menuActions, }: UseHeaderActionsPopupsParams) => {
17
- leftActions: WindowBaseAction[];
18
- menuActions: WindowBaseAction[];
19
- rightActions: WindowBaseAction[];
20
- };
14
+ export declare const useHeaderActionsPopups: ({ popupId, }: UseHeaderActionsPopupsParams) => WindowBaseAction[];
21
15
  export {};
@@ -0,0 +1,60 @@
1
+ import { useMemo } from "react";
2
+ import { useEnvironment, useModuleDictionary } from "@m4l/core";
3
+ import { u as usePopupsStore } from "./usePopupsStore.js";
4
+ import { shallow } from "zustand/shallow";
5
+ import { useIsMobile } from "@m4l/graphics";
6
+ import { g as getLeftActions, a as getInsideMenuActions } from "../../../../WindowBase/helpers.js";
7
+ const useHeaderActionsPopups = ({
8
+ popupId
9
+ }) => {
10
+ const { host_static_assets, environment_assets } = useEnvironment();
11
+ const { getLabel } = useModuleDictionary();
12
+ const isMobile = useIsMobile();
13
+ const urlPrefix = `${host_static_assets}/${environment_assets}`;
14
+ const moduleActions = usePopupsStore(
15
+ (state) => state.hashPopups[popupId]?.moduleActions || [],
16
+ shallow
17
+ );
18
+ const leftActions = useMemo(() => {
19
+ return getLeftActions(isMobile, moduleActions).map((action) => ({
20
+ ...action,
21
+ place: "left",
22
+ iconUrl: action.iconUrl || "",
23
+ label: action.label || ""
24
+ }));
25
+ }, [isMobile, moduleActions]);
26
+ const windowOptions = usePopupsStore(
27
+ (state) => state.hashPopups[popupId]?.windowOptions,
28
+ shallow
29
+ );
30
+ const insideActions = useMemo(() => {
31
+ return getInsideMenuActions({
32
+ windowId: popupId,
33
+ isMobile,
34
+ moduleActions,
35
+ urlPrefix,
36
+ saveModuleCookies: () => {
37
+ throw new Error("Not implemented");
38
+ },
39
+ resetModuleCookies: () => {
40
+ throw new Error("Not implemented");
41
+ },
42
+ windowOptions,
43
+ getLabel
44
+ });
45
+ }, [
46
+ popupId,
47
+ isMobile,
48
+ moduleActions,
49
+ urlPrefix,
50
+ windowOptions,
51
+ getLabel
52
+ ]);
53
+ const memoizedActions = useMemo(() => {
54
+ return [...leftActions, ...insideActions];
55
+ }, [leftActions, insideActions]);
56
+ return memoizedActions;
57
+ };
58
+ export {
59
+ useHeaderActionsPopups as u
60
+ };
@@ -0,0 +1,43 @@
1
+ import { WindowToolsMF } from '../../../../WindowBase/contexts';
2
+ /**
3
+ * Hook usePopups
4
+ *
5
+ * Este hook encapsula la lógica relacionada con el estado y las funciones necesarias
6
+ * para el componente Popup. Retorna un objeto con el estado, las acciones y las herramientas
7
+ * de la ventana popup.
8
+ * @param {string} areaId - Identificador del área.
9
+ * @param {string} popupId - Identificador del popup.
10
+ * @returns {Object} Objeto con estado, acciones y herramientas del popup.
11
+ */
12
+ export declare const usePopups: (popupId: string) => {
13
+ winType: "component" | "microfrontend";
14
+ moduleId: string | undefined;
15
+ title: string;
16
+ subTitle: string | undefined;
17
+ iconUrl: string;
18
+ selected: boolean;
19
+ mfProps: import('../../../../MFLoader/types').MFBaseProps | undefined;
20
+ component: import('../../../../WindowBase/types').JSX_REACT_NODE;
21
+ loading: boolean | undefined;
22
+ status: import('../../PopupsViewer/types').PopupStatus;
23
+ version: string | undefined;
24
+ dynamicMFStore: Omit<import('zustand').StoreApi<import('../../../../WindowBase/contexts/DynamicMFParmsContext/store').DynamicMFStateWithActions>, "setState"> & {
25
+ setState(nextStateOrUpdater: import('../../../../WindowBase/contexts/DynamicMFParmsContext/store').DynamicMFStateWithActions | Partial<import('../../../../WindowBase/contexts/DynamicMFParmsContext/store').DynamicMFStateWithActions> | ((state: import('immer/dist/internal').WritableDraft<import('../../../../WindowBase/contexts/DynamicMFParmsContext/store').DynamicMFStateWithActions>) => void), shouldReplace?: boolean | undefined): void;
26
+ };
27
+ windowTools: WindowToolsMF;
28
+ memoizedActions: import('../../../../WindowBase/types').WindowBaseAction[];
29
+ editionInfo: string | undefined;
30
+ zIndex: number;
31
+ variant: import('../contexts/PopupsContext/types').PopupVariantType;
32
+ draggable: boolean;
33
+ resizable: boolean;
34
+ defaultPosition: import('../../../../DragResizeWindowRND/types').DefaultPosition | undefined;
35
+ bounds: import('../../../../DragResizeWindowRND/types').DraggableWindowBounds | undefined;
36
+ onMouseDown: ((e: MouseEvent) => void) | undefined;
37
+ allowHeightResizeContainer: boolean | undefined;
38
+ allowWidthResizeContainer: boolean | undefined;
39
+ maxHeight: any;
40
+ maxWidth: any;
41
+ minHeight: any;
42
+ minWidth: any;
43
+ };
@@ -0,0 +1,138 @@
1
+ import { useMemo } from "react";
2
+ import { shallow } from "zustand/shallow";
3
+ import { u as usePopupsStore } from "./usePopupsStore.js";
4
+ import { u as useHeaderActionsPopups } from "./useHeaderActionsPopups.js";
5
+ import { c as createToaster } from "../../../../ToastContainer/helpers/toaster.js";
6
+ const usePopups = (popupId) => {
7
+ const {
8
+ moduleId,
9
+ winType,
10
+ title,
11
+ iconUrl,
12
+ status,
13
+ dynamicMFStore,
14
+ loading,
15
+ version,
16
+ subTitle,
17
+ editionInfo,
18
+ zIndex,
19
+ variant = "normal",
20
+ draggable = true,
21
+ resizable = true,
22
+ defaultPosition,
23
+ bounds,
24
+ onMouseDown,
25
+ allowHeightResizeContainer,
26
+ allowWidthResizeContainer,
27
+ maxHeight,
28
+ maxWidth,
29
+ minHeight,
30
+ minWidth
31
+ } = usePopupsStore(
32
+ (state) => {
33
+ return state.hashPopups[popupId];
34
+ },
35
+ shallow
36
+ );
37
+ const mfProps = usePopupsStore(
38
+ (state) => state.hashPopups[popupId].winType === "microfrontend" ? state.hashPopups[popupId].mfProps : void 0,
39
+ shallow
40
+ );
41
+ const component = usePopupsStore(
42
+ (state) => state.hashPopups[popupId].winType === "component" ? state.hashPopups[popupId].component : void 0,
43
+ shallow
44
+ );
45
+ const selectedPopupId = usePopupsStore(
46
+ (state) => state.hashGroups[state.hashPopups[popupId].groupId].selectedPopupId,
47
+ shallow
48
+ );
49
+ const {
50
+ setFnQueryClose
51
+ } = usePopupsStore((state) => state.popupsActions, shallow);
52
+ const {
53
+ hide,
54
+ show,
55
+ update,
56
+ close,
57
+ setActions,
58
+ startProgress,
59
+ stopProgress
60
+ } = usePopupsStore((state) => state.popupActions, shallow);
61
+ const windowTools = useMemo(
62
+ () => ({
63
+ getWindowId: () => popupId,
64
+ setActions: (newActions, newVersion) => {
65
+ setActions(popupId, newActions, newVersion);
66
+ },
67
+ getCookie: () => {
68
+ throw new Error("getCookie not implemented");
69
+ },
70
+ getCookies: () => {
71
+ throw new Error("getCookies not implemented");
72
+ },
73
+ setCookie: (key, value) => {
74
+ throw new Error(`setCookie not implemented: ${key}, ${value}`);
75
+ },
76
+ close: () => close(popupId),
77
+ startProgress: () => startProgress(popupId),
78
+ stopProgress: () => stopProgress(popupId),
79
+ setFnQueryClose: (fnQueryClose) => setFnQueryClose(popupId, fnQueryClose),
80
+ toast: createToaster(popupId),
81
+ setWindowTitle: (newTitle) => update(popupId, { title: newTitle }),
82
+ setEditionInfo: (newEditionInfo) => update(popupId, { editionInfo: newEditionInfo }),
83
+ hide: () => hide(popupId),
84
+ show: () => {
85
+ show(popupId);
86
+ }
87
+ }),
88
+ [
89
+ popupId,
90
+ version,
91
+ setActions,
92
+ //getCookie,
93
+ //getCookies,
94
+ //setCookie,
95
+ close,
96
+ startProgress,
97
+ stopProgress,
98
+ setFnQueryClose
99
+ ]
100
+ );
101
+ const memoizedActions = useHeaderActionsPopups({
102
+ popupId
103
+ });
104
+ return {
105
+ winType,
106
+ moduleId,
107
+ title,
108
+ subTitle,
109
+ iconUrl,
110
+ selected: selectedPopupId === popupId,
111
+ mfProps,
112
+ component,
113
+ loading,
114
+ status,
115
+ version,
116
+ dynamicMFStore,
117
+ windowTools,
118
+ //onTouch,
119
+ memoizedActions,
120
+ editionInfo,
121
+ zIndex,
122
+ variant,
123
+ draggable,
124
+ resizable,
125
+ defaultPosition,
126
+ bounds,
127
+ onMouseDown,
128
+ allowHeightResizeContainer,
129
+ allowWidthResizeContainer,
130
+ maxHeight,
131
+ maxWidth,
132
+ minHeight,
133
+ minWidth
134
+ };
135
+ };
136
+ export {
137
+ usePopups as u
138
+ };
@@ -0,0 +1,5 @@
1
+ import { PopupsProviderStoreStateWithActions } from '../contexts/PopupsContext/types';
2
+ /**
3
+ * TODO: Documentar
4
+ */
5
+ export declare function usePopupsStore<T>(selector: (state: PopupsProviderStoreStateWithActions) => T, equalityFn?: (left: T, right: T) => boolean): T;
@@ -1,6 +1,6 @@
1
1
  import { useContext } from "react";
2
2
  import { useStore } from "zustand";
3
- import { P as PopupsContext } from "../../contexts/PopupsContext/PopupsContext.js";
3
+ import { a as PopupsContext } from "../contexts/PopupsContext/PopupsContext.js";
4
4
  function usePopupsStore(selector, equalityFn) {
5
5
  const context = useContext(PopupsContext);
6
6
  if (!context) {