@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.
- package/dist/@ecme/assets/styles/app.css +240 -7
- package/dist/@ecme/assets/styles/tailwind/index.css +252 -8
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +4 -0
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.js.map +1 -1
- package/dist/@ecme/components/template/Footer.js +1 -1
- package/dist/@ecme/components/template/Header.stories.js.map +1 -1
- package/dist/@ecme/components/template/Notification/Notification.js +1 -4
- package/dist/@ecme/components/template/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.js +121 -0
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.js.map +1 -0
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js +127 -0
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js.map +1 -0
- package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js +37 -0
- package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js.map +1 -0
- package/dist/@ecme/components/template/OrbeAiWidget/index.js +5 -0
- package/dist/@ecme/components/template/OrbeAiWidget/index.js.map +1 -0
- package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js +91 -0
- package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js.map +1 -0
- package/dist/@ecme/components/template/Search.js +280 -73
- package/dist/@ecme/components/template/Search.js.map +1 -1
- package/dist/@ecme/components/template/Search.stories.js +17 -2
- package/dist/@ecme/components/template/Search.stories.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js +5 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/ChatBox.js +9 -1
- package/dist/@ecme/components/view/ChatBox/ChatBox.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/MessageList.js +8 -4
- package/dist/@ecme/components/view/ChatBox/components/MessageList.js.map +1 -1
- package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js +0 -16
- package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js.map +1 -1
- package/dist/@ecme/configs/routes.config/conceptsRoute.js +0 -9
- package/dist/@ecme/configs/routes.config/conceptsRoute.js.map +1 -1
- package/dist/@ecme/index.js +7 -7
- package/dist/@ecme/index.js.map +1 -1
- package/dist/@ecme/locales/index.js +1 -4
- package/dist/@ecme/locales/index.js.map +1 -1
- package/dist/@ecme/locales/lang/ptBR/nav.js +1 -0
- package/dist/@ecme/locales/lang/ptBR/nav.js.map +1 -1
- package/dist/@ecme/mock/data/favoritosMenuData.js +5 -0
- package/dist/@ecme/mock/data/favoritosMenuData.js.map +1 -0
- package/dist/@ecme/services/AiService.js +95 -12
- package/dist/@ecme/services/AiService.js.map +1 -1
- package/dist/@ecme/services/aiAuthHeaders.js +35 -0
- package/dist/@ecme/services/aiAuthHeaders.js.map +1 -0
- package/dist/@ecme/services/axios/AxiosBase.js +30 -24
- package/dist/@ecme/services/axios/AxiosBase.js.map +1 -1
- package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js +4 -27
- package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
- package/dist/@ecme/services/index.js +8 -3
- package/dist/@ecme/services/sseParser.js +42 -0
- package/dist/@ecme/services/sseParser.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js +15 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js +23 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js +73 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js +9 -23
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js +6 -16
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js +10 -7
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js +37 -36
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +62 -18
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js +99 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js +153 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js +195 -0
- package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.js +83 -0
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js +139 -22
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.js +37 -0
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.js.map +1 -0
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +53 -13
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/utils.js +16 -1
- package/dist/@ecme/views/concepts/ai/Chat/utils.js.map +1 -1
- package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js +92 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js.map +1 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/index.js +5 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/index.js.map +1 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/types.js +2 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/types.js.map +1 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js +36 -0
- package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js.map +1 -0
- package/dist/@ecme/views/dashboards/index.js +1 -4
- package/dist/@ecme/views/dashboards/index.js.map +1 -1
- package/dist/@ecme/views/index.js +0 -2
- package/dist/@ecme/views/index.js.map +1 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.d.ts.map +1 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/Header.stories.d.ts +7 -0
- package/dist/@types/@ecme/components/template/Header.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.d.ts +14 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts +3 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts +9 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts +2 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts +26 -0
- package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts.map +1 -0
- package/dist/@types/@ecme/components/template/Search.d.ts +2 -0
- package/dist/@types/@ecme/components/template/Search.d.ts.map +1 -1
- package/dist/@types/@ecme/components/template/Search.stories.d.ts +8 -0
- package/dist/@types/@ecme/components/template/Search.stories.d.ts.map +1 -0
- package/dist/@types/@ecme/components/ui/Dropdown/DropdownMenu.d.ts +2 -0
- package/dist/@types/@ecme/components/ui/Dropdown/DropdownMenu.d.ts.map +1 -1
- package/dist/@types/@ecme/components/view/ChatBox/ChatBox.d.ts.map +1 -1
- package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts +5 -0
- package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts.map +1 -1
- package/dist/@types/@ecme/configs/navigation.config/concepts.navigation.config.d.ts.map +1 -1
- package/dist/@types/@ecme/configs/routes.config/conceptsRoute.d.ts.map +1 -1
- package/dist/@types/@ecme/locales/index.d.ts +0 -1
- package/dist/@types/@ecme/locales/index.d.ts.map +1 -1
- package/dist/@types/@ecme/locales/lang/ptBR/nav.d.ts.map +1 -1
- package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts +3 -0
- package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts.map +1 -0
- package/dist/@types/@ecme/services/AiService.d.ts +44 -4
- package/dist/@types/@ecme/services/AiService.d.ts.map +1 -1
- package/dist/@types/@ecme/services/aiAuthHeaders.d.ts +12 -0
- package/dist/@types/@ecme/services/aiAuthHeaders.d.ts.map +1 -0
- package/dist/@types/@ecme/services/axios/AxiosBase.d.ts +12 -0
- package/dist/@types/@ecme/services/axios/AxiosBase.d.ts.map +1 -1
- package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts +6 -0
- package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts.map +1 -1
- package/dist/@types/@ecme/services/sseParser.d.ts +20 -0
- package/dist/@types/@ecme/services/sseParser.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts +8 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts +7 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts +15 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistory.d.ts +3 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistory.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.d.ts +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.d.ts +5 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatLandingView.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts +8 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts +20 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts +7 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts +31 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.d.ts +12 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts +3 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.d.ts +12 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.d.ts.map +1 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts +5 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts +144 -23
- package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/utils.d.ts +13 -0
- package/dist/@types/@ecme/views/concepts/ai/Chat/utils.d.ts.map +1 -1
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts +9 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts.map +1 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts +3 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts.map +1 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts +17 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts.map +1 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts +5 -0
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts.map +1 -0
- package/dist/@types/@ecme/views/dashboards/index.d.ts +0 -1
- package/dist/@types/@ecme/views/dashboards/index.d.ts.map +1 -1
- package/dist/@types/@ecme/views/index.d.ts +0 -1
- package/dist/@types/@ecme/views/index.d.ts.map +1 -1
- package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts +4 -0
- package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts.map +1 -0
- package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts +4 -0
- package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts.map +1 -0
- package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts +9 -0
- package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts +8 -0
- package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts +21 -0
- package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts.map +1 -1
- package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts +17 -0
- package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts +5 -0
- package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts.map +1 -0
- package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts +6 -0
- package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/carga.d.ts +39 -0
- package/dist/@types/base/@types/models/racao/carga.d.ts.map +1 -1
- package/dist/@types/base/@types/models/template/example.d.ts +40 -0
- package/dist/@types/base/@types/models/template/example.d.ts.map +1 -0
- package/dist/@types/base/@types/models/template/exampleObject.d.ts +14 -0
- package/dist/@types/base/@types/models/template/exampleObject.d.ts.map +1 -0
- package/dist/@types/base/@types/models/transportadora/irpf.d.ts +1 -0
- package/dist/@types/base/@types/models/transportadora/irpf.d.ts.map +1 -1
- package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts +0 -1
- package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts.map +1 -1
- package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts +2 -2
- package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts.map +1 -1
- package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts +2 -1
- package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/AdicionarHistoricoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/CancelarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/ConcluirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/EncerrarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/ReabrirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/RetornarFluxAtendimentoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirParaAtendenteDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirParaSolicitanteDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.d.ts +1 -1
- package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts +2 -0
- package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts +0 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts +0 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts +18 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts +12 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts +6 -0
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +90 -21
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts +0 -20
- package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts +0 -20
- package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts +10 -0
- package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts +33 -0
- package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/trade/index.d.ts +34 -0
- package/dist/@types/base/configs/endpoints.config/trade/index.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/transportadora/contratoFrete.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/transportadora/contratoFrete.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/template/submenu.template.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/index.d.ts +1 -2
- package/dist/@types/base/configs/navigation.config/submenu/index.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/originacao/originacao.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/template/cadastros.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/template/config/example.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/template/template.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/ticket/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/ticket/relatorios.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts.map +1 -0
- package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts +2 -0
- package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts.map +1 -1
- package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts +8 -0
- package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts +1 -1
- package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts +1 -0
- package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/Ticket/TicketService.d.ts +2 -0
- package/dist/@types/base/services/modules/Ticket/TicketService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts +1 -0
- package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts +3 -0
- package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts +1 -0
- package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/compras/index.d.ts +1 -0
- package/dist/@types/base/services/modules/compras/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts +2 -0
- package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts +1 -0
- package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts +13 -0
- package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts +3 -1
- package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/template/example/ExampleService.d.ts +7 -4
- package/dist/@types/base/services/modules/template/example/ExampleService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts +8 -0
- package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/template/index.d.ts +1 -1
- package/dist/@types/base/services/modules/template/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts +14 -0
- package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.d.ts +2 -0
- package/dist/@types/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.d.ts.map +1 -1
- package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js +2 -0
- package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js.map +1 -0
- package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js +2 -0
- package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js.map +1 -0
- package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js +2 -0
- package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js.map +1 -0
- package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js +2 -0
- package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js.map +1 -0
- package/dist/base/@types/enums/originacao/ModoConsumoManual.js +9 -0
- package/dist/base/@types/enums/originacao/ModoConsumoManual.js.map +1 -0
- package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js +10 -0
- package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js.map +1 -0
- package/dist/base/@types/models/racao/carga.js.map +1 -1
- package/dist/base/@types/models/template/example.js +16 -0
- package/dist/base/@types/models/template/example.js.map +1 -0
- package/dist/base/@types/models/template/exampleObject.js +2 -0
- package/dist/base/@types/models/template/exampleObject.js.map +1 -0
- package/dist/base/assets/styles/init.css +258 -7
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js.map +1 -1
- package/dist/base/components/shared/AceitarProcessoDialog.js +16 -2
- package/dist/base/components/shared/AceitarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/AdicionarHistoricoDialog.js +28 -24
- package/dist/base/components/shared/AdicionarHistoricoDialog.js.map +1 -1
- package/dist/base/components/shared/CancelarProcessoDialog.js +28 -24
- package/dist/base/components/shared/CancelarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ConcluirProcessoDialog.js +27 -23
- package/dist/base/components/shared/ConcluirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/EncerrarProcessoDialog.js +28 -24
- package/dist/base/components/shared/EncerrarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ReabrirProcessoDialog.js +27 -23
- package/dist/base/components/shared/ReabrirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js +27 -23
- package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaAtendenteDialog.js +28 -24
- package/dist/base/components/shared/TransferirParaAtendenteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaSolicitanteDialog.js +28 -24
- package/dist/base/components/shared/TransferirParaSolicitanteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirProcessoDialog.js +43 -33
- package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
- package/dist/base/configs/api.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js +11 -0
- package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js.map +1 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js +2 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js +2 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js +1 -1
- package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js +2 -1
- package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js +3 -1
- package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js +0 -1
- package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js +2 -0
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js +2 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js +9 -0
- package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js.map +1 -0
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js +2 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js.map +1 -1
- package/dist/base/configs/endpoints.config/compras/compras.js +3 -1
- package/dist/base/configs/endpoints.config/compras/compras.js.map +1 -1
- package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js +8 -0
- package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js.map +1 -0
- package/dist/base/configs/endpoints.config/dm/config/municipio.js +2 -1
- package/dist/base/configs/endpoints.config/dm/config/municipio.js.map +1 -1
- package/dist/base/configs/endpoints.config/endpoints.navigation.js +5 -1
- package/dist/base/configs/endpoints.config/endpoints.navigation.js.map +1 -1
- package/dist/base/configs/endpoints.config/insumos/config/estoque.js +1 -6
- package/dist/base/configs/endpoints.config/insumos/config/estoque.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js +12 -0
- package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js.map +1 -0
- package/dist/base/configs/endpoints.config/originacao/originacao.js +2 -0
- package/dist/base/configs/endpoints.config/originacao/originacao.js.map +1 -1
- package/dist/base/configs/endpoints.config/racao/config/carga.js +2 -0
- package/dist/base/configs/endpoints.config/racao/config/carga.js.map +1 -1
- package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js +15 -0
- package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js.map +1 -0
- package/dist/base/configs/endpoints.config/trade/index.js +8 -0
- package/dist/base/configs/endpoints.config/trade/index.js.map +1 -0
- package/dist/base/configs/endpoints.config/transportadora/contratoFrete.js +3 -1
- package/dist/base/configs/endpoints.config/transportadora/contratoFrete.js.map +1 -1
- package/dist/base/configs/index.js +33 -33
- package/dist/base/configs/navigation.config/index.js +31 -31
- package/dist/base/configs/navigation.config/modules.navigation.js +3 -1
- package/dist/base/configs/navigation.config/modules.navigation.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js +107 -0
- package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/index.js +2 -0
- package/dist/base/configs/navigation.config/modules.submenu/index.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js +17 -0
- package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js +1 -1
- package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js +3 -1
- package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js +16 -0
- package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/index.js +20 -22
- package/dist/base/configs/navigation.config/submenu/index.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js +2 -0
- package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/template/cadastros.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.js +3 -3
- package/dist/base/configs/navigation.config/submenu/template/config/example.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.js +3 -3
- package/dist/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/template/template.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js +5 -1
- package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js +16 -0
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js +16 -0
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js +5 -13
- package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js +16 -0
- package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js +8 -0
- package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js.map +1 -0
- package/dist/base/index.js +50 -40
- package/dist/base/index.js.map +1 -1
- package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js +3 -1
- package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js.map +1 -1
- package/dist/base/services/index.js +15 -5
- package/dist/base/services/index.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js +35 -0
- package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js.map +1 -0
- package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js +9 -1
- package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/Sap/SafraService.js +9 -1
- package/dist/base/services/modules/DadosMestres/Sap/SafraService.js.map +1 -1
- package/dist/base/services/modules/HubFiscal/NfeService.js +3 -3
- package/dist/base/services/modules/HubFiscal/NfeService.js.map +1 -1
- package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js +9 -1
- package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js.map +1 -1
- package/dist/base/services/modules/Ticket/TicketService.js +16 -0
- package/dist/base/services/modules/Ticket/TicketService.js.map +1 -1
- package/dist/base/services/modules/agendamento/ContratoVendaService.js +2 -2
- package/dist/base/services/modules/agendamento/ContratoVendaService.js.map +1 -1
- package/dist/base/services/modules/centralNfe/cfop/CfopService.js +8 -0
- package/dist/base/services/modules/centralNfe/cfop/CfopService.js.map +1 -1
- package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js +21 -0
- package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js.map +1 -0
- package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js +7 -0
- package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js.map +1 -1
- package/dist/base/services/modules/compras/index.js +2 -0
- package/dist/base/services/modules/compras/index.js.map +1 -1
- package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js +14 -0
- package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js.map +1 -0
- package/dist/base/services/modules/dm/index.js +2 -1
- package/dist/base/services/modules/dm/municipio/MunicipioService.js +7 -0
- package/dist/base/services/modules/dm/municipio/MunicipioService.js.map +1 -1
- package/dist/base/services/modules/index.js +15 -5
- package/dist/base/services/modules/index.js.map +1 -1
- package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js +50 -0
- package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js.map +1 -0
- package/dist/base/services/modules/racao/carga/CargaService.js +14 -0
- package/dist/base/services/modules/racao/carga/CargaService.js.map +1 -1
- package/dist/base/services/modules/racao/index.js +3 -1
- package/dist/base/services/modules/template/example/ExampleService.js +26 -12
- package/dist/base/services/modules/template/example/ExampleService.js.map +1 -1
- package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js +44 -0
- package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js.map +1 -0
- package/dist/base/services/modules/template/index.js +5 -2
- package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js +59 -0
- package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js.map +1 -0
- package/dist/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.js +14 -0
- package/dist/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.js.map +1 -1
- package/dist/base/services/modules/transportadora/index.js +3 -1
- package/lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx +5 -1
- package/lib/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.tsx +2 -2
- package/lib/@ecme/components/template/Header.stories.tsx +2 -2
- package/lib/@ecme/components/template/Notification/Notification.tsx +2 -2
- package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiChatDrawer.tsx +140 -0
- package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx +155 -0
- package/lib/@ecme/components/template/OrbeAiWidget/ResizeHandles.tsx +47 -0
- package/lib/@ecme/components/template/OrbeAiWidget/index.ts +1 -0
- package/lib/@ecme/components/template/OrbeAiWidget/useResizablePanel.ts +143 -0
- package/lib/@ecme/components/template/Search.stories.tsx +20 -5
- package/lib/@ecme/components/template/Search.tsx +370 -84
- package/lib/@ecme/components/ui/Dropdown/DropdownMenu.tsx +7 -1
- package/lib/@ecme/components/view/ChatBox/ChatBox.tsx +8 -0
- package/lib/@ecme/components/view/ChatBox/components/MessageList.tsx +26 -8
- package/lib/@ecme/configs/navigation.config/concepts.navigation.config.ts +0 -16
- package/lib/@ecme/configs/routes.config/conceptsRoute.ts +0 -9
- package/lib/@ecme/locales/index.ts +0 -4
- package/lib/@ecme/locales/lang/ptBR/nav.ts +1 -0
- package/lib/@ecme/mock/data/favoritosMenuData.ts +3 -0
- package/lib/@ecme/services/AiService.ts +165 -13
- package/lib/@ecme/services/aiAuthHeaders.ts +58 -0
- package/lib/@ecme/services/axios/AxiosBase.ts +45 -24
- package/lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts +10 -39
- package/lib/@ecme/services/sseParser.ts +75 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.tsx +28 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.tsx +24 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/ApprovalCard.tsx +103 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistory.tsx +11 -27
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.tsx +7 -13
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.tsx +17 -8
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatLandingView.tsx +58 -50
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx +124 -18
- package/lib/@ecme/views/concepts/ai/Chat/components/DataRequestCard.tsx +144 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/ToolCallChip.tsx +218 -0
- package/lib/@ecme/views/concepts/ai/Chat/components/toolPresentation.ts +283 -0
- package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatConversations.tsx +128 -0
- package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts +233 -28
- package/lib/@ecme/views/concepts/ai/Chat/hooks/useConversationMessages.ts +68 -0
- package/lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts +84 -13
- package/lib/@ecme/views/concepts/ai/Chat/types.ts +133 -29
- package/lib/@ecme/views/concepts/ai/Chat/utils.ts +33 -0
- package/lib/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.tsx +124 -0
- package/lib/@ecme/views/dashboards/FavoritesLanding/index.ts +3 -0
- package/lib/@ecme/views/dashboards/FavoritesLanding/types.ts +17 -0
- package/lib/@ecme/views/dashboards/FavoritesLanding/utils.ts +51 -0
- package/lib/@ecme/views/dashboards/index.ts +1 -3
- package/lib/@ecme/views/index.ts +1 -1
- package/lib/base/@types/api/request/dm/TCreateFavoritoMenuRequest.ts +3 -0
- package/lib/base/@types/api/request/dm/TReorderFavoritosMenuRequest.ts +3 -0
- package/lib/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.ts +8 -0
- package/lib/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.ts +7 -0
- package/lib/base/@types/api/response/originacao/TConsumoManualSaldoResponse.ts +22 -0
- package/lib/base/@types/api/response/originacao/TFindAllSaldoResponse.ts +1 -0
- package/lib/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.ts +17 -0
- package/lib/base/@types/enums/originacao/ModoConsumoManual.ts +4 -0
- package/lib/base/@types/enums/originacao/TipoSaldoConsumivel.ts +5 -0
- package/lib/base/@types/models/racao/carga.ts +51 -0
- package/lib/base/@types/models/template/example.ts +46 -0
- package/lib/base/@types/models/template/{exampleObject → exampleObject.ts} +3 -5
- package/lib/base/@types/models/transportadora/irpf.ts +1 -0
- package/lib/base/@types/models/transportadora/irpfFaixaDesconto.ts +0 -1
- package/lib/base/components/forms/GenericForms/GenericArrayFormSection.tsx +1 -1
- package/lib/base/components/shared/AceitarProcessoDialog.tsx +13 -2
- package/lib/base/components/shared/AdicionarHistoricoDialog.tsx +16 -13
- package/lib/base/components/shared/CancelarProcessoDialog.tsx +16 -13
- package/lib/base/components/shared/ConcluirProcessoDialog.tsx +16 -13
- package/lib/base/components/shared/EncerrarProcessoDialog.tsx +16 -13
- package/lib/base/components/shared/ReabrirProcessoDialog.tsx +16 -13
- package/lib/base/components/shared/RetornarFluxAtendimentoDialog.tsx +14 -12
- package/lib/base/components/shared/TransferirParaAtendenteDialog.tsx +14 -12
- package/lib/base/components/shared/TransferirParaSolicitanteDialog.tsx +14 -12
- package/lib/base/components/shared/TransferirProcessoDialog.tsx +20 -12
- package/lib/base/configs/api.config.ts +2 -2
- package/lib/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.ts +10 -0
- package/lib/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.ts +1 -0
- package/lib/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.ts +1 -0
- package/lib/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.ts +1 -1
- package/lib/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.ts +1 -0
- package/lib/base/configs/endpoints.config/Ticket/ticket.endpoint.config.ts +2 -0
- package/lib/base/configs/endpoints.config/agendamento/config/contratoVenda.ts +0 -1
- package/lib/base/configs/endpoints.config/centralNfe/centralNfe.ts +2 -0
- package/lib/base/configs/endpoints.config/centralNfe/config/cfop.ts +3 -2
- package/lib/base/configs/endpoints.config/centralNfe/config/historicoCfop.ts +8 -0
- package/lib/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.ts +2 -1
- package/lib/base/configs/endpoints.config/compras/compras.ts +3 -1
- package/lib/base/configs/endpoints.config/compras/config/itemOrdemCompra.ts +7 -0
- package/lib/base/configs/endpoints.config/dm/config/municipio.ts +2 -1
- package/lib/base/configs/endpoints.config/endpoints.navigation.ts +5 -1
- package/lib/base/configs/endpoints.config/insumos/config/estoque.ts +2 -7
- package/lib/base/configs/endpoints.config/originacao/config/consumoManualSaldo.ts +9 -0
- package/lib/base/configs/endpoints.config/originacao/originacao.ts +2 -0
- package/lib/base/configs/endpoints.config/racao/config/carga.ts +2 -0
- package/lib/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.ts +13 -0
- package/lib/base/configs/endpoints.config/trade/index.ts +7 -0
- package/lib/base/configs/endpoints.config/transportadora/contratoFrete.ts +2 -0
- package/lib/base/configs/navigation.config/modules.navigation.ts +2 -0
- package/lib/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.ts +107 -0
- package/lib/base/configs/navigation.config/modules.submenu/index.ts +1 -0
- package/lib/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.ts +16 -0
- package/lib/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.ts +1 -1
- package/lib/base/configs/navigation.config/modules.submenu/template/submenu.template.ts +2 -3
- package/lib/base/configs/navigation.config/modules.submenu/trade/submenu.trade.ts +18 -0
- package/lib/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.ts +1 -1
- package/lib/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.ts +2 -0
- package/lib/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.ts +16 -0
- package/lib/base/configs/navigation.config/submenu/index.ts +1 -2
- package/lib/base/configs/navigation.config/submenu/originacao/originacao.submenu.ts +2 -0
- package/lib/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.ts +3 -3
- package/lib/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.ts +3 -3
- package/lib/base/configs/navigation.config/submenu/ticket/cadastros.submenu.ts +4 -0
- package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.ts +16 -0
- package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.ts +16 -0
- package/lib/base/configs/navigation.config/submenu/ticket/relatorios.submenu.ts +4 -14
- package/lib/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.ts +16 -0
- package/lib/base/configs/navigation.config/submenu/trade/trade.submenu.ts +8 -0
- package/lib/base/locales/lang/ptBR/modules/Ticket/ticket.nav.ts +2 -0
- package/lib/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.ts +35 -0
- package/lib/base/services/modules/DadosMestres/Sap/IncotermsService.ts +8 -0
- package/lib/base/services/modules/DadosMestres/Sap/SafraService.ts +8 -0
- package/lib/base/services/modules/HubFiscal/NfeService.ts +2 -2
- package/lib/base/services/modules/SapService/Sap/ExecuteSapApiService.ts +8 -0
- package/lib/base/services/modules/Ticket/TicketService.ts +16 -0
- package/lib/base/services/modules/agendamento/ContratoVendaService.ts +2 -2
- package/lib/base/services/modules/centralNfe/cfop/CfopService.ts +9 -1
- package/lib/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.ts +21 -0
- package/lib/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.ts +7 -0
- package/lib/base/services/modules/compras/index.ts +2 -1
- package/lib/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.ts +12 -0
- package/lib/base/services/modules/dm/municipio/MunicipioService.tsx +7 -0
- package/lib/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.ts +54 -0
- package/lib/base/services/modules/racao/carga/CargaService.ts +15 -1
- package/lib/base/services/modules/template/example/ExampleService.ts +37 -19
- package/lib/base/services/modules/template/exampleObject/ExampleObjectService.ts +45 -0
- package/lib/base/services/modules/template/index.ts +2 -2
- package/lib/base/services/modules/trade/ContratoArmazenagemGraosTradeService.ts +62 -0
- package/lib/base/services/modules/transportadora/ContratoFrete/ContratoFreteService.ts +14 -0
- package/package.json +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/example/cadastros.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/example/config/example.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/example/template.submenu.d.ts.map +0 -1
- package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts +0 -6
- package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts.map +0 -1
- package/dist/base/configs/navigation.config/submenu/example/cadastros.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/example/config/example.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/example/template.submenu.js.map +0 -1
- package/dist/base/services/modules/template/example/ExampleObjectService.js +0 -37
- package/dist/base/services/modules/template/example/ExampleObjectService.js.map +0 -1
- package/lib/base/@types/models/template/example +0 -37
- package/lib/base/services/modules/template/example/ExampleObjectService.ts +0 -34
- /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/config/example.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/config/exampleObject.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{example → template}/template.submenu.d.ts +0 -0
- /package/dist/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.js +0 -0
- /package/dist/base/configs/navigation.config/submenu/{example → template}/template.submenu.js +0 -0
- /package/lib/base/configs/navigation.config/submenu/{example → template}/cadastros.submenu.ts +0 -0
- /package/lib/base/configs/navigation.config/submenu/{example → template}/template.submenu.ts +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { useState } from 'react'
|
|
2
|
+
import { TbForms } from 'react-icons/tb'
|
|
3
|
+
import Button from '@/components/ui/Button'
|
|
4
|
+
import Input from '@/components/ui/Input'
|
|
5
|
+
import Select from '@/components/ui/Select'
|
|
6
|
+
import { opcoesDoCampo, rotularCampo, tipoDoCampo } from './toolPresentation'
|
|
7
|
+
import type { PendingInput } from '../types'
|
|
8
|
+
|
|
9
|
+
type DataRequestCardProps = {
|
|
10
|
+
input: PendingInput
|
|
11
|
+
/** `null` = o usuario fechou sem preencher. */
|
|
12
|
+
onSubmit: (dados: Record<string, unknown> | null) => void
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Formulario dos campos que faltam para criar um registro no ERP.
|
|
17
|
+
*
|
|
18
|
+
* O agente fica PARADO enquanto este card estiver na tela — ele so volta a
|
|
19
|
+
* responder depois do envio. Por isso divide o visual do ApprovalCard: sao as
|
|
20
|
+
* duas paradas do fluxo, e o usuario deve reconhece-las como a mesma coisa.
|
|
21
|
+
*
|
|
22
|
+
* Os valores vao para o modelo, que monta a chamada final. Por isso o envio nao
|
|
23
|
+
* valida tipo: o `type=number` e o select sao conveniencia de digitacao, nao
|
|
24
|
+
* regra de negocio — quem valida de verdade e o backend do ERP.
|
|
25
|
+
*/
|
|
26
|
+
const DataRequestCard = ({ input, onSubmit }: DataRequestCardProps) => {
|
|
27
|
+
const [valores, setValores] = useState<Record<string, string>>({})
|
|
28
|
+
const [enviando, setEnviando] = useState<'enviar' | 'cancelar' | null>(null)
|
|
29
|
+
|
|
30
|
+
const preencher = (campo: string, valor: string) =>
|
|
31
|
+
setValores((atual) => ({ ...atual, [campo]: valor }))
|
|
32
|
+
|
|
33
|
+
// Exigir todos evita uma ida e volta: faltando um, o agente pediria de novo.
|
|
34
|
+
const completo = input.campos.every((campo) => valores[campo]?.trim())
|
|
35
|
+
|
|
36
|
+
const enviar = () => {
|
|
37
|
+
setEnviando('enviar')
|
|
38
|
+
// Numeros vao como number; o resto como texto. O modelo aceita os dois,
|
|
39
|
+
// mas o tipo certo evita que ele precise adivinhar.
|
|
40
|
+
const dados = Object.fromEntries(
|
|
41
|
+
input.campos.map((campo) => {
|
|
42
|
+
const bruto = valores[campo].trim()
|
|
43
|
+
const numero =
|
|
44
|
+
tipoDoCampo(campo) === 'numero' ? Number(bruto) : NaN
|
|
45
|
+
return [campo, Number.isNaN(numero) ? bruto : numero]
|
|
46
|
+
}),
|
|
47
|
+
)
|
|
48
|
+
onSubmit(dados)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const cancelar = () => {
|
|
52
|
+
setEnviando('cancelar')
|
|
53
|
+
onSubmit(null)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<div className="not-prose mt-1 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-800">
|
|
58
|
+
<div className="flex items-center gap-2 border-b border-gray-200 px-4 py-2.5 dark:border-gray-700">
|
|
59
|
+
<TbForms size={16} className="text-gray-400 dark:text-gray-500" />
|
|
60
|
+
<span className="text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400">
|
|
61
|
+
Dados necessários
|
|
62
|
+
</span>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<div className="px-4 py-3.5">
|
|
66
|
+
<div className="mb-3 text-sm text-gray-500 dark:text-gray-400">
|
|
67
|
+
Preencha os campos abaixo para eu continuar.
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<div className="flex flex-col gap-3">
|
|
71
|
+
{input.campos.map((campo) => {
|
|
72
|
+
const rotulo = rotularCampo(campo)
|
|
73
|
+
const opcoes = opcoesDoCampo(campo)
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<label key={campo} className="flex flex-col gap-1">
|
|
77
|
+
<span className="text-sm text-gray-600 dark:text-gray-300">
|
|
78
|
+
{rotulo}
|
|
79
|
+
</span>
|
|
80
|
+
{opcoes.length ? (
|
|
81
|
+
<Select
|
|
82
|
+
options={opcoes}
|
|
83
|
+
value={opcoes.filter(
|
|
84
|
+
(opcao) =>
|
|
85
|
+
opcao.value === valores[campo],
|
|
86
|
+
)}
|
|
87
|
+
placeholder={`Selecione ${rotulo.toLowerCase()}`}
|
|
88
|
+
isDisabled={enviando !== null}
|
|
89
|
+
onChange={(opcao) =>
|
|
90
|
+
preencher(
|
|
91
|
+
campo,
|
|
92
|
+
(opcao as { value: string } | null)
|
|
93
|
+
?.value ?? '',
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
/>
|
|
97
|
+
) : (
|
|
98
|
+
<Input
|
|
99
|
+
type={
|
|
100
|
+
tipoDoCampo(campo) === 'numero'
|
|
101
|
+
? 'number'
|
|
102
|
+
: 'text'
|
|
103
|
+
}
|
|
104
|
+
value={valores[campo] ?? ''}
|
|
105
|
+
disabled={enviando !== null}
|
|
106
|
+
placeholder={`Informe ${rotulo.toLowerCase()}`}
|
|
107
|
+
onChange={(evento) =>
|
|
108
|
+
preencher(campo, evento.target.value)
|
|
109
|
+
}
|
|
110
|
+
/>
|
|
111
|
+
)}
|
|
112
|
+
</label>
|
|
113
|
+
)
|
|
114
|
+
})}
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div className="mt-4 flex items-center gap-2">
|
|
118
|
+
<Button
|
|
119
|
+
variant="solid"
|
|
120
|
+
size="sm"
|
|
121
|
+
loading={enviando === 'enviar'}
|
|
122
|
+
disabled={!completo || enviando !== null}
|
|
123
|
+
onClick={enviar}
|
|
124
|
+
>
|
|
125
|
+
Enviar
|
|
126
|
+
</Button>
|
|
127
|
+
<Button
|
|
128
|
+
size="sm"
|
|
129
|
+
loading={enviando === 'cancelar'}
|
|
130
|
+
disabled={enviando !== null}
|
|
131
|
+
onClick={cancelar}
|
|
132
|
+
>
|
|
133
|
+
Cancelar
|
|
134
|
+
</Button>
|
|
135
|
+
<span className="ml-auto text-xs text-gray-400 dark:text-gray-500">
|
|
136
|
+
Você ainda confirma antes de gravar
|
|
137
|
+
</span>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export default DataRequestCard
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { useState } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
TbAlertTriangle,
|
|
4
|
+
TbCheck,
|
|
5
|
+
TbChevronDown,
|
|
6
|
+
TbClock,
|
|
7
|
+
TbLoader2,
|
|
8
|
+
} from 'react-icons/tb'
|
|
9
|
+
import classNames from '@/components/ui/utils/classNames'
|
|
10
|
+
import {
|
|
11
|
+
camposVisiveis,
|
|
12
|
+
iconeFerramenta,
|
|
13
|
+
rotularExecucao,
|
|
14
|
+
rotularFerramenta,
|
|
15
|
+
} from './toolPresentation'
|
|
16
|
+
import type { ToolCall } from '../types'
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Uma consulta ou operacao que o agente executou, no meio da conversa.
|
|
20
|
+
*
|
|
21
|
+
* Deliberadamente discreto: e informacao de apoio, nao a resposta. Por isso vive
|
|
22
|
+
* FORA do balao de fala (ver ChatView) e tem forma de pilula — contorno fino,
|
|
23
|
+
* largura do conteudo, letra menor — para nunca ser lido como uma segunda
|
|
24
|
+
* mensagem do agente. Fechado mostra so o que aconteceu e em que estado esta;
|
|
25
|
+
* aberto, os parametros ja traduzidos para a linguagem do negocio.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
type Estado = {
|
|
29
|
+
texto: string
|
|
30
|
+
Icone: typeof TbCheck
|
|
31
|
+
classe: string
|
|
32
|
+
/**
|
|
33
|
+
* Se o texto do estado acompanha o icone na pilula.
|
|
34
|
+
*
|
|
35
|
+
* So quando o icone sozinho nao basta: "aguardando confirmacao" e "nao
|
|
36
|
+
* concluida" pedem uma acao ou explicam uma falha. Em execucao o rotulo ja
|
|
37
|
+
* esta no gerundio ("Consultando contratos…") e o ✓ de concluida e obvio —
|
|
38
|
+
* escrever isso de novo so engorda a pilula.
|
|
39
|
+
*/
|
|
40
|
+
mostrarTexto?: boolean
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const estadoDe = (tool: ToolCall): Estado => {
|
|
44
|
+
if (tool.awaitingApproval) {
|
|
45
|
+
return {
|
|
46
|
+
texto: 'Aguardando confirmação',
|
|
47
|
+
Icone: TbClock,
|
|
48
|
+
classe: 'text-amber-600 dark:text-amber-400',
|
|
49
|
+
mostrarTexto: true,
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (tool.running) {
|
|
53
|
+
return {
|
|
54
|
+
texto: 'Em andamento',
|
|
55
|
+
Icone: TbLoader2,
|
|
56
|
+
classe: 'text-blue-600 dark:text-blue-400',
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (tool.isError) {
|
|
60
|
+
return {
|
|
61
|
+
texto: 'Não concluída',
|
|
62
|
+
Icone: TbAlertTriangle,
|
|
63
|
+
classe: 'text-red-600 dark:text-red-400',
|
|
64
|
+
mostrarTexto: true,
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
texto: 'Concluída',
|
|
69
|
+
Icone: TbCheck,
|
|
70
|
+
classe: 'text-emerald-600 dark:text-emerald-400',
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
type ToolCallChipProps = {
|
|
75
|
+
tool: ToolCall
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const ToolCallChip = ({ tool }: ToolCallChipProps) => {
|
|
79
|
+
const [aberto, setAberto] = useState(false)
|
|
80
|
+
const estado = estadoDe(tool)
|
|
81
|
+
const IconeFerramenta = iconeFerramenta(tool.name)
|
|
82
|
+
const emAndamento = tool.running && !tool.awaitingApproval
|
|
83
|
+
const campos = camposVisiveis(tool.args, tool.name)
|
|
84
|
+
const rotulo = emAndamento
|
|
85
|
+
? `${rotularExecucao(tool.name)}…`
|
|
86
|
+
: rotularFerramenta(tool.name)
|
|
87
|
+
|
|
88
|
+
return (
|
|
89
|
+
// not-prose: o balao do agente e `prose`, que aplicaria margens de
|
|
90
|
+
// tipografia no dl/dt/dd/pre daqui e desmontaria a compactacao.
|
|
91
|
+
<div className="not-prose max-w-full">
|
|
92
|
+
<button
|
|
93
|
+
type="button"
|
|
94
|
+
className="inline-flex w-fit max-w-full items-center gap-1.5 rounded-full border border-gray-200 px-2.5 py-1 text-left transition-colors hover:border-gray-300 hover:bg-gray-50 dark:border-gray-700 dark:hover:border-gray-600 dark:hover:bg-gray-800/60"
|
|
95
|
+
aria-expanded={aberto}
|
|
96
|
+
title={`${rotulo} — ${estado.texto}`}
|
|
97
|
+
onClick={() => setAberto((atual) => !atual)}
|
|
98
|
+
>
|
|
99
|
+
<IconeFerramenta
|
|
100
|
+
size={13}
|
|
101
|
+
className="shrink-0 text-gray-400 dark:text-gray-500"
|
|
102
|
+
/>
|
|
103
|
+
|
|
104
|
+
<span className="truncate text-xs font-medium text-gray-600 dark:text-gray-300">
|
|
105
|
+
{rotulo}
|
|
106
|
+
</span>
|
|
107
|
+
|
|
108
|
+
<span
|
|
109
|
+
className={classNames(
|
|
110
|
+
'flex shrink-0 items-center gap-1 text-xs font-medium',
|
|
111
|
+
estado.classe,
|
|
112
|
+
)}
|
|
113
|
+
>
|
|
114
|
+
<estado.Icone
|
|
115
|
+
size={12}
|
|
116
|
+
className={emAndamento ? 'motion-safe:animate-spin' : ''}
|
|
117
|
+
/>
|
|
118
|
+
{estado.mostrarTexto && estado.texto}
|
|
119
|
+
</span>
|
|
120
|
+
|
|
121
|
+
<TbChevronDown
|
|
122
|
+
size={12}
|
|
123
|
+
className={classNames(
|
|
124
|
+
'shrink-0 text-gray-400 transition-transform',
|
|
125
|
+
aberto && 'rotate-180',
|
|
126
|
+
)}
|
|
127
|
+
/>
|
|
128
|
+
</button>
|
|
129
|
+
|
|
130
|
+
{aberto && (
|
|
131
|
+
<div className="mt-1 rounded-lg border border-gray-200 px-2.5 py-2 dark:border-gray-700">
|
|
132
|
+
{campos.length > 0 && (
|
|
133
|
+
<dl className="grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs">
|
|
134
|
+
{campos.map((campo) => (
|
|
135
|
+
<div key={campo.chave} className="contents">
|
|
136
|
+
<dt className="text-gray-500 dark:text-gray-400">
|
|
137
|
+
{campo.rotulo}
|
|
138
|
+
</dt>
|
|
139
|
+
<dd className="truncate font-medium text-gray-800 dark:text-gray-100">
|
|
140
|
+
{campo.valor}
|
|
141
|
+
</dd>
|
|
142
|
+
</div>
|
|
143
|
+
))}
|
|
144
|
+
</dl>
|
|
145
|
+
)}
|
|
146
|
+
|
|
147
|
+
{tool.result !== undefined && (
|
|
148
|
+
<Resultado
|
|
149
|
+
texto={tool.result}
|
|
150
|
+
erro={tool.isError}
|
|
151
|
+
separar={campos.length > 0}
|
|
152
|
+
/>
|
|
153
|
+
)}
|
|
154
|
+
</div>
|
|
155
|
+
)}
|
|
156
|
+
</div>
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* O retorno da ferramenta.
|
|
162
|
+
*
|
|
163
|
+
* Quando e JSON (uma listagem, por exemplo), fica atras de um toggle: e dado
|
|
164
|
+
* tecnico que so interessa para conferencia, e o usuario ja tem a resposta do
|
|
165
|
+
* agente logo abaixo. Mensagens em texto — erros de permissao, cancelamentos —
|
|
166
|
+
* aparecem direto, porque explicam o que aconteceu.
|
|
167
|
+
*/
|
|
168
|
+
const Resultado = ({
|
|
169
|
+
texto,
|
|
170
|
+
erro,
|
|
171
|
+
separar,
|
|
172
|
+
}: {
|
|
173
|
+
texto: string
|
|
174
|
+
erro?: boolean
|
|
175
|
+
/** Linha divisoria: so faz sentido quando ha parametros logo acima. */
|
|
176
|
+
separar?: boolean
|
|
177
|
+
}) => {
|
|
178
|
+
const [mostrarBruto, setMostrarBruto] = useState(false)
|
|
179
|
+
const ehJson = /^\s*[[{]/.test(texto)
|
|
180
|
+
const separador = separar
|
|
181
|
+
? 'mt-2 border-t border-gray-200 pt-2 dark:border-gray-700'
|
|
182
|
+
: ''
|
|
183
|
+
|
|
184
|
+
if (!ehJson) {
|
|
185
|
+
return (
|
|
186
|
+
<p
|
|
187
|
+
className={classNames(
|
|
188
|
+
'text-xs',
|
|
189
|
+
separador,
|
|
190
|
+
erro
|
|
191
|
+
? 'text-red-600 dark:text-red-400'
|
|
192
|
+
: 'text-gray-600 dark:text-gray-300',
|
|
193
|
+
)}
|
|
194
|
+
>
|
|
195
|
+
{texto}
|
|
196
|
+
</p>
|
|
197
|
+
)
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return (
|
|
201
|
+
<div className={separador}>
|
|
202
|
+
<button
|
|
203
|
+
type="button"
|
|
204
|
+
className="text-xs font-medium text-gray-500 underline-offset-2 hover:underline dark:text-gray-400"
|
|
205
|
+
onClick={() => setMostrarBruto((atual) => !atual)}
|
|
206
|
+
>
|
|
207
|
+
{mostrarBruto ? 'Ocultar' : 'Ver'} dados retornados
|
|
208
|
+
</button>
|
|
209
|
+
{mostrarBruto && (
|
|
210
|
+
<pre className="mt-1.5 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded border border-gray-200 bg-white p-2 text-xs text-gray-600 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300">
|
|
211
|
+
{texto}
|
|
212
|
+
</pre>
|
|
213
|
+
)}
|
|
214
|
+
</div>
|
|
215
|
+
)
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export default ToolCallChip
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { formatQuantity } from '@base/utils/functions/stringUtils'
|
|
2
|
+
import {
|
|
3
|
+
TbBriefcase,
|
|
4
|
+
TbBuildingPlus,
|
|
5
|
+
TbCalendarEvent,
|
|
6
|
+
TbFilePlus,
|
|
7
|
+
TbForms,
|
|
8
|
+
TbListSearch,
|
|
9
|
+
TbPackage,
|
|
10
|
+
TbPackages,
|
|
11
|
+
TbSearch,
|
|
12
|
+
TbTool,
|
|
13
|
+
TbUserSearch,
|
|
14
|
+
} from 'react-icons/tb'
|
|
15
|
+
import type { IconType } from 'react-icons'
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Como as ferramentas do agente sao apresentadas ao usuario.
|
|
19
|
+
*
|
|
20
|
+
* Compartilhado pelo chip de execucao e pelo card de aprovacao, para os dois
|
|
21
|
+
* falarem a mesma lingua: o usuario ve "Consulta de contratos" e "Mercado
|
|
22
|
+
* interno", nunca `listar_contratos_armazenagem_graos` ou `MERCADO_INTERNO`.
|
|
23
|
+
*
|
|
24
|
+
* Tudo tem fallback: uma ferramenta ou campo novo no backend nao quebra a tela,
|
|
25
|
+
* so aparece com o nome tecnico humanizado ate ganhar entrada aqui.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
type Ferramenta = {
|
|
29
|
+
rotulo: string
|
|
30
|
+
/** Frase no gerundio, para o estado "executando". */
|
|
31
|
+
executando: string
|
|
32
|
+
icone: IconType
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const FERRAMENTAS: Record<string, Ferramenta> = {
|
|
36
|
+
buscar_contrato_armazenagem_graos: {
|
|
37
|
+
rotulo: 'Consulta de contrato',
|
|
38
|
+
executando: 'Consultando contrato',
|
|
39
|
+
icone: TbSearch,
|
|
40
|
+
},
|
|
41
|
+
listar_contratos_armazenagem_graos: {
|
|
42
|
+
rotulo: 'Consulta de contratos',
|
|
43
|
+
executando: 'Consultando contratos',
|
|
44
|
+
icone: TbListSearch,
|
|
45
|
+
},
|
|
46
|
+
criar_contrato_armazenagem_graos: {
|
|
47
|
+
rotulo: 'Criação de contrato de armazenagem',
|
|
48
|
+
executando: 'Criando contrato',
|
|
49
|
+
icone: TbFilePlus,
|
|
50
|
+
},
|
|
51
|
+
buscar_area: {
|
|
52
|
+
rotulo: 'Consulta de área',
|
|
53
|
+
executando: 'Consultando área',
|
|
54
|
+
icone: TbSearch,
|
|
55
|
+
},
|
|
56
|
+
listar_areas: {
|
|
57
|
+
rotulo: 'Consulta de áreas',
|
|
58
|
+
executando: 'Consultando áreas',
|
|
59
|
+
icone: TbListSearch,
|
|
60
|
+
},
|
|
61
|
+
criar_area: {
|
|
62
|
+
rotulo: 'Criação de área',
|
|
63
|
+
executando: 'Criando área',
|
|
64
|
+
icone: TbBuildingPlus,
|
|
65
|
+
},
|
|
66
|
+
buscar_usuario: {
|
|
67
|
+
rotulo: 'Consulta de usuário',
|
|
68
|
+
executando: 'Consultando usuário',
|
|
69
|
+
icone: TbUserSearch,
|
|
70
|
+
},
|
|
71
|
+
listar_safras: {
|
|
72
|
+
rotulo: 'Consulta de safras',
|
|
73
|
+
executando: 'Consultando safras',
|
|
74
|
+
icone: TbCalendarEvent,
|
|
75
|
+
},
|
|
76
|
+
listar_parceiros: {
|
|
77
|
+
rotulo: 'Consulta de parceiros de negócio',
|
|
78
|
+
executando: 'Consultando parceiros',
|
|
79
|
+
icone: TbBriefcase,
|
|
80
|
+
},
|
|
81
|
+
listar_produtos: {
|
|
82
|
+
rotulo: 'Consulta de produtos',
|
|
83
|
+
executando: 'Consultando produtos',
|
|
84
|
+
icone: TbPackages,
|
|
85
|
+
},
|
|
86
|
+
buscar_produto: {
|
|
87
|
+
rotulo: 'Consulta de produto',
|
|
88
|
+
executando: 'Consultando produto',
|
|
89
|
+
icone: TbPackage,
|
|
90
|
+
},
|
|
91
|
+
// Nao executa nada no ERP: e o sinal de que faltam campos. Mas o agente a
|
|
92
|
+
// pede como qualquer outra, entao um chip aparece junto do formulario.
|
|
93
|
+
solicitar_dados: {
|
|
94
|
+
rotulo: 'Dados necessários',
|
|
95
|
+
executando: 'Verificando os dados',
|
|
96
|
+
icone: TbForms,
|
|
97
|
+
},
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const humanizar = (texto: string) =>
|
|
101
|
+
texto
|
|
102
|
+
.replaceAll('_', ' ')
|
|
103
|
+
.toLowerCase()
|
|
104
|
+
.replace(/^./, (letra) => letra.toUpperCase())
|
|
105
|
+
|
|
106
|
+
export const rotularFerramenta = (nome: string) =>
|
|
107
|
+
FERRAMENTAS[nome]?.rotulo ?? humanizar(nome)
|
|
108
|
+
|
|
109
|
+
export const rotularExecucao = (nome: string) =>
|
|
110
|
+
FERRAMENTAS[nome]?.executando ?? humanizar(nome)
|
|
111
|
+
|
|
112
|
+
export const iconeFerramenta = (nome: string): IconType =>
|
|
113
|
+
FERRAMENTAS[nome]?.icone ?? TbTool
|
|
114
|
+
|
|
115
|
+
/** Rotulos dos parametros, na linguagem do negocio. */
|
|
116
|
+
const CAMPOS: Record<string, string> = {
|
|
117
|
+
business_partner_id: 'Parceiro de negócio',
|
|
118
|
+
produto_id: 'Produto',
|
|
119
|
+
safra_id: 'Safra',
|
|
120
|
+
saldo_negociado: 'Saldo negociado',
|
|
121
|
+
tipo_contrato: 'Tipo de contrato',
|
|
122
|
+
contrato_venda: 'Contrato de venda',
|
|
123
|
+
ordem_venda: 'Ordem de venda',
|
|
124
|
+
id: 'Código',
|
|
125
|
+
nome: 'Nome',
|
|
126
|
+
responsavel_id: 'Responsável',
|
|
127
|
+
responsavel_nome: 'Nome do responsável',
|
|
128
|
+
// Safra, produto e parceiro de negócio
|
|
129
|
+
safra: 'Safra',
|
|
130
|
+
ids: 'Códigos',
|
|
131
|
+
search: 'Busca',
|
|
132
|
+
codigo: 'Código',
|
|
133
|
+
descricao: 'Descrição',
|
|
134
|
+
tipo_produto: 'Tipo do produto',
|
|
135
|
+
is_cultura: 'É cultura',
|
|
136
|
+
status_material: 'Situação',
|
|
137
|
+
business_partner: 'Código do parceiro',
|
|
138
|
+
nome_completo: 'Nome do parceiro',
|
|
139
|
+
cpf_ou_cnpj: 'CPF ou CNPJ',
|
|
140
|
+
cpf: 'CPF',
|
|
141
|
+
cnpj: 'CNPJ',
|
|
142
|
+
is_cliente: 'É cliente',
|
|
143
|
+
is_produtor: 'É produtor',
|
|
144
|
+
is_transportadora: 'É transportadora',
|
|
145
|
+
is_armazem: 'É armazém',
|
|
146
|
+
status_elegibilidade: 'Elegibilidade',
|
|
147
|
+
page_number: 'Página',
|
|
148
|
+
page_size: 'Itens por página',
|
|
149
|
+
sort_field: 'Ordenar por',
|
|
150
|
+
sort_order: 'Ordem',
|
|
151
|
+
filtro: 'Filtro',
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Rotulos que dependem da ferramenta.
|
|
156
|
+
*
|
|
157
|
+
* O `id` e o caso: o mesmo parametro nomeia entidades diferentes conforme quem
|
|
158
|
+
* o recebe. Sem isto, buscar o usuario 5 exibiria "Contrato: #5".
|
|
159
|
+
*/
|
|
160
|
+
const CAMPO_POR_FERRAMENTA: Record<string, Record<string, string>> = {
|
|
161
|
+
buscar_contrato_armazenagem_graos: { id: 'Contrato' },
|
|
162
|
+
buscar_area: { id: 'Área' },
|
|
163
|
+
listar_areas: { id: 'Área' },
|
|
164
|
+
buscar_usuario: { id: 'Usuário' },
|
|
165
|
+
listar_safras: { id: 'Safra' },
|
|
166
|
+
listar_parceiros: { id: 'Parceiro' },
|
|
167
|
+
listar_produtos: { id: 'Produto' },
|
|
168
|
+
buscar_produto: { id: 'Produto' },
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export const rotularCampo = (chave: string, ferramenta?: string) =>
|
|
172
|
+
CAMPO_POR_FERRAMENTA[ferramenta ?? '']?.[chave] ??
|
|
173
|
+
CAMPOS[chave] ??
|
|
174
|
+
humanizar(chave)
|
|
175
|
+
|
|
176
|
+
/** Campos que sao referencia a um registro: exibidos como "#123". */
|
|
177
|
+
const REFERENCIAS = new Set([
|
|
178
|
+
'business_partner_id',
|
|
179
|
+
'produto_id',
|
|
180
|
+
'safra_id',
|
|
181
|
+
'contrato_venda',
|
|
182
|
+
'ordem_venda',
|
|
183
|
+
'responsavel_id',
|
|
184
|
+
'id',
|
|
185
|
+
])
|
|
186
|
+
|
|
187
|
+
const ORDENACAO: Record<string, string> = { ASC: 'Crescente', DESC: 'Decrescente' }
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Opcoes dos campos que sao enum no backend.
|
|
191
|
+
*
|
|
192
|
+
* O rotulo sai do mesmo `humanizar` usado na exibicao, entao o formulario e o
|
|
193
|
+
* card de confirmacao mostram exatamente o mesmo texto.
|
|
194
|
+
*/
|
|
195
|
+
const OPCOES: Record<string, string[]> = {
|
|
196
|
+
tipo_contrato: ['MERCADO_INTERNO', 'MERCADO_EXTERNO'],
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export const opcoesDoCampo = (chave: string) =>
|
|
200
|
+
(OPCOES[chave] ?? []).map((valor) => ({
|
|
201
|
+
value: valor,
|
|
202
|
+
label: humanizar(valor),
|
|
203
|
+
}))
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Que tipo de controle o campo pede no formulario de coleta.
|
|
207
|
+
*
|
|
208
|
+
* E so UX (teclado numerico, lista em vez de texto livre): os valores voltam
|
|
209
|
+
* para o modelo, e e ele quem monta a chamada final — um tipo errado nao
|
|
210
|
+
* quebra, so piora o preenchimento.
|
|
211
|
+
*/
|
|
212
|
+
export const tipoDoCampo = (chave: string): 'numero' | 'enum' | 'texto' => {
|
|
213
|
+
if (OPCOES[chave]) return 'enum'
|
|
214
|
+
if (REFERENCIAS.has(chave) || chave === 'saldo_negociado') return 'numero'
|
|
215
|
+
return 'texto'
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** Converte o valor tecnico no que o usuario espera ler. */
|
|
219
|
+
export const formatarValor = (
|
|
220
|
+
chave: string,
|
|
221
|
+
valor: unknown,
|
|
222
|
+
ferramenta?: string,
|
|
223
|
+
): string => {
|
|
224
|
+
if (valor === null || valor === undefined || valor === '') {
|
|
225
|
+
return '—'
|
|
226
|
+
}
|
|
227
|
+
if (chave === 'saldo_negociado' && typeof valor === 'number') {
|
|
228
|
+
return formatQuantity(valor)
|
|
229
|
+
}
|
|
230
|
+
if (chave === 'sort_order' && typeof valor === 'string') {
|
|
231
|
+
return ORDENACAO[valor] ?? humanizar(valor)
|
|
232
|
+
}
|
|
233
|
+
if (typeof valor === 'number') {
|
|
234
|
+
return REFERENCIAS.has(chave) ? `#${valor}` : String(valor)
|
|
235
|
+
}
|
|
236
|
+
if (typeof valor === 'boolean') {
|
|
237
|
+
return valor ? 'Sim' : 'Não'
|
|
238
|
+
}
|
|
239
|
+
if (typeof valor === 'string') {
|
|
240
|
+
// Enums do backend chegam em CAIXA_ALTA_COM_UNDERSCORE.
|
|
241
|
+
return /^[A-Z][A-Z0-9_]+$/.test(valor) ? humanizar(valor) : valor
|
|
242
|
+
}
|
|
243
|
+
if (Array.isArray(valor)) {
|
|
244
|
+
return valor.length ? `${valor.length} item(ns)` : '—'
|
|
245
|
+
}
|
|
246
|
+
if (typeof valor === 'object') {
|
|
247
|
+
const entradas = Object.entries(valor as Record<string, unknown>)
|
|
248
|
+
if (!entradas.length) {
|
|
249
|
+
return '—'
|
|
250
|
+
}
|
|
251
|
+
return entradas
|
|
252
|
+
.map(
|
|
253
|
+
([k, v]) =>
|
|
254
|
+
`${rotularCampo(k, ferramenta)}: ${formatarValor(k, v, ferramenta)}`,
|
|
255
|
+
)
|
|
256
|
+
.join(', ')
|
|
257
|
+
}
|
|
258
|
+
return String(valor)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Pares (rotulo, valor) prontos para exibir, ignorando o que esta vazio.
|
|
263
|
+
*
|
|
264
|
+
* `ferramenta` resolve os rotulos ambiguos (ver CAMPO_POR_FERRAMENTA); quem nao
|
|
265
|
+
* a conhece — o formulario de coleta, por exemplo — pode omitir.
|
|
266
|
+
*/
|
|
267
|
+
export const camposVisiveis = (
|
|
268
|
+
args: Record<string, unknown>,
|
|
269
|
+
ferramenta?: string,
|
|
270
|
+
) =>
|
|
271
|
+
Object.entries(args)
|
|
272
|
+
.filter(([, valor]) => {
|
|
273
|
+
if (valor === null || valor === undefined || valor === '') return false
|
|
274
|
+
if (typeof valor === 'object' && !Array.isArray(valor)) {
|
|
275
|
+
return Object.keys(valor as object).length > 0
|
|
276
|
+
}
|
|
277
|
+
return true
|
|
278
|
+
})
|
|
279
|
+
.map(([chave, valor]) => ({
|
|
280
|
+
chave,
|
|
281
|
+
rotulo: rotularCampo(chave, ferramenta),
|
|
282
|
+
valor: formatarValor(chave, valor, ferramenta),
|
|
283
|
+
}))
|