@orbe-agro/client-core 5.6.262 → 5.6.264

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 (701) hide show
  1. package/dist/@ecme/assets/styles/app.css +240 -7
  2. package/dist/@ecme/assets/styles/tailwind/index.css +252 -8
  3. package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +4 -0
  4. package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
  5. package/dist/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.js.map +1 -1
  6. package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.js.map +1 -1
  7. package/dist/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.js.map +1 -1
  8. package/dist/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.js.map +1 -1
  9. package/dist/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.js.map +1 -1
  10. package/dist/@ecme/components/template/Footer.js +1 -1
  11. package/dist/@ecme/components/template/Header.stories.js.map +1 -1
  12. package/dist/@ecme/components/template/Notification/Notification.js +1 -4
  13. package/dist/@ecme/components/template/Notification/Notification.js.map +1 -1
  14. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.js +121 -0
  15. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.js.map +1 -0
  16. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js +127 -0
  17. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js.map +1 -0
  18. package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js +37 -0
  19. package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js.map +1 -0
  20. package/dist/@ecme/components/template/OrbeAiWidget/index.js +5 -0
  21. package/dist/@ecme/components/template/OrbeAiWidget/index.js.map +1 -0
  22. package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js +91 -0
  23. package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js.map +1 -0
  24. package/dist/@ecme/components/template/Search.js +280 -73
  25. package/dist/@ecme/components/template/Search.js.map +1 -1
  26. package/dist/@ecme/components/template/Search.stories.js +17 -2
  27. package/dist/@ecme/components/template/Search.stories.js.map +1 -1
  28. package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js +5 -1
  29. package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
  30. package/dist/@ecme/components/view/ChatBox/ChatBox.js +9 -1
  31. package/dist/@ecme/components/view/ChatBox/ChatBox.js.map +1 -1
  32. package/dist/@ecme/components/view/ChatBox/components/MessageList.js +8 -4
  33. package/dist/@ecme/components/view/ChatBox/components/MessageList.js.map +1 -1
  34. package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js +0 -16
  35. package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js.map +1 -1
  36. package/dist/@ecme/configs/routes.config/conceptsRoute.js +0 -9
  37. package/dist/@ecme/configs/routes.config/conceptsRoute.js.map +1 -1
  38. package/dist/@ecme/index.js +7 -7
  39. package/dist/@ecme/index.js.map +1 -1
  40. package/dist/@ecme/locales/index.js +1 -4
  41. package/dist/@ecme/locales/index.js.map +1 -1
  42. package/dist/@ecme/locales/lang/ptBR/nav.js +1 -0
  43. package/dist/@ecme/locales/lang/ptBR/nav.js.map +1 -1
  44. package/dist/@ecme/mock/data/favoritosMenuData.js +5 -0
  45. package/dist/@ecme/mock/data/favoritosMenuData.js.map +1 -0
  46. package/dist/@ecme/services/AiService.js +95 -12
  47. package/dist/@ecme/services/AiService.js.map +1 -1
  48. package/dist/@ecme/services/aiAuthHeaders.js +35 -0
  49. package/dist/@ecme/services/aiAuthHeaders.js.map +1 -0
  50. package/dist/@ecme/services/axios/AxiosBase.js +30 -24
  51. package/dist/@ecme/services/axios/AxiosBase.js.map +1 -1
  52. package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js +4 -27
  53. package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
  54. package/dist/@ecme/services/index.js +8 -3
  55. package/dist/@ecme/services/sseParser.js +42 -0
  56. package/dist/@ecme/services/sseParser.js.map +1 -0
  57. package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js +15 -0
  58. package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js.map +1 -0
  59. package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js +23 -0
  60. package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js.map +1 -0
  61. package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js +73 -0
  62. package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js.map +1 -0
  63. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js +9 -23
  64. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
  65. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js +6 -16
  66. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
  67. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js +10 -7
  68. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
  69. package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js +37 -36
  70. package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js.map +1 -1
  71. package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +62 -18
  72. package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
  73. package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js +99 -0
  74. package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js.map +1 -0
  75. package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js +153 -0
  76. package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js.map +1 -0
  77. package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js +195 -0
  78. package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js.map +1 -0
  79. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.js +83 -0
  80. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.js.map +1 -0
  81. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js +139 -22
  82. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
  83. package/dist/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.js +37 -0
  84. package/dist/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.js.map +1 -0
  85. package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +53 -13
  86. package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
  87. package/dist/@ecme/views/concepts/ai/Chat/utils.js +16 -1
  88. package/dist/@ecme/views/concepts/ai/Chat/utils.js.map +1 -1
  89. package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js +92 -0
  90. package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js.map +1 -0
  91. package/dist/@ecme/views/dashboards/FavoritesLanding/index.js +5 -0
  92. package/dist/@ecme/views/dashboards/FavoritesLanding/index.js.map +1 -0
  93. package/dist/@ecme/views/dashboards/FavoritesLanding/types.js +2 -0
  94. package/dist/@ecme/views/dashboards/FavoritesLanding/types.js.map +1 -0
  95. package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js +36 -0
  96. package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js.map +1 -0
  97. package/dist/@ecme/views/dashboards/index.js +1 -4
  98. package/dist/@ecme/views/dashboards/index.js.map +1 -1
  99. package/dist/@ecme/views/index.js +0 -2
  100. package/dist/@ecme/views/index.js.map +1 -1
  101. package/dist/@types/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.d.ts.map +1 -1
  102. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts +7 -0
  103. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts.map +1 -0
  104. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts +7 -0
  105. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts.map +1 -0
  106. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts +7 -0
  107. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts.map +1 -0
  108. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts +7 -0
  109. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts.map +1 -0
  110. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts +7 -0
  111. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts.map +1 -0
  112. package/dist/@types/@ecme/components/template/Header.stories.d.ts +7 -0
  113. package/dist/@types/@ecme/components/template/Header.stories.d.ts.map +1 -0
  114. package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.d.ts +14 -0
  115. package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.d.ts.map +1 -0
  116. package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts +3 -0
  117. package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts.map +1 -0
  118. package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts +9 -0
  119. package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts.map +1 -0
  120. package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts +2 -0
  121. package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts.map +1 -0
  122. package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts +26 -0
  123. package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts.map +1 -0
  124. package/dist/@types/@ecme/components/template/Search.d.ts +2 -0
  125. package/dist/@types/@ecme/components/template/Search.d.ts.map +1 -1
  126. package/dist/@types/@ecme/components/template/Search.stories.d.ts +8 -0
  127. package/dist/@types/@ecme/components/template/Search.stories.d.ts.map +1 -0
  128. package/dist/@types/@ecme/components/ui/Dropdown/DropdownMenu.d.ts +2 -0
  129. package/dist/@types/@ecme/components/ui/Dropdown/DropdownMenu.d.ts.map +1 -1
  130. package/dist/@types/@ecme/components/view/ChatBox/ChatBox.d.ts.map +1 -1
  131. package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts +5 -0
  132. package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts.map +1 -1
  133. package/dist/@types/@ecme/configs/navigation.config/concepts.navigation.config.d.ts.map +1 -1
  134. package/dist/@types/@ecme/configs/routes.config/conceptsRoute.d.ts.map +1 -1
  135. package/dist/@types/@ecme/locales/index.d.ts +0 -1
  136. package/dist/@types/@ecme/locales/index.d.ts.map +1 -1
  137. package/dist/@types/@ecme/locales/lang/ptBR/nav.d.ts.map +1 -1
  138. package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts +3 -0
  139. package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts.map +1 -0
  140. package/dist/@types/@ecme/services/AiService.d.ts +44 -4
  141. package/dist/@types/@ecme/services/AiService.d.ts.map +1 -1
  142. package/dist/@types/@ecme/services/aiAuthHeaders.d.ts +12 -0
  143. package/dist/@types/@ecme/services/aiAuthHeaders.d.ts.map +1 -0
  144. package/dist/@types/@ecme/services/axios/AxiosBase.d.ts +12 -0
  145. package/dist/@types/@ecme/services/axios/AxiosBase.d.ts.map +1 -1
  146. package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts +6 -0
  147. package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts.map +1 -1
  148. package/dist/@types/@ecme/services/sseParser.d.ts +20 -0
  149. package/dist/@types/@ecme/services/sseParser.d.ts.map +1 -0
  150. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts +8 -0
  151. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts.map +1 -0
  152. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts +7 -0
  153. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts.map +1 -0
  154. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts +15 -0
  155. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts.map +1 -0
  156. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistory.d.ts +3 -1
  157. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistory.d.ts.map +1 -1
  158. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.d.ts +1 -1
  159. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.d.ts.map +1 -1
  160. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.d.ts +5 -1
  161. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.d.ts.map +1 -1
  162. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatLandingView.d.ts.map +1 -1
  163. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts +8 -1
  164. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts.map +1 -1
  165. package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts +20 -0
  166. package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts.map +1 -0
  167. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts +7 -0
  168. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts.map +1 -0
  169. package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts +31 -0
  170. package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts.map +1 -0
  171. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.d.ts +12 -0
  172. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.d.ts.map +1 -0
  173. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts +3 -1
  174. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts.map +1 -1
  175. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.d.ts +12 -0
  176. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.d.ts.map +1 -0
  177. package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts +5 -0
  178. package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts.map +1 -1
  179. package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts +144 -23
  180. package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts.map +1 -1
  181. package/dist/@types/@ecme/views/concepts/ai/Chat/utils.d.ts +13 -0
  182. package/dist/@types/@ecme/views/concepts/ai/Chat/utils.d.ts.map +1 -1
  183. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts +9 -0
  184. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts.map +1 -0
  185. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts +3 -0
  186. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts.map +1 -0
  187. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts +17 -0
  188. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts.map +1 -0
  189. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts +5 -0
  190. package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts.map +1 -0
  191. package/dist/@types/@ecme/views/dashboards/index.d.ts +0 -1
  192. package/dist/@types/@ecme/views/dashboards/index.d.ts.map +1 -1
  193. package/dist/@types/@ecme/views/index.d.ts +0 -1
  194. package/dist/@types/@ecme/views/index.d.ts.map +1 -1
  195. package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts +4 -0
  196. package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts.map +1 -0
  197. package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts +4 -0
  198. package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts.map +1 -0
  199. package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts +9 -0
  200. package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts.map +1 -0
  201. package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts +8 -0
  202. package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts.map +1 -0
  203. package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts +21 -0
  204. package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts.map +1 -0
  205. package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts +1 -0
  206. package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts.map +1 -1
  207. package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts +17 -0
  208. package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts.map +1 -0
  209. package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts +5 -0
  210. package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts.map +1 -0
  211. package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts +6 -0
  212. package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts.map +1 -0
  213. package/dist/@types/base/@types/models/racao/carga.d.ts +39 -0
  214. package/dist/@types/base/@types/models/racao/carga.d.ts.map +1 -1
  215. package/dist/@types/base/@types/models/template/example.d.ts +40 -0
  216. package/dist/@types/base/@types/models/template/example.d.ts.map +1 -0
  217. package/dist/@types/base/@types/models/template/exampleObject.d.ts +14 -0
  218. package/dist/@types/base/@types/models/template/exampleObject.d.ts.map +1 -0
  219. package/dist/@types/base/@types/models/transportadora/irpf.d.ts +1 -0
  220. package/dist/@types/base/@types/models/transportadora/irpf.d.ts.map +1 -1
  221. package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts +0 -1
  222. package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts.map +1 -1
  223. package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts +2 -2
  224. package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts.map +1 -1
  225. package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts +2 -1
  226. package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts.map +1 -1
  227. package/dist/@types/base/components/shared/AdicionarHistoricoDialog.d.ts.map +1 -1
  228. package/dist/@types/base/components/shared/CancelarProcessoDialog.d.ts.map +1 -1
  229. package/dist/@types/base/components/shared/ConcluirProcessoDialog.d.ts.map +1 -1
  230. package/dist/@types/base/components/shared/EncerrarProcessoDialog.d.ts.map +1 -1
  231. package/dist/@types/base/components/shared/ReabrirProcessoDialog.d.ts.map +1 -1
  232. package/dist/@types/base/components/shared/RetornarFluxAtendimentoDialog.d.ts.map +1 -1
  233. package/dist/@types/base/components/shared/TransferirParaAtendenteDialog.d.ts.map +1 -1
  234. package/dist/@types/base/components/shared/TransferirParaSolicitanteDialog.d.ts.map +1 -1
  235. package/dist/@types/base/components/shared/TransferirProcessoDialog.d.ts.map +1 -1
  236. package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts +8 -0
  237. package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts.map +1 -0
  238. package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts +1 -0
  239. package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts.map +1 -1
  240. package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts +1 -0
  241. package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts.map +1 -1
  242. package/dist/@types/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.d.ts +1 -1
  243. package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts +1 -0
  244. package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts.map +1 -1
  245. package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts +2 -0
  246. package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts.map +1 -1
  247. package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts +0 -1
  248. package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts.map +1 -1
  249. package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts +0 -1
  250. package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts.map +1 -1
  251. package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts +18 -0
  252. package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts.map +1 -1
  253. package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts +4 -0
  254. package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts.map +1 -1
  255. package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts +12 -0
  256. package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts.map +1 -0
  257. package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts +4 -0
  258. package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts.map +1 -1
  259. package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts +6 -0
  260. package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts.map +1 -1
  261. package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts +8 -0
  262. package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts.map +1 -0
  263. package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts +4 -0
  264. package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts.map +1 -1
  265. package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +4 -0
  266. package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts.map +1 -1
  267. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +90 -21
  268. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
  269. package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts +0 -20
  270. package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts.map +1 -1
  271. package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts +0 -20
  272. package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts.map +1 -1
  273. package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts +10 -0
  274. package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts.map +1 -0
  275. package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +8 -0
  276. package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
  277. package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts +8 -0
  278. package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts.map +1 -1
  279. package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts +8 -0
  280. package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts.map +1 -1
  281. package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts +33 -0
  282. package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts.map +1 -0
  283. package/dist/@types/base/configs/endpoints.config/trade/index.d.ts +34 -0
  284. package/dist/@types/base/configs/endpoints.config/trade/index.d.ts.map +1 -0
  285. package/dist/@types/base/configs/endpoints.config/transportadora/contratoFrete.d.ts +8 -0
  286. package/dist/@types/base/configs/endpoints.config/transportadora/contratoFrete.d.ts.map +1 -1
  287. package/dist/@types/base/configs/navigation.config/modules.navigation.d.ts.map +1 -1
  288. package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts +4 -0
  289. package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts.map +1 -0
  290. package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts +1 -0
  291. package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts.map +1 -1
  292. package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts +4 -0
  293. package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts.map +1 -0
  294. package/dist/@types/base/configs/navigation.config/modules.submenu/template/submenu.template.d.ts.map +1 -1
  295. package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts +4 -0
  296. package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts.map +1 -0
  297. package/dist/@types/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.d.ts.map +1 -1
  298. package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts +4 -0
  299. package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts.map +1 -0
  300. package/dist/@types/base/configs/navigation.config/submenu/index.d.ts +1 -2
  301. package/dist/@types/base/configs/navigation.config/submenu/index.d.ts.map +1 -1
  302. package/dist/@types/base/configs/navigation.config/submenu/originacao/originacao.submenu.d.ts.map +1 -1
  303. package/dist/@types/base/configs/navigation.config/submenu/template/cadastros.submenu.d.ts.map +1 -0
  304. package/dist/@types/base/configs/navigation.config/submenu/template/config/example.submenu.d.ts.map +1 -0
  305. package/dist/@types/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.d.ts.map +1 -0
  306. package/dist/@types/base/configs/navigation.config/submenu/template/template.submenu.d.ts.map +1 -0
  307. package/dist/@types/base/configs/navigation.config/submenu/ticket/cadastros.submenu.d.ts.map +1 -1
  308. package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts +4 -0
  309. package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts.map +1 -0
  310. package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts +4 -0
  311. package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts.map +1 -0
  312. package/dist/@types/base/configs/navigation.config/submenu/ticket/relatorios.submenu.d.ts.map +1 -1
  313. package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts +4 -0
  314. package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts.map +1 -0
  315. package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts +4 -0
  316. package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts.map +1 -0
  317. package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts +2 -0
  318. package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts.map +1 -1
  319. package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts +8 -0
  320. package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts.map +1 -0
  321. package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts +1 -0
  322. package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts.map +1 -1
  323. package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts +1 -0
  324. package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts.map +1 -1
  325. package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts +1 -1
  326. package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts.map +1 -1
  327. package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts +1 -0
  328. package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts.map +1 -1
  329. package/dist/@types/base/services/modules/Ticket/TicketService.d.ts +2 -0
  330. package/dist/@types/base/services/modules/Ticket/TicketService.d.ts.map +1 -1
  331. package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts +1 -0
  332. package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts.map +1 -1
  333. package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts +3 -0
  334. package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts.map +1 -0
  335. package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts +1 -0
  336. package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts.map +1 -1
  337. package/dist/@types/base/services/modules/compras/index.d.ts +1 -0
  338. package/dist/@types/base/services/modules/compras/index.d.ts.map +1 -1
  339. package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts +2 -0
  340. package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts.map +1 -0
  341. package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts +1 -0
  342. package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts.map +1 -1
  343. package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts +13 -0
  344. package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts.map +1 -0
  345. package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts +3 -1
  346. package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts.map +1 -1
  347. package/dist/@types/base/services/modules/template/example/ExampleService.d.ts +7 -4
  348. package/dist/@types/base/services/modules/template/example/ExampleService.d.ts.map +1 -1
  349. package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts +8 -0
  350. package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts.map +1 -0
  351. package/dist/@types/base/services/modules/template/index.d.ts +1 -1
  352. package/dist/@types/base/services/modules/template/index.d.ts.map +1 -1
  353. package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts +14 -0
  354. package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts.map +1 -0
  355. package/dist/@types/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.d.ts +2 -0
  356. package/dist/@types/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.d.ts.map +1 -1
  357. package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js +2 -0
  358. package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js.map +1 -0
  359. package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js +2 -0
  360. package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js.map +1 -0
  361. package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js +2 -0
  362. package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js.map +1 -0
  363. package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js +2 -0
  364. package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js.map +1 -0
  365. package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js +2 -0
  366. package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js.map +1 -0
  367. package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js +2 -0
  368. package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js.map +1 -0
  369. package/dist/base/@types/enums/originacao/ModoConsumoManual.js +9 -0
  370. package/dist/base/@types/enums/originacao/ModoConsumoManual.js.map +1 -0
  371. package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js +10 -0
  372. package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js.map +1 -0
  373. package/dist/base/@types/models/racao/carga.js.map +1 -1
  374. package/dist/base/@types/models/template/example.js +16 -0
  375. package/dist/base/@types/models/template/example.js.map +1 -0
  376. package/dist/base/@types/models/template/exampleObject.js +2 -0
  377. package/dist/base/@types/models/template/exampleObject.js.map +1 -0
  378. package/dist/base/assets/styles/init.css +258 -7
  379. package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js.map +1 -1
  380. package/dist/base/components/shared/AceitarProcessoDialog.js +16 -2
  381. package/dist/base/components/shared/AceitarProcessoDialog.js.map +1 -1
  382. package/dist/base/components/shared/AdicionarHistoricoDialog.js +28 -24
  383. package/dist/base/components/shared/AdicionarHistoricoDialog.js.map +1 -1
  384. package/dist/base/components/shared/CancelarProcessoDialog.js +28 -24
  385. package/dist/base/components/shared/CancelarProcessoDialog.js.map +1 -1
  386. package/dist/base/components/shared/ConcluirProcessoDialog.js +27 -23
  387. package/dist/base/components/shared/ConcluirProcessoDialog.js.map +1 -1
  388. package/dist/base/components/shared/EncerrarProcessoDialog.js +28 -24
  389. package/dist/base/components/shared/EncerrarProcessoDialog.js.map +1 -1
  390. package/dist/base/components/shared/ReabrirProcessoDialog.js +27 -23
  391. package/dist/base/components/shared/ReabrirProcessoDialog.js.map +1 -1
  392. package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js +27 -23
  393. package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js.map +1 -1
  394. package/dist/base/components/shared/TransferirParaAtendenteDialog.js +28 -24
  395. package/dist/base/components/shared/TransferirParaAtendenteDialog.js.map +1 -1
  396. package/dist/base/components/shared/TransferirParaSolicitanteDialog.js +28 -24
  397. package/dist/base/components/shared/TransferirParaSolicitanteDialog.js.map +1 -1
  398. package/dist/base/components/shared/TransferirProcessoDialog.js +43 -33
  399. package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
  400. package/dist/base/configs/api.config.js.map +1 -1
  401. package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js +11 -0
  402. package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js.map +1 -0
  403. package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js +2 -1
  404. package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js.map +1 -1
  405. package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js +2 -1
  406. package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js.map +1 -1
  407. package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js +1 -1
  408. package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js.map +1 -1
  409. package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js +2 -1
  410. package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js.map +1 -1
  411. package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js +3 -1
  412. package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js.map +1 -1
  413. package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js +0 -1
  414. package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js.map +1 -1
  415. package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js +2 -0
  416. package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js.map +1 -1
  417. package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js +2 -1
  418. package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js.map +1 -1
  419. package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js +9 -0
  420. package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js.map +1 -0
  421. package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js +2 -1
  422. package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js.map +1 -1
  423. package/dist/base/configs/endpoints.config/compras/compras.js +3 -1
  424. package/dist/base/configs/endpoints.config/compras/compras.js.map +1 -1
  425. package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js +8 -0
  426. package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js.map +1 -0
  427. package/dist/base/configs/endpoints.config/dm/config/municipio.js +2 -1
  428. package/dist/base/configs/endpoints.config/dm/config/municipio.js.map +1 -1
  429. package/dist/base/configs/endpoints.config/endpoints.navigation.js +5 -1
  430. package/dist/base/configs/endpoints.config/endpoints.navigation.js.map +1 -1
  431. package/dist/base/configs/endpoints.config/insumos/config/estoque.js +1 -6
  432. package/dist/base/configs/endpoints.config/insumos/config/estoque.js.map +1 -1
  433. package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js +12 -0
  434. package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js.map +1 -0
  435. package/dist/base/configs/endpoints.config/originacao/originacao.js +2 -0
  436. package/dist/base/configs/endpoints.config/originacao/originacao.js.map +1 -1
  437. package/dist/base/configs/endpoints.config/racao/config/carga.js +2 -0
  438. package/dist/base/configs/endpoints.config/racao/config/carga.js.map +1 -1
  439. package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js +15 -0
  440. package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js.map +1 -0
  441. package/dist/base/configs/endpoints.config/trade/index.js +8 -0
  442. package/dist/base/configs/endpoints.config/trade/index.js.map +1 -0
  443. package/dist/base/configs/endpoints.config/transportadora/contratoFrete.js +3 -1
  444. package/dist/base/configs/endpoints.config/transportadora/contratoFrete.js.map +1 -1
  445. package/dist/base/configs/index.js +33 -33
  446. package/dist/base/configs/navigation.config/index.js +31 -31
  447. package/dist/base/configs/navigation.config/modules.navigation.js +3 -1
  448. package/dist/base/configs/navigation.config/modules.navigation.js.map +1 -1
  449. package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js +107 -0
  450. package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js.map +1 -0
  451. package/dist/base/configs/navigation.config/modules.submenu/index.js +2 -0
  452. package/dist/base/configs/navigation.config/modules.submenu/index.js.map +1 -1
  453. package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js +16 -0
  454. package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js.map +1 -0
  455. package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js +1 -1
  456. package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js.map +1 -1
  457. package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js +1 -1
  458. package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js.map +1 -1
  459. package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js +17 -0
  460. package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js.map +1 -0
  461. package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js +1 -1
  462. package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js.map +1 -1
  463. package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js +3 -1
  464. package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js.map +1 -1
  465. package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js +16 -0
  466. package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js.map +1 -0
  467. package/dist/base/configs/navigation.config/submenu/index.js +20 -22
  468. package/dist/base/configs/navigation.config/submenu/index.js.map +1 -1
  469. package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js +2 -0
  470. package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js.map +1 -1
  471. package/dist/base/configs/navigation.config/submenu/template/cadastros.submenu.js.map +1 -0
  472. package/dist/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.js +3 -3
  473. package/dist/base/configs/navigation.config/submenu/template/config/example.submenu.js.map +1 -0
  474. package/dist/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.js +3 -3
  475. package/dist/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.js.map +1 -0
  476. package/dist/base/configs/navigation.config/submenu/template/template.submenu.js.map +1 -0
  477. package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js +5 -1
  478. package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js.map +1 -1
  479. package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js +16 -0
  480. package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js.map +1 -0
  481. package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js +16 -0
  482. package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js.map +1 -0
  483. package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js +5 -13
  484. package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js.map +1 -1
  485. package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js +16 -0
  486. package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js.map +1 -0
  487. package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js +8 -0
  488. package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js.map +1 -0
  489. package/dist/base/index.js +50 -40
  490. package/dist/base/index.js.map +1 -1
  491. package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js +3 -1
  492. package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js.map +1 -1
  493. package/dist/base/services/index.js +15 -5
  494. package/dist/base/services/index.js.map +1 -1
  495. package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js +35 -0
  496. package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js.map +1 -0
  497. package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js +9 -1
  498. package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js.map +1 -1
  499. package/dist/base/services/modules/DadosMestres/Sap/SafraService.js +9 -1
  500. package/dist/base/services/modules/DadosMestres/Sap/SafraService.js.map +1 -1
  501. package/dist/base/services/modules/HubFiscal/NfeService.js +3 -3
  502. package/dist/base/services/modules/HubFiscal/NfeService.js.map +1 -1
  503. package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js +9 -1
  504. package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js.map +1 -1
  505. package/dist/base/services/modules/Ticket/TicketService.js +16 -0
  506. package/dist/base/services/modules/Ticket/TicketService.js.map +1 -1
  507. package/dist/base/services/modules/agendamento/ContratoVendaService.js +2 -2
  508. package/dist/base/services/modules/agendamento/ContratoVendaService.js.map +1 -1
  509. package/dist/base/services/modules/centralNfe/cfop/CfopService.js +8 -0
  510. package/dist/base/services/modules/centralNfe/cfop/CfopService.js.map +1 -1
  511. package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js +21 -0
  512. package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js.map +1 -0
  513. package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js +7 -0
  514. package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js.map +1 -1
  515. package/dist/base/services/modules/compras/index.js +2 -0
  516. package/dist/base/services/modules/compras/index.js.map +1 -1
  517. package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js +14 -0
  518. package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js.map +1 -0
  519. package/dist/base/services/modules/dm/index.js +2 -1
  520. package/dist/base/services/modules/dm/municipio/MunicipioService.js +7 -0
  521. package/dist/base/services/modules/dm/municipio/MunicipioService.js.map +1 -1
  522. package/dist/base/services/modules/index.js +15 -5
  523. package/dist/base/services/modules/index.js.map +1 -1
  524. package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js +50 -0
  525. package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js.map +1 -0
  526. package/dist/base/services/modules/racao/carga/CargaService.js +14 -0
  527. package/dist/base/services/modules/racao/carga/CargaService.js.map +1 -1
  528. package/dist/base/services/modules/racao/index.js +3 -1
  529. package/dist/base/services/modules/template/example/ExampleService.js +26 -12
  530. package/dist/base/services/modules/template/example/ExampleService.js.map +1 -1
  531. package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js +44 -0
  532. package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js.map +1 -0
  533. package/dist/base/services/modules/template/index.js +5 -2
  534. package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js +59 -0
  535. package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js.map +1 -0
  536. package/dist/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.js +14 -0
  537. package/dist/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.js.map +1 -1
  538. package/dist/base/services/modules/transportadora/index.js +3 -1
  539. package/lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx +5 -1
  540. package/lib/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.tsx +2 -2
  541. package/lib/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.tsx +2 -2
  542. package/lib/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.tsx +2 -2
  543. package/lib/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.tsx +2 -2
  544. package/lib/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.tsx +2 -2
  545. package/lib/@ecme/components/template/Header.stories.tsx +2 -2
  546. package/lib/@ecme/components/template/Notification/Notification.tsx +2 -2
  547. package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.tsx +140 -0
  548. package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx +155 -0
  549. package/lib/@ecme/components/template/OrbeAiWidget/ResizeHandles.tsx +47 -0
  550. package/lib/@ecme/components/template/OrbeAiWidget/index.ts +1 -0
  551. package/lib/@ecme/components/template/OrbeAiWidget/useResizablePanel.ts +143 -0
  552. package/lib/@ecme/components/template/Search.stories.tsx +20 -5
  553. package/lib/@ecme/components/template/Search.tsx +370 -84
  554. package/lib/@ecme/components/ui/Dropdown/DropdownMenu.tsx +7 -1
  555. package/lib/@ecme/components/view/ChatBox/ChatBox.tsx +8 -0
  556. package/lib/@ecme/components/view/ChatBox/components/MessageList.tsx +26 -8
  557. package/lib/@ecme/configs/navigation.config/concepts.navigation.config.ts +0 -16
  558. package/lib/@ecme/configs/routes.config/conceptsRoute.ts +0 -9
  559. package/lib/@ecme/locales/index.ts +0 -4
  560. package/lib/@ecme/locales/lang/ptBR/nav.ts +1 -0
  561. package/lib/@ecme/mock/data/favoritosMenuData.ts +3 -0
  562. package/lib/@ecme/services/AiService.ts +165 -13
  563. package/lib/@ecme/services/aiAuthHeaders.ts +58 -0
  564. package/lib/@ecme/services/axios/AxiosBase.ts +45 -24
  565. package/lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts +10 -39
  566. package/lib/@ecme/services/sseParser.ts +75 -0
  567. package/lib/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.tsx +28 -0
  568. package/lib/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.tsx +24 -0
  569. package/lib/@ecme/views/concepts/ai/Chat/components/ApprovalCard.tsx +103 -0
  570. package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistory.tsx +11 -27
  571. package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.tsx +7 -13
  572. package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.tsx +17 -8
  573. package/lib/@ecme/views/concepts/ai/Chat/components/ChatLandingView.tsx +58 -50
  574. package/lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx +124 -18
  575. package/lib/@ecme/views/concepts/ai/Chat/components/DataRequestCard.tsx +144 -0
  576. package/lib/@ecme/views/concepts/ai/Chat/components/ToolCallChip.tsx +218 -0
  577. package/lib/@ecme/views/concepts/ai/Chat/components/toolPresentation.ts +283 -0
  578. package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.tsx +128 -0
  579. package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts +233 -28
  580. package/lib/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.ts +68 -0
  581. package/lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts +84 -13
  582. package/lib/@ecme/views/concepts/ai/Chat/types.ts +133 -29
  583. package/lib/@ecme/views/concepts/ai/Chat/utils.ts +33 -0
  584. package/lib/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.tsx +124 -0
  585. package/lib/@ecme/views/dashboards/FavoritesLanding/index.ts +3 -0
  586. package/lib/@ecme/views/dashboards/FavoritesLanding/types.ts +17 -0
  587. package/lib/@ecme/views/dashboards/FavoritesLanding/utils.ts +51 -0
  588. package/lib/@ecme/views/dashboards/index.ts +1 -3
  589. package/lib/@ecme/views/index.ts +1 -1
  590. package/lib/base/@types/api/request/dm/TCreateFavoritoMenuRequest.ts +3 -0
  591. package/lib/base/@types/api/request/dm/TReorderFavoritosMenuRequest.ts +3 -0
  592. package/lib/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.ts +8 -0
  593. package/lib/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.ts +7 -0
  594. package/lib/base/@types/api/response/originacao/TConsumoManualSaldoResponse.ts +22 -0
  595. package/lib/base/@types/api/response/originacao/TFindAllSaldoResponse.ts +1 -0
  596. package/lib/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.ts +17 -0
  597. package/lib/base/@types/enums/originacao/ModoConsumoManual.ts +4 -0
  598. package/lib/base/@types/enums/originacao/TipoSaldoConsumivel.ts +5 -0
  599. package/lib/base/@types/models/racao/carga.ts +51 -0
  600. package/lib/base/@types/models/template/example.ts +46 -0
  601. package/lib/base/@types/models/template/{exampleObject → exampleObject.ts} +3 -5
  602. package/lib/base/@types/models/transportadora/irpf.ts +1 -0
  603. package/lib/base/@types/models/transportadora/irpfFaixaDesconto.ts +0 -1
  604. package/lib/base/components/forms/GenericForms/GenericArrayFormSection.tsx +1 -1
  605. package/lib/base/components/shared/AceitarProcessoDialog.tsx +13 -2
  606. package/lib/base/components/shared/AdicionarHistoricoDialog.tsx +16 -13
  607. package/lib/base/components/shared/CancelarProcessoDialog.tsx +16 -13
  608. package/lib/base/components/shared/ConcluirProcessoDialog.tsx +16 -13
  609. package/lib/base/components/shared/EncerrarProcessoDialog.tsx +16 -13
  610. package/lib/base/components/shared/ReabrirProcessoDialog.tsx +16 -13
  611. package/lib/base/components/shared/RetornarFluxAtendimentoDialog.tsx +14 -12
  612. package/lib/base/components/shared/TransferirParaAtendenteDialog.tsx +14 -12
  613. package/lib/base/components/shared/TransferirParaSolicitanteDialog.tsx +14 -12
  614. package/lib/base/components/shared/TransferirProcessoDialog.tsx +20 -12
  615. package/lib/base/configs/api.config.ts +2 -2
  616. package/lib/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.ts +10 -0
  617. package/lib/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.ts +1 -0
  618. package/lib/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.ts +1 -0
  619. package/lib/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.ts +1 -1
  620. package/lib/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.ts +1 -0
  621. package/lib/base/configs/endpoints.config/Ticket/ticket.endpoint.config.ts +2 -0
  622. package/lib/base/configs/endpoints.config/agendamento/config/contratoVenda.ts +0 -1
  623. package/lib/base/configs/endpoints.config/centralNfe/centralNfe.ts +2 -0
  624. package/lib/base/configs/endpoints.config/centralNfe/config/cfop.ts +3 -2
  625. package/lib/base/configs/endpoints.config/centralNfe/config/historicoCfop.ts +8 -0
  626. package/lib/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.ts +2 -1
  627. package/lib/base/configs/endpoints.config/compras/compras.ts +3 -1
  628. package/lib/base/configs/endpoints.config/compras/config/itemOrdemCompra.ts +7 -0
  629. package/lib/base/configs/endpoints.config/dm/config/municipio.ts +2 -1
  630. package/lib/base/configs/endpoints.config/endpoints.navigation.ts +5 -1
  631. package/lib/base/configs/endpoints.config/insumos/config/estoque.ts +2 -7
  632. package/lib/base/configs/endpoints.config/originacao/config/consumoManualSaldo.ts +9 -0
  633. package/lib/base/configs/endpoints.config/originacao/originacao.ts +2 -0
  634. package/lib/base/configs/endpoints.config/racao/config/carga.ts +2 -0
  635. package/lib/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.ts +13 -0
  636. package/lib/base/configs/endpoints.config/trade/index.ts +7 -0
  637. package/lib/base/configs/endpoints.config/transportadora/contratoFrete.ts +2 -0
  638. package/lib/base/configs/navigation.config/modules.navigation.ts +2 -0
  639. package/lib/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.ts +107 -0
  640. package/lib/base/configs/navigation.config/modules.submenu/index.ts +1 -0
  641. package/lib/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.ts +16 -0
  642. package/lib/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.ts +1 -1
  643. package/lib/base/configs/navigation.config/modules.submenu/template/submenu.template.ts +2 -3
  644. package/lib/base/configs/navigation.config/modules.submenu/trade/submenu.trade.ts +18 -0
  645. package/lib/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.ts +1 -1
  646. package/lib/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.ts +2 -0
  647. package/lib/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.ts +16 -0
  648. package/lib/base/configs/navigation.config/submenu/index.ts +1 -2
  649. package/lib/base/configs/navigation.config/submenu/originacao/originacao.submenu.ts +2 -0
  650. package/lib/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.ts +3 -3
  651. package/lib/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.ts +3 -3
  652. package/lib/base/configs/navigation.config/submenu/ticket/cadastros.submenu.ts +4 -0
  653. package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.ts +16 -0
  654. package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.ts +16 -0
  655. package/lib/base/configs/navigation.config/submenu/ticket/relatorios.submenu.ts +4 -14
  656. package/lib/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.ts +16 -0
  657. package/lib/base/configs/navigation.config/submenu/trade/trade.submenu.ts +8 -0
  658. package/lib/base/locales/lang/ptBR/modules/Ticket/ticket.nav.ts +2 -0
  659. package/lib/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.ts +35 -0
  660. package/lib/base/services/modules/DadosMestres/Sap/IncotermsService.ts +8 -0
  661. package/lib/base/services/modules/DadosMestres/Sap/SafraService.ts +8 -0
  662. package/lib/base/services/modules/HubFiscal/NfeService.ts +2 -2
  663. package/lib/base/services/modules/SapService/Sap/ExecuteSapApiService.ts +8 -0
  664. package/lib/base/services/modules/Ticket/TicketService.ts +16 -0
  665. package/lib/base/services/modules/agendamento/ContratoVendaService.ts +2 -2
  666. package/lib/base/services/modules/centralNfe/cfop/CfopService.ts +9 -1
  667. package/lib/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.ts +21 -0
  668. package/lib/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.ts +7 -0
  669. package/lib/base/services/modules/compras/index.ts +2 -1
  670. package/lib/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.ts +12 -0
  671. package/lib/base/services/modules/dm/municipio/MunicipioService.tsx +7 -0
  672. package/lib/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.ts +54 -0
  673. package/lib/base/services/modules/racao/carga/CargaService.ts +15 -1
  674. package/lib/base/services/modules/template/example/ExampleService.ts +37 -19
  675. package/lib/base/services/modules/template/exampleObject/ExampleObjectService.ts +45 -0
  676. package/lib/base/services/modules/template/index.ts +2 -2
  677. package/lib/base/services/modules/trade/ContratoArmazenagemGraosTradeService.ts +62 -0
  678. package/lib/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.ts +14 -0
  679. package/package.json +1 -1
  680. package/dist/@types/base/configs/navigation.config/submenu/example/cadastros.submenu.d.ts.map +0 -1
  681. package/dist/@types/base/configs/navigation.config/submenu/example/config/example.submenu.d.ts.map +0 -1
  682. package/dist/@types/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.d.ts.map +0 -1
  683. package/dist/@types/base/configs/navigation.config/submenu/example/template.submenu.d.ts.map +0 -1
  684. package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts +0 -6
  685. package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts.map +0 -1
  686. package/dist/base/configs/navigation.config/submenu/example/cadastros.submenu.js.map +0 -1
  687. package/dist/base/configs/navigation.config/submenu/example/config/example.submenu.js.map +0 -1
  688. package/dist/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.js.map +0 -1
  689. package/dist/base/configs/navigation.config/submenu/example/template.submenu.js.map +0 -1
  690. package/dist/base/services/modules/template/example/ExampleObjectService.js +0 -37
  691. package/dist/base/services/modules/template/example/ExampleObjectService.js.map +0 -1
  692. package/lib/base/@types/models/template/example +0 -37
  693. package/lib/base/services/modules/template/example/ExampleObjectService.ts +0 -34
  694. /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.d.ts +0 -0
  695. /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.d.ts +0 -0
  696. /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.d.ts +0 -0
  697. /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/template.submenu.d.ts +0 -0
  698. /package/dist/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.js +0 -0
  699. /package/dist/base/configs/navigation.config/submenu/{example → template}/template.submenu.js +0 -0
  700. /package/lib/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.ts +0 -0
  701. /package/lib/base/configs/navigation.config/submenu/{example → template}/template.submenu.ts +0 -0
