@orbe-agro/client-core 5.3.9 → 5.3.11
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 +1 -1
- package/dist/@ecme/assets/styles/components/_input.css +1 -1
- package/dist/@ecme/assets/styles/components/_select.css +1 -1
- package/dist/@ecme/assets/styles/components/_tabs.css +1 -1
- package/dist/@ecme/assets/styles/components/index.css +1 -1
- package/dist/@ecme/assets/styles/tailwind/index.css +1 -1
- package/dist/@ecme/auth/AuthContext.js.map +1 -1
- package/dist/@ecme/auth/AuthProvider.js.map +1 -1
- package/dist/@ecme/components/docs/DemoCard/CardFooter.js.map +1 -1
- package/dist/@ecme/components/docs/DemoCard/DemoCard.js.map +1 -1
- package/dist/@ecme/components/docs/DocumentationNav.js.map +1 -1
- package/dist/@ecme/components/layouts/AuthLayout/AuthLayout.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
- package/dist/@ecme/components/route/AppRoute.js.map +1 -1
- package/dist/@ecme/components/shared/AbbreviateNumber.js.map +1 -1
- package/dist/@ecme/components/shared/Affix.js.map +1 -1
- package/dist/@ecme/components/shared/AutoComplete.js.map +1 -1
- package/dist/@ecme/components/shared/CalendarView.js.map +1 -1
- package/dist/@ecme/components/shared/Chart.js.map +1 -1
- package/dist/@ecme/components/shared/ConfirmDialog.js.map +1 -1
- package/dist/@ecme/components/shared/DataTable.js.map +1 -1
- package/dist/@ecme/components/shared/DebounceInput.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/TaskListTable.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/getStartEndDateForProject.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/tasksPreProcess.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/breakpoints.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/useCoulmnsCount.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/useMasonry.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/useWindowWidth.js.map +1 -1
- package/dist/@ecme/components/shared/OtpInput.js.map +1 -1
- package/dist/@ecme/components/shared/PasswordInput.js.map +1 -1
- package/dist/@ecme/components/shared/RegionMap.js.map +1 -1
- package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/@ecme/components/shared/StickyFooter.js.map +1 -1
- package/dist/@ecme/components/shared/StrictModeDroppable.js.map +1 -1
- package/dist/@ecme/components/shared/ToggleDrawer.js.map +1 -1
- package/dist/@ecme/components/shared/UsersAvatarGroup.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.js.map +1 -1
- package/dist/@ecme/components/template/LanguageSelector.js.map +1 -1
- package/dist/@ecme/components/template/MobileNav.js.map +1 -1
- package/dist/@ecme/components/template/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/template/Search.js.map +1 -1
- package/dist/@ecme/components/template/SideNavToggle.js.map +1 -1
- package/dist/@ecme/components/template/SidePanel/SidePanel.js.map +1 -1
- package/dist/@ecme/components/template/StackedSideNav/StackedSideNav.js.map +1 -1
- package/dist/@ecme/components/template/StackedSideNav/StackedSideNavMini.js.map +1 -1
- package/dist/@ecme/components/template/StackedSideNav/StackedSideNavSecondary.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/CopyButton.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/ModeSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/UserProfileDropdown.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js.map +1 -1
- package/dist/@ecme/components/ui/Alert/Alert.js.map +1 -1
- package/dist/@ecme/components/ui/Avatar/Avatar.js.map +1 -1
- package/dist/@ecme/components/ui/Avatar/AvatarGroup.js.map +1 -1
- package/dist/@ecme/components/ui/Button/Button.js.map +1 -1
- package/dist/@ecme/components/ui/Card/Card.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Checkbox.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Group.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/BasePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/Calendar.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/CalendarBase.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/RangeCalendar.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/MonthTable.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/YearTable.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/components/Month.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/utils/getDecadeRange.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/utils/getMonthDays.js.map +1 -1
- package/dist/@ecme/components/ui/Dialog/Dialog.js.map +1 -1
- package/dist/@ecme/components/ui/Drawer/Drawer.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownItem.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/context/menuContext.js.map +1 -1
- package/dist/@ecme/components/ui/Form/FormItem.js.map +1 -1
- package/dist/@ecme/components/ui/Input/Input.js.map +1 -1
- package/dist/@ecme/components/ui/Menu/MenuCollapse.js.map +1 -1
- package/dist/@ecme/components/ui/MenuItem/index.js.map +1 -1
- package/dist/@ecme/components/ui/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Next.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Pagers.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Pagination.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Prev.js.map +1 -1
- package/dist/@ecme/components/ui/Progress/Circle.js.map +1 -1
- package/dist/@ecme/components/ui/Progress/Progress.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Group.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Radio.js.map +1 -1
- package/dist/@ecme/components/ui/Segment/Segment.js.map +1 -1
- package/dist/@ecme/components/ui/Segment/SegmentItem.js.map +1 -1
- package/dist/@ecme/components/ui/Select/Select.js.map +1 -1
- package/dist/@ecme/components/ui/Steps/StepItem.js.map +1 -1
- package/dist/@ecme/components/ui/Steps/Steps.js.map +1 -1
- package/dist/@ecme/components/ui/Switcher/Switcher.js.map +1 -1
- package/dist/@ecme/components/ui/Tabs/TabNav.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/AmPmInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputField.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js.map +1 -1
- package/dist/@ecme/components/ui/Tooltip/Arrow.js.map +1 -1
- package/dist/@ecme/components/ui/Tooltip/Tooltip.js.map +1 -1
- package/dist/@ecme/components/ui/Upload/Upload.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useCallbackRef.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useControllableState.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useDidUpdate.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useMergeRef.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useRootClose.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useTimeout.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useWindowSize.js.map +1 -1
- package/dist/@ecme/components/ui/toast/ToastWrapper.js.map +1 -1
- package/dist/@ecme/components/ui/toast/toast.js.map +1 -1
- package/dist/@ecme/components/ui/utils/chainedFunction.js.map +1 -1
- package/dist/@ecme/components/ui/utils/mapCloneElement.js.map +1 -1
- package/dist/@ecme/components/view/Activity/ActivityAvatar.js.map +1 -1
- package/dist/@ecme/components/view/Activity/ActivityEvent.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/Attachment.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/ChatInput.js.map +1 -1
- package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js.map +1 -1
- package/dist/@ecme/configs/chart.config.js.map +1 -1
- package/dist/@ecme/constants/theme.constant.js +23 -23
- package/dist/@ecme/constants/theme.constant.js.map +1 -1
- package/dist/@ecme/locales/lang/ptBR/nav.js +6 -4
- package/dist/@ecme/locales/lang/ptBR/nav.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/accountsFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/aiFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/authFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/commonFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/customersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/fileFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/ordersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/productsFakeApi.js.map +1 -1
- package/dist/@ecme/services/ApiService.js.map +1 -1
- package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
- package/dist/@ecme/store/authStore.js.map +1 -1
- package/dist/@ecme/store/localeStore.js.map +1 -1
- package/dist/@ecme/utils/cookiesStorage.js.map +1 -1
- package/dist/@ecme/utils/hoc/withHeaderItem.js.map +1 -1
- package/dist/@ecme/utils/hooks/useDarkMode.js.map +1 -1
- package/dist/@ecme/utils/hooks/useDirection.js.map +1 -1
- package/dist/@ecme/utils/hooks/useInfiniteScroll.js.map +1 -1
- package/dist/@ecme/utils/hooks/useInterval .js.map +1 -1
- package/dist/@ecme/utils/hooks/useLayoutGap.js.map +1 -1
- package/dist/@ecme/utils/hooks/useLocale.js.map +1 -1
- package/dist/@ecme/utils/hooks/useMenuActive.js.map +1 -1
- package/dist/@ecme/utils/hooks/useRandomBgColor.js.map +1 -1
- package/dist/@ecme/utils/hooks/useResponsive.js.map +1 -1
- package/dist/@ecme/utils/hooks/useScrollTop.js.map +1 -1
- package/dist/@ecme/utils/hooks/useThemeSchema.js.map +1 -1
- package/dist/@ecme/utils/hooks/useTimeOutMessage.js.map +1 -1
- package/dist/@ecme/utils/reorderDragable.js.map +1 -1
- package/dist/@ecme/utils/sortBy.js.map +1 -1
- package/dist/@ecme/utils/wildCardSearch.js.map +1 -1
- package/dist/@ecme/views/auth/ForgotPassword/ForgotPassword.js.map +1 -1
- package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js.map +1 -1
- package/dist/@ecme/views/auth/ResetPassword/ResetPassword.js.map +1 -1
- package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/SignInForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/ActivityLog/ActivityLog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsGroups.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserSelected.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/store/rolePermissionsStore.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/BillingHistory.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingIntegration.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsNotification.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/Gallery.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/store/imageGeneratorStore.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatAction.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/NewChat.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/hooks/useChat.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/store/chatStore.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerCreate/CustomerCreate.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerEdit/CustomerEdit.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/AccountSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/ProfileImageSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListSelected.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListTable.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomersListTableTools.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/store/customerListStore.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/FileManager.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileDetails.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerDeleteDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerInviteDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerRenameDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/UploadFile.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/store/useFileManagerStore.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/Article/components/ArticleAction.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleFooter.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSearch.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSelected.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListTable.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/store/manageArticleStore.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/Article.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/ArticleList.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/Categories.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailBody.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailBodyTop.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailSidebar.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/hooks/useMail.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/hooks/useMailAction.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderCreate/OrderCreate.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailHeaderExtra.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/ProductSelectSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTable.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableTools.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductCreate/ProductCreate.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductEdit/ProducEdit.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProducListTableTools.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSelected.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListTable.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/store/productListStore.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/Issue.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/ProjectDetails.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsActivity.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsNavigation.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/store/projectListStore.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewMemberContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/Board.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCard.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardTitle.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/ScrumBoardHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/Tasks.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/TasksHeader.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticChart.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/DeviceSession.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/Traffic.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RecentOrder.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/TopProduct.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/AdsPerformance.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/LeadPerformance.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/RecentCampaign.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CurrentTasks.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/Schedule.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js.map +1 -1
- package/dist/@ecme/views/guide/Documentations/components/Layouts.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CalendarViewDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/ConfirmDialogDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/Simple.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Basic.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Checkable.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Query.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/DebounceInputDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/GanttChartDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/MasonryDoc/Basic.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/MasonryDoc/Responsive.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/Basic.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/OtpInputDoc/Basic.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/OtpInputDoc/Length.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PasswordInputDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/Basic.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PresetSegmentItemOptionDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/CustomConfig.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/common/Button/ButtonWithIcon.js.map +1 -1
- package/dist/@ecme/views/ui-components/common/Button/Loading.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Calendar/CustomRender.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/DragAndDrop.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Editable.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Expanding.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Filtering.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Group.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Resizable.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/RowSelection.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Sorting.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/SubComponent.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Alert/Closable.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/Closable.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/CloseWithEscBackdrop.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/CustomStyle.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/InternalScroll.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/Size.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Dialog/StaticBackdrop.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/Closable.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/CustomStyle.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/Footer.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/Placement.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Drawer/WidthHeight.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Progress/Dynamic.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/AlertToast.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/Closable.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/CustomClose.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/CustomIcon.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/Duration.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/Notification.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/NotificationType.js.map +1 -1
- package/dist/@ecme/views/ui-components/feedback/Toast/Placement.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Checkbox/Default.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Checkbox/Group.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/DatePicker/Controlled.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/DatePicker/CustomRender.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/DatePicker/DisabledCertainDate.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/Layout.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/Sizes.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Input/PasswordVisible.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Radio/Group.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Radio/Vertical.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Segment/Controlled.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Segment/Size.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Select/AsyncOnSearch.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Select/Creatable.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Select/LoadOptionOnExpand.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Switcher/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Switcher/Controlled.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Switcher/Loading.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Upload/AvatarImage.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/Upload/BeforeUpload.js.map +1 -1
- package/dist/@ecme/views/ui-components/graph/Charts/DashedLine.js.map +1 -1
- package/dist/@ecme/views/ui-components/graph/Maps/ChoroplethQuantile.js.map +1 -1
- package/dist/@ecme/views/ui-components/graph/Maps/ChoroplethQuantize.js.map +1 -1
- package/dist/@ecme/views/ui-components/graph/Maps/MapChartWithTooltip.js.map +1 -1
- package/dist/@ecme/views/ui-components/graph/Maps/UsaStatesMapWithLabels.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Dropdown/Default.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Menu/CollapsableMenuItem.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Menu/Simple.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Pagination/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Pagination/Controlled.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Pagination/PageSize.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Steps/Clickable.js.map +1 -1
- package/dist/@ecme/views/ui-components/navigation/Steps/Controlled.js.map +1 -1
- package/dist/@types/@ecme/configs/chart.config.d.ts +2 -0
- package/dist/@types/@ecme/configs/chart.config.d.ts.map +1 -1
- package/dist/@types/@ecme/locales/lang/ptBR/nav.d.ts.map +1 -1
- package/dist/@types/base/@types/api/request/originacao/TCreateDadosPenhoresRequest.d.ts +10 -0
- package/dist/@types/base/@types/api/request/originacao/TCreateDadosPenhoresRequest.d.ts.map +1 -0
- package/dist/@types/base/@types/api/request/originacao/TLancarPenhoresRequest.d.ts +5 -0
- package/dist/@types/base/@types/api/request/originacao/TLancarPenhoresRequest.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindALlCertidaoAlienacaoResponse.d.ts +8 -0
- package/dist/@types/base/@types/api/response/originacao/TFindALlCertidaoAlienacaoResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllAnalisePenhorAlienacaoResponse.d.ts +10 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllAnalisePenhorAlienacaoResponse.d.ts.map +1 -1
- package/dist/@types/base/@types/api/response/originacao/TFindAllCertidaoPenhorResponse.d.ts +8 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllCertidaoPenhorResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllDadosPenhoresResponse.d.ts +15 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllDadosPenhoresResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllOrdenacaoPenhoresResponse.d.ts +8 -0
- package/dist/@types/base/@types/api/response/originacao/TFindAllOrdenacaoPenhoresResponse.d.ts.map +1 -0
- package/dist/@types/base/@types/enums/originacao/AnalisePenhoresStatus.d.ts +5 -0
- package/dist/@types/base/@types/enums/originacao/AnalisePenhoresStatus.d.ts.map +1 -0
- package/dist/@types/base/@types/enums/originacao/StatusOrdenacao.d.ts +7 -0
- package/dist/@types/base/@types/enums/originacao/StatusOrdenacao.d.ts.map +1 -0
- package/dist/@types/base/@types/forms/racao/vinculoMaterialCentro/index.d.ts +14 -1
- package/dist/@types/base/@types/forms/racao/vinculoMaterialCentro/index.d.ts.map +1 -1
- package/dist/@types/base/@types/models/dm/centro.d.ts +0 -12
- package/dist/@types/base/@types/models/dm/centro.d.ts.map +1 -1
- package/dist/@types/base/@types/models/dm/deposito.d.ts +8 -1
- package/dist/@types/base/@types/models/dm/deposito.d.ts.map +1 -1
- package/dist/@types/base/@types/models/orcamento/Area.d.ts +12 -0
- package/dist/@types/base/@types/models/orcamento/Area.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/{autorizacaoDeAtendimentoAoCliente.d.ts → autorizacaoAtendimentoCliente.d.ts} +4 -4
- package/dist/@types/base/@types/models/racao/autorizacaoAtendimentoCliente.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/gestaoComissaoRepresentante.d.ts +16 -0
- package/dist/@types/base/@types/models/racao/gestaoComissaoRepresentante.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/listaTecnica.d.ts +35 -0
- package/dist/@types/base/@types/models/racao/listaTecnica.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/{segmentoDeProduto.d.ts → segmentoProduto.d.ts} +3 -3
- package/dist/@types/base/@types/models/racao/segmentoProduto.d.ts.map +1 -0
- package/dist/@types/base/@types/models/racao/tabelaPreco.d.ts +14 -6
- package/dist/@types/base/@types/models/racao/tabelaPreco.d.ts.map +1 -1
- package/dist/@types/base/@types/models/racao/vinculoMaterialCentro.d.ts +4 -7
- package/dist/@types/base/@types/models/racao/vinculoMaterialCentro.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Cliente/cliente.endpoint.config.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Cliente/cliente.endpoint.config.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Fonecedores/fornecedor.endpoint.config.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Fonecedores/fornecedor.endpoint.config.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Material/material.endpoint.config.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Material/material.endpoint.config.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/businessPartner.endpoint.config.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/businessPartner.endpoint.config.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/vinculoUnidadeMedida.d.ts +20 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/dm/config/deposito.d.ts +12 -0
- package/dist/@types/base/configs/endpoints.config/dm/config/deposito.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/dm/config/produto.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/dm/config/produto.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +16 -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 +114 -3
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/{racao/config/segmentoDeProduto.d.ts → orcamento/config/area.d.ts} +4 -4
- package/dist/@types/base/configs/endpoints.config/orcamento/config/area.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/orcamento/orcamento.d.ts +22 -0
- package/dist/@types/base/configs/endpoints.config/orcamento/orcamento.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/analisePenhorAlienacao.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/originacao/config/analisePenhorAlienacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/qualidade/config/inspecaoVeiculo.d.ts +3 -0
- package/dist/@types/base/configs/endpoints.config/qualidade/config/inspecaoVeiculo.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/qualidade/qualidade.d.ts +3 -0
- package/dist/@types/base/configs/endpoints.config/qualidade/qualidade.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/{gestaoDeComissaoDoRepresentante.d.ts → autorizacaoAtendimentoCliente.d.ts} +3 -3
- package/dist/@types/base/configs/endpoints.config/racao/config/autorizacaoAtendimentoCliente.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/{autorizacaoDeAtendimentoAoCliente.d.ts → gestaoComissaoRepresentante.d.ts} +3 -3
- package/dist/@types/base/configs/endpoints.config/racao/config/gestaoComissaoRepresentante.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/listaTecnica.d.ts +28 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/listaTecnica.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/segmentoProduto.d.ts +28 -0
- package/dist/@types/base/configs/endpoints.config/racao/config/segmentoProduto.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts +33 -3
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/transportadora/motorista.endpoint.config.d.ts +8 -0
- package/dist/@types/base/configs/endpoints.config/transportadora/motorista.endpoint.config.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cadastroFavorecido.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cadastroFavorecido.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cadastroRemetenteDestinatario.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cadastroRemetenteDestinatario.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cartaoPortadorFrete.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cartaoPortadorFrete.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cest.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/cest.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaFavorecido.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaFavorecido.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaFrota.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaFrota.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaRemetenteDestinatario.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaRemetenteDestinatario.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaRntrc.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultaRntrc.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultarCartaoPortadorFrete.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultarCartaoPortadorFrete.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultas.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/consultas.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/conta.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/conta.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaCadastro.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaCadastro.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation copy.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation copy.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/favorecido.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/favorecido.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/imposto.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/imposto.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/incluirCartaoPortadorFrete.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/incluirCartaoPortadorFrete.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/inss.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/inss.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/irpf.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/irpf.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/iss.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/iss.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/pamcard.subMenu.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/pamcard.subMenu.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/remetenteDestinatario.subMenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/remetenteDestinatario.subMenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/transportadora.navigation.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/Transportadora/transportadora.navigation.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/orcamento/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/orcamento/premissas/area.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/orcamento/premissas/area.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/autorizacaoAtendimentoCliente.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/autorizacaoAtendimentoCliente.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/gestaoComissaoRepresentante.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/gestaoComissaoRepresentante.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/segmentoProduto.submenu.d.ts +4 -0
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/segmentoProduto.submenu.d.ts.map +1 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositoByCodigoList.d.ts +12 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositoByCodigoList.d.ts.map +1 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositoList.d.ts +13 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositoList.d.ts.map +1 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositosByCodigoCentroList.d.ts +13 -0
- package/dist/@types/base/hooks/dm/deposito/useDepositosByCodigoCentroList.d.ts.map +1 -0
- package/dist/@types/base/hooks/dm/produto/useProdutoByCodigoList.d.ts +12 -0
- package/dist/@types/base/hooks/dm/produto/useProdutoByCodigoList.d.ts.map +1 -0
- package/dist/@types/base/hooks/index.d.ts +4 -0
- package/dist/@types/base/hooks/index.d.ts.map +1 -1
- package/dist/@types/base/locales/lang/ptBR/modules/Transportadora/transportadora.nav.d.ts +32 -0
- package/dist/@types/base/locales/lang/ptBR/modules/Transportadora/transportadora.nav.d.ts.map +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Cliente/ClienteService.d.ts +2 -0
- package/dist/@types/base/services/modules/DadosMestres/Cliente/ClienteService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Fornecedor/fonecedorService.d.ts +2 -0
- package/dist/@types/base/services/modules/DadosMestres/Fornecedor/fonecedorService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/DadosMestres/Sap/BusinessPartnerService.d.ts +2 -0
- package/dist/@types/base/services/modules/DadosMestres/Sap/BusinessPartnerService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/index.d.ts +2 -0
- package/dist/@types/base/services/modules/centralNfe/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.d.ts +5 -0
- package/dist/@types/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/dm/deposito/DepositoService.d.ts +4 -0
- package/dist/@types/base/services/modules/dm/deposito/DepositoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/dm/produto/ProdutoService.d.ts +1 -0
- package/dist/@types/base/services/modules/dm/produto/ProdutoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/analisePenhorAlienacao/analisePenhorAlienacaoService.d.ts +5 -0
- package/dist/@types/base/services/modules/originacao/analisePenhorAlienacao/analisePenhorAlienacaoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/qualidade/QualidadeService.d.ts +3 -0
- package/dist/@types/base/services/modules/qualidade/QualidadeService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/racao/autorizacaoAtendimentoCliente/AutorizacaoAtendimentoClienteService.d.ts +8 -0
- package/dist/@types/base/services/modules/racao/autorizacaoAtendimentoCliente/AutorizacaoAtendimentoClienteService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/racao/gestaoComissaoRepresentante/GestaoComissaoRepresentanteService.d.ts +8 -0
- package/dist/@types/base/services/modules/racao/gestaoComissaoRepresentante/GestaoComissaoRepresentanteService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/racao/index.d.ts +4 -3
- package/dist/@types/base/services/modules/racao/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/racao/listaTecnica/ListaTecnicaService.d.ts +9 -0
- package/dist/@types/base/services/modules/racao/listaTecnica/ListaTecnicaService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/racao/segmentoProduto/SegmentoProdutoService.d.ts +9 -0
- package/dist/@types/base/services/modules/racao/segmentoProduto/SegmentoProdutoService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/transportadora/Motorista/motoristaService.d.ts +2 -0
- package/dist/@types/base/services/modules/transportadora/Motorista/motoristaService.d.ts.map +1 -0
- package/dist/@types/base/store/dm/deposito/depositoListStore.d.ts +4 -0
- package/dist/@types/base/store/dm/deposito/depositoListStore.d.ts.map +1 -0
- package/dist/base/@types/api/request/originacao/TCreateDadosPenhoresRequest.js +2 -0
- package/dist/base/@types/api/request/originacao/TCreateDadosPenhoresRequest.js.map +1 -0
- package/dist/base/@types/api/request/originacao/TLancarPenhoresRequest.js +2 -0
- package/dist/base/@types/api/request/originacao/TLancarPenhoresRequest.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TFindALlCertidaoAlienacaoResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TFindALlCertidaoAlienacaoResponse.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TFindAllCertidaoPenhorResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TFindAllCertidaoPenhorResponse.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TFindAllDadosPenhoresResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TFindAllDadosPenhoresResponse.js.map +1 -0
- package/dist/base/@types/api/response/originacao/TFindAllOrdenacaoPenhoresResponse.js +2 -0
- package/dist/base/@types/api/response/originacao/TFindAllOrdenacaoPenhoresResponse.js.map +1 -0
- package/dist/base/@types/enums/originacao/AnalisePenhoresStatus.js +5 -0
- package/dist/base/@types/enums/originacao/AnalisePenhoresStatus.js.map +1 -0
- package/dist/base/@types/enums/originacao/StatusOrdenacao.js +5 -0
- package/dist/base/@types/enums/originacao/StatusOrdenacao.js.map +1 -0
- package/dist/base/@types/models/orcamento/Area.js +2 -0
- package/dist/base/@types/models/orcamento/Area.js.map +1 -0
- package/dist/base/@types/models/racao/autorizacaoAtendimentoCliente.js +2 -0
- package/dist/base/@types/models/racao/autorizacaoAtendimentoCliente.js.map +1 -0
- package/dist/base/@types/models/racao/gestaoComissaoRepresentante.js +2 -0
- package/dist/base/@types/models/racao/gestaoComissaoRepresentante.js.map +1 -0
- package/dist/base/@types/models/racao/listaTecnica.js +2 -0
- package/dist/base/@types/models/racao/listaTecnica.js.map +1 -0
- package/dist/base/@types/models/racao/segmentoProduto.js +2 -0
- package/dist/base/@types/models/racao/segmentoProduto.js.map +1 -0
- package/dist/base/assets/styles/init.css +1 -1
- package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js.map +1 -1
- package/dist/base/components/shared/AceitarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/AdicionarHistoricoDialog.js.map +1 -1
- package/dist/base/components/shared/CancelarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ConcluirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ReabrirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaAtendenteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaSolicitanteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
- package/dist/base/components/table/ListColumn.js.map +1 -1
- package/dist/base/components/tools/NavFilter.js.map +1 -1
- package/dist/base/configs/api.config.js +5 -5
- package/dist/base/configs/api.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Cliente/cliente.endpoint.config.js +7 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Cliente/cliente.endpoint.config.js.map +1 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Fonecedores/fornecedor.endpoint.config.js +7 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Fonecedores/fornecedor.endpoint.config.js.map +1 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Material/material.endpoint.config.js +7 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Material/material.endpoint.config.js.map +1 -0
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/businessPartner.endpoint.config.js +5 -4
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/businessPartner.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js +5 -3
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.js +10 -0
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.js.map +1 -0
- package/dist/base/configs/endpoints.config/dm/config/deposito.js +3 -0
- package/dist/base/configs/endpoints.config/dm/config/deposito.js.map +1 -1
- package/dist/base/configs/endpoints.config/dm/config/produto.js +1 -0
- package/dist/base/configs/endpoints.config/dm/config/produto.js.map +1 -1
- package/dist/base/configs/endpoints.config/endpoints.navigation.js +10 -4
- package/dist/base/configs/endpoints.config/endpoints.navigation.js.map +1 -1
- package/dist/base/configs/endpoints.config/{racao/config/segmentoDeProduto.js → orcamento/config/area.js} +3 -3
- package/dist/base/configs/endpoints.config/orcamento/config/area.js.map +1 -0
- package/dist/base/configs/endpoints.config/orcamento/orcamento.js +5 -3
- package/dist/base/configs/endpoints.config/orcamento/orcamento.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/analisePenhorAlienacao.js +5 -1
- package/dist/base/configs/endpoints.config/originacao/config/analisePenhorAlienacao.js.map +1 -1
- package/dist/base/configs/endpoints.config/qualidade/config/inspecaoVeiculo.js +6 -3
- package/dist/base/configs/endpoints.config/qualidade/config/inspecaoVeiculo.js.map +1 -1
- package/dist/base/configs/endpoints.config/racao/config/autorizacaoAtendimentoCliente.js +11 -0
- package/dist/base/configs/endpoints.config/racao/config/autorizacaoAtendimentoCliente.js.map +1 -0
- package/dist/base/configs/endpoints.config/racao/config/{gestaoDeComissaoDoRepresentante.js → gestaoComissaoRepresentante.js} +2 -2
- package/dist/base/configs/endpoints.config/racao/config/gestaoComissaoRepresentante.js.map +1 -0
- package/dist/base/configs/endpoints.config/racao/config/listaTecnica.js +12 -0
- package/dist/base/configs/endpoints.config/racao/config/listaTecnica.js.map +1 -0
- package/dist/base/configs/endpoints.config/racao/config/metaMensal.js +1 -1
- package/dist/base/configs/endpoints.config/racao/config/metaMensal.js.map +1 -1
- package/dist/base/configs/endpoints.config/racao/config/segmentoProduto.js +12 -0
- package/dist/base/configs/endpoints.config/racao/config/segmentoProduto.js.map +1 -0
- package/dist/base/configs/endpoints.config/racao/config/vinculoMaterialCentro.js +1 -1
- package/dist/base/configs/endpoints.config/racao/config/vinculoMaterialCentro.js.map +1 -1
- package/dist/base/configs/endpoints.config/racao/racao.js +16 -14
- package/dist/base/configs/endpoints.config/racao/racao.js.map +1 -1
- package/dist/base/configs/endpoints.config/transportadora/motorista.endpoint.config.js +7 -0
- package/dist/base/configs/endpoints.config/transportadora/motorista.endpoint.config.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cadastroFavorecido.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cadastroFavorecido.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cadastroRemetenteDestinatario.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cadastroRemetenteDestinatario.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cartaoPortadorFrete.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cartaoPortadorFrete.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cest.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/cest.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaFavorecido.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaFavorecido.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaFrota.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaFrota.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaRemetenteDestinatario.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaRemetenteDestinatario.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaRntrc.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultaRntrc.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultarCartaoPortadorFrete.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultarCartaoPortadorFrete.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultas.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/consultas.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/conta.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/conta.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaCadastro.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaCadastro.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation copy.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation copy.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contaConsulta.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/contratoFrete.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/favorecido.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/favorecido.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/imposto.subMenu.js +14 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/imposto.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/incluirCartaoPortadorFrete.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/incluirCartaoPortadorFrete.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/inss.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/inss.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/irpf.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/irpf.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/iss.subMenu.navigation.js +16 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/iss.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/pamcard.subMenu.navigation.js +93 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/pamcard.subMenu.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/remetenteDestinatario.subMenu.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/remetenteDestinatario.subMenu.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/transportadora.navigation.js +70 -0
- package/dist/base/configs/navigation.config/modules.submenu/Transportadora/transportadora.navigation.js.map +1 -0
- package/dist/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.js +10 -0
- package/dist/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/orcamento/cadastros.submenu.js +5 -3
- package/dist/base/configs/navigation.config/submenu/orcamento/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/orcamento/premissas/area.submenu.js +17 -0
- package/dist/base/configs/navigation.config/submenu/orcamento/premissas/area.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/racao/cadastros.submenu.js +4 -4
- package/dist/base/configs/navigation.config/submenu/racao/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/racao/config/{autorizacaoDeAtendimentoAoCliente.submenu.js → autorizacaoAtendimentoCliente.submenu.js} +4 -4
- package/dist/base/configs/navigation.config/submenu/racao/config/autorizacaoAtendimentoCliente.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/racao/config/{gestaoDeComissaoDoRepresentante.submenu.js → gestaoComissaoRepresentante.submenu.js} +4 -4
- package/dist/base/configs/navigation.config/submenu/racao/config/gestaoComissaoRepresentante.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/racao/config/segmentoProduto.submenu.js +17 -0
- package/dist/base/configs/navigation.config/submenu/racao/config/segmentoProduto.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/racao/contratos.submenu.js +2 -2
- package/dist/base/configs/navigation.config/submenu/racao/contratos.submenu.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js +27 -0
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js.map +1 -0
- package/dist/base/hooks/dm/deposito/useDepositoList.js +26 -0
- package/dist/base/hooks/dm/deposito/useDepositoList.js.map +1 -0
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js +28 -0
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js.map +1 -0
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js +27 -0
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js.map +1 -0
- package/dist/base/hooks/flux/useAceitarProcesso.js.map +1 -1
- package/dist/base/hooks/flux/useAdicionarHistorico.js.map +1 -1
- package/dist/base/hooks/flux/useCancelarProcesso.js.map +1 -1
- package/dist/base/hooks/flux/useConcluirProcesso.js.map +1 -1
- package/dist/base/hooks/flux/useReabrirProcesso.js.map +1 -1
- package/dist/base/hooks/flux/useRetornarFluxoAtendimento.js.map +1 -1
- package/dist/base/hooks/flux/useTransferirParaAtendente.js.map +1 -1
- package/dist/base/hooks/flux/useTransferirParaSolicitante.js.map +1 -1
- package/dist/base/hooks/flux/useTransferirProcesso.js.map +1 -1
- package/dist/base/hooks/index.js +34 -26
- package/dist/base/hooks/index.js.map +1 -1
- package/dist/base/index.js +356 -332
- package/dist/base/index.js.map +1 -1
- package/dist/base/locales/lang/ptBR/modules/Transportadora/transportadora.nav.js +34 -0
- package/dist/base/locales/lang/ptBR/modules/Transportadora/transportadora.nav.js.map +1 -0
- package/dist/base/services/index.js +284 -268
- package/dist/base/services/index.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/Cliente/ClienteService.js +15 -0
- package/dist/base/services/modules/DadosMestres/Cliente/ClienteService.js.map +1 -0
- package/dist/base/services/modules/DadosMestres/Fornecedor/fonecedorService.js +15 -0
- package/dist/base/services/modules/DadosMestres/Fornecedor/fonecedorService.js.map +1 -0
- package/dist/base/services/modules/DadosMestres/Sap/BusinessPartnerService.js +17 -10
- package/dist/base/services/modules/DadosMestres/Sap/BusinessPartnerService.js.map +1 -1
- package/dist/base/services/modules/centralNfe/index.js +13 -3
- package/dist/base/services/modules/centralNfe/index.js.map +1 -1
- package/dist/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.js +37 -0
- package/dist/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.js.map +1 -0
- package/dist/base/services/modules/dm/deposito/DepositoService.js +27 -5
- package/dist/base/services/modules/dm/deposito/DepositoService.js.map +1 -1
- package/dist/base/services/modules/dm/index.js +28 -24
- package/dist/base/services/modules/dm/produto/ProdutoService.js +17 -10
- package/dist/base/services/modules/dm/produto/ProdutoService.js.map +1 -1
- package/dist/base/services/modules/index.js +283 -267
- package/dist/base/services/modules/index.js.map +1 -1
- package/dist/base/services/modules/originacao/analisePenhorAlienacao/analisePenhorAlienacaoService.js +42 -10
- package/dist/base/services/modules/originacao/analisePenhorAlienacao/analisePenhorAlienacaoService.js.map +1 -1
- package/dist/base/services/modules/originacao/index.js +60 -56
- package/dist/base/services/modules/qualidade/QualidadeService.js +30 -7
- package/dist/base/services/modules/qualidade/QualidadeService.js.map +1 -1
- package/dist/base/services/modules/racao/{autorizacaoDeAtendimentoAoCliente/AutorizacaoDeAtendimentoAoClienteService.js → autorizacaoAtendimentoCliente/AutorizacaoAtendimentoClienteService.js} +9 -9
- package/dist/base/services/modules/racao/autorizacaoAtendimentoCliente/AutorizacaoAtendimentoClienteService.js.map +1 -0
- package/dist/base/services/modules/racao/gestaoComissaoRepresentante/GestaoComissaoRepresentanteService.js +44 -0
- package/dist/base/services/modules/racao/gestaoComissaoRepresentante/GestaoComissaoRepresentanteService.js.map +1 -0
- package/dist/base/services/modules/racao/index.js +42 -34
- package/dist/base/services/modules/racao/index.js.map +1 -1
- package/dist/base/services/modules/racao/listaTecnica/ListaTecnicaService.js +52 -0
- package/dist/base/services/modules/racao/listaTecnica/ListaTecnicaService.js.map +1 -0
- package/dist/base/services/modules/racao/{segmentoDeProduto/SegmentoDeProdutoService.js → segmentoProduto/SegmentoProdutoService.js} +20 -12
- package/dist/base/services/modules/racao/segmentoProduto/SegmentoProdutoService.js.map +1 -0
- package/dist/base/services/modules/transportadora/Motorista/motoristaService.js +15 -0
- package/dist/base/services/modules/transportadora/Motorista/motoristaService.js.map +1 -0
- package/dist/base/services/query.js.map +1 -1
- package/dist/base/store/dm/deposito/depositoListStore.js +14 -0
- package/dist/base/store/dm/deposito/depositoListStore.js.map +1 -0
- package/dist/base/utils/functions/formUtils.js.map +1 -1
- package/dist/base/utils/functions/handleInputChangeUtils.js.map +1 -1
- package/dist/base/utils/functions/stringUtils.js.map +1 -1
- package/package.json +1 -1
- package/dist/@types/base/@types/models/racao/autorizacaoDeAtendimentoAoCliente.d.ts.map +0 -1
- package/dist/@types/base/@types/models/racao/gestaoDeComissaoDoRepresentante.d.ts +0 -16
- package/dist/@types/base/@types/models/racao/gestaoDeComissaoDoRepresentante.d.ts.map +0 -1
- package/dist/@types/base/@types/models/racao/segmentoDeProduto.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/autorizacaoDeAtendimentoAoCliente.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/gestaoDeComissaoDoRepresentante.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/segmentoDeProduto.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/autorizacaoDeAtendimentoAoCliente.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/autorizacaoDeAtendimentoAoCliente.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/gestaoDeComissaoDoRepresentante.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/gestaoDeComissaoDoRepresentante.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/segmentoDeProduto.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/racao/config/segmentoDeProduto.submenu.d.ts.map +0 -1
- package/dist/@types/base/services/modules/racao/autorizacaoDeAtendimentoAoCliente/AutorizacaoDeAtendimentoAoClienteService.d.ts +0 -8
- package/dist/@types/base/services/modules/racao/autorizacaoDeAtendimentoAoCliente/AutorizacaoDeAtendimentoAoClienteService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/racao/gestaoDeComissaoDoRepresentante/GestaoDeComissaoDoRepresentanteService.d.ts +0 -8
- package/dist/@types/base/services/modules/racao/gestaoDeComissaoDoRepresentante/GestaoDeComissaoDoRepresentanteService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/racao/segmentoDeProduto/SegmentoDeProdutoService.d.ts +0 -8
- package/dist/@types/base/services/modules/racao/segmentoDeProduto/SegmentoDeProdutoService.d.ts.map +0 -1
- package/dist/base/@types/models/racao/autorizacaoDeAtendimentoAoCliente.js +0 -2
- package/dist/base/@types/models/racao/autorizacaoDeAtendimentoAoCliente.js.map +0 -1
- package/dist/base/@types/models/racao/gestaoDeComissaoDoRepresentante.js +0 -2
- package/dist/base/@types/models/racao/gestaoDeComissaoDoRepresentante.js.map +0 -1
- package/dist/base/@types/models/racao/segmentoDeProduto.js +0 -2
- package/dist/base/@types/models/racao/segmentoDeProduto.js.map +0 -1
- package/dist/base/configs/endpoints.config/racao/config/autorizacaoDeAtendimentoAoCliente.js +0 -11
- package/dist/base/configs/endpoints.config/racao/config/autorizacaoDeAtendimentoAoCliente.js.map +0 -1
- package/dist/base/configs/endpoints.config/racao/config/gestaoDeComissaoDoRepresentante.js.map +0 -1
- package/dist/base/configs/endpoints.config/racao/config/segmentoDeProduto.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/racao/config/autorizacaoDeAtendimentoAoCliente.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/racao/config/gestaoDeComissaoDoRepresentante.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/racao/config/segmentoDeProduto.submenu.js +0 -17
- package/dist/base/configs/navigation.config/submenu/racao/config/segmentoDeProduto.submenu.js.map +0 -1
- package/dist/base/services/modules/racao/autorizacaoDeAtendimentoAoCliente/AutorizacaoDeAtendimentoAoClienteService.js.map +0 -1
- package/dist/base/services/modules/racao/gestaoDeComissaoDoRepresentante/GestaoDeComissaoDoRepresentanteService.js +0 -44
- package/dist/base/services/modules/racao/gestaoDeComissaoDoRepresentante/GestaoDeComissaoDoRepresentanteService.js.map +0 -1
- package/dist/base/services/modules/racao/segmentoDeProduto/SegmentoDeProdutoService.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatSend.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"sourcesContent":["import { usGenerativeChatStore } from '../store/generativeChatStore'\nimport { apiPostChat } from '@/services/AiService'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport type { PostAiChatResponse } from '../types'\n\nconst useChatSend = () => {\n const {\n selectedConversation,\n setSelectedConversation,\n pushChatHistory,\n pushConversation,\n setIsTyping,\n } = usGenerativeChatStore()\n\n const creteMyMessage = (id: string, prompt: string) => {\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: '1',\n name: 'Angelina Gotelli',\n avatarImageUrl: '/img/avatars/thumb-1.jpg',\n },\n content: prompt,\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n })\n }\n\n const sendMessage = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n const resp = await apiPostChat<PostAiChatResponse>({\n prompt,\n attachments,\n })\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n },\n content: resp.choices[0].message.content || '',\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: false,\n fresh: true,\n })\n setIsTyping(false)\n }\n\n const createConversation = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n setSelectedConversation(id)\n await sendMessage(id, prompt, attachments)\n }\n\n const handleSend = async (prompt: string, attachments?: File[]) => {\n setIsTyping(true)\n if (selectedConversation) {\n creteMyMessage(selectedConversation, prompt)\n await sendMessage(selectedConversation, prompt)\n } else {\n const newId = uniqueId('ai-chat-')\n pushChatHistory({\n id: newId,\n title: prompt,\n lastConversation: '',\n createdTime: dayjs().unix(),\n updatedTime: dayjs().unix(),\n enable: false,\n })\n creteMyMessage(newId, prompt)\n await createConversation(newId, prompt, attachments)\n }\n }\n\n return {\n handleSend,\n }\n}\n\nexport default useChatSend\n"],"names":["useChatSend","selectedConversation","setSelectedConversation","pushChatHistory","pushConversation","setIsTyping","usGenerativeChatStore","creteMyMessage","id","prompt","uniqueId","dayjs","sendMessage","attachments","resp","apiPostChat","createConversation","newId"],"mappings":";;;;AAMA,MAAMA,IAAc,MAAM;AACtB,QAAM;AAAA,IACF,sBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACAC,EAAA,GAEEC,IAAiB,CAACC,GAAYC,MAAmB;AACnD,IAAAL,EAAiBI,GAAI;AAAA,MACjB,IAAIE,EAAS,kBAAkB;AAAA,MAC/B,QAAQ;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAgB;AAAA,MAAA;AAAA,MAEpB,SAASD;AAAA,MACT,WAAWE,EAAA,EAAQ,OAAA;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,IAAA,CAChB;AAAA,
|
|
1
|
+
{"version":3,"file":"useChatSend.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"sourcesContent":["import { usGenerativeChatStore } from '../store/generativeChatStore'\nimport { apiPostChat } from '@/services/AiService'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport type { PostAiChatResponse } from '../types'\n\nconst useChatSend = () => {\n const {\n selectedConversation,\n setSelectedConversation,\n pushChatHistory,\n pushConversation,\n setIsTyping,\n } = usGenerativeChatStore()\n\n const creteMyMessage = (id: string, prompt: string) => {\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: '1',\n name: 'Angelina Gotelli',\n avatarImageUrl: '/img/avatars/thumb-1.jpg',\n },\n content: prompt,\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n })\n }\n\n const sendMessage = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n const resp = await apiPostChat<PostAiChatResponse>({\n prompt,\n attachments,\n })\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n },\n content: resp.choices[0].message.content || '',\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: false,\n fresh: true,\n })\n setIsTyping(false)\n }\n\n const createConversation = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n setSelectedConversation(id)\n await sendMessage(id, prompt, attachments)\n }\n\n const handleSend = async (prompt: string, attachments?: File[]) => {\n setIsTyping(true)\n if (selectedConversation) {\n creteMyMessage(selectedConversation, prompt)\n await sendMessage(selectedConversation, prompt)\n } else {\n const newId = uniqueId('ai-chat-')\n pushChatHistory({\n id: newId,\n title: prompt,\n lastConversation: '',\n createdTime: dayjs().unix(),\n updatedTime: dayjs().unix(),\n enable: false,\n })\n creteMyMessage(newId, prompt)\n await createConversation(newId, prompt, attachments)\n }\n }\n\n return {\n handleSend,\n }\n}\n\nexport default useChatSend\n"],"names":["useChatSend","selectedConversation","setSelectedConversation","pushChatHistory","pushConversation","setIsTyping","usGenerativeChatStore","creteMyMessage","id","prompt","uniqueId","dayjs","sendMessage","attachments","resp","apiPostChat","createConversation","newId"],"mappings":";;;;AAMA,MAAMA,IAAc,MAAM;AACtB,QAAM;AAAA,IACF,sBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACAC,EAAA,GAEEC,IAAiB,CAACC,GAAYC,MAAmB;AACnD,IAAAL,EAAiBI,GAAI;AAAA,MACjB,IAAIE,EAAS,kBAAkB;AAAA,MAC/B,QAAQ;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAgB;AAAA,MAAA;AAAA,MAEpB,SAASD;AAAA,MACT,WAAWE,EAAA,EAAQ,OAAA;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,IAAA,CAChB;AAAA,EACL,GAEMC,IAAc,OAChBJ,GACAC,GACAI,MACC;AACD,UAAMC,IAAO,MAAMC,EAAgC;AAAA,MAC/C,QAAAN;AAAA,MACA,aAAAI;AAAA,IAAA,CACH;AACD,IAAAT,EAAiBI,GAAI;AAAA,MACjB,IAAIE,EAAS,kBAAkB;AAAA,MAC/B,QAAQ;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAgB;AAAA,MAAA;AAAA,MAEpB,SAASI,EAAK,QAAQ,CAAC,EAAE,QAAQ,WAAW;AAAA,MAC5C,WAAWH,EAAA,EAAQ,OAAA;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,IAAA,CACV,GACDN,EAAY,EAAK;AAAA,EACrB,GAEMW,IAAqB,OACvBR,GACAC,GACAI,MACC;AACD,IAAAX,EAAwBM,CAAE,GAC1B,MAAMI,EAAYJ,GAAIC,GAAQI,CAAW;AAAA,EAC7C;AAsBA,SAAO;AAAA,IACH,YArBe,OAAOJ,GAAgBI,MAAyB;AAE/D,UADAR,EAAY,EAAI,GACZJ;AACA,QAAAM,EAAeN,GAAsBQ,CAAM,GAC3C,MAAMG,EAAYX,GAAsBQ,CAAM;AAAA,WAC3C;AACH,cAAMQ,IAAQP,EAAS,UAAU;AACjC,QAAAP,EAAgB;AAAA,UACZ,IAAIc;AAAA,UACJ,OAAOR;AAAA,UACP,kBAAkB;AAAA,UAClB,aAAaE,EAAA,EAAQ,KAAA;AAAA,UACrB,aAAaA,EAAA,EAAQ,KAAA;AAAA,UACrB,QAAQ;AAAA,QAAA,CACX,GACDJ,EAAeU,GAAOR,CAAM,GAC5B,MAAMO,EAAmBC,GAAOR,GAAQI,CAAW;AAAA,MACvD;AAAA,IACJ;AAAA,EAGI;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n disabledChatFresh: (id: string) => void\n}\n\nconst initialState: GenerativeChatState = {\n selectedConversation: '',\n selectedConversationRecord: [],\n chatHistory: [],\n renameDialog: {\n id: '',\n title: '',\n open: false,\n },\n isTyping: false,\n}\n\nexport const usGenerativeChatStore = create<\n GenerativeChatState & GenerativeChatAction\n>((set, get) => ({\n ...initialState,\n setSelectedConversation: (payload) =>\n set(() => ({ selectedConversation: payload })),\n setChatHistory: (payload) => set(() => ({ chatHistory: payload })),\n setChatHistoryName: (payload) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === payload.id) {\n chat.title = payload.title\n }\n return chat\n })\n return { chatHistory }\n }),\n setRenameDialog: (payload) => set(() => ({ renameDialog: payload })),\n setSelectedConversationRecord: (payload) =>\n set(() => {\n let record = get().selectedConversationRecord\n\n if (record.includes(payload)) {\n record = record.filter((item) => item !== payload)\n } else {\n record.push(payload)\n }\n\n return { selectedConversationRecord: record }\n }),\n pushChatHistory: (payload) =>\n set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),\n pushConversation: (id, conversation) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === id) {\n if (!chat.conversation) {\n chat.conversation = []\n }\n chat.conversation?.push(conversation)\n }\n return chat\n })\n return { chatHistory }\n }),\n setIsTyping: (payload) => set(() => ({ isTyping: payload })),\n disabledChatFresh: () =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === get().selectedConversation) {\n chat.conversation = chat.conversation?.map(\n (conversation) => {\n if (conversation.fresh) {\n conversation.fresh = false\n }\n return conversation\n },\n )\n }\n return chat\n })\n return { chatHistory }\n }),\n}))\n"],"names":["initialState","usGenerativeChatStore","create","set","get","payload","chat","record","item","id","conversation","_a"],"mappings":";AA6BA,MAAMA,IAAoC;AAAA,EACtC,sBAAsB;AAAA,EACtB,4BAA4B,CAAA;AAAA,EAC5B,aAAa,CAAA;AAAA,EACb,cAAc;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,UAAU;AACd,GAEaC,IAAwBC,EAEnC,CAACC,GAAKC,OAAS;AAAA,EACb,GAAGJ;AAAA,EACH,yBAAyB,CAACK,MACtBF,EAAI,OAAO,EAAE,sBAAsBE,IAAU;AAAA,EACjD,gBAAgB,CAACA,MAAYF,EAAI,OAAO,EAAE,aAAaE,IAAU;AAAA,EACjE,oBAAoB,CAACA,MACjBF,EAAI,OAOO,EAAE,aANWC,EAAA,EAAM,YAAY,IAAI,CAACE,OACnCA,EAAK,OAAOD,EAAQ,OACpBC,EAAK,QAAQD,EAAQ,QAElBC,EACV,EACQ,EACZ;AAAA,EACL,iBAAiB,CAACD,MAAYF,EAAI,OAAO,EAAE,cAAcE,IAAU;AAAA,EACnE,+BAA+B,CAACA,MAC5BF,EAAI,MAAM;AACN,QAAII,IAASH,IAAM;AAEnB,WAAIG,EAAO,SAASF,CAAO,IACvBE,IAASA,EAAO,OAAO,CAACC,MAASA,MAASH,CAAO,IAEjDE,EAAO,KAAKF,CAAO,GAGhB,EAAE,4BAA4BE,EAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n disabledChatFresh: (id: string) => void\n}\n\nconst initialState: GenerativeChatState = {\n selectedConversation: '',\n selectedConversationRecord: [],\n chatHistory: [],\n renameDialog: {\n id: '',\n title: '',\n open: false,\n },\n isTyping: false,\n}\n\nexport const usGenerativeChatStore = create<\n GenerativeChatState & GenerativeChatAction\n>((set, get) => ({\n ...initialState,\n setSelectedConversation: (payload) =>\n set(() => ({ selectedConversation: payload })),\n setChatHistory: (payload) => set(() => ({ chatHistory: payload })),\n setChatHistoryName: (payload) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === payload.id) {\n chat.title = payload.title\n }\n return chat\n })\n return { chatHistory }\n }),\n setRenameDialog: (payload) => set(() => ({ renameDialog: payload })),\n setSelectedConversationRecord: (payload) =>\n set(() => {\n let record = get().selectedConversationRecord\n\n if (record.includes(payload)) {\n record = record.filter((item) => item !== payload)\n } else {\n record.push(payload)\n }\n\n return { selectedConversationRecord: record }\n }),\n pushChatHistory: (payload) =>\n set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),\n pushConversation: (id, conversation) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === id) {\n if (!chat.conversation) {\n chat.conversation = []\n }\n chat.conversation?.push(conversation)\n }\n return chat\n })\n return { chatHistory }\n }),\n setIsTyping: (payload) => set(() => ({ isTyping: payload })),\n disabledChatFresh: () =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === get().selectedConversation) {\n chat.conversation = chat.conversation?.map(\n (conversation) => {\n if (conversation.fresh) {\n conversation.fresh = false\n }\n return conversation\n },\n )\n }\n return chat\n })\n return { chatHistory }\n }),\n}))\n"],"names":["initialState","usGenerativeChatStore","create","set","get","payload","chat","record","item","id","conversation","_a"],"mappings":";AA6BA,MAAMA,IAAoC;AAAA,EACtC,sBAAsB;AAAA,EACtB,4BAA4B,CAAA;AAAA,EAC5B,aAAa,CAAA;AAAA,EACb,cAAc;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,UAAU;AACd,GAEaC,IAAwBC,EAEnC,CAACC,GAAKC,OAAS;AAAA,EACb,GAAGJ;AAAA,EACH,yBAAyB,CAACK,MACtBF,EAAI,OAAO,EAAE,sBAAsBE,IAAU;AAAA,EACjD,gBAAgB,CAACA,MAAYF,EAAI,OAAO,EAAE,aAAaE,IAAU;AAAA,EACjE,oBAAoB,CAACA,MACjBF,EAAI,OAOO,EAAE,aANWC,EAAA,EAAM,YAAY,IAAI,CAACE,OACnCA,EAAK,OAAOD,EAAQ,OACpBC,EAAK,QAAQD,EAAQ,QAElBC,EACV,EACQ,EACZ;AAAA,EACL,iBAAiB,CAACD,MAAYF,EAAI,OAAO,EAAE,cAAcE,IAAU;AAAA,EACnE,+BAA+B,CAACA,MAC5BF,EAAI,MAAM;AACN,QAAII,IAASH,IAAM;AAEnB,WAAIG,EAAO,SAASF,CAAO,IACvBE,IAASA,EAAO,OAAO,CAACC,MAASA,MAASH,CAAO,IAEjDE,EAAO,KAAKF,CAAO,GAGhB,EAAE,4BAA4BE,EAAA;AAAA,EACzC,CAAC;AAAA,EACL,iBAAiB,CAACF,MACdF,EAAI,OAAO,EAAE,aAAa,CAAKE,GAAU,GAAGD,IAAM,WAAW,IAAI;AAAA,EACrE,kBAAkB,CAACK,GAAIC,MACnBP,EAAI,OAUO,EAAE,aATWC,EAAA,EAAM,YAAY,IAAI,CAACE,MAAS;;AAChD,WAAIA,EAAK,OAAOG,MACPH,EAAK,iBACNA,EAAK,eAAe,CAAA,KAExBK,IAAAL,EAAK,iBAAL,QAAAK,EAAmB,KAAKD,KAErBJ;AAAA,EACX,CAAC,EACQ,EACZ;AAAA,EACL,aAAa,CAACD,MAAYF,EAAI,OAAO,EAAE,UAAUE,IAAU;AAAA,EAC3D,mBAAmB,MACfF,EAAI,OAcO,EAAE,aAbWC,EAAA,EAAM,YAAY,IAAI,CAACE,MAAS;;AAChD,WAAIA,EAAK,OAAOF,EAAA,EAAM,yBAClBE,EAAK,gBAAeK,IAAAL,EAAK,iBAAL,gBAAAK,EAAmB;AAAA,MACnC,CAACD,OACOA,EAAa,UACbA,EAAa,QAAQ,KAElBA;AAAA,QAIZJ;AAAA,EACX,CAAC,EACQ,EACZ;AACT,EAAE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gallery.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/Gallery.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Alert from '@/components/ui/Alert'\nimport Skeleton from '@/components/ui/Skeleton'\nimport GalleryImage from './GalleryImage'\nimport Masonry from '@/components/shared/Masonry'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport useInfiniteScroll from '@/utils/hooks/useInfiniteScroll'\nimport { apiGetImages } from '@/services/AiService'\nimport type { GetImageResponse, Gallery, GelleryItem } from '../type'\n\nconst Gallery = () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, setIsInitialLoading] = useState(false)\n const [initialLoadComplete, setInitialLoadComplete] = useState(false)\n const [loadable, setLoadable] = useState(true)\n const [index, seIndex] = useState(1)\n\n const {\n setImageDialog,\n isGeneratedImagesView,\n isGeneratingImage,\n generatedImage,\n } = useImageGeneratorStore()\n\n const [imageList, setImageList] = useState<Gallery>([])\n\n const getImages = async (index: number) => {\n setIsInitialLoading(true)\n const resp = await apiGetImages<GetImageResponse, { index: number }>({\n index,\n })\n setImageList((prevImages) => [...prevImages, ...resp.data])\n setLoadable(resp.loadable)\n setIsInitialLoading(false)\n seIndex((prevIndex) => prevIndex + 1)\n if (!resp.loadable) {\n setLoadable(true)\n seIndex(() => 1)\n }\n }\n\n const { containerRef } = useInfiniteScroll({\n offset: '100px',\n async onLoadMore() {\n if (initialLoadComplete && loadable) {\n await getImages(index)\n }\n },\n })\n\n const initialLoad = async (index: number) => {\n setIsInitialLoading(true)\n const resp = await apiGetImages<\n GetImageResponse,\n { index: number; itemCount: number }\n >({ index, itemCount: 8 })\n setImageList(resp.data)\n setLoadable(resp.loadable)\n setIsInitialLoading(false)\n seIndex(3)\n setInitialLoadComplete(true)\n }\n\n const handleImageClick = (\n image: GelleryItem,\n type: 'generated' | 'existing',\n ) => {\n setImageDialog({\n open: true,\n props: { ...image, type },\n })\n }\n\n useEffect(() => {\n if (!initialLoadComplete) {\n initialLoad(index)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <>\n {isGeneratedImagesView && (\n <div className=\"rounded-xl bg-gray-100 dark:bg-gray-700 p-5 mb-4\">\n <h4 className=\"mb-4\">\n {isGeneratingImage ? 'Generating' : 'Result'}\n </h4>\n {!isGeneratingImage && generatedImage.length > 0 && (\n <Alert showIcon className=\"mb-4\" type=\"info\">\n This is a mock response designed to simulate an\n AI-generated reply. Please note that these image is\n not generated by an actual AI model.\n </Alert>\n )}\n <div className=\"grid grid-cols-2 xl:grid-cols-4 gap-4\">\n {isGeneratingImage ? (\n <>\n {[...Array(4).keys()].map((item) => (\n <Skeleton\n key={`loading-${item}`}\n className=\"rounded-xl bg-gray-300 dark:bg-gray-600\"\n height={250}\n />\n ))}\n </>\n ) : (\n <>\n {generatedImage.map((item) => {\n return (\n <GalleryImage\n key={item.id}\n galleryItem={item}\n onImageClick={() =>\n handleImageClick(\n item,\n 'generated',\n )\n }\n />\n )\n })}\n </>\n )}\n </div>\n </div>\n )}\n {initialLoadComplete && (\n <div>\n <h4 className=\"mb-4\">Recent images</h4>\n <div ref={containerRef}>\n <Masonry columns={{ 768: 2, 1280: 4 }} gap={16}>\n {imageList.map((item) => {\n return (\n <GalleryImage\n key={item.id}\n galleryItem={item}\n onImageClick={() =>\n handleImageClick(item, 'existing')\n }\n />\n )\n })}\n </Masonry>\n </div>\n </div>\n )}\n </>\n )\n}\n\nexport default Gallery\n"],"names":["Gallery","_","setIsInitialLoading","useState","initialLoadComplete","setInitialLoadComplete","loadable","setLoadable","index","seIndex","setImageDialog","isGeneratedImagesView","isGeneratingImage","generatedImage","useImageGeneratorStore","imageList","setImageList","getImages","resp","apiGetImages","prevImages","prevIndex","containerRef","useInfiniteScroll","initialLoad","handleImageClick","image","type","useEffect","jsxs","Fragment","jsx","Alert","item","Skeleton","GalleryImage","Masonry"],"mappings":";;;;;;;;;;;;AAUA,MAAMA,IAAU,MAAM;AAElB,QAAM,CAACC,GAAGC,CAAmB,IAAIC,EAAS,EAAK,GACzC,CAACC,GAAqBC,CAAsB,IAAIF,EAAS,EAAK,GAC9D,CAACG,GAAUC,CAAW,IAAIJ,EAAS,EAAI,GACvC,CAACK,GAAOC,CAAO,IAAIN,EAAS,CAAC,GAE7B;AAAA,IACF,gBAAAO;AAAA,IACA,uBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACAC,EAAA,GAEE,CAACC,GAAWC,CAAY,IAAIb,EAAkB,CAAA,CAAE,GAEhDc,IAAY,OAAOT,MAAkB;AACvC,IAAAN,EAAoB,EAAI;AACxB,UAAMgB,IAAO,MAAMC,EAAkD;AAAA,MACjE,OAAAX;AAAAA,IAAA,CACH;AACD,IAAAQ,EAAa,CAACI,MAAe,CAAC,GAAGA,GAAY,GAAGF,EAAK,IAAI,CAAC,GAC1DX,EAAYW,EAAK,QAAQ,GACzBhB,EAAoB,EAAK,GACzBO,EAAQ,CAACY,MAAcA,IAAY,CAAC,GAC/BH,EAAK,aACNX,EAAY,EAAI,GAChBE,EAAQ,MAAM,CAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"Gallery.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/Gallery.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Alert from '@/components/ui/Alert'\nimport Skeleton from '@/components/ui/Skeleton'\nimport GalleryImage from './GalleryImage'\nimport Masonry from '@/components/shared/Masonry'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport useInfiniteScroll from '@/utils/hooks/useInfiniteScroll'\nimport { apiGetImages } from '@/services/AiService'\nimport type { GetImageResponse, Gallery, GelleryItem } from '../type'\n\nconst Gallery = () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, setIsInitialLoading] = useState(false)\n const [initialLoadComplete, setInitialLoadComplete] = useState(false)\n const [loadable, setLoadable] = useState(true)\n const [index, seIndex] = useState(1)\n\n const {\n setImageDialog,\n isGeneratedImagesView,\n isGeneratingImage,\n generatedImage,\n } = useImageGeneratorStore()\n\n const [imageList, setImageList] = useState<Gallery>([])\n\n const getImages = async (index: number) => {\n setIsInitialLoading(true)\n const resp = await apiGetImages<GetImageResponse, { index: number }>({\n index,\n })\n setImageList((prevImages) => [...prevImages, ...resp.data])\n setLoadable(resp.loadable)\n setIsInitialLoading(false)\n seIndex((prevIndex) => prevIndex + 1)\n if (!resp.loadable) {\n setLoadable(true)\n seIndex(() => 1)\n }\n }\n\n const { containerRef } = useInfiniteScroll({\n offset: '100px',\n async onLoadMore() {\n if (initialLoadComplete && loadable) {\n await getImages(index)\n }\n },\n })\n\n const initialLoad = async (index: number) => {\n setIsInitialLoading(true)\n const resp = await apiGetImages<\n GetImageResponse,\n { index: number; itemCount: number }\n >({ index, itemCount: 8 })\n setImageList(resp.data)\n setLoadable(resp.loadable)\n setIsInitialLoading(false)\n seIndex(3)\n setInitialLoadComplete(true)\n }\n\n const handleImageClick = (\n image: GelleryItem,\n type: 'generated' | 'existing',\n ) => {\n setImageDialog({\n open: true,\n props: { ...image, type },\n })\n }\n\n useEffect(() => {\n if (!initialLoadComplete) {\n initialLoad(index)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <>\n {isGeneratedImagesView && (\n <div className=\"rounded-xl bg-gray-100 dark:bg-gray-700 p-5 mb-4\">\n <h4 className=\"mb-4\">\n {isGeneratingImage ? 'Generating' : 'Result'}\n </h4>\n {!isGeneratingImage && generatedImage.length > 0 && (\n <Alert showIcon className=\"mb-4\" type=\"info\">\n This is a mock response designed to simulate an\n AI-generated reply. Please note that these image is\n not generated by an actual AI model.\n </Alert>\n )}\n <div className=\"grid grid-cols-2 xl:grid-cols-4 gap-4\">\n {isGeneratingImage ? (\n <>\n {[...Array(4).keys()].map((item) => (\n <Skeleton\n key={`loading-${item}`}\n className=\"rounded-xl bg-gray-300 dark:bg-gray-600\"\n height={250}\n />\n ))}\n </>\n ) : (\n <>\n {generatedImage.map((item) => {\n return (\n <GalleryImage\n key={item.id}\n galleryItem={item}\n onImageClick={() =>\n handleImageClick(\n item,\n 'generated',\n )\n }\n />\n )\n })}\n </>\n )}\n </div>\n </div>\n )}\n {initialLoadComplete && (\n <div>\n <h4 className=\"mb-4\">Recent images</h4>\n <div ref={containerRef}>\n <Masonry columns={{ 768: 2, 1280: 4 }} gap={16}>\n {imageList.map((item) => {\n return (\n <GalleryImage\n key={item.id}\n galleryItem={item}\n onImageClick={() =>\n handleImageClick(item, 'existing')\n }\n />\n )\n })}\n </Masonry>\n </div>\n </div>\n )}\n </>\n )\n}\n\nexport default Gallery\n"],"names":["Gallery","_","setIsInitialLoading","useState","initialLoadComplete","setInitialLoadComplete","loadable","setLoadable","index","seIndex","setImageDialog","isGeneratedImagesView","isGeneratingImage","generatedImage","useImageGeneratorStore","imageList","setImageList","getImages","resp","apiGetImages","prevImages","prevIndex","containerRef","useInfiniteScroll","initialLoad","handleImageClick","image","type","useEffect","jsxs","Fragment","jsx","Alert","item","Skeleton","GalleryImage","Masonry"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratorPrompt.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.tsx"],"sourcesContent":["import { useState, useRef } from 'react'\nimport Button from '@/components/ui/Button'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Upload from '@/components/ui/Upload'\nimport toast from '@/components/ui/toast'\nimport Notification from '@/components/ui/Notification'\nimport CloseButton from '@/components/ui/CloseButton'\nimport ConfigDropdown from './ConfigDropdown'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport {\n aspectRatioOptions,\n styleOptions,\n toneOptions,\n lightingOptions,\n cameraOptions,\n} from '../utils'\nimport { apiPostImages } from '@/services/AiService'\nimport { LuImage } from 'react-icons/lu'\nimport { ConfigsVariant, PostImageResponse } from '../type'\n\nconst GeneratorPrompt = () => {\n const [uploadedImage, setUploadedImage] = useState<File[]>([])\n\n const {\n generatorConfig,\n setGeneratorConfig,\n resetGeneratorConfig,\n onGenerateImage,\n onGenerateImageComplete,\n setGeneratedImage,\n isGeneratingImage,\n } = useImageGeneratorStore()\n\n const promptRef = useRef<HTMLTextAreaElement>(null)\n\n const handleClear = () => {\n resetGeneratorConfig()\n }\n\n const handleGenerate = async () => {\n const prompt = promptRef.current?.value\n\n if (!prompt) {\n toast.push(\n <Notification title={'Please enter prompt'} type=\"danger\" />,\n {\n placement: 'top-center',\n },\n )\n promptRef.current?.focus()\n\n return\n }\n onGenerateImage()\n const resp = await apiPostImages<PostImageResponse, { prompt: string }>(\n { prompt },\n )\n if (resp) {\n setGeneratedImage(resp)\n }\n onGenerateImageComplete()\n }\n\n const handleSetGeneratorConfig = (key: ConfigsVariant, value: string) => {\n setGeneratorConfig({ key, value })\n }\n\n const beforeUpload = (files: FileList | null) => {\n let valid: string | boolean = true\n\n const allowedFileType = ['image/jpeg', 'image/png', 'image/webp']\n\n if (files) {\n for (const f of files) {\n if (!allowedFileType.includes(f.type)) {\n valid = 'Please upload a .jpeg or .png file!'\n }\n }\n }\n\n return valid\n }\n\n return (\n <div className=\"rounded-lg p-4 border-2 border-gray-100 dark:border-gray-700\">\n <div className=\"flex gap-4 mb-4\">\n {uploadedImage.length > 0 && (\n <div className=\"max-w-[150px] relative cursor-pointer group\">\n {\n <img\n className=\"rounded-xl\"\n src={URL.createObjectURL(uploadedImage[0])}\n />\n }\n <div className=\"opacity-0 group-hover:opacity-100 bg-black/75 group-hover:flex items-center justify-center rounded-xl absolute top-0 left-0 w-full h-full transition-colors\">\n <CloseButton onClick={() => setUploadedImage([])} />\n </div>\n </div>\n )}\n <div className=\"flex-1\">\n <div className=\"heading-text text-base font-semibold\">\n Prompt\n </div>\n <textarea\n ref={promptRef}\n className=\"w-full resize-none mt-1 placeholder:text-gray-400 bg-transparent focus:outline-none heading-text\"\n placeholder=\"Decribe the image you want to generate\"\n />\n </div>\n </div>\n <div className=\"flex flex-col lg:flex-row gap-6 justify-between\">\n <div className=\"inline-flex flex-wrap gap-2\">\n <Tooltip title=\"Add image\">\n <Upload\n showList={false}\n beforeUpload={beforeUpload}\n uploadLimit={1}\n onChange={setUploadedImage}\n >\n <Button size=\"sm\" icon={<LuImage />} />\n </Upload>\n </Tooltip>\n <ConfigDropdown\n list={aspectRatioOptions}\n value={generatorConfig.aspectRatio}\n onSelect={(value) =>\n handleSetGeneratorConfig('aspectRatio', value)\n }\n />\n <ConfigDropdown\n list={styleOptions}\n value={generatorConfig.style}\n onSelect={(value) =>\n handleSetGeneratorConfig('style', value)\n }\n />\n <ConfigDropdown\n list={toneOptions}\n value={generatorConfig.tone}\n onSelect={(value) =>\n handleSetGeneratorConfig('tone', value)\n }\n />\n <ConfigDropdown\n list={lightingOptions}\n value={generatorConfig.lighting}\n onSelect={(value) =>\n handleSetGeneratorConfig('lighting', value)\n }\n />\n <ConfigDropdown\n list={cameraOptions}\n value={generatorConfig.camera}\n onSelect={(value) =>\n handleSetGeneratorConfig('camera', value)\n }\n />\n </div>\n <div className=\"flex flex-col sm:flex-row sm:justify-end gap-4\">\n <Button size=\"sm\" shape=\"circle\" onClick={handleClear}>\n Clear\n </Button>\n <Button\n size=\"sm\"\n variant=\"solid\"\n shape=\"circle\"\n loading={isGeneratingImage}\n onClick={handleGenerate}\n >\n Generate\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default GeneratorPrompt\n"],"names":["GeneratorPrompt","uploadedImage","setUploadedImage","useState","generatorConfig","setGeneratorConfig","resetGeneratorConfig","onGenerateImage","onGenerateImageComplete","setGeneratedImage","isGeneratingImage","useImageGeneratorStore","promptRef","useRef","handleClear","handleGenerate","prompt","_a","toast","jsx","Notification","_b","resp","apiPostImages","handleSetGeneratorConfig","key","value","beforeUpload","files","valid","allowedFileType","f","jsxs","CloseButton","Tooltip","Upload","Button","LuImage","ConfigDropdown","aspectRatioOptions","styleOptions","toneOptions","lightingOptions","cameraOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeneratorPrompt.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.tsx"],"sourcesContent":["import { useState, useRef } from 'react'\nimport Button from '@/components/ui/Button'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Upload from '@/components/ui/Upload'\nimport toast from '@/components/ui/toast'\nimport Notification from '@/components/ui/Notification'\nimport CloseButton from '@/components/ui/CloseButton'\nimport ConfigDropdown from './ConfigDropdown'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport {\n aspectRatioOptions,\n styleOptions,\n toneOptions,\n lightingOptions,\n cameraOptions,\n} from '../utils'\nimport { apiPostImages } from '@/services/AiService'\nimport { LuImage } from 'react-icons/lu'\nimport { ConfigsVariant, PostImageResponse } from '../type'\n\nconst GeneratorPrompt = () => {\n const [uploadedImage, setUploadedImage] = useState<File[]>([])\n\n const {\n generatorConfig,\n setGeneratorConfig,\n resetGeneratorConfig,\n onGenerateImage,\n onGenerateImageComplete,\n setGeneratedImage,\n isGeneratingImage,\n } = useImageGeneratorStore()\n\n const promptRef = useRef<HTMLTextAreaElement>(null)\n\n const handleClear = () => {\n resetGeneratorConfig()\n }\n\n const handleGenerate = async () => {\n const prompt = promptRef.current?.value\n\n if (!prompt) {\n toast.push(\n <Notification title={'Please enter prompt'} type=\"danger\" />,\n {\n placement: 'top-center',\n },\n )\n promptRef.current?.focus()\n\n return\n }\n onGenerateImage()\n const resp = await apiPostImages<PostImageResponse, { prompt: string }>(\n { prompt },\n )\n if (resp) {\n setGeneratedImage(resp)\n }\n onGenerateImageComplete()\n }\n\n const handleSetGeneratorConfig = (key: ConfigsVariant, value: string) => {\n setGeneratorConfig({ key, value })\n }\n\n const beforeUpload = (files: FileList | null) => {\n let valid: string | boolean = true\n\n const allowedFileType = ['image/jpeg', 'image/png', 'image/webp']\n\n if (files) {\n for (const f of files) {\n if (!allowedFileType.includes(f.type)) {\n valid = 'Please upload a .jpeg or .png file!'\n }\n }\n }\n\n return valid\n }\n\n return (\n <div className=\"rounded-lg p-4 border-2 border-gray-100 dark:border-gray-700\">\n <div className=\"flex gap-4 mb-4\">\n {uploadedImage.length > 0 && (\n <div className=\"max-w-[150px] relative cursor-pointer group\">\n {\n <img\n className=\"rounded-xl\"\n src={URL.createObjectURL(uploadedImage[0])}\n />\n }\n <div className=\"opacity-0 group-hover:opacity-100 bg-black/75 group-hover:flex items-center justify-center rounded-xl absolute top-0 left-0 w-full h-full transition-colors\">\n <CloseButton onClick={() => setUploadedImage([])} />\n </div>\n </div>\n )}\n <div className=\"flex-1\">\n <div className=\"heading-text text-base font-semibold\">\n Prompt\n </div>\n <textarea\n ref={promptRef}\n className=\"w-full resize-none mt-1 placeholder:text-gray-400 bg-transparent focus:outline-none heading-text\"\n placeholder=\"Decribe the image you want to generate\"\n />\n </div>\n </div>\n <div className=\"flex flex-col lg:flex-row gap-6 justify-between\">\n <div className=\"inline-flex flex-wrap gap-2\">\n <Tooltip title=\"Add image\">\n <Upload\n showList={false}\n beforeUpload={beforeUpload}\n uploadLimit={1}\n onChange={setUploadedImage}\n >\n <Button size=\"sm\" icon={<LuImage />} />\n </Upload>\n </Tooltip>\n <ConfigDropdown\n list={aspectRatioOptions}\n value={generatorConfig.aspectRatio}\n onSelect={(value) =>\n handleSetGeneratorConfig('aspectRatio', value)\n }\n />\n <ConfigDropdown\n list={styleOptions}\n value={generatorConfig.style}\n onSelect={(value) =>\n handleSetGeneratorConfig('style', value)\n }\n />\n <ConfigDropdown\n list={toneOptions}\n value={generatorConfig.tone}\n onSelect={(value) =>\n handleSetGeneratorConfig('tone', value)\n }\n />\n <ConfigDropdown\n list={lightingOptions}\n value={generatorConfig.lighting}\n onSelect={(value) =>\n handleSetGeneratorConfig('lighting', value)\n }\n />\n <ConfigDropdown\n list={cameraOptions}\n value={generatorConfig.camera}\n onSelect={(value) =>\n handleSetGeneratorConfig('camera', value)\n }\n />\n </div>\n <div className=\"flex flex-col sm:flex-row sm:justify-end gap-4\">\n <Button size=\"sm\" shape=\"circle\" onClick={handleClear}>\n Clear\n </Button>\n <Button\n size=\"sm\"\n variant=\"solid\"\n shape=\"circle\"\n loading={isGeneratingImage}\n onClick={handleGenerate}\n >\n Generate\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default GeneratorPrompt\n"],"names":["GeneratorPrompt","uploadedImage","setUploadedImage","useState","generatorConfig","setGeneratorConfig","resetGeneratorConfig","onGenerateImage","onGenerateImageComplete","setGeneratedImage","isGeneratingImage","useImageGeneratorStore","promptRef","useRef","handleClear","handleGenerate","prompt","_a","toast","jsx","Notification","_b","resp","apiPostImages","handleSetGeneratorConfig","key","value","beforeUpload","files","valid","allowedFileType","f","jsxs","CloseButton","Tooltip","Upload","Button","LuImage","ConfigDropdown","aspectRatioOptions","styleOptions","toneOptions","lightingOptions","cameraOptions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageDialog.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/ImageDialog.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Tag from '@/components/ui/Tag'\nimport sleep from '@/utils/sleep'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport {\n TbDownload,\n TbHeart,\n TbHeartFilled,\n TbAlertTriangle,\n} from 'react-icons/tb'\n\nconst ImageDialog = () => {\n const { imageDialog, setImageDialog } = useImageGeneratorStore()\n\n const [liked, setLiked] = useState(false)\n\n const handleDialogClose = async () => {\n setImageDialog({\n open: false,\n props: imageDialog.props,\n })\n await sleep(200)\n setImageDialog({\n open: false,\n props: {},\n })\n setLiked(false)\n }\n\n const downloadFile = () => {\n const fileSegment = imageDialog.props.image?.split('/') as string[]\n const fileName = fileSegment[fileSegment?.length - 1]\n const link = document.createElement('a')\n link.href = imageDialog.props.image || ''\n link.setAttribute('download', fileName)\n document.body.appendChild(link)\n link.click()\n link.parentNode?.removeChild(link)\n }\n\n return (\n <Dialog\n isOpen={imageDialog.open}\n width={900}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <div className=\"flex flex-col md:flex-row gap-4\">\n <div className=\"md:max-w-[400px]\">\n <img\n className=\"rounded-xl\"\n src={imageDialog.props.image}\n alt={imageDialog.props.prompt}\n />\n </div>\n <div className=\"flex flex-col justify-between flex-1 gap-4\">\n <div className=\"mt-2\">\n <h5 className=\"font-bold\">Prompt</h5>\n <p className=\"mt-4\">{imageDialog.props.prompt}</p>\n <div className=\"inline-flex gap-2 mt-6\">\n <Tag>Size: {imageDialog.props.size}</Tag>\n <Tag>Ratio: {imageDialog.props.ratio}</Tag>\n {imageDialog.props.type === 'existing' && (\n <Tag>{imageDialog.props.like || 0} Likes</Tag>\n )}\n </div>\n </div>\n <div className=\"flex justify-end gap-2\">\n <Tooltip title=\"Download\">\n <Button\n icon={<TbDownload />}\n shape=\"circle\"\n size=\"sm\"\n onClick={downloadFile}\n />\n </Tooltip>\n {imageDialog.props.type === 'existing' && (\n <Tooltip\n title={\n <div className=\"w-12 text-center\">\n {liked ? 'Dislike' : 'Like'}\n </div>\n }\n >\n <Button\n icon={\n liked ? (\n <TbHeartFilled className=\"text-pink-500\" />\n ) : (\n <TbHeart />\n )\n }\n shape=\"circle\"\n size=\"sm\"\n onClick={() => setLiked(!liked)}\n />\n </Tooltip>\n )}\n <Tooltip title=\"Report\">\n <Button\n icon={<TbAlertTriangle />}\n shape=\"circle\"\n size=\"sm\"\n />\n </Tooltip>\n </div>\n </div>\n </div>\n </Dialog>\n )\n}\n\nexport default ImageDialog\n"],"names":["ImageDialog","imageDialog","setImageDialog","useImageGeneratorStore","liked","setLiked","useState","handleDialogClose","sleep","downloadFile","fileSegment","_a","fileName","link","_b","jsx","Dialog","jsxs","Tag","Tooltip","Button","TbDownload","TbHeartFilled","TbHeart","TbAlertTriangle"],"mappings":";;;;;;;;;;;;;AAcA,MAAMA,IAAc,MAAM;AACtB,QAAM,EAAE,aAAAC,GAAa,gBAAAC,EAAA,IAAmBC,EAAA,GAElC,CAACC,GAAOC,CAAQ,IAAIC,EAAS,EAAK,GAElCC,IAAoB,YAAY;AAClC,IAAAL,EAAe;AAAA,MACX,MAAM;AAAA,MACN,OAAOD,EAAY;AAAA,IAAA,CACtB,GACD,MAAMO,EAAM,GAAG,GACfN,EAAe;AAAA,MACX,MAAM;AAAA,MACN,OAAO,CAAA;AAAA,IAAC,CACX,GACDG,EAAS,EAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"ImageDialog.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/components/ImageDialog.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Tag from '@/components/ui/Tag'\nimport sleep from '@/utils/sleep'\nimport { useImageGeneratorStore } from '../store/imageGeneratorStore'\nimport {\n TbDownload,\n TbHeart,\n TbHeartFilled,\n TbAlertTriangle,\n} from 'react-icons/tb'\n\nconst ImageDialog = () => {\n const { imageDialog, setImageDialog } = useImageGeneratorStore()\n\n const [liked, setLiked] = useState(false)\n\n const handleDialogClose = async () => {\n setImageDialog({\n open: false,\n props: imageDialog.props,\n })\n await sleep(200)\n setImageDialog({\n open: false,\n props: {},\n })\n setLiked(false)\n }\n\n const downloadFile = () => {\n const fileSegment = imageDialog.props.image?.split('/') as string[]\n const fileName = fileSegment[fileSegment?.length - 1]\n const link = document.createElement('a')\n link.href = imageDialog.props.image || ''\n link.setAttribute('download', fileName)\n document.body.appendChild(link)\n link.click()\n link.parentNode?.removeChild(link)\n }\n\n return (\n <Dialog\n isOpen={imageDialog.open}\n width={900}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <div className=\"flex flex-col md:flex-row gap-4\">\n <div className=\"md:max-w-[400px]\">\n <img\n className=\"rounded-xl\"\n src={imageDialog.props.image}\n alt={imageDialog.props.prompt}\n />\n </div>\n <div className=\"flex flex-col justify-between flex-1 gap-4\">\n <div className=\"mt-2\">\n <h5 className=\"font-bold\">Prompt</h5>\n <p className=\"mt-4\">{imageDialog.props.prompt}</p>\n <div className=\"inline-flex gap-2 mt-6\">\n <Tag>Size: {imageDialog.props.size}</Tag>\n <Tag>Ratio: {imageDialog.props.ratio}</Tag>\n {imageDialog.props.type === 'existing' && (\n <Tag>{imageDialog.props.like || 0} Likes</Tag>\n )}\n </div>\n </div>\n <div className=\"flex justify-end gap-2\">\n <Tooltip title=\"Download\">\n <Button\n icon={<TbDownload />}\n shape=\"circle\"\n size=\"sm\"\n onClick={downloadFile}\n />\n </Tooltip>\n {imageDialog.props.type === 'existing' && (\n <Tooltip\n title={\n <div className=\"w-12 text-center\">\n {liked ? 'Dislike' : 'Like'}\n </div>\n }\n >\n <Button\n icon={\n liked ? (\n <TbHeartFilled className=\"text-pink-500\" />\n ) : (\n <TbHeart />\n )\n }\n shape=\"circle\"\n size=\"sm\"\n onClick={() => setLiked(!liked)}\n />\n </Tooltip>\n )}\n <Tooltip title=\"Report\">\n <Button\n icon={<TbAlertTriangle />}\n shape=\"circle\"\n size=\"sm\"\n />\n </Tooltip>\n </div>\n </div>\n </div>\n </Dialog>\n )\n}\n\nexport default ImageDialog\n"],"names":["ImageDialog","imageDialog","setImageDialog","useImageGeneratorStore","liked","setLiked","useState","handleDialogClose","sleep","downloadFile","fileSegment","_a","fileName","link","_b","jsx","Dialog","jsxs","Tag","Tooltip","Button","TbDownload","TbHeartFilled","TbHeart","TbAlertTriangle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageGeneratorStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/store/imageGeneratorStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport { Gallery, GelleryItem, ConfigsVariant, GeneratorConfigs } from '../type'\n\ntype ImageDialog = {\n open: boolean\n props: Partial<GelleryItem> & {\n type?: 'generated' | 'existing'\n }\n}\n\ntype ImageGeneratorState = {\n isGeneratedImagesView: boolean\n isGeneratingImage: boolean\n generatedImage: Gallery\n generatorConfig: GeneratorConfigs\n imageDialog: ImageDialog\n}\n\ntype ImageGeneratorAction = {\n setGeneratorConfig: (payload: {\n key: ConfigsVariant\n value: string\n }) => void\n resetGeneratorConfig: () => void\n setImageDialog: (payload: ImageDialog) => void\n onGenerateImage: () => void\n onGenerateImageComplete: () => void\n setGeneratedImage: (payload: Gallery) => void\n}\n\nconst defaultGeneratoConfig = {\n aspectRatio: 'lanscape',\n style: 'noStyle',\n tone: 'noTone',\n lighting: 'noLighting',\n camera: 'noCamera',\n}\n\nconst initialState: ImageGeneratorState = {\n isGeneratedImagesView: false,\n isGeneratingImage: false,\n generatedImage: [],\n generatorConfig: { ...defaultGeneratoConfig },\n imageDialog: {\n open: false,\n props: {},\n },\n}\n\nexport const useImageGeneratorStore = create<\n ImageGeneratorState & ImageGeneratorAction\n>((set, get) => ({\n ...initialState,\n setGeneratorConfig: ({ key, value }) =>\n set(() => {\n const generatorConfig = get().generatorConfig\n generatorConfig[key] = value\n return { generatorConfig }\n }),\n resetGeneratorConfig: () =>\n set(() => ({ generatorConfig: { ...defaultGeneratoConfig } })),\n setImageDialog: (payload) => set(() => ({ imageDialog: payload })),\n onGenerateImage: () =>\n set(() => ({\n isGeneratedImagesView: true,\n isGeneratingImage: true,\n })),\n onGenerateImageComplete: () =>\n set(() => ({\n isGeneratingImage: false,\n })),\n setGeneratedImage: (payload) =>\n set(() => ({\n generatedImage: payload,\n })),\n}))\n"],"names":["defaultGeneratoConfig","initialState","useImageGeneratorStore","create","set","get","key","value","generatorConfig","payload"],"mappings":";AA8BA,MAAMA,IAAwB;AAAA,EAC1B,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AACZ,GAEMC,IAAoC;AAAA,EACtC,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,gBAAgB,CAAA;AAAA,EAChB,iBAAiB,EAAE,GAAGD,EAAA;AAAA,EACtB,aAAa;AAAA,IACT,MAAM;AAAA,IACN,OAAO,CAAA;AAAA,EAAC;AAEhB,GAEaE,IAAyBC,EAEpC,CAACC,GAAKC,OAAS;AAAA,EACb,GAAGJ;AAAA,EACH,oBAAoB,CAAC,EAAE,KAAAK,GAAK,OAAAC,EAAA,MACxBH,EAAI,MAAM;AACN,UAAMI,IAAkBH,IAAM;AAC9B,WAAAG,EAAgBF,CAAG,IAAIC,GAChB,EAAE,iBAAAC,EAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"imageGeneratorStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Image/store/imageGeneratorStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport { Gallery, GelleryItem, ConfigsVariant, GeneratorConfigs } from '../type'\n\ntype ImageDialog = {\n open: boolean\n props: Partial<GelleryItem> & {\n type?: 'generated' | 'existing'\n }\n}\n\ntype ImageGeneratorState = {\n isGeneratedImagesView: boolean\n isGeneratingImage: boolean\n generatedImage: Gallery\n generatorConfig: GeneratorConfigs\n imageDialog: ImageDialog\n}\n\ntype ImageGeneratorAction = {\n setGeneratorConfig: (payload: {\n key: ConfigsVariant\n value: string\n }) => void\n resetGeneratorConfig: () => void\n setImageDialog: (payload: ImageDialog) => void\n onGenerateImage: () => void\n onGenerateImageComplete: () => void\n setGeneratedImage: (payload: Gallery) => void\n}\n\nconst defaultGeneratoConfig = {\n aspectRatio: 'lanscape',\n style: 'noStyle',\n tone: 'noTone',\n lighting: 'noLighting',\n camera: 'noCamera',\n}\n\nconst initialState: ImageGeneratorState = {\n isGeneratedImagesView: false,\n isGeneratingImage: false,\n generatedImage: [],\n generatorConfig: { ...defaultGeneratoConfig },\n imageDialog: {\n open: false,\n props: {},\n },\n}\n\nexport const useImageGeneratorStore = create<\n ImageGeneratorState & ImageGeneratorAction\n>((set, get) => ({\n ...initialState,\n setGeneratorConfig: ({ key, value }) =>\n set(() => {\n const generatorConfig = get().generatorConfig\n generatorConfig[key] = value\n return { generatorConfig }\n }),\n resetGeneratorConfig: () =>\n set(() => ({ generatorConfig: { ...defaultGeneratoConfig } })),\n setImageDialog: (payload) => set(() => ({ imageDialog: payload })),\n onGenerateImage: () =>\n set(() => ({\n isGeneratedImagesView: true,\n isGeneratingImage: true,\n })),\n onGenerateImageComplete: () =>\n set(() => ({\n isGeneratingImage: false,\n })),\n setGeneratedImage: (payload) =>\n set(() => ({\n generatedImage: payload,\n })),\n}))\n"],"names":["defaultGeneratoConfig","initialState","useImageGeneratorStore","create","set","get","key","value","generatorConfig","payload"],"mappings":";AA8BA,MAAMA,IAAwB;AAAA,EAC1B,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AACZ,GAEMC,IAAoC;AAAA,EACtC,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,gBAAgB,CAAA;AAAA,EAChB,iBAAiB,EAAE,GAAGD,EAAA;AAAA,EACtB,aAAa;AAAA,IACT,MAAM;AAAA,IACN,OAAO,CAAA;AAAA,EAAC;AAEhB,GAEaE,IAAyBC,EAEpC,CAACC,GAAKC,OAAS;AAAA,EACb,GAAGJ;AAAA,EACH,oBAAoB,CAAC,EAAE,KAAAK,GAAK,OAAAC,EAAA,MACxBH,EAAI,MAAM;AACN,UAAMI,IAAkBH,IAAM;AAC9B,WAAAG,EAAgBF,CAAG,IAAIC,GAChB,EAAE,iBAAAC,EAAA;AAAA,EACb,CAAC;AAAA,EACL,sBAAsB,MAClBJ,EAAI,OAAO,EAAE,iBAAiB,EAAE,GAAGJ,EAAA,EAAsB,EAAI;AAAA,EACjE,gBAAgB,CAACS,MAAYL,EAAI,OAAO,EAAE,aAAaK,IAAU;AAAA,EACjE,iBAAiB,MACbL,EAAI,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,EAAA,EACrB;AAAA,EACN,yBAAyB,MACrBA,EAAI,OAAO;AAAA,IACP,mBAAmB;AAAA,EAAA,EACrB;AAAA,EACN,mBAAmB,CAACK,MAChBL,EAAI,OAAO;AAAA,IACP,gBAAgBK;AAAA,EAAA,EAClB;AACV,EAAE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../../../../lib/@ecme/views/concepts/calendar/Calendar/Calendar.tsx"],"sourcesContent":["import { useState } from 'react'\nimport CalendarView from '@/components/shared/CalendarView'\nimport Container from '@/components/shared/Container'\nimport EventDialog from './components/EventDialog'\nimport { apiGetCalendar } from '@/services/CalendarService'\nimport cloneDeep from 'lodash/cloneDeep'\nimport dayjs from 'dayjs'\nimport useSWR from 'swr'\nimport type {\n GetCalendarResponse,\n SelectedCell,\n CalendarEventParam,\n} from './types'\nimport type {\n EventDropArg,\n EventClickArg,\n DateSelectArg,\n} from '@fullcalendar/core'\n\nconst Calendar = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n\n const [selectedCell, setSelectedCell] = useState<SelectedCell>({\n type: '',\n })\n\n const { data: events, mutate } = useSWR(\n '/api/calendar',\n () => apiGetCalendar<GetCalendarResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const handleCellSelect = (event: DateSelectArg) => {\n const { start, end } = event\n setSelectedCell({\n type: 'NEW',\n start: dayjs(start).format(),\n end: dayjs(end).format(),\n })\n setDialogOpen(true)\n }\n\n const handleEventClick = (arg: EventClickArg) => {\n const { start, end, id, title, extendedProps } = arg.event\n\n setSelectedCell({\n type: 'EDIT',\n eventColor: extendedProps.eventColor,\n title,\n start: start ? dayjs(start).toISOString() : undefined,\n end: end ? dayjs(end).toISOString() : undefined,\n id,\n })\n setDialogOpen(true)\n }\n\n const handleEventChange = (arg: EventDropArg) => {\n const newEvents = cloneDeep(events)?.map((event) => {\n if (arg.event.id === event.id) {\n const { id, extendedProps, start, end, title } = arg.event\n event = {\n id,\n start: dayjs(start).format(),\n end: dayjs(end).format(),\n title,\n eventColor: extendedProps.eventColor,\n }\n }\n return event\n })\n mutate(newEvents, false)\n }\n\n const handleSubmit = (data: CalendarEventParam, type: string) => {\n let newEvents = cloneDeep(events)\n if (type === 'NEW') {\n newEvents?.push(data)\n }\n\n if (type === 'EDIT') {\n newEvents = newEvents?.map((event) => {\n if (data.id === event.id) {\n event = data\n }\n return event\n })\n }\n mutate(newEvents, false)\n }\n\n return (\n <Container className=\"h-full\">\n <CalendarView\n editable\n selectable\n events={events}\n eventClick={handleEventClick}\n select={handleCellSelect}\n eventDrop={handleEventChange}\n />\n <EventDialog\n open={dialogOpen}\n selected={selectedCell}\n submit={handleSubmit}\n onDialogOpen={setDialogOpen}\n />\n </Container>\n )\n}\n\nexport default Calendar\n"],"names":["Calendar","dialogOpen","setDialogOpen","useState","selectedCell","setSelectedCell","events","mutate","useSWR","apiGetCalendar","jsxs","Container","jsx","CalendarView","arg","start","end","id","title","extendedProps","dayjs","event","newEvents","_a","cloneDeep","EventDialog","data","type"],"mappings":";;;;;;;;;AAmBA,MAAMA,IAAW,MAAM;AACnB,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAE5C,CAACC,GAAcC,CAAe,IAAIF,EAAuB;AAAA,IAC3D,MAAM;AAAA,EAAA,CACT,GAEK,EAAE,MAAMG,GAAQ,QAAAC,EAAA,IAAWC;AAAA,IAC7B;AAAA,IACA,MAAMC,EAAA;AAAA,IACN;AAAA,MACI,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IAAA;AAAA,EAC3B;AA6DJ,SACI,gBAAAC,EAACC,GAAA,EAAU,WAAU,UACjB,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,UAAQ;AAAA,QACR,YAAU;AAAA,QACV,QAAAP;AAAA,QACA,YAtDa,CAACQ,MAAuB;AAC7C,gBAAM,EAAE,OAAAC,GAAO,KAAAC,GAAK,IAAAC,GAAI,OAAAC,GAAO,eAAAC,EAAA,IAAkBL,EAAI;AAErD,UAAAT,EAAgB;AAAA,YACZ,MAAM;AAAA,YACN,YAAYc,EAAc;AAAA,YAC1B,OAAAD;AAAA,YACA,OAAOH,IAAQK,EAAML,CAAK,EAAE,gBAAgB;AAAA,YAC5C,KAAKC,IAAMI,EAAMJ,CAAG,EAAE,gBAAgB;AAAA,YACtC,IAAAC;AAAA,UAAA,CACH,GACDf,EAAc,EAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../../../../lib/@ecme/views/concepts/calendar/Calendar/Calendar.tsx"],"sourcesContent":["import { useState } from 'react'\nimport CalendarView from '@/components/shared/CalendarView'\nimport Container from '@/components/shared/Container'\nimport EventDialog from './components/EventDialog'\nimport { apiGetCalendar } from '@/services/CalendarService'\nimport cloneDeep from 'lodash/cloneDeep'\nimport dayjs from 'dayjs'\nimport useSWR from 'swr'\nimport type {\n GetCalendarResponse,\n SelectedCell,\n CalendarEventParam,\n} from './types'\nimport type {\n EventDropArg,\n EventClickArg,\n DateSelectArg,\n} from '@fullcalendar/core'\n\nconst Calendar = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n\n const [selectedCell, setSelectedCell] = useState<SelectedCell>({\n type: '',\n })\n\n const { data: events, mutate } = useSWR(\n '/api/calendar',\n () => apiGetCalendar<GetCalendarResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const handleCellSelect = (event: DateSelectArg) => {\n const { start, end } = event\n setSelectedCell({\n type: 'NEW',\n start: dayjs(start).format(),\n end: dayjs(end).format(),\n })\n setDialogOpen(true)\n }\n\n const handleEventClick = (arg: EventClickArg) => {\n const { start, end, id, title, extendedProps } = arg.event\n\n setSelectedCell({\n type: 'EDIT',\n eventColor: extendedProps.eventColor,\n title,\n start: start ? dayjs(start).toISOString() : undefined,\n end: end ? dayjs(end).toISOString() : undefined,\n id,\n })\n setDialogOpen(true)\n }\n\n const handleEventChange = (arg: EventDropArg) => {\n const newEvents = cloneDeep(events)?.map((event) => {\n if (arg.event.id === event.id) {\n const { id, extendedProps, start, end, title } = arg.event\n event = {\n id,\n start: dayjs(start).format(),\n end: dayjs(end).format(),\n title,\n eventColor: extendedProps.eventColor,\n }\n }\n return event\n })\n mutate(newEvents, false)\n }\n\n const handleSubmit = (data: CalendarEventParam, type: string) => {\n let newEvents = cloneDeep(events)\n if (type === 'NEW') {\n newEvents?.push(data)\n }\n\n if (type === 'EDIT') {\n newEvents = newEvents?.map((event) => {\n if (data.id === event.id) {\n event = data\n }\n return event\n })\n }\n mutate(newEvents, false)\n }\n\n return (\n <Container className=\"h-full\">\n <CalendarView\n editable\n selectable\n events={events}\n eventClick={handleEventClick}\n select={handleCellSelect}\n eventDrop={handleEventChange}\n />\n <EventDialog\n open={dialogOpen}\n selected={selectedCell}\n submit={handleSubmit}\n onDialogOpen={setDialogOpen}\n />\n </Container>\n )\n}\n\nexport default Calendar\n"],"names":["Calendar","dialogOpen","setDialogOpen","useState","selectedCell","setSelectedCell","events","mutate","useSWR","apiGetCalendar","jsxs","Container","jsx","CalendarView","arg","start","end","id","title","extendedProps","dayjs","event","newEvents","_a","cloneDeep","EventDialog","data","type"],"mappings":";;;;;;;;;AAmBA,MAAMA,IAAW,MAAM;AACnB,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAE5C,CAACC,GAAcC,CAAe,IAAIF,EAAuB;AAAA,IAC3D,MAAM;AAAA,EAAA,CACT,GAEK,EAAE,MAAMG,GAAQ,QAAAC,EAAA,IAAWC;AAAA,IAC7B;AAAA,IACA,MAAMC,EAAA;AAAA,IACN;AAAA,MACI,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IAAA;AAAA,EAC3B;AA6DJ,SACI,gBAAAC,EAACC,GAAA,EAAU,WAAU,UACjB,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,UAAQ;AAAA,QACR,YAAU;AAAA,QACV,QAAAP;AAAA,QACA,YAtDa,CAACQ,MAAuB;AAC7C,gBAAM,EAAE,OAAAC,GAAO,KAAAC,GAAK,IAAAC,GAAI,OAAAC,GAAO,eAAAC,EAAA,IAAkBL,EAAI;AAErD,UAAAT,EAAgB;AAAA,YACZ,MAAM;AAAA,YACN,YAAYc,EAAc;AAAA,YAC1B,OAAAD;AAAA,YACA,OAAOH,IAAQK,EAAML,CAAK,EAAE,gBAAgB;AAAA,YAC5C,KAAKC,IAAMI,EAAMJ,CAAG,EAAE,gBAAgB;AAAA,YACtC,IAAAC;AAAA,UAAA,CACH,GACDf,EAAc,EAAI;AAAA,QACtB;AAAA,QA2CY,QAjEa,CAACmB,MAAyB;AAC/C,gBAAM,EAAE,OAAAN,GAAO,KAAAC,EAAA,IAAQK;AACvB,UAAAhB,EAAgB;AAAA,YACZ,MAAM;AAAA,YACN,OAAOe,EAAML,CAAK,EAAE,OAAA;AAAA,YACpB,KAAKK,EAAMJ,CAAG,EAAE,OAAA;AAAA,UAAO,CAC1B,GACDd,EAAc,EAAI;AAAA,QACtB;AAAA,QA0DY,WA1Cc,CAACY,MAAsB;;AAC7C,gBAAMQ,KAAYC,IAAAC,EAAUlB,CAAM,MAAhB,gBAAAiB,EAAmB,IAAI,CAACF,MAAU;AAChD,gBAAIP,EAAI,MAAM,OAAOO,EAAM,IAAI;AAC3B,oBAAM,EAAE,IAAAJ,GAAI,eAAAE,GAAe,OAAAJ,GAAO,KAAAC,GAAK,OAAAE,EAAA,IAAUJ,EAAI;AACrD,cAAAO,IAAQ;AAAA,gBACJ,IAAAJ;AAAA,gBACA,OAAOG,EAAML,CAAK,EAAE,OAAA;AAAA,gBACpB,KAAKK,EAAMJ,CAAG,EAAE,OAAA;AAAA,gBAChB,OAAAE;AAAA,gBACA,YAAYC,EAAc;AAAA,cAAA;AAAA,YAElC;AACA,mBAAOE;AAAA,UACX;AACA,UAAAd,EAAOe,GAAW,EAAK;AAAA,QAC3B;AAAA,MA2BuB;AAAA,IAAA;AAAA,IAEf,gBAAAV;AAAA,MAACa;AAAA,MAAA;AAAA,QACG,MAAMxB;AAAA,QACN,UAAUG;AAAA,QACV,QA9BS,CAACsB,GAA0BC,MAAiB;AAC7D,cAAIL,IAAYE,EAAUlB,CAAM;AAChC,UAAIqB,MAAS,UACTL,KAAA,QAAAA,EAAW,KAAKI,KAGhBC,MAAS,WACTL,IAAYA,KAAA,gBAAAA,EAAW,IAAI,CAACD,OACpBK,EAAK,OAAOL,EAAM,OAClBA,IAAQK,IAELL,MAGfd,EAAOe,GAAW,EAAK;AAAA,QAC3B;AAAA,QAgBY,cAAcpB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACJ;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventDialog.js","sources":["../../../../../../../lib/@ecme/views/concepts/calendar/Calendar/components/EventDialog.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Select from '@/components/ui/Select'\nimport DatePicker from '@/components/ui/DatePicker'\nimport Dialog from '@/components/ui/Dialog'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport Badge from '@/components/ui/Badge'\nimport hooks from '@/components/ui/hooks'\nimport { Controller, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { TbChecks } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport dayjs from 'dayjs'\nimport type { SelectedCell } from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\n\ntype FormModel = {\n title: string\n startDate: Date\n endDate: Date\n color: string\n}\n\nexport type EventParam = {\n id: string\n title: string\n start: string\n eventColor: string\n end?: string\n}\n\ntype ColorOption = {\n value: string\n label: string\n color: string\n}\n\ntype EventDialogProps = {\n open: boolean\n selected: SelectedCell\n onDialogOpen: (open: boolean) => void\n submit: (eventData: EventParam, type: string) => void\n}\n\nconst { Control } = components\n\nconst { useUniqueId } = hooks\n\nconst colorOptions = [\n {\n value: 'red',\n label: 'red',\n color: 'bg-red-400',\n },\n {\n value: 'orange',\n label: 'orange',\n color: 'bg-orange-400',\n },\n {\n value: 'yellow',\n label: 'yellow',\n color: 'bg-yellow-400',\n },\n {\n value: 'green',\n label: 'green',\n color: 'bg-green-400',\n },\n {\n value: 'blue',\n label: 'blue',\n color: 'bg-blue-400',\n },\n {\n value: 'purple',\n label: 'purple',\n color: 'bg-purple-400',\n },\n]\n\nconst CustomSelectOption = ({\n innerProps,\n label,\n data,\n isSelected,\n}: OptionProps<ColorOption>) => {\n return (\n <div\n className={`flex items-center justify-between rounded-lg p-2 ${\n isSelected\n ? 'bg-gray-100 dark:bg-gray-500'\n : 'hover:bg-gray-50 dark:hover:bg-gray-600'\n }`}\n {...innerProps}\n >\n <div className=\"flex items-center\">\n <Badge className={data.color} />\n <span className=\"ml-2 rtl:mr-2 capitalize\">{label}</span>\n </div>\n {isSelected && <TbChecks className=\"text-emerald-500 text-xl\" />}\n </div>\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<ColorOption>) => {\n const selected = props.getValue()[0]\n\n return (\n <Control className=\"capitalize\" {...props}>\n {selected && (\n <Badge className={`${selected.color} ltr:ml-4 rtl:mr-4`} />\n )}\n {children}\n </Control>\n )\n}\n\nconst validationSchema = z.object({\n title: z.string().min(1, { message: 'Event title required' }),\n startDate: z.date({\n required_error: 'Please select a date',\n invalid_type_error: \"That's not a date!\",\n }),\n endDate: z.date({\n required_error: 'Please select a date',\n invalid_type_error: \"That's not a date!\",\n }),\n color: z.string().min(1, { message: 'Color required' }),\n})\n\nconst EventDialog = (props: EventDialogProps) => {\n const { submit, open, selected, onDialogOpen } = props\n\n const newId = useUniqueId('event-')\n\n const handleDialogClose = () => {\n onDialogOpen(false)\n }\n\n const onSubmit = (values: FormModel) => {\n const eventData: EventParam = {\n id: selected.id || newId,\n title: values.title,\n start: dayjs(values.startDate).format(),\n eventColor: values.color,\n }\n if (values.endDate) {\n eventData.end = dayjs(values.endDate).format()\n }\n console.log('eventData', eventData)\n submit?.(eventData, selected.type)\n handleDialogClose()\n }\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<FormModel>({\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (selected) {\n reset({\n title: selected.title || '',\n startDate: (selected.start &&\n dayjs(selected.start).toDate()) as Date,\n endDate: (selected.end && dayjs(selected.end).toDate()) as Date,\n color: selected.eventColor || colorOptions[0].value,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected])\n\n return (\n <Dialog\n isOpen={open}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <h5 className=\"mb-4\">\n {selected.type === 'NEW' ? 'Add New Event' : 'Edit Event'}\n </h5>\n <Form\n className=\"flex-1 flex flex-col\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <FormItem\n label=\"Event title\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Event title\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Start date\"\n invalid={Boolean(errors.startDate)}\n errorMessage={errors.startDate?.message}\n >\n <Controller\n name=\"startDate\"\n control={control}\n render={({ field }) => (\n <DatePicker\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"End date\"\n invalid={Boolean(errors.endDate)}\n errorMessage={errors.endDate?.message}\n >\n <Controller\n name=\"endDate\"\n control={control}\n render={({ field }) => (\n <DatePicker\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Event color\"\n asterisk={true}\n invalid={Boolean(errors.color)}\n errorMessage={errors.color?.message}\n >\n <Controller\n name=\"color\"\n control={control}\n render={({ field }) => (\n <Select<ColorOption>\n options={colorOptions}\n value={colorOptions.filter(\n (option) => option.value === field.value,\n )}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n onChange={(selected) => {\n field.onChange(selected?.value)\n }}\n />\n )}\n />\n </FormItem>\n <FormItem className=\"mb-0 text-right rtl:text-left\">\n <Button block variant=\"solid\" type=\"submit\">\n {selected.type === 'NEW' ? 'Create' : 'Update'}\n </Button>\n </FormItem>\n </Form>\n </Dialog>\n )\n}\n\nexport default EventDialog\n"],"names":["Control","components","useUniqueId","hooks","colorOptions","CustomSelectOption","innerProps","label","data","isSelected","jsxs","jsx","Badge","TbChecks","CustomControl","children","props","selected","validationSchema","z","EventDialog","submit","open","onDialogOpen","newId","handleDialogClose","onSubmit","values","eventData","dayjs","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","Dialog","Form","FormItem","_a","Controller","field","Input","_b","DatePicker","_c","_d","Select","option","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventDialog.js","sources":["../../../../../../../lib/@ecme/views/concepts/calendar/Calendar/components/EventDialog.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Select from '@/components/ui/Select'\nimport DatePicker from '@/components/ui/DatePicker'\nimport Dialog from '@/components/ui/Dialog'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport Badge from '@/components/ui/Badge'\nimport hooks from '@/components/ui/hooks'\nimport { Controller, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { TbChecks } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport dayjs from 'dayjs'\nimport type { SelectedCell } from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\n\ntype FormModel = {\n title: string\n startDate: Date\n endDate: Date\n color: string\n}\n\nexport type EventParam = {\n id: string\n title: string\n start: string\n eventColor: string\n end?: string\n}\n\ntype ColorOption = {\n value: string\n label: string\n color: string\n}\n\ntype EventDialogProps = {\n open: boolean\n selected: SelectedCell\n onDialogOpen: (open: boolean) => void\n submit: (eventData: EventParam, type: string) => void\n}\n\nconst { Control } = components\n\nconst { useUniqueId } = hooks\n\nconst colorOptions = [\n {\n value: 'red',\n label: 'red',\n color: 'bg-red-400',\n },\n {\n value: 'orange',\n label: 'orange',\n color: 'bg-orange-400',\n },\n {\n value: 'yellow',\n label: 'yellow',\n color: 'bg-yellow-400',\n },\n {\n value: 'green',\n label: 'green',\n color: 'bg-green-400',\n },\n {\n value: 'blue',\n label: 'blue',\n color: 'bg-blue-400',\n },\n {\n value: 'purple',\n label: 'purple',\n color: 'bg-purple-400',\n },\n]\n\nconst CustomSelectOption = ({\n innerProps,\n label,\n data,\n isSelected,\n}: OptionProps<ColorOption>) => {\n return (\n <div\n className={`flex items-center justify-between rounded-lg p-2 ${\n isSelected\n ? 'bg-gray-100 dark:bg-gray-500'\n : 'hover:bg-gray-50 dark:hover:bg-gray-600'\n }`}\n {...innerProps}\n >\n <div className=\"flex items-center\">\n <Badge className={data.color} />\n <span className=\"ml-2 rtl:mr-2 capitalize\">{label}</span>\n </div>\n {isSelected && <TbChecks className=\"text-emerald-500 text-xl\" />}\n </div>\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<ColorOption>) => {\n const selected = props.getValue()[0]\n\n return (\n <Control className=\"capitalize\" {...props}>\n {selected && (\n <Badge className={`${selected.color} ltr:ml-4 rtl:mr-4`} />\n )}\n {children}\n </Control>\n )\n}\n\nconst validationSchema = z.object({\n title: z.string().min(1, { message: 'Event title required' }),\n startDate: z.date({\n required_error: 'Please select a date',\n invalid_type_error: \"That's not a date!\",\n }),\n endDate: z.date({\n required_error: 'Please select a date',\n invalid_type_error: \"That's not a date!\",\n }),\n color: z.string().min(1, { message: 'Color required' }),\n})\n\nconst EventDialog = (props: EventDialogProps) => {\n const { submit, open, selected, onDialogOpen } = props\n\n const newId = useUniqueId('event-')\n\n const handleDialogClose = () => {\n onDialogOpen(false)\n }\n\n const onSubmit = (values: FormModel) => {\n const eventData: EventParam = {\n id: selected.id || newId,\n title: values.title,\n start: dayjs(values.startDate).format(),\n eventColor: values.color,\n }\n if (values.endDate) {\n eventData.end = dayjs(values.endDate).format()\n }\n console.log('eventData', eventData)\n submit?.(eventData, selected.type)\n handleDialogClose()\n }\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<FormModel>({\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (selected) {\n reset({\n title: selected.title || '',\n startDate: (selected.start &&\n dayjs(selected.start).toDate()) as Date,\n endDate: (selected.end && dayjs(selected.end).toDate()) as Date,\n color: selected.eventColor || colorOptions[0].value,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected])\n\n return (\n <Dialog\n isOpen={open}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <h5 className=\"mb-4\">\n {selected.type === 'NEW' ? 'Add New Event' : 'Edit Event'}\n </h5>\n <Form\n className=\"flex-1 flex flex-col\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <FormItem\n label=\"Event title\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Event title\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Start date\"\n invalid={Boolean(errors.startDate)}\n errorMessage={errors.startDate?.message}\n >\n <Controller\n name=\"startDate\"\n control={control}\n render={({ field }) => (\n <DatePicker\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"End date\"\n invalid={Boolean(errors.endDate)}\n errorMessage={errors.endDate?.message}\n >\n <Controller\n name=\"endDate\"\n control={control}\n render={({ field }) => (\n <DatePicker\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Event color\"\n asterisk={true}\n invalid={Boolean(errors.color)}\n errorMessage={errors.color?.message}\n >\n <Controller\n name=\"color\"\n control={control}\n render={({ field }) => (\n <Select<ColorOption>\n options={colorOptions}\n value={colorOptions.filter(\n (option) => option.value === field.value,\n )}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n onChange={(selected) => {\n field.onChange(selected?.value)\n }}\n />\n )}\n />\n </FormItem>\n <FormItem className=\"mb-0 text-right rtl:text-left\">\n <Button block variant=\"solid\" type=\"submit\">\n {selected.type === 'NEW' ? 'Create' : 'Update'}\n </Button>\n </FormItem>\n </Form>\n </Dialog>\n )\n}\n\nexport default EventDialog\n"],"names":["Control","components","useUniqueId","hooks","colorOptions","CustomSelectOption","innerProps","label","data","isSelected","jsxs","jsx","Badge","TbChecks","CustomControl","children","props","selected","validationSchema","z","EventDialog","submit","open","onDialogOpen","newId","handleDialogClose","onSubmit","values","eventData","dayjs","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","Dialog","Form","FormItem","_a","Controller","field","Input","_b","DatePicker","_c","_d","Select","option","Button"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatAction.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Dropdown from '@/components/ui/Dropdown'\nimport { useChatStore } from '../store/chatStore'\nimport {\n TbDotsVertical,\n TbBell,\n TbBellOff,\n TbShare3,\n TbTrash,\n TbUserPlus,\n} from 'react-icons/tb'\nimport type { DropdownRef } from '@/components/ui/Dropdown'\n\ntype ChatActionProps = {\n muted?: boolean\n}\n\nconst ChatAction = ({ muted }: ChatActionProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const deleteConversationRecord = useChatStore(\n (state) => state.deleteConversationRecord,\n )\n const setChatMute = useChatStore((state) => state.setChatMute)\n\n const handleMute = () => {\n const nextMuted = !selectedChat.muted\n setSelectedChat({ ...selectedChat, muted: nextMuted })\n setChatMute({ id: selectedChat.id as string, muted: nextMuted })\n }\n\n const handleDelete = () => {\n deleteConversationRecord(selectedChat.id as string)\n setSelectedChat({})\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <Dropdown\n ref={dropdownRef}\n placement=\"bottom-end\"\n renderTitle={\n <button className=\"outline-none rounded-full p-2 text-xl bg-white dark:bg-gray-500 hover:bg-gray-200 dark:hover:bg-gray-400 hover:text-gray-800 dark:text-gray-200 dark:hover:text-gray-100\">\n <TbDotsVertical />\n </button>\n }\n >\n <Dropdown.Item eventKey=\"mute\" onClick={handleMute}>\n <span className=\"text-lg\">\n {muted ? <TbBellOff /> : <TbBell />}\n </span>\n <span>{muted ? 'Unmute' : 'Mute'}</span>\n </Dropdown.Item>\n {selectedChat.chatType === 'groups' ? (\n <Dropdown.Item eventKey=\"inviteMember\">\n <span className=\"text-lg\">\n <TbUserPlus />\n </span>\n <span>Invite member</span>\n </Dropdown.Item>\n ) : (\n <Dropdown.Item eventKey=\"shareContact\">\n <span className=\"text-lg\">\n <TbShare3 />\n </span>\n <span>Share contact</span>\n </Dropdown.Item>\n )}\n <Dropdown.Item eventKey=\"delete\" onClick={handleDelete}>\n <span className=\"text-lg text-error\">\n <TbTrash />\n </span>\n <span className=\"text-error\">Delete</span>\n </Dropdown.Item>\n </Dropdown>\n </div>\n )\n}\n\nexport default ChatAction\n"],"names":["ChatAction","muted","dropdownRef","useRef","selectedChat","useChatStore","state","setSelectedChat","deleteConversationRecord","setChatMute","handleMute","nextMuted","handleDelete","jsx","jsxs","Dropdown","TbDotsVertical","TbBellOff","TbBell","TbUserPlus","TbShare3","TbTrash"],"mappings":";;;;;AAiBA,MAAMA,IAAa,CAAC,EAAE,OAAAC,QAA6B;AAC/C,QAAMC,IAAcC,EAAoB,IAAI,GACtCC,IAAeC,EAAa,CAACC,MAAUA,EAAM,YAAY,GACzDC,IAAkBF,EAAa,CAACC,MAAUA,EAAM,eAAe,GAC/DE,IAA2BH;AAAA,IAC7B,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfG,IAAcJ,EAAa,CAACC,MAAUA,EAAM,WAAW,GAEvDI,IAAa,MAAM;AACrB,UAAMC,IAAY,CAACP,EAAa;AAChC,IAAAG,EAAgB,EAAE,GAAGH,GAAc,OAAOO,GAAW,GACrDF,EAAY,EAAE,IAAIL,EAAa,IAAc,OAAOO,GAAW;AAAA,
|
|
1
|
+
{"version":3,"file":"ChatAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatAction.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Dropdown from '@/components/ui/Dropdown'\nimport { useChatStore } from '../store/chatStore'\nimport {\n TbDotsVertical,\n TbBell,\n TbBellOff,\n TbShare3,\n TbTrash,\n TbUserPlus,\n} from 'react-icons/tb'\nimport type { DropdownRef } from '@/components/ui/Dropdown'\n\ntype ChatActionProps = {\n muted?: boolean\n}\n\nconst ChatAction = ({ muted }: ChatActionProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const deleteConversationRecord = useChatStore(\n (state) => state.deleteConversationRecord,\n )\n const setChatMute = useChatStore((state) => state.setChatMute)\n\n const handleMute = () => {\n const nextMuted = !selectedChat.muted\n setSelectedChat({ ...selectedChat, muted: nextMuted })\n setChatMute({ id: selectedChat.id as string, muted: nextMuted })\n }\n\n const handleDelete = () => {\n deleteConversationRecord(selectedChat.id as string)\n setSelectedChat({})\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <Dropdown\n ref={dropdownRef}\n placement=\"bottom-end\"\n renderTitle={\n <button className=\"outline-none rounded-full p-2 text-xl bg-white dark:bg-gray-500 hover:bg-gray-200 dark:hover:bg-gray-400 hover:text-gray-800 dark:text-gray-200 dark:hover:text-gray-100\">\n <TbDotsVertical />\n </button>\n }\n >\n <Dropdown.Item eventKey=\"mute\" onClick={handleMute}>\n <span className=\"text-lg\">\n {muted ? <TbBellOff /> : <TbBell />}\n </span>\n <span>{muted ? 'Unmute' : 'Mute'}</span>\n </Dropdown.Item>\n {selectedChat.chatType === 'groups' ? (\n <Dropdown.Item eventKey=\"inviteMember\">\n <span className=\"text-lg\">\n <TbUserPlus />\n </span>\n <span>Invite member</span>\n </Dropdown.Item>\n ) : (\n <Dropdown.Item eventKey=\"shareContact\">\n <span className=\"text-lg\">\n <TbShare3 />\n </span>\n <span>Share contact</span>\n </Dropdown.Item>\n )}\n <Dropdown.Item eventKey=\"delete\" onClick={handleDelete}>\n <span className=\"text-lg text-error\">\n <TbTrash />\n </span>\n <span className=\"text-error\">Delete</span>\n </Dropdown.Item>\n </Dropdown>\n </div>\n )\n}\n\nexport default ChatAction\n"],"names":["ChatAction","muted","dropdownRef","useRef","selectedChat","useChatStore","state","setSelectedChat","deleteConversationRecord","setChatMute","handleMute","nextMuted","handleDelete","jsx","jsxs","Dropdown","TbDotsVertical","TbBellOff","TbBell","TbUserPlus","TbShare3","TbTrash"],"mappings":";;;;;AAiBA,MAAMA,IAAa,CAAC,EAAE,OAAAC,QAA6B;AAC/C,QAAMC,IAAcC,EAAoB,IAAI,GACtCC,IAAeC,EAAa,CAACC,MAAUA,EAAM,YAAY,GACzDC,IAAkBF,EAAa,CAACC,MAAUA,EAAM,eAAe,GAC/DE,IAA2BH;AAAA,IAC7B,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfG,IAAcJ,EAAa,CAACC,MAAUA,EAAM,WAAW,GAEvDI,IAAa,MAAM;AACrB,UAAMC,IAAY,CAACP,EAAa;AAChC,IAAAG,EAAgB,EAAE,GAAGH,GAAc,OAAOO,GAAW,GACrDF,EAAY,EAAE,IAAIL,EAAa,IAAc,OAAOO,GAAW;AAAA,EACnE,GAEMC,IAAe,MAAM;AACvB,IAAAJ,EAAyBJ,EAAa,EAAY,GAClDG,EAAgB,CAAA,CAAE;AAAA,EACtB;AAEA,SACI,gBAAAM,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,KAAKb;AAAA,MACL,WAAU;AAAA,MACV,aACI,gBAAAW,EAAC,UAAA,EAAO,WAAU,4KACd,UAAA,gBAAAA,EAACG,KAAe,GACpB;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAAF,EAACC,EAAS,MAAT,EAAc,UAAS,QAAO,SAASL,GACpC,UAAA;AAAA,UAAA,gBAAAG,EAAC,QAAA,EAAK,WAAU,WACX,UAAAZ,sBAASgB,GAAA,CAAA,CAAU,IAAK,gBAAAJ,EAACK,GAAA,CAAA,CAAO,EAAA,CACrC;AAAA,UACA,gBAAAL,EAAC,QAAA,EAAM,UAAAZ,IAAQ,WAAW,OAAA,CAAO;AAAA,QAAA,GACrC;AAAA,QACCG,EAAa,aAAa,WACvB,gBAAAU,EAACC,EAAS,MAAT,EAAc,UAAS,gBACpB,UAAA;AAAA,UAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,WACZ,UAAA,gBAAAA,EAACM,KAAW,GAChB;AAAA,UACA,gBAAAN,EAAC,UAAK,UAAA,gBAAA,CAAa;AAAA,QAAA,EAAA,CACvB,IAEA,gBAAAC,EAACC,EAAS,MAAT,EAAc,UAAS,gBACpB,UAAA;AAAA,UAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,WACZ,UAAA,gBAAAA,EAACO,KAAS,GACd;AAAA,UACA,gBAAAP,EAAC,UAAK,UAAA,gBAAA,CAAa;AAAA,QAAA,GACvB;AAAA,0BAEHE,EAAS,MAAT,EAAc,UAAS,UAAS,SAASH,GACtC,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,sBACZ,UAAA,gBAAAA,EAACQ,KAAQ,GACb;AAAA,UACA,gBAAAR,EAAC,QAAA,EAAK,WAAU,cAAa,UAAA,SAAA,CAAM;AAAA,QAAA,EAAA,CACvC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatBody.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatBody.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Card from '@/components/ui/Card'\nimport ChatBox from '@/components/view/ChatBox'\nimport ChatAction from './ChatAction'\nimport StartConverstation from '@/assets/svg/StartConverstation'\nimport { useChatStore } from '../store/chatStore'\nimport { apiGetConversation } from '@/services/ChatService'\nimport classNames from '@/utils/classNames'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport { TbChevronLeft } from 'react-icons/tb'\nimport type { GetConversationResponse, Message, ChatType } from '../types'\nimport type { ScrollBarRef } from '@/components/ui/ScrollBar'\n\nconst getFileType = (file: File) => {\n console.log('file.type', file.type)\n switch (file.type) {\n case 'image/jpg':\n case 'image/jpeg':\n case 'image/png':\n case 'image/webp':\n return 'image'\n case 'video/mp4':\n case 'video/avi':\n return 'video'\n case 'audio/mp3':\n case 'audio/wav':\n return 'audio'\n default:\n return 'misc'\n }\n}\n\nconst ChatBody = () => {\n const scrollRef = useRef<ScrollBarRef>(null)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const conversationRecord = useChatStore((state) => state.conversationRecord)\n const pushConversationRecord = useChatStore(\n (state) => state.pushConversationRecord,\n )\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const pushConversationMessage = useChatStore(\n (state) => state.pushConversationMessage,\n )\n const setContactInfoDrawer = useChatStore(\n (state) => state.setContactInfoDrawer,\n )\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, setIsFetchingConversation] = useState(false)\n const [conversation, setConversation] = useState<Message[]>([])\n\n const { smaller } = useResponsive()\n\n const scrollToBottom = () => {\n if (scrollRef.current?.getScrollElement) {\n const scrollElement = scrollRef.current.getScrollElement()\n if (scrollElement) {\n scrollElement.scrollTop = scrollElement.scrollHeight\n }\n }\n }\n\n const handleProfileClick = () => {\n setContactInfoDrawer({\n userId: selectedChat.user?.id as string,\n chatId: selectedChat.id as string,\n chatType: selectedChat.chatType as ChatType,\n open: true,\n })\n }\n\n const handlePushMessage = (message: Message) => {\n pushConversationMessage(selectedChat.id as string, message)\n setConversation((prevConversation) => {\n prevConversation.push(message)\n return structuredClone(prevConversation)\n })\n }\n\n const handleInputChange = async ({\n value,\n attachments,\n }: {\n value: string\n attachments?: File[]\n }) => {\n const newMessage: Message = {\n id: uniqueId('chat-conversation-'),\n sender: {\n id: '1',\n name: 'Angelina Gotelli',\n avatarImageUrl: '/img/avatars/thumb-1.jpg',\n },\n content: value,\n attachments: attachments?.map((attachment) => {\n return {\n type: getFileType(attachment),\n source: attachment,\n mediaUrl: URL.createObjectURL(attachment),\n }\n }),\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n }\n handlePushMessage(newMessage)\n }\n\n const cardHeaderProps = {\n header: {\n content: (\n <div className=\"flex items-center gap-2\">\n {smaller.md && (\n <button\n className=\"text-xl hover:text-primary\"\n onClick={() => setSelectedChat({})}\n >\n <TbChevronLeft />\n </button>\n )}\n <button\n className=\"flex items-center gap-2\"\n role=\"button\"\n onClick={handleProfileClick}\n >\n <div>\n <Avatar src={selectedChat.user?.avatarImageUrl} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold heading-text truncate\">\n {selectedChat.user?.name}\n </div>\n </div>\n <div>\n {selectedChat?.chatType === 'groups'\n ? 'click here for group info'\n : 'last seen recently'}\n </div>\n </div>\n </button>\n </div>\n ),\n extra: <ChatAction muted={selectedChat.muted} />,\n className: 'bg-gray-100 dark:bg-gray-600 h-[100px]',\n },\n }\n\n useEffect(() => {\n const fetchConvesation = async () => {\n setIsFetchingConversation(true)\n\n const record = conversationRecord.find(\n (item) => item.id === selectedChat.id,\n )\n\n if (record) {\n setConversation(record.conversation)\n } else {\n const resp = await apiGetConversation<GetConversationResponse>({\n id: selectedChat.id as string,\n })\n setConversation(resp.conversation)\n pushConversationRecord(resp)\n }\n\n setIsFetchingConversation(false)\n scrollToBottom()\n }\n\n if (selectedChat.id) {\n setConversation([])\n fetchConvesation()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedChat.id, conversation])\n\n const messageList = useMemo(() => {\n return conversation.map((item) => {\n item.timestamp = dayjs\n .unix(item.timestamp as number)\n .toDate() as Date\n if (item.isMyMessage) {\n item.showAvatar = false\n }\n return item\n })\n }, [conversation])\n\n return (\n <div\n className={classNames(\n 'w-full md:block',\n !selectedChat.id && 'hidden',\n )}\n >\n {selectedChat.id ? (\n <Card\n className=\"flex-1 h-full max-h-full dark:border-gray-700\"\n bodyClass=\"h-[calc(100%-100px)] relative\"\n {...cardHeaderProps}\n >\n <ChatBox\n ref={scrollRef}\n messageList={messageList}\n placeholder=\"Enter a prompt here\"\n showAvatar={true}\n avatarGap={true}\n messageListClass=\"h-[calc(100%-100px)]\"\n bubbleClass=\"max-w-[300px]\"\n onInputChange={handleInputChange}\n />\n </Card>\n ) : (\n <div className=\"flex-1 h-full max-h-full flex flex-col items-center justify-center rounded-2xl border border-gray-200 dark:border-gray-800\">\n <StartConverstation height={250} width={250} />\n <div className=\"mt-10 text-center\">\n <h3>Start Chatting!</h3>\n <p className=\"mt-2 text-base\">\n Pick a Conversation or Begin a New One\n </p>\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport default ChatBody\n"],"names":["getFileType","file","ChatBody","scrollRef","useRef","selectedChat","useChatStore","state","conversationRecord","pushConversationRecord","setSelectedChat","pushConversationMessage","setContactInfoDrawer","_","setIsFetchingConversation","useState","conversation","setConversation","smaller","useResponsive","scrollToBottom","_a","scrollElement","handleProfileClick","handlePushMessage","message","prevConversation","handleInputChange","value","attachments","newMessage","uniqueId","attachment","dayjs","cardHeaderProps","jsxs","jsx","TbChevronLeft","Avatar","_b","ChatAction","useEffect","fetchConvesation","record","item","resp","apiGetConversation","messageList","useMemo","classNames","Card","ChatBox","StartConverstation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatBody.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatBody.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Card from '@/components/ui/Card'\nimport ChatBox from '@/components/view/ChatBox'\nimport ChatAction from './ChatAction'\nimport StartConverstation from '@/assets/svg/StartConverstation'\nimport { useChatStore } from '../store/chatStore'\nimport { apiGetConversation } from '@/services/ChatService'\nimport classNames from '@/utils/classNames'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport { TbChevronLeft } from 'react-icons/tb'\nimport type { GetConversationResponse, Message, ChatType } from '../types'\nimport type { ScrollBarRef } from '@/components/ui/ScrollBar'\n\nconst getFileType = (file: File) => {\n console.log('file.type', file.type)\n switch (file.type) {\n case 'image/jpg':\n case 'image/jpeg':\n case 'image/png':\n case 'image/webp':\n return 'image'\n case 'video/mp4':\n case 'video/avi':\n return 'video'\n case 'audio/mp3':\n case 'audio/wav':\n return 'audio'\n default:\n return 'misc'\n }\n}\n\nconst ChatBody = () => {\n const scrollRef = useRef<ScrollBarRef>(null)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const conversationRecord = useChatStore((state) => state.conversationRecord)\n const pushConversationRecord = useChatStore(\n (state) => state.pushConversationRecord,\n )\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const pushConversationMessage = useChatStore(\n (state) => state.pushConversationMessage,\n )\n const setContactInfoDrawer = useChatStore(\n (state) => state.setContactInfoDrawer,\n )\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, setIsFetchingConversation] = useState(false)\n const [conversation, setConversation] = useState<Message[]>([])\n\n const { smaller } = useResponsive()\n\n const scrollToBottom = () => {\n if (scrollRef.current?.getScrollElement) {\n const scrollElement = scrollRef.current.getScrollElement()\n if (scrollElement) {\n scrollElement.scrollTop = scrollElement.scrollHeight\n }\n }\n }\n\n const handleProfileClick = () => {\n setContactInfoDrawer({\n userId: selectedChat.user?.id as string,\n chatId: selectedChat.id as string,\n chatType: selectedChat.chatType as ChatType,\n open: true,\n })\n }\n\n const handlePushMessage = (message: Message) => {\n pushConversationMessage(selectedChat.id as string, message)\n setConversation((prevConversation) => {\n prevConversation.push(message)\n return structuredClone(prevConversation)\n })\n }\n\n const handleInputChange = async ({\n value,\n attachments,\n }: {\n value: string\n attachments?: File[]\n }) => {\n const newMessage: Message = {\n id: uniqueId('chat-conversation-'),\n sender: {\n id: '1',\n name: 'Angelina Gotelli',\n avatarImageUrl: '/img/avatars/thumb-1.jpg',\n },\n content: value,\n attachments: attachments?.map((attachment) => {\n return {\n type: getFileType(attachment),\n source: attachment,\n mediaUrl: URL.createObjectURL(attachment),\n }\n }),\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n }\n handlePushMessage(newMessage)\n }\n\n const cardHeaderProps = {\n header: {\n content: (\n <div className=\"flex items-center gap-2\">\n {smaller.md && (\n <button\n className=\"text-xl hover:text-primary\"\n onClick={() => setSelectedChat({})}\n >\n <TbChevronLeft />\n </button>\n )}\n <button\n className=\"flex items-center gap-2\"\n role=\"button\"\n onClick={handleProfileClick}\n >\n <div>\n <Avatar src={selectedChat.user?.avatarImageUrl} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold heading-text truncate\">\n {selectedChat.user?.name}\n </div>\n </div>\n <div>\n {selectedChat?.chatType === 'groups'\n ? 'click here for group info'\n : 'last seen recently'}\n </div>\n </div>\n </button>\n </div>\n ),\n extra: <ChatAction muted={selectedChat.muted} />,\n className: 'bg-gray-100 dark:bg-gray-600 h-[100px]',\n },\n }\n\n useEffect(() => {\n const fetchConvesation = async () => {\n setIsFetchingConversation(true)\n\n const record = conversationRecord.find(\n (item) => item.id === selectedChat.id,\n )\n\n if (record) {\n setConversation(record.conversation)\n } else {\n const resp = await apiGetConversation<GetConversationResponse>({\n id: selectedChat.id as string,\n })\n setConversation(resp.conversation)\n pushConversationRecord(resp)\n }\n\n setIsFetchingConversation(false)\n scrollToBottom()\n }\n\n if (selectedChat.id) {\n setConversation([])\n fetchConvesation()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedChat.id, conversation])\n\n const messageList = useMemo(() => {\n return conversation.map((item) => {\n item.timestamp = dayjs\n .unix(item.timestamp as number)\n .toDate() as Date\n if (item.isMyMessage) {\n item.showAvatar = false\n }\n return item\n })\n }, [conversation])\n\n return (\n <div\n className={classNames(\n 'w-full md:block',\n !selectedChat.id && 'hidden',\n )}\n >\n {selectedChat.id ? (\n <Card\n className=\"flex-1 h-full max-h-full dark:border-gray-700\"\n bodyClass=\"h-[calc(100%-100px)] relative\"\n {...cardHeaderProps}\n >\n <ChatBox\n ref={scrollRef}\n messageList={messageList}\n placeholder=\"Enter a prompt here\"\n showAvatar={true}\n avatarGap={true}\n messageListClass=\"h-[calc(100%-100px)]\"\n bubbleClass=\"max-w-[300px]\"\n onInputChange={handleInputChange}\n />\n </Card>\n ) : (\n <div className=\"flex-1 h-full max-h-full flex flex-col items-center justify-center rounded-2xl border border-gray-200 dark:border-gray-800\">\n <StartConverstation height={250} width={250} />\n <div className=\"mt-10 text-center\">\n <h3>Start Chatting!</h3>\n <p className=\"mt-2 text-base\">\n Pick a Conversation or Begin a New One\n </p>\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport default ChatBody\n"],"names":["getFileType","file","ChatBody","scrollRef","useRef","selectedChat","useChatStore","state","conversationRecord","pushConversationRecord","setSelectedChat","pushConversationMessage","setContactInfoDrawer","_","setIsFetchingConversation","useState","conversation","setConversation","smaller","useResponsive","scrollToBottom","_a","scrollElement","handleProfileClick","handlePushMessage","message","prevConversation","handleInputChange","value","attachments","newMessage","uniqueId","attachment","dayjs","cardHeaderProps","jsxs","jsx","TbChevronLeft","Avatar","_b","ChatAction","useEffect","fetchConvesation","record","item","resp","apiGetConversation","messageList","useMemo","classNames","Card","ChatBox","StartConverstation"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatList.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatList.tsx"],"sourcesContent":["import { useRef, useState, useEffect } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Badge from '@/components/ui/Badge'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport ChatSegment from './ChatSegment'\nimport NewChat from './NewChat'\nimport { useChatStore } from '../store/chatStore'\nimport useChat from '../hooks/useChat'\nimport classNames from '@/utils/classNames'\nimport useDebounce from '@/utils/hooks/useDebounce'\nimport { TbVolumeOff, TbSearch, TbX } from 'react-icons/tb'\nimport dayjs from 'dayjs'\nimport type { ChatType } from '../types'\nimport type { ChangeEvent } from 'react'\n\nconst ChatList = () => {\n const chats = useChatStore((state) => state.chats)\n const chatsFetched = useChatStore((state) => state.chatsFetched)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const setMobileSidebar = useChatStore((state) => state.setMobileSidebar)\n const selectedChatType = useChatStore((state) => state.selectedChatType)\n const setSelectedChatType = useChatStore(\n (state) => state.setSelectedChatType,\n )\n const setChatRead = useChatStore((state) => state.setChatRead)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [showSearchBar, setShowSearchBar] = useState(false)\n const [queryText, setQueryText] = useState('')\n\n const { fetchChats } = useChat()\n\n useEffect(() => {\n if (!chatsFetched) {\n fetchChats()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (showSearchBar) {\n inputRef.current?.focus()\n } else {\n inputRef.current?.blur()\n }\n }, [showSearchBar])\n\n const handleChatClick = ({\n id,\n user,\n muted,\n chatType,\n unread,\n }: {\n id: string\n user: { id: string; avatarImageUrl: string; name: string }\n muted: boolean\n chatType: ChatType\n unread: number\n }) => {\n if (unread > 0) {\n setChatRead(id)\n }\n\n setSelectedChat({\n id,\n user,\n muted,\n chatType,\n })\n setMobileSidebar(false)\n }\n\n function handleDebounceFn(e: ChangeEvent<HTMLInputElement>) {\n if (e.target.value.length > 0) {\n setSelectedChatType('')\n }\n\n if (e.target.value.length === 0) {\n setSelectedChatType('personal')\n }\n\n setQueryText(e.target.value)\n }\n\n const debounceFn = useDebounce(handleDebounceFn, 500)\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n debounceFn(e)\n }\n\n const handleSearchToggleClick = () => {\n setShowSearchBar(!showSearchBar)\n }\n\n return (\n <div className=\"flex flex-col justify-between h-full\">\n <div className=\"mb-4\">\n <div className=\"flex items-center justify-between mb-4\">\n {showSearchBar ? (\n <input\n ref={inputRef}\n className=\"flex-1 h-full placeholder:text-gray-400 placeholder:text-base placeholder:font-normal bg-transparent focus:outline-none heading-text font-bold\"\n placeholder=\"Search chat\"\n onChange={handleInputChange}\n />\n ) : (\n <h4>Chat</h4>\n )}\n <button\n className=\"close-button text-lg\"\n type=\"button\"\n onClick={handleSearchToggleClick}\n >\n {showSearchBar ? <TbX /> : <TbSearch />}\n </button>\n </div>\n <ChatSegment />\n </div>\n <ScrollBar className=\"h-[calc(100%-150px)] overflow-y-auto\">\n <div className=\"flex flex-col gap-2 h-full\">\n {chats\n .filter((item) => {\n if (queryText) {\n return item.name\n .toLowerCase()\n .includes(queryText)\n }\n\n return selectedChatType === item.chatType\n })\n .map((item) => (\n <div\n key={item.id}\n className={classNames(\n 'py-3 px-2 flex items-center gap-2 justify-between rounded-xl hover:bg-gray-100 dark:hover:bg-gray-700 relative cursor-pointer select-none',\n selectedChat.id === item.id &&\n 'bg-gray-100 dark:bg-gray-700',\n )}\n role=\"button\"\n onClick={() =>\n handleChatClick({\n id: item.id,\n user: {\n id: item.userId || item.groupId,\n avatarImageUrl: item.avatar,\n name: item.name,\n },\n muted: item.muted,\n chatType: item.chatType,\n unread: item.unread,\n })\n }\n >\n <div className=\"flex items-center gap-2 min-w-0 flex-1\">\n <div>\n <Avatar src={item.avatar} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold heading-text truncate flex gap-2 items-center\">\n <span>{item.name}</span>\n {item.muted && (\n <TbVolumeOff className=\"opacity-60\" />\n )}\n </div>\n </div>\n <div className=\"truncate\">\n {item.lastConversation}\n </div>\n </div>\n </div>\n <div className=\"flex gap-1 items-center\">\n <small className=\"font-semibold\">\n {dayjs\n .unix(item.time)\n .format('hh:mm A')}\n </small>\n {item.unread > 0 && (\n <Badge className=\"bg-primary\" />\n )}\n </div>\n </div>\n ))}\n </div>\n </ScrollBar>\n <NewChat />\n </div>\n )\n}\n\nexport default ChatList\n"],"names":["ChatList","chats","useChatStore","state","chatsFetched","selectedChat","setSelectedChat","setMobileSidebar","selectedChatType","setSelectedChatType","setChatRead","inputRef","useRef","showSearchBar","setShowSearchBar","useState","queryText","setQueryText","fetchChats","useChat","useEffect","_a","_b","handleChatClick","id","user","muted","chatType","unread","handleDebounceFn","debounceFn","useDebounce","jsxs","jsx","TbX","TbSearch","ChatSegment","ScrollBar","item","classNames","Avatar","TbVolumeOff","dayjs","Badge","NewChat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatList.js","sources":["../../../../../../../lib/@ecme/views/concepts/chat/Chat/components/ChatList.tsx"],"sourcesContent":["import { useRef, useState, useEffect } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Badge from '@/components/ui/Badge'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport ChatSegment from './ChatSegment'\nimport NewChat from './NewChat'\nimport { useChatStore } from '../store/chatStore'\nimport useChat from '../hooks/useChat'\nimport classNames from '@/utils/classNames'\nimport useDebounce from '@/utils/hooks/useDebounce'\nimport { TbVolumeOff, TbSearch, TbX } from 'react-icons/tb'\nimport dayjs from 'dayjs'\nimport type { ChatType } from '../types'\nimport type { ChangeEvent } from 'react'\n\nconst ChatList = () => {\n const chats = useChatStore((state) => state.chats)\n const chatsFetched = useChatStore((state) => state.chatsFetched)\n const selectedChat = useChatStore((state) => state.selectedChat)\n const setSelectedChat = useChatStore((state) => state.setSelectedChat)\n const setMobileSidebar = useChatStore((state) => state.setMobileSidebar)\n const selectedChatType = useChatStore((state) => state.selectedChatType)\n const setSelectedChatType = useChatStore(\n (state) => state.setSelectedChatType,\n )\n const setChatRead = useChatStore((state) => state.setChatRead)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [showSearchBar, setShowSearchBar] = useState(false)\n const [queryText, setQueryText] = useState('')\n\n const { fetchChats } = useChat()\n\n useEffect(() => {\n if (!chatsFetched) {\n fetchChats()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (showSearchBar) {\n inputRef.current?.focus()\n } else {\n inputRef.current?.blur()\n }\n }, [showSearchBar])\n\n const handleChatClick = ({\n id,\n user,\n muted,\n chatType,\n unread,\n }: {\n id: string\n user: { id: string; avatarImageUrl: string; name: string }\n muted: boolean\n chatType: ChatType\n unread: number\n }) => {\n if (unread > 0) {\n setChatRead(id)\n }\n\n setSelectedChat({\n id,\n user,\n muted,\n chatType,\n })\n setMobileSidebar(false)\n }\n\n function handleDebounceFn(e: ChangeEvent<HTMLInputElement>) {\n if (e.target.value.length > 0) {\n setSelectedChatType('')\n }\n\n if (e.target.value.length === 0) {\n setSelectedChatType('personal')\n }\n\n setQueryText(e.target.value)\n }\n\n const debounceFn = useDebounce(handleDebounceFn, 500)\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n debounceFn(e)\n }\n\n const handleSearchToggleClick = () => {\n setShowSearchBar(!showSearchBar)\n }\n\n return (\n <div className=\"flex flex-col justify-between h-full\">\n <div className=\"mb-4\">\n <div className=\"flex items-center justify-between mb-4\">\n {showSearchBar ? (\n <input\n ref={inputRef}\n className=\"flex-1 h-full placeholder:text-gray-400 placeholder:text-base placeholder:font-normal bg-transparent focus:outline-none heading-text font-bold\"\n placeholder=\"Search chat\"\n onChange={handleInputChange}\n />\n ) : (\n <h4>Chat</h4>\n )}\n <button\n className=\"close-button text-lg\"\n type=\"button\"\n onClick={handleSearchToggleClick}\n >\n {showSearchBar ? <TbX /> : <TbSearch />}\n </button>\n </div>\n <ChatSegment />\n </div>\n <ScrollBar className=\"h-[calc(100%-150px)] overflow-y-auto\">\n <div className=\"flex flex-col gap-2 h-full\">\n {chats\n .filter((item) => {\n if (queryText) {\n return item.name\n .toLowerCase()\n .includes(queryText)\n }\n\n return selectedChatType === item.chatType\n })\n .map((item) => (\n <div\n key={item.id}\n className={classNames(\n 'py-3 px-2 flex items-center gap-2 justify-between rounded-xl hover:bg-gray-100 dark:hover:bg-gray-700 relative cursor-pointer select-none',\n selectedChat.id === item.id &&\n 'bg-gray-100 dark:bg-gray-700',\n )}\n role=\"button\"\n onClick={() =>\n handleChatClick({\n id: item.id,\n user: {\n id: item.userId || item.groupId,\n avatarImageUrl: item.avatar,\n name: item.name,\n },\n muted: item.muted,\n chatType: item.chatType,\n unread: item.unread,\n })\n }\n >\n <div className=\"flex items-center gap-2 min-w-0 flex-1\">\n <div>\n <Avatar src={item.avatar} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold heading-text truncate flex gap-2 items-center\">\n <span>{item.name}</span>\n {item.muted && (\n <TbVolumeOff className=\"opacity-60\" />\n )}\n </div>\n </div>\n <div className=\"truncate\">\n {item.lastConversation}\n </div>\n </div>\n </div>\n <div className=\"flex gap-1 items-center\">\n <small className=\"font-semibold\">\n {dayjs\n .unix(item.time)\n .format('hh:mm A')}\n </small>\n {item.unread > 0 && (\n <Badge className=\"bg-primary\" />\n )}\n </div>\n </div>\n ))}\n </div>\n </ScrollBar>\n <NewChat />\n </div>\n )\n}\n\nexport default ChatList\n"],"names":["ChatList","chats","useChatStore","state","chatsFetched","selectedChat","setSelectedChat","setMobileSidebar","selectedChatType","setSelectedChatType","setChatRead","inputRef","useRef","showSearchBar","setShowSearchBar","useState","queryText","setQueryText","fetchChats","useChat","useEffect","_a","_b","handleChatClick","id","user","muted","chatType","unread","handleDebounceFn","debounceFn","useDebounce","jsxs","jsx","TbX","TbSearch","ChatSegment","ScrollBar","item","classNames","Avatar","TbVolumeOff","dayjs","Badge","NewChat"],"mappings":"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"}
|