@@ -3,7 +3,7 @@ import Container from "../shared/Container.js";
3
3
  import classNames from "../../utils/classNames.js";
4
4
  import { APP_NAME } from "../../constants/app.constant.js";
5
5
  import { PAGE_CONTAINER_GUTTER_X } from "../../constants/theme.constant.js";
6
- const version = true ? "5.6.262" : "0.0.0";
6
+ const version = true ? "5.6.264" : "0.0.0";
7
7
  const FooterContent = () => {
8
8
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-auto items-center justify-between", children: [
9
9
  /* @__PURE__ */ jsxs("span", { children: [
@@ -1 +1 @@
1
- {"version":3,"file":"Header.stories.js","sources":["../../../../lib/@ecme/components/template/Header.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport Header from './Header'\n\nconst meta = {\n title: '@ecme/Template/Header',\n component: Header,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n argTypes: {\n container: {\n control: 'boolean',\n },\n className: {\n control: 'text',\n },\n wrapperClass: {\n control: 'text',\n },\n },\n} satisfies Meta<typeof Header>\n\nexport default meta\n\ntype TStory = StoryObj<typeof meta>\n\nexport const Default: TStory = {\n args: {\n container: false,\n className: '',\n wrapperClass: '',\n },\n render: (args) => (\n <Header\n {...args}\n headerStart={\n <div className=\"px-4 text-sm font-semibold\">Minha Marca</div>\n }\n headerMiddle={<div className=\"text-sm\">Área central</div>}\n headerEnd={\n <div className=\"px-4 text-sm text-gray-600\">Usuário</div>\n }\n />\n ),\n}\n"],"names":[],"mappings":";;AAGA,MAAM,OAAO;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEZ,MAAM,CAAC,UAAU;AAAA,EACjB,UAAU;AAAA,IACN,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEb,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEb,cAAc;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAMO,MAAM,UAAkB;AAAA,EAC3B,MAAM;AAAA,IACF,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,EAAA;AAAA,EAElB,QAAQ,CAAC,SACL;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,aACI,oBAAC,OAAA,EAAI,WAAU,8BAA6B,UAAA,eAAW;AAAA,MAE3D,cAAc,oBAAC,OAAA,EAAI,WAAU,WAAU,UAAA,gBAAY;AAAA,MACnD,WACI,oBAAC,OAAA,EAAI,WAAU,8BAA6B,UAAA,UAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAInE;"}
1
+ {"version":3,"file":"Header.stories.js","sources":["../../../../lib/@ecme/components/template/Header.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport Header from './Header'\n\nconst meta: Meta<typeof Header> = {\n title: '@ecme/Template/Header',\n component: Header,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n argTypes: {\n container: {\n control: 'boolean',\n },\n className: {\n control: 'text',\n },\n wrapperClass: {\n control: 'text',\n },\n },\n}\n\nexport default meta\n\ntype TStory = StoryObj<typeof meta>\n\nexport const Default: TStory = {\n args: {\n container: false,\n className: '',\n wrapperClass: '',\n },\n render: (args) => (\n <Header\n {...args}\n headerStart={\n <div className=\"px-4 text-sm font-semibold\">Minha Marca</div>\n }\n headerMiddle={<div className=\"text-sm\">Área central</div>}\n headerEnd={\n <div className=\"px-4 text-sm text-gray-600\">Usuário</div>\n }\n />\n ),\n}\n"],"names":[],"mappings":";;AAGA,MAAM,OAA4B;AAAA,EAC9B,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEZ,MAAM,CAAC,UAAU;AAAA,EACjB,UAAU;AAAA,IACN,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEb,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEb,cAAc;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAMO,MAAM,UAAkB;AAAA,EAC3B,MAAM;AAAA,IACF,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,EAAA;AAAA,EAElB,QAAQ,CAAC,SACL;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,aACI,oBAAC,OAAA,EAAI,WAAU,8BAA6B,UAAA,eAAW;AAAA,MAE3D,cAAc,oBAAC,OAAA,EAAI,WAAU,WAAU,UAAA,gBAAY;AAAA,MACnD,WACI,oBAAC,OAAA,EAAI,WAAU,8BAA6B,UAAA,UAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAInE;"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState, useEffect, useRef } from "react";
2
+ import { useState, useRef } from "react";
3
3
  import classNames from "classnames";
4
4
  import withHeaderItem from "../../../utils/hoc/withHeaderItem.js";
5
5
  import { Dropdown } from "../../ui/Dropdown/index.js";
@@ -38,9 +38,6 @@ const _Notification = ({ className }) => {
38
38
  setNoResult(true);
39
39
  }
40
40
  };
41
- useEffect(() => {
42
- getNotificationCount();
43
- }, []);
44
41
  const onNotificationOpen = async () => {
45
42
  if (notificationList.length === 0) {
46
43
  setLoading(true);
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.js","sources":["../../../../../lib/@ecme/components/template/Notification/Notification.tsx"],"sourcesContent":["import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport Dropdown from '@/components/ui/Dropdown'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Spinner from '@/components/ui/Spinner'\nimport Badge from '@/components/ui/Badge'\nimport Button from '@/components/ui/Button'\nimport Tooltip from '@/components/ui/Tooltip'\nimport NotificationAvatar from './NotificationAvatar'\nimport NotificationToggle from './NotificationToggle'\nimport { HiOutlineMailOpen } from 'react-icons/hi'\nimport {\n apiGetNotificationList,\n apiGetNotificationCount,\n} from '@/services/CommonService'\nimport isLastChild from '@/utils/isLastChild'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { DropdownRef } from '@/components/ui/Dropdown'\nimport { useTranslation } from 'react-i18next'\n\ntype NotificationList = {\n id: string\n target: string\n description: string\n date: string\n image: string\n type: number\n location: string\n locationLabel: string\n status: string\n readed: boolean\n}\n\nconst notificationHeight = 'h-[280px]'\n\nconst _Notification = ({ className }: { className?: string }) => {\n const [notificationList, setNotificationList] = useState<\n NotificationList[]\n >([])\n const [unreadNotification, setUnreadNotification] = useState(false)\n const [noResult, setNoResult] = useState(false)\n const [loading, setLoading] = useState(false)\n\n const { larger } = useResponsive()\n\n const navigate = useNavigate()\n\n const getNotificationCount = async () => {\n const resp = await apiGetNotificationCount()\n if (resp.count > 0) {\n setNoResult(false)\n setUnreadNotification(true)\n } else {\n setNoResult(true)\n }\n }\n\n useEffect(() => {\n getNotificationCount()\n }, [])\n\n const onNotificationOpen = async () => {\n if (notificationList.length === 0) {\n setLoading(true)\n const resp = await apiGetNotificationList()\n setLoading(false)\n setNotificationList(resp)\n }\n }\n\n const onMarkAllAsRead = () => {\n const list = notificationList.map((item: NotificationList) => {\n if (!item.readed) {\n item.readed = true\n }\n return item\n })\n setNotificationList(list)\n setUnreadNotification(false)\n }\n\n const onMarkAsRead = (id: string) => {\n const list = notificationList.map((item) => {\n if (item.id === id) {\n item.readed = true\n }\n return item\n })\n setNotificationList(list)\n const hasUnread = notificationList.some((item) => !item.readed)\n\n if (!hasUnread) {\n setUnreadNotification(false)\n }\n }\n\n const notificationDropdownRef = useRef<DropdownRef>(null)\n\n const handleViewAllActivity = () => {\n navigate('/concepts/account/activity-log')\n if (notificationDropdownRef.current) {\n notificationDropdownRef.current.handleDropdownClose()\n }\n }\n\n const { t } = useTranslation()\n\n const isDisabled = true\n\n return (\n <Dropdown\n disabled={isDisabled}\n ref={notificationDropdownRef}\n renderTitle={\n <NotificationToggle\n dot={unreadNotification}\n className={isDisabled ? 'header-action-item-disabled' : className}\n />\n }\n menuClass=\"min-w-[280px] md:min-w-[340px]\"\n placement={larger.md ? 'bottom-end' : 'bottom'}\n onOpen={onNotificationOpen}\n >\n <Dropdown.Item variant=\"header\">\n <div className=\"mb-1 flex items-center justify-between px-2 dark:border-gray-700\">\n <h6>{t('base.layout.notifications.title')}</h6>\n <Tooltip\n title={t('base.layout.notifications.actions.readAll')}\n >\n <Button\n variant=\"plain\"\n shape=\"circle\"\n size=\"sm\"\n icon={<HiOutlineMailOpen className=\"text-xl\" />}\n onClick={onMarkAllAsRead}\n />\n </Tooltip>\n </div>\n </Dropdown.Item>\n <ScrollBar\n className={classNames('overflow-y-auto', notificationHeight)}\n >\n {notificationList.length > 0 &&\n notificationList.map((item, index) => (\n <div key={item.id}>\n <div\n className={`relative flex cursor-pointer rounded-xl px-4 py-3 hover:bg-gray-100 active:bg-gray-100 dark:hover:bg-gray-700`}\n onClick={() => onMarkAsRead(item.id)}\n >\n <div>\n <NotificationAvatar {...item} />\n </div>\n <div className=\"mx-3\">\n <div>\n {item.target && (\n <span className=\"heading-text font-semibold\">\n {item.target}{' '}\n </span>\n )}\n <span>{item.description}</span>\n </div>\n <span className=\"text-xs\">{item.date}</span>\n </div>\n <Badge\n className=\"absolute top-4 mt-1.5 ltr:right-4 rtl:left-4\"\n innerClass={`${\n item.readed\n ? 'bg-gray-300 dark:bg-gray-600'\n : 'bg-primary'\n } `}\n />\n </div>\n {!isLastChild(notificationList, index) ? (\n <div className=\"my-2 border-b border-gray-200 dark:border-gray-700\" />\n ) : (\n ''\n )}\n </div>\n ))}\n {loading && (\n <div\n className={classNames(\n 'flex items-center justify-center',\n notificationHeight,\n )}\n >\n <Spinner size={40} />\n </div>\n )}\n {noResult && notificationList.length === 0 && (\n <div\n className={classNames(\n 'flex items-center justify-center',\n notificationHeight,\n )}\n >\n <div className=\"text-center\">\n <img\n className=\"mx-auto mb-2 max-w-[150px]\"\n src=\"/img/others/no-notification.png\"\n alt=\"no-notification\"\n />\n <h6 className=\"font-semibold\">No notifications!</h6>\n <p className=\"mt-1\">Please Try again later</p>\n </div>\n </div>\n )}\n </ScrollBar>\n <Dropdown.Item variant=\"header\">\n <div className=\"pt-4\">\n <Button\n block\n variant=\"solid\"\n onClick={handleViewAllActivity}\n >\n {t('base.layout.notifications.buttons.viewAll')}\n </Button>\n </div>\n </Dropdown.Item>\n </Dropdown>\n )\n}\n\nconst Notification = withHeaderItem(_Notification)\n\nexport default Notification\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,qBAAqB;AAE3B,MAAM,gBAAgB,CAAC,EAAE,gBAAwC;AAC7D,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAE9C,CAAA,CAAE;AACJ,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAClE,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,QAAM,EAAE,OAAA,IAAW,cAAA;AAEnB,QAAM,WAAW,YAAA;AAEjB,QAAM,uBAAuB,YAAY;AACrC,UAAM,OAAO,MAAM,wBAAA;AACnB,QAAI,KAAK,QAAQ,GAAG;AAChB,kBAAY,KAAK;AACjB,4BAAsB,IAAI;AAAA,IAC9B,OAAO;AACH,kBAAY,IAAI;AAAA,IACpB;AAAA,EACJ;AAEA,YAAU,MAAM;AACZ,yBAAA;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,qBAAqB,YAAY;AACnC,QAAI,iBAAiB,WAAW,GAAG;AAC/B,iBAAW,IAAI;AACf,YAAM,OAAO,MAAM,uBAAA;AACnB,iBAAW,KAAK;AAChB,0BAAoB,IAAI;AAAA,IAC5B;AAAA,EACJ;AAEA,QAAM,kBAAkB,MAAM;AAC1B,UAAM,OAAO,iBAAiB,IAAI,CAAC,SAA2B;AAC1D,UAAI,CAAC,KAAK,QAAQ;AACd,aAAK,SAAS;AAAA,MAClB;AACA,aAAO;AAAA,IACX,CAAC;AACD,wBAAoB,IAAI;AACxB,0BAAsB,KAAK;AAAA,EAC/B;AAEA,QAAM,eAAe,CAAC,OAAe;AACjC,UAAM,OAAO,iBAAiB,IAAI,CAAC,SAAS;AACxC,UAAI,KAAK,OAAO,IAAI;AAChB,aAAK,SAAS;AAAA,MAClB;AACA,aAAO;AAAA,IACX,CAAC;AACD,wBAAoB,IAAI;AACxB,UAAM,YAAY,iBAAiB,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM;AAE9D,QAAI,CAAC,WAAW;AACZ,4BAAsB,KAAK;AAAA,IAC/B;AAAA,EACJ;AAEA,QAAM,0BAA0B,OAAoB,IAAI;AAExD,QAAM,wBAAwB,MAAM;AAChC,aAAS,gCAAgC;AACzC,QAAI,wBAAwB,SAAS;AACjC,8BAAwB,QAAQ,oBAAA;AAAA,IACpC;AAAA,EACJ;AAEA,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,aAAa;AAEnB,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,UAAU;AAAA,MACV,KAAK;AAAA,MACL,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAK;AAAA,UACL,WAAW,aAAa,gCAAgC;AAAA,QAAA;AAAA,MAAA;AAAA,MAGhE,WAAU;AAAA,MACV,WAAW,OAAO,KAAK,eAAe;AAAA,MACtC,QAAQ;AAAA,MAER,UAAA;AAAA,QAAA,oBAAC,SAAS,MAAT,EAAc,SAAQ,UACnB,UAAA,qBAAC,OAAA,EAAI,WAAU,oEACX,UAAA;AAAA,UAAA,oBAAC,MAAA,EAAI,UAAA,EAAE,iCAAiC,EAAA,CAAE;AAAA,UAC1C;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,OAAO,EAAE,2CAA2C;AAAA,cAEpD,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,SAAQ;AAAA,kBACR,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,MAAM,oBAAC,mBAAA,EAAkB,WAAU,UAAA,CAAU;AAAA,kBAC7C,SAAS;AAAA,gBAAA;AAAA,cAAA;AAAA,YACb;AAAA,UAAA;AAAA,QACJ,EAAA,CACJ,EAAA,CACJ;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW,WAAW,mBAAmB,kBAAkB;AAAA,YAE1D,UAAA;AAAA,cAAA,iBAAiB,SAAS,KACvB,iBAAiB,IAAI,CAAC,MAAM,+BACvB,OAAA,EACG,UAAA;AAAA,gBAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,WAAW;AAAA,oBACX,SAAS,MAAM,aAAa,KAAK,EAAE;AAAA,oBAEnC,UAAA;AAAA,sBAAA,oBAAC,OAAA,EACG,UAAA,oBAAC,oBAAA,EAAoB,GAAG,MAAM,GAClC;AAAA,sBACA,qBAAC,OAAA,EAAI,WAAU,QACX,UAAA;AAAA,wBAAA,qBAAC,OAAA,EACI,UAAA;AAAA,0BAAA,KAAK,UACF,qBAAC,QAAA,EAAK,WAAU,8BACX,UAAA;AAAA,4BAAA,KAAK;AAAA,4BAAQ;AAAA,0BAAA,GAClB;AAAA,0BAEJ,oBAAC,QAAA,EAAM,UAAA,KAAK,YAAA,CAAY;AAAA,wBAAA,GAC5B;AAAA,wBACA,oBAAC,QAAA,EAAK,WAAU,WAAW,eAAK,KAAA,CAAK;AAAA,sBAAA,GACzC;AAAA,sBACA;AAAA,wBAAC;AAAA,wBAAA;AAAA,0BACG,WAAU;AAAA,0BACV,YAAY,GACR,KAAK,SACC,iCACA,YACV;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBACJ;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEH,CAAC,YAAY,kBAAkB,KAAK,IACjC,oBAAC,OAAA,EAAI,WAAU,qDAAA,CAAqD,IAEpE;AAAA,cAAA,KA/BE,KAAK,EAiCf,CACH;AAAA,cACJ,WACG;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAW;AAAA,oBACP;AAAA,oBACA;AAAA,kBAAA;AAAA,kBAGJ,UAAA,oBAAC,SAAA,EAAQ,MAAM,GAAA,CAAI;AAAA,gBAAA;AAAA,cAAA;AAAA,cAG1B,YAAY,iBAAiB,WAAW,KACrC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAW;AAAA,oBACP;AAAA,oBACA;AAAA,kBAAA;AAAA,kBAGJ,UAAA,qBAAC,OAAA,EAAI,WAAU,eACX,UAAA;AAAA,oBAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACG,WAAU;AAAA,wBACV,KAAI;AAAA,wBACJ,KAAI;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAER,oBAAC,MAAA,EAAG,WAAU,iBAAgB,UAAA,qBAAiB;AAAA,oBAC/C,oBAAC,KAAA,EAAE,WAAU,QAAO,UAAA,yBAAA,CAAsB;AAAA,kBAAA,EAAA,CAC9C;AAAA,gBAAA;AAAA,cAAA;AAAA,YACJ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGR,oBAAC,SAAS,MAAT,EAAc,SAAQ,UACnB,UAAA,oBAAC,OAAA,EAAI,WAAU,QACX,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,OAAK;AAAA,YACL,SAAQ;AAAA,YACR,SAAS;AAAA,YAER,YAAE,2CAA2C;AAAA,UAAA;AAAA,QAAA,GAEtD,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;AAEA,MAAM,eAAe,eAAe,aAAa;"}
1
+ {"version":3,"file":"Notification.js","sources":["../../../../../lib/@ecme/components/template/Notification/Notification.tsx"],"sourcesContent":["import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport Dropdown from '@/components/ui/Dropdown'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Spinner from '@/components/ui/Spinner'\nimport Badge from '@/components/ui/Badge'\nimport Button from '@/components/ui/Button'\nimport Tooltip from '@/components/ui/Tooltip'\nimport NotificationAvatar from './NotificationAvatar'\nimport NotificationToggle from './NotificationToggle'\nimport { HiOutlineMailOpen } from 'react-icons/hi'\nimport {\n apiGetNotificationList,\n apiGetNotificationCount,\n} from '@/services/CommonService'\nimport isLastChild from '@/utils/isLastChild'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { DropdownRef } from '@/components/ui/Dropdown'\nimport { useTranslation } from 'react-i18next'\n\ntype NotificationList = {\n id: string\n target: string\n description: string\n date: string\n image: string\n type: number\n location: string\n locationLabel: string\n status: string\n readed: boolean\n}\n\nconst notificationHeight = 'h-[280px]'\n\nconst _Notification = ({ className }: { className?: string }) => {\n const [notificationList, setNotificationList] = useState<\n NotificationList[]\n >([])\n const [unreadNotification, setUnreadNotification] = useState(false)\n const [noResult, setNoResult] = useState(false)\n const [loading, setLoading] = useState(false)\n\n const { larger } = useResponsive()\n\n const navigate = useNavigate()\n\n const getNotificationCount = async () => {\n const resp = await apiGetNotificationCount()\n if (resp.count > 0) {\n setNoResult(false)\n setUnreadNotification(true)\n } else {\n setNoResult(true)\n }\n }\n\n/* useEffect(() => {\n getNotificationCount()\n }, []) */\n\n const onNotificationOpen = async () => {\n if (notificationList.length === 0) {\n setLoading(true)\n const resp = await apiGetNotificationList()\n setLoading(false)\n setNotificationList(resp)\n }\n }\n\n const onMarkAllAsRead = () => {\n const list = notificationList.map((item: NotificationList) => {\n if (!item.readed) {\n item.readed = true\n }\n return item\n })\n setNotificationList(list)\n setUnreadNotification(false)\n }\n\n const onMarkAsRead = (id: string) => {\n const list = notificationList.map((item) => {\n if (item.id === id) {\n item.readed = true\n }\n return item\n })\n setNotificationList(list)\n const hasUnread = notificationList.some((item) => !item.readed)\n\n if (!hasUnread) {\n setUnreadNotification(false)\n }\n }\n\n const notificationDropdownRef = useRef<DropdownRef>(null)\n\n const handleViewAllActivity = () => {\n navigate('/concepts/account/activity-log')\n if (notificationDropdownRef.current) {\n notificationDropdownRef.current.handleDropdownClose()\n }\n }\n\n const { t } = useTranslation()\n\n const isDisabled = true\n\n return (\n <Dropdown\n disabled={isDisabled}\n ref={notificationDropdownRef}\n renderTitle={\n <NotificationToggle\n dot={unreadNotification}\n className={isDisabled ? 'header-action-item-disabled' : className}\n />\n }\n menuClass=\"min-w-[280px] md:min-w-[340px]\"\n placement={larger.md ? 'bottom-end' : 'bottom'}\n onOpen={onNotificationOpen}\n >\n <Dropdown.Item variant=\"header\">\n <div className=\"mb-1 flex items-center justify-between px-2 dark:border-gray-700\">\n <h6>{t('base.layout.notifications.title')}</h6>\n <Tooltip\n title={t('base.layout.notifications.actions.readAll')}\n >\n <Button\n variant=\"plain\"\n shape=\"circle\"\n size=\"sm\"\n icon={<HiOutlineMailOpen className=\"text-xl\" />}\n onClick={onMarkAllAsRead}\n />\n </Tooltip>\n </div>\n </Dropdown.Item>\n <ScrollBar\n className={classNames('overflow-y-auto', notificationHeight)}\n >\n {notificationList.length > 0 &&\n notificationList.map((item, index) => (\n <div key={item.id}>\n <div\n className={`relative flex cursor-pointer rounded-xl px-4 py-3 hover:bg-gray-100 active:bg-gray-100 dark:hover:bg-gray-700`}\n onClick={() => onMarkAsRead(item.id)}\n >\n <div>\n <NotificationAvatar {...item} />\n </div>\n <div className=\"mx-3\">\n <div>\n {item.target && (\n <span className=\"heading-text font-semibold\">\n {item.target}{' '}\n </span>\n )}\n <span>{item.description}</span>\n </div>\n <span className=\"text-xs\">{item.date}</span>\n </div>\n <Badge\n className=\"absolute top-4 mt-1.5 ltr:right-4 rtl:left-4\"\n innerClass={`${\n item.readed\n ? 'bg-gray-300 dark:bg-gray-600'\n : 'bg-primary'\n } `}\n />\n </div>\n {!isLastChild(notificationList, index) ? (\n <div className=\"my-2 border-b border-gray-200 dark:border-gray-700\" />\n ) : (\n ''\n )}\n </div>\n ))}\n {loading && (\n <div\n className={classNames(\n 'flex items-center justify-center',\n notificationHeight,\n )}\n >\n <Spinner size={40} />\n </div>\n )}\n {noResult && notificationList.length === 0 && (\n <div\n className={classNames(\n 'flex items-center justify-center',\n notificationHeight,\n )}\n >\n <div className=\"text-center\">\n <img\n className=\"mx-auto mb-2 max-w-[150px]\"\n src=\"/img/others/no-notification.png\"\n alt=\"no-notification\"\n />\n <h6 className=\"font-semibold\">No notifications!</h6>\n <p className=\"mt-1\">Please Try again later</p>\n </div>\n </div>\n )}\n </ScrollBar>\n <Dropdown.Item variant=\"header\">\n <div className=\"pt-4\">\n <Button\n block\n variant=\"solid\"\n onClick={handleViewAllActivity}\n >\n {t('base.layout.notifications.buttons.viewAll')}\n </Button>\n </div>\n </Dropdown.Item>\n </Dropdown>\n )\n}\n\nconst Notification = withHeaderItem(_Notification)\n\nexport default Notification\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useState, useMemo, useEffect } from "react";
3
+ import debounce from "lodash/debounce";
4
+ import { AnimatePresence, motion } from "framer-motion";
5
+ import { TbPlus, TbSearch } from "react-icons/tb";
6
+ import { HiX } from "react-icons/hi";
7
+ import "../../ui/Button/index.js";
8
+ import ChatHistory from "../../../views/concepts/ai/Chat/components/ChatHistory.js";
9
+ import { usGenerativeChatStore } from "../../../views/concepts/ai/Chat/store/generativeChatStore.js";
10
+ import Button from "../../ui/Button/Button.js";
11
+ const iconButtonClass = "flex h-8 w-8 items-center justify-center rounded-full text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200";
12
+ const OrbeAiChatDrawer = ({ open, onClose }) => {
13
+ const [queryText, setQueryText] = useState("");
14
+ const { setSelectedConversation } = usGenerativeChatStore();
15
+ const debounceFn = useMemo(
16
+ () => debounce((e) => {
17
+ setQueryText(e.target.value);
18
+ }, 500),
19
+ []
20
+ );
21
+ useEffect(() => () => debounceFn.cancel(), [debounceFn]);
22
+ useEffect(() => {
23
+ if (!open) {
24
+ debounceFn.cancel();
25
+ setQueryText("");
26
+ }
27
+ }, [open, debounceFn]);
28
+ useEffect(() => {
29
+ if (!open) return;
30
+ const handleKeyDown = (event) => {
31
+ if (event.key === "Escape") onClose();
32
+ };
33
+ window.addEventListener("keydown", handleKeyDown);
34
+ return () => window.removeEventListener("keydown", handleKeyDown);
35
+ }, [open, onClose]);
36
+ const handleNewChat = () => {
37
+ setSelectedConversation("");
38
+ onClose();
39
+ };
40
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
41
+ /* @__PURE__ */ jsx(
42
+ motion.div,
43
+ {
44
+ "aria-hidden": true,
45
+ initial: { opacity: 0 },
46
+ animate: { opacity: 1 },
47
+ exit: { opacity: 0 },
48
+ transition: { duration: 0.2 },
49
+ className: "absolute inset-0 z-40 bg-black/40",
50
+ onClick: onClose
51
+ },
52
+ "orbe-ai-drawer-backdrop"
53
+ ),
54
+ /* @__PURE__ */ jsxs(
55
+ motion.aside,
56
+ {
57
+ role: "dialog",
58
+ "aria-modal": "true",
59
+ "aria-label": "Conversas",
60
+ initial: { x: "-100%" },
61
+ animate: { x: 0 },
62
+ exit: { x: "-100%" },
63
+ transition: { duration: 0.2, ease: "easeOut" },
64
+ className: "absolute inset-y-0 left-0 z-50 flex w-[85%] max-w-[300px] flex-col border-r border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-800",
65
+ children: [
66
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700", children: [
67
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-gray-900 dark:text-gray-100", children: "Conversas" }),
68
+ /* @__PURE__ */ jsx(
69
+ "button",
70
+ {
71
+ type: "button",
72
+ className: iconButtonClass,
73
+ onClick: onClose,
74
+ "aria-label": "Fechar conversas",
75
+ children: /* @__PURE__ */ jsx(HiX, { size: 18 })
76
+ }
77
+ )
78
+ ] }),
79
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3 px-4 pt-4", children: [
80
+ /* @__PURE__ */ jsx(
81
+ Button,
82
+ {
83
+ block: true,
84
+ variant: "solid",
85
+ size: "sm",
86
+ icon: /* @__PURE__ */ jsx(TbPlus, {}),
87
+ onClick: handleNewChat,
88
+ children: "Novo chat"
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsxs("label", { className: "flex h-9 items-center gap-2 rounded-lg border border-gray-200 px-3 focus-within:border-primary dark:border-gray-600", children: [
92
+ /* @__PURE__ */ jsx(TbSearch, { className: "shrink-0 text-lg text-gray-400" }),
93
+ /* @__PURE__ */ jsx(
94
+ "input",
95
+ {
96
+ className: "h-full min-w-0 flex-1 bg-transparent text-sm placeholder:text-gray-400 focus:outline-none heading-text",
97
+ placeholder: "Buscar conversa",
98
+ onChange: debounceFn
99
+ }
100
+ )
101
+ ] })
102
+ ] }),
103
+ /* @__PURE__ */ jsx("div", { className: "px-4 pb-1 pt-4 text-xs font-semibold uppercase tracking-wide text-gray-400", children: "Histórico" }),
104
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsx(
105
+ ChatHistory,
106
+ {
107
+ queryText,
108
+ onClick: onClose,
109
+ dropdownFloatingClass: "!z-[10000]"
110
+ }
111
+ ) })
112
+ ]
113
+ },
114
+ "orbe-ai-drawer"
115
+ )
116
+ ] }) });
117
+ };
118
+ export {
119
+ OrbeAiChatDrawer as default
120
+ };
121
+ //# sourceMappingURL=OrbeAiChatDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrbeAiChatDrawer.js","sources":["../../../../../lib/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport debounce from 'lodash/debounce'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { TbPlus, TbSearch } from 'react-icons/tb'\nimport { HiX } from 'react-icons/hi'\nimport Button from '@/components/ui/Button'\nimport ChatHistory from '@/views/concepts/ai/Chat/components/ChatHistory'\nimport { usGenerativeChatStore } from '@/views/concepts/ai/Chat/store/generativeChatStore'\nimport type { ChangeEvent } from 'react'\n\ntype OrbeAiChatDrawerProps = {\n open: boolean\n onClose: () => void\n}\n\nconst iconButtonClass =\n 'flex h-8 w-8 items-center justify-center rounded-full text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200'\n\n/**\n * Drawer de conversas DENTRO do painel do widget.\n *\n * Não usa o Drawer do ui: ele é portalizado no body com overlay em z-30 e\n * abriria atrás do widget (z-40 / z-[9999]), cobrindo a página inteira. Aqui é\n * `absolute`, então fica recortado pelo painel em qualquer tamanho.\n */\nconst OrbeAiChatDrawer = ({ open, onClose }: OrbeAiChatDrawerProps) => {\n const [queryText, setQueryText] = useState('')\n const { setSelectedConversation } = usGenerativeChatStore()\n\n // Memoizado: o store re-renderiza o drawer a cada token do streaming, e um\n // debounce recriado a cada render perderia a busca pendente.\n const debounceFn = useMemo(\n () =>\n debounce((e: ChangeEvent<HTMLInputElement>) => {\n setQueryText(e.target.value)\n }, 500),\n [],\n )\n\n useEffect(() => () => debounceFn.cancel(), [debounceFn])\n\n // O input desmonta ao fechar e volta vazio; o filtro precisa acompanhar.\n useEffect(() => {\n if (!open) {\n debounceFn.cancel()\n setQueryText('')\n }\n }, [open, debounceFn])\n\n useEffect(() => {\n if (!open) return\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [open, onClose])\n\n const handleNewChat = () => {\n setSelectedConversation('')\n onClose()\n }\n\n return (\n <AnimatePresence>\n {open && (\n <>\n <motion.div\n key=\"orbe-ai-drawer-backdrop\"\n aria-hidden\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n className=\"absolute inset-0 z-40 bg-black/40\"\n onClick={onClose}\n />\n <motion.aside\n key=\"orbe-ai-drawer\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Conversas\"\n initial={{ x: '-100%' }}\n animate={{ x: 0 }}\n exit={{ x: '-100%' }}\n transition={{ duration: 0.2, ease: 'easeOut' }}\n className=\"absolute inset-y-0 left-0 z-50 flex w-[85%] max-w-[300px] flex-col border-r border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-800\"\n >\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700\">\n <span className=\"font-semibold text-gray-900 dark:text-gray-100\">\n Conversas\n </span>\n <button\n type=\"button\"\n className={iconButtonClass}\n onClick={onClose}\n aria-label=\"Fechar conversas\"\n >\n <HiX size={18} />\n </button>\n </div>\n\n <div className=\"flex flex-col gap-3 px-4 pt-4\">\n <Button\n block\n variant=\"solid\"\n size=\"sm\"\n icon={<TbPlus />}\n onClick={handleNewChat}\n >\n Novo chat\n </Button>\n <label className=\"flex h-9 items-center gap-2 rounded-lg border border-gray-200 px-3 focus-within:border-primary dark:border-gray-600\">\n <TbSearch className=\"shrink-0 text-lg text-gray-400\" />\n <input\n className=\"h-full min-w-0 flex-1 bg-transparent text-sm placeholder:text-gray-400 focus:outline-none heading-text\"\n placeholder=\"Buscar conversa\"\n onChange={debounceFn}\n />\n </label>\n </div>\n\n <div className=\"px-4 pb-1 pt-4 text-xs font-semibold uppercase tracking-wide text-gray-400\">\n Histórico\n </div>\n <div className=\"min-h-0 flex-1\">\n <ChatHistory\n queryText={queryText}\n onClick={onClose}\n dropdownFloatingClass=\"!z-[10000]\"\n />\n </div>\n </motion.aside>\n </>\n )}\n </AnimatePresence>\n )\n}\n\nexport default OrbeAiChatDrawer\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useCallback } from "react";
3
+ import { AnimatePresence, motion } from "framer-motion";
4
+ import { TbMenu2, TbMessageChatbot, TbArrowsMinimize, TbArrowsMaximize } from "react-icons/tb";
5
+ import { HiX } from "react-icons/hi";
6
+ import ChatView from "../../../views/concepts/ai/Chat/components/ChatView.js";
7
+ import ChatHistoryRenameDialog from "../../../views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js";
8
+ import useResizablePanel, { MARGIN } from "./useResizablePanel.js";
9
+ import ResizeHandles from "./ResizeHandles.js";
10
+ import OrbeAiChatDrawer from "./OrbeAiChatDrawer.js";
11
+ const iconButtonClass = "flex h-8 w-8 items-center justify-center rounded-full text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200";
12
+ const OrbeAiWidget = () => {
13
+ const [open, setOpen] = useState(false);
14
+ const [fullscreen, setFullscreen] = useState(false);
15
+ const [drawerOpen, setDrawerOpen] = useState(false);
16
+ const { rect, startResize, anchor } = useResizablePanel();
17
+ const toggleOpen = () => {
18
+ if (!open) anchor();
19
+ setOpen((prev) => !prev);
20
+ setDrawerOpen(false);
21
+ };
22
+ const toggleFullscreen = () => setFullscreen((prev) => !prev);
23
+ const toggleDrawer = () => setDrawerOpen((prev) => !prev);
24
+ const closeDrawer = useCallback(() => setDrawerOpen(false), []);
25
+ const close = () => {
26
+ setOpen(false);
27
+ setFullscreen(false);
28
+ setDrawerOpen(false);
29
+ };
30
+ const panelStyle = fullscreen ? void 0 : {
31
+ right: rect.right,
32
+ bottom: rect.bottom,
33
+ width: rect.width,
34
+ height: rect.height,
35
+ maxWidth: `calc(100% - ${rect.right + MARGIN}px)`,
36
+ maxHeight: `calc(100% - ${rect.bottom + MARGIN}px)`
37
+ };
38
+ const panelVariantClass = fullscreen ? "inset-0 rounded-none border-0" : "origin-bottom-right rounded-2xl border shadow-2xl";
39
+ return /* @__PURE__ */ jsxs(
40
+ "div",
41
+ {
42
+ className: `fixed bottom-6 right-6 flex flex-col items-end gap-3 print:hidden ${fullscreen ? "z-[9999]" : "z-40"}`,
43
+ children: [
44
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(
45
+ motion.div,
46
+ {
47
+ initial: { opacity: 0, y: 24, scale: 0.96 },
48
+ animate: { opacity: 1, y: 0, scale: 1 },
49
+ exit: { opacity: 0, y: 24, scale: 0.96 },
50
+ transition: { duration: 0.2, ease: "easeOut" },
51
+ style: panelStyle,
52
+ className: `fixed flex flex-col overflow-hidden border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800 ${panelVariantClass}`,
53
+ children: [
54
+ !fullscreen && /* @__PURE__ */ jsx(ResizeHandles, { onResizeStart: startResize }),
55
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-gray-200 px-3 py-3 sm:px-4 dark:border-gray-700", children: [
56
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1 sm:gap-2", children: [
57
+ /* @__PURE__ */ jsx(
58
+ "button",
59
+ {
60
+ type: "button",
61
+ className: iconButtonClass,
62
+ onClick: toggleDrawer,
63
+ "aria-label": "Abrir conversas",
64
+ "aria-expanded": drawerOpen,
65
+ children: /* @__PURE__ */ jsx(TbMenu2, { size: 20 })
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsx("span", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary text-white", children: /* @__PURE__ */ jsx(TbMessageChatbot, { size: 20 }) }),
69
+ /* @__PURE__ */ jsx("span", { className: "truncate font-semibold text-gray-900 dark:text-gray-100", children: "Orbe AI" })
70
+ ] }),
71
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1 sm:gap-2", children: [
72
+ /* @__PURE__ */ jsx(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ className: iconButtonClass,
77
+ onClick: toggleFullscreen,
78
+ "aria-label": fullscreen ? "Sair da tela cheia" : "Tela cheia",
79
+ children: fullscreen ? /* @__PURE__ */ jsx(TbArrowsMinimize, { size: 18 }) : /* @__PURE__ */ jsx(TbArrowsMaximize, { size: 18 })
80
+ }
81
+ ),
82
+ /* @__PURE__ */ jsx(
83
+ "button",
84
+ {
85
+ type: "button",
86
+ className: iconButtonClass,
87
+ onClick: close,
88
+ "aria-label": "Fechar chat Orbe AI",
89
+ children: /* @__PURE__ */ jsx(HiX, { size: 18 })
90
+ }
91
+ )
92
+ ] })
93
+ ] }),
94
+ /* @__PURE__ */ jsxs("div", { className: "min-h-0 flex-1 p-2", children: [
95
+ /* @__PURE__ */ jsx(ChatView, { showMobileNav: false }),
96
+ /* @__PURE__ */ jsx(ChatHistoryRenameDialog, { overlayClassName: "!z-[10000]" })
97
+ ] }),
98
+ /* @__PURE__ */ jsx(
99
+ OrbeAiChatDrawer,
100
+ {
101
+ open: drawerOpen,
102
+ onClose: closeDrawer
103
+ }
104
+ )
105
+ ]
106
+ },
107
+ "orbe-ai-panel"
108
+ ) }),
109
+ !fullscreen && /* @__PURE__ */ jsx(
110
+ "button",
111
+ {
112
+ type: "button",
113
+ className: "flex h-14 w-14 items-center justify-center rounded-full bg-primary text-neutral shadow-lg transition-colors hover:bg-primary-mild focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
114
+ onClick: toggleOpen,
115
+ "aria-label": open ? "Fechar chat Orbe AI" : "Abrir chat Orbe AI",
116
+ "aria-expanded": open,
117
+ children: open ? /* @__PURE__ */ jsx(HiX, { size: 24 }) : /* @__PURE__ */ jsx(TbMessageChatbot, { size: 26 })
118
+ }
119
+ )
120
+ ]
121
+ }
122
+ );
123
+ };
124
+ export {
125
+ OrbeAiWidget as default
126
+ };
127
+ //# sourceMappingURL=OrbeAiWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrbeAiWidget.js","sources":["../../../../../lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport {\n TbMessageChatbot,\n TbArrowsMaximize,\n TbArrowsMinimize,\n TbMenu2,\n} from 'react-icons/tb'\nimport { HiX } from 'react-icons/hi'\nimport ChatView from '@/views/concepts/ai/Chat/components/ChatView'\nimport ChatHistoryRenameDialog from '@/views/concepts/ai/Chat/components/ChatHistoryRenameDialog'\nimport useResizablePanel, { MARGIN } from './useResizablePanel'\nimport ResizeHandles from './ResizeHandles'\nimport OrbeAiChatDrawer from './OrbeAiChatDrawer'\n\nconst iconButtonClass =\n 'flex h-8 w-8 items-center justify-center rounded-full text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200'\n\nconst OrbeAiWidget = () => {\n const [open, setOpen] = useState(false)\n const [fullscreen, setFullscreen] = useState(false)\n const [drawerOpen, setDrawerOpen] = useState(false)\n const { rect, startResize, anchor } = useResizablePanel()\n\n const toggleOpen = () => {\n // Sempre abre colado no botão. No mesmo clique do setOpen: o React junta\n // os dois updates e o painel não pisca na posição antiga.\n if (!open) anchor()\n setOpen((prev) => !prev)\n setDrawerOpen(false)\n }\n const toggleFullscreen = () => setFullscreen((prev) => !prev)\n const toggleDrawer = () => setDrawerOpen((prev) => !prev)\n // Estável: o drawer registra o listener de Esc com ela como dependência.\n const closeDrawer = useCallback(() => setDrawerOpen(false), [])\n const close = () => {\n setOpen(false)\n setFullscreen(false)\n setDrawerOpen(false)\n }\n\n // Tela cheia: cobre o viewport inteiro (inset-0). Flutuante: ancorado no\n // canto do botão (right/bottom). O max-* limita só a exibição — o estado\n // guarda o tamanho escolhido, então ao desfazer o zoom o painel volta igual.\n // `100%` de um `fixed` é o viewport sem a barra de rolagem.\n const panelStyle = fullscreen\n ? undefined\n : {\n right: rect.right,\n bottom: rect.bottom,\n width: rect.width,\n height: rect.height,\n maxWidth: `calc(100% - ${rect.right + MARGIN}px)`,\n maxHeight: `calc(100% - ${rect.bottom + MARGIN}px)`,\n }\n const panelVariantClass = fullscreen\n ? 'inset-0 rounded-none border-0'\n : 'origin-bottom-right rounded-2xl border shadow-2xl'\n\n return (\n <div\n className={`fixed bottom-6 right-6 flex flex-col items-end gap-3 print:hidden ${\n fullscreen ? 'z-[9999]' : 'z-40'\n }`}\n >\n <AnimatePresence>\n {open && (\n <motion.div\n key=\"orbe-ai-panel\"\n initial={{ opacity: 0, y: 24, scale: 0.96 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, y: 24, scale: 0.96 }}\n transition={{ duration: 0.2, ease: 'easeOut' }}\n style={panelStyle}\n className={`fixed flex flex-col overflow-hidden border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800 ${panelVariantClass}`}\n >\n {!fullscreen && (\n <ResizeHandles onResizeStart={startResize} />\n )}\n\n <div className=\"flex items-center justify-between gap-2 border-b border-gray-200 px-3 py-3 sm:px-4 dark:border-gray-700\">\n <div className=\"flex min-w-0 items-center gap-1 sm:gap-2\">\n <button\n type=\"button\"\n className={iconButtonClass}\n onClick={toggleDrawer}\n aria-label=\"Abrir conversas\"\n aria-expanded={drawerOpen}\n >\n <TbMenu2 size={20} />\n </button>\n <span className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary text-white\">\n <TbMessageChatbot size={20} />\n </span>\n <span className=\"truncate font-semibold text-gray-900 dark:text-gray-100\">\n Orbe AI\n </span>\n </div>\n <div className=\"flex shrink-0 items-center gap-1 sm:gap-2\">\n <button\n type=\"button\"\n className={iconButtonClass}\n onClick={toggleFullscreen}\n aria-label={\n fullscreen\n ? 'Sair da tela cheia'\n : 'Tela cheia'\n }\n >\n {fullscreen ? (\n <TbArrowsMinimize size={18} />\n ) : (\n <TbArrowsMaximize size={18} />\n )}\n </button>\n <button\n type=\"button\"\n className={iconButtonClass}\n onClick={close}\n aria-label=\"Fechar chat Orbe AI\"\n >\n <HiX size={18} />\n </button>\n </div>\n </div>\n\n <div className=\"min-h-0 flex-1 p-2\">\n <ChatView showMobileNav={false} />\n <ChatHistoryRenameDialog overlayClassName=\"!z-[10000]\" />\n </div>\n\n <OrbeAiChatDrawer\n open={drawerOpen}\n onClose={closeDrawer}\n />\n </motion.div>\n )}\n </AnimatePresence>\n\n {!fullscreen && (\n <button\n type=\"button\"\n className=\"flex h-14 w-14 items-center justify-center rounded-full bg-primary text-neutral shadow-lg transition-colors hover:bg-primary-mild focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2\"\n onClick={toggleOpen}\n aria-label={open ? 'Fechar chat Orbe AI' : 'Abrir chat Orbe AI'}\n aria-expanded={open}\n >\n {open ? <HiX size={24} /> : <TbMessageChatbot size={26} />}\n </button>\n )}\n </div>\n )\n}\n\nexport default OrbeAiWidget\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ const EDGES = [
3
+ { direction: "top", className: "left-0 right-0 top-0 h-1.5 cursor-ns-resize" },
4
+ { direction: "bottom", className: "bottom-0 left-0 right-0 h-1.5 cursor-ns-resize" },
5
+ { direction: "left", className: "bottom-0 left-0 top-0 w-1.5 cursor-ew-resize" },
6
+ { direction: "right", className: "bottom-0 right-0 top-0 w-1.5 cursor-ew-resize" }
7
+ ];
8
+ const CORNERS = [
9
+ { direction: "top-left", className: "left-0 top-0 cursor-nwse-resize" },
10
+ { direction: "top-right", className: "right-0 top-0 cursor-nesw-resize" },
11
+ { direction: "bottom-left", className: "bottom-0 left-0 cursor-nesw-resize" },
12
+ { direction: "bottom-right", className: "bottom-0 right-0 cursor-nwse-resize" }
13
+ ];
14
+ const ResizeHandles = ({ onResizeStart }) => /* @__PURE__ */ jsxs(Fragment, { children: [
15
+ EDGES.map(({ direction, className }) => /* @__PURE__ */ jsx(
16
+ "span",
17
+ {
18
+ "aria-hidden": true,
19
+ onPointerDown: (event) => onResizeStart(event, direction),
20
+ className: `absolute z-20 ${className}`
21
+ },
22
+ direction
23
+ )),
24
+ CORNERS.map(({ direction, className }) => /* @__PURE__ */ jsx(
25
+ "span",
26
+ {
27
+ "aria-hidden": true,
28
+ onPointerDown: (event) => onResizeStart(event, direction),
29
+ className: `absolute z-30 h-3 w-3 ${className}`
30
+ },
31
+ direction
32
+ ))
33
+ ] });
34
+ export {
35
+ ResizeHandles as default
36
+ };
37
+ //# sourceMappingURL=ResizeHandles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResizeHandles.js","sources":["../../../../../lib/@ecme/components/template/OrbeAiWidget/ResizeHandles.tsx"],"sourcesContent":["import type { PointerEvent as ReactPointerEvent } from 'react'\nimport type { ResizeDirection } from './useResizablePanel'\n\ntype ResizeHandlesProps = {\n onResizeStart: (\n event: ReactPointerEvent,\n direction: ResizeDirection,\n ) => void\n}\n\nconst EDGES: { direction: ResizeDirection; className: string }[] = [\n { direction: 'top', className: 'left-0 right-0 top-0 h-1.5 cursor-ns-resize' },\n { direction: 'bottom', className: 'bottom-0 left-0 right-0 h-1.5 cursor-ns-resize' },\n { direction: 'left', className: 'bottom-0 left-0 top-0 w-1.5 cursor-ew-resize' },\n { direction: 'right', className: 'bottom-0 right-0 top-0 w-1.5 cursor-ew-resize' },\n]\n\nconst CORNERS: { direction: ResizeDirection; className: string }[] = [\n { direction: 'top-left', className: 'left-0 top-0 cursor-nwse-resize' },\n { direction: 'top-right', className: 'right-0 top-0 cursor-nesw-resize' },\n { direction: 'bottom-left', className: 'bottom-0 left-0 cursor-nesw-resize' },\n { direction: 'bottom-right', className: 'bottom-0 right-0 cursor-nwse-resize' },\n]\n\n/** Alças transparentes de redimensionamento nas 4 bordas + 4 cantos do painel. */\nconst ResizeHandles = ({ onResizeStart }: ResizeHandlesProps) => (\n <>\n {EDGES.map(({ direction, className }) => (\n <span\n key={direction}\n aria-hidden\n onPointerDown={(event) => onResizeStart(event, direction)}\n className={`absolute z-20 ${className}`}\n />\n ))}\n {CORNERS.map(({ direction, className }) => (\n <span\n key={direction}\n aria-hidden\n onPointerDown={(event) => onResizeStart(event, direction)}\n className={`absolute z-30 h-3 w-3 ${className}`}\n />\n ))}\n </>\n)\n\nexport default ResizeHandles\n"],"names":[],"mappings":";AAUA,MAAM,QAA6D;AAAA,EAC/D,EAAE,WAAW,OAAO,WAAW,8CAAA;AAAA,EAC/B,EAAE,WAAW,UAAU,WAAW,iDAAA;AAAA,EAClC,EAAE,WAAW,QAAQ,WAAW,+CAAA;AAAA,EAChC,EAAE,WAAW,SAAS,WAAW,gDAAA;AACrC;AAEA,MAAM,UAA+D;AAAA,EACjE,EAAE,WAAW,YAAY,WAAW,kCAAA;AAAA,EACpC,EAAE,WAAW,aAAa,WAAW,mCAAA;AAAA,EACrC,EAAE,WAAW,eAAe,WAAW,qCAAA;AAAA,EACvC,EAAE,WAAW,gBAAgB,WAAW,sCAAA;AAC5C;AAGA,MAAM,gBAAgB,CAAC,EAAE,cAAA,MACrB,qBAAA,UAAA,EACK,UAAA;AAAA,EAAA,MAAM,IAAI,CAAC,EAAE,WAAW,gBACrB;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG,eAAW;AAAA,MACX,eAAe,CAAC,UAAU,cAAc,OAAO,SAAS;AAAA,MACxD,WAAW,iBAAiB,SAAS;AAAA,IAAA;AAAA,IAHhC;AAAA,EAAA,CAKZ;AAAA,EACA,QAAQ,IAAI,CAAC,EAAE,WAAW,gBACvB;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG,eAAW;AAAA,MACX,eAAe,CAAC,UAAU,cAAc,OAAO,SAAS;AAAA,MACxD,WAAW,yBAAyB,SAAS;AAAA,IAAA;AAAA,IAHxC;AAAA,EAAA,CAKZ;AAAA,EAAA,CACL;"}
@@ -0,0 +1,5 @@
1
+ import { default as default2 } from "./OrbeAiWidget.js";
2
+ export {
3
+ default2 as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,91 @@
1
+ import { useState, useCallback, useEffect } from "react";
2
+ const MIN = { width: 360, height: 420 };
3
+ const DEFAULT = { width: 480, height: 720 };
4
+ const MARGIN = 12;
5
+ const ANCHOR = { right: 24, bottom: 92 };
6
+ const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
7
+ const getViewport = () => ({
8
+ width: document.documentElement.clientWidth,
9
+ height: document.documentElement.clientHeight
10
+ });
11
+ const useResizablePanel = () => {
12
+ const [rect, setRect] = useState({ ...ANCHOR, ...DEFAULT });
13
+ const anchor = useCallback(() => {
14
+ setRect(
15
+ (prev) => prev.right === ANCHOR.right && prev.bottom === ANCHOR.bottom ? prev : { ...prev, ...ANCHOR }
16
+ );
17
+ }, []);
18
+ useEffect(() => {
19
+ window.addEventListener("resize", anchor);
20
+ return () => window.removeEventListener("resize", anchor);
21
+ }, [anchor]);
22
+ const startResize = useCallback(
23
+ (event, direction) => {
24
+ event.preventDefault();
25
+ event.stopPropagation();
26
+ const startX = event.clientX;
27
+ const startY = event.clientY;
28
+ const viewport = getViewport();
29
+ const start = {
30
+ ...rect,
31
+ width: Math.min(rect.width, viewport.width - rect.right - MARGIN),
32
+ height: Math.min(
33
+ rect.height,
34
+ viewport.height - rect.bottom - MARGIN
35
+ )
36
+ };
37
+ const previousUserSelect = document.body.style.userSelect;
38
+ document.body.style.userSelect = "none";
39
+ const handleMove = (moveEvent) => {
40
+ const dx = moveEvent.clientX - startX;
41
+ const dy = moveEvent.clientY - startY;
42
+ const next = { ...start };
43
+ if (direction.includes("left")) {
44
+ next.width = clamp(
45
+ start.width - dx,
46
+ MIN.width,
47
+ viewport.width - start.right - MARGIN
48
+ );
49
+ }
50
+ if (direction.includes("top")) {
51
+ next.height = clamp(
52
+ start.height - dy,
53
+ MIN.height,
54
+ viewport.height - start.bottom - MARGIN
55
+ );
56
+ }
57
+ if (direction.includes("right")) {
58
+ next.width = clamp(
59
+ start.width + dx,
60
+ MIN.width,
61
+ start.width + start.right - MARGIN
62
+ );
63
+ next.right = start.right - (next.width - start.width);
64
+ }
65
+ if (direction.includes("bottom")) {
66
+ next.height = clamp(
67
+ start.height + dy,
68
+ MIN.height,
69
+ start.height + start.bottom - MARGIN
70
+ );
71
+ next.bottom = start.bottom - (next.height - start.height);
72
+ }
73
+ setRect(next);
74
+ };
75
+ const stopResize = () => {
76
+ document.body.style.userSelect = previousUserSelect;
77
+ window.removeEventListener("pointermove", handleMove);
78
+ window.removeEventListener("pointerup", stopResize);
79
+ };
80
+ window.addEventListener("pointermove", handleMove);
81
+ window.addEventListener("pointerup", stopResize);
82
+ },
83
+ [rect]
84
+ );
85
+ return { rect, startResize, anchor };
86
+ };
87
+ export {
88
+ MARGIN,
89
+ useResizablePanel as default
90
+ };
91
+ //# sourceMappingURL=useResizablePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResizablePanel.js","sources":["../../../../../lib/@ecme/components/template/OrbeAiWidget/useResizablePanel.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport type { PointerEvent as ReactPointerEvent } from 'react'\n\n/**\n * `right`/`bottom` são offsets a partir das bordas direita/inferior do\n * viewport — a mesma referência do botão (FAB, `bottom-6 right-6`). Assim,\n * resolução e zoom movem painel e botão juntos.\n */\nexport type Rect = { right: number; bottom: number; width: number; height: number }\n\nexport type ResizeDirection =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n\nconst MIN = { width: 360, height: 420 }\nconst DEFAULT = { width: 480, height: 720 }\nexport const MARGIN = 12 // distância mínima das bordas do viewport\n\n/**\n * Canto inferior-direito do painel, logo acima do FAB:\n * right = `right-6` (24); bottom = `bottom-6` (24) + `h-14` (56) + `gap-3` (12).\n * Se as classes do botão no OrbeAiWidget mudarem, ajustar aqui.\n */\nconst ANCHOR = { right: 24, bottom: 92 }\n\n/** Em telas menores que o MIN o máximo vence: o painel nunca sai da tela. */\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max)\n\n/** Área útil do `fixed`: o viewport sem a barra de rolagem, igual ao `100%` do CSS. */\nconst getViewport = () => ({\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight,\n})\n\n/**\n * Painel redimensionável por qualquer borda/canto, ancorado no botão. Cada\n * direção move sua borda mantendo a oposta fixa. O tamanho nunca é alterado\n * por mudança de viewport: quem limita é o max-width/max-height do painel.\n */\nconst useResizablePanel = () => {\n const [rect, setRect] = useState<Rect>({ ...ANCHOR, ...DEFAULT })\n\n /** Recola o painel acima do botão, mantendo o tamanho escolhido. */\n const anchor = useCallback(() => {\n setRect((prev) =>\n prev.right === ANCHOR.right && prev.bottom === ANCHOR.bottom\n ? prev\n : { ...prev, ...ANCHOR },\n )\n }, [])\n\n // Resolução e zoom disparam `resize`: o painel volta para cima do botão.\n useEffect(() => {\n window.addEventListener('resize', anchor)\n return () => window.removeEventListener('resize', anchor)\n }, [anchor])\n\n const startResize = useCallback(\n (event: ReactPointerEvent, direction: ResizeDirection) => {\n event.preventDefault()\n event.stopPropagation()\n\n const startX = event.clientX\n const startY = event.clientY\n const viewport = getViewport()\n // Parte do tamanho RENDERIZADO: se o CSS está limitando o painel, o\n // valor guardado é maior que o visível e o arrasto teria zona morta.\n const start: Rect = {\n ...rect,\n width: Math.min(rect.width, viewport.width - rect.right - MARGIN),\n height: Math.min(\n rect.height,\n viewport.height - rect.bottom - MARGIN,\n ),\n }\n\n const previousUserSelect = document.body.style.userSelect\n document.body.style.userSelect = 'none'\n\n const handleMove = (moveEvent: PointerEvent) => {\n const dx = moveEvent.clientX - startX\n const dy = moveEvent.clientY - startY\n const next: Rect = { ...start }\n\n // Esquerda/topo: a borda ancorada fica fixa, só o tamanho muda.\n if (direction.includes('left')) {\n next.width = clamp(\n start.width - dx,\n MIN.width,\n viewport.width - start.right - MARGIN,\n )\n }\n if (direction.includes('top')) {\n next.height = clamp(\n start.height - dy,\n MIN.height,\n viewport.height - start.bottom - MARGIN,\n )\n }\n // Direita/baixo: a borda oposta fica fixa, então o offset anda junto.\n if (direction.includes('right')) {\n next.width = clamp(\n start.width + dx,\n MIN.width,\n start.width + start.right - MARGIN,\n )\n next.right = start.right - (next.width - start.width)\n }\n if (direction.includes('bottom')) {\n next.height = clamp(\n start.height + dy,\n MIN.height,\n start.height + start.bottom - MARGIN,\n )\n next.bottom = start.bottom - (next.height - start.height)\n }\n\n setRect(next)\n }\n\n const stopResize = () => {\n document.body.style.userSelect = previousUserSelect\n window.removeEventListener('pointermove', handleMove)\n window.removeEventListener('pointerup', stopResize)\n }\n\n window.addEventListener('pointermove', handleMove)\n window.addEventListener('pointerup', stopResize)\n },\n [rect],\n )\n\n return { rect, startResize, anchor }\n}\n\nexport default useResizablePanel\n"],"names":[],"mappings":"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"}