@orbe-agro/client-core 5.3.9 → 5.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/@ecme/assets/styles/app.css +1 -1
  2. package/dist/@ecme/assets/styles/components/_input.css +1 -1
  3. package/dist/@ecme/assets/styles/components/_select.css +1 -1
  4. package/dist/@ecme/assets/styles/components/_tabs.css +1 -1
  5. package/dist/@ecme/assets/styles/components/index.css +1 -1
  6. package/dist/@ecme/assets/styles/tailwind/index.css +1 -1
  7. package/dist/@ecme/auth/AuthContext.js.map +1 -1
  8. package/dist/@ecme/auth/AuthProvider.js.map +1 -1
  9. package/dist/@ecme/components/docs/DemoCard/CardFooter.js.map +1 -1
  10. package/dist/@ecme/components/docs/DemoCard/DemoCard.js.map +1 -1
  11. package/dist/@ecme/components/docs/DocumentationNav.js.map +1 -1
  12. package/dist/@ecme/components/layouts/AuthLayout/AuthLayout.js.map +1 -1
  13. package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
  14. package/dist/@ecme/components/route/AppRoute.js.map +1 -1
  15. package/dist/@ecme/components/shared/AbbreviateNumber.js.map +1 -1
  16. package/dist/@ecme/components/shared/Affix.js.map +1 -1
  17. package/dist/@ecme/components/shared/AutoComplete.js.map +1 -1
  18. package/dist/@ecme/components/shared/CalendarView.js.map +1 -1
  19. package/dist/@ecme/components/shared/Chart.js.map +1 -1
  20. package/dist/@ecme/components/shared/ConfirmDialog.js.map +1 -1
  21. package/dist/@ecme/components/shared/DataTable.js.map +1 -1
  22. package/dist/@ecme/components/shared/DebounceInput.js.map +1 -1
  23. package/dist/@ecme/components/shared/GanttChart/TaskListTable.js.map +1 -1
  24. package/dist/@ecme/components/shared/GanttChart/getStartEndDateForProject.js.map +1 -1
  25. package/dist/@ecme/components/shared/GanttChart/tasksPreProcess.js.map +1 -1
  26. package/dist/@ecme/components/shared/Masonry/breakpoints.js.map +1 -1
  27. package/dist/@ecme/components/shared/Masonry/useCoulmnsCount.js.map +1 -1
  28. package/dist/@ecme/components/shared/Masonry/useMasonry.js.map +1 -1
  29. package/dist/@ecme/components/shared/Masonry/useWindowWidth.js.map +1 -1
  30. package/dist/@ecme/components/shared/OtpInput.js.map +1 -1
  31. package/dist/@ecme/components/shared/PasswordInput.js.map +1 -1
  32. package/dist/@ecme/components/shared/RegionMap.js.map +1 -1
  33. package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js.map +1 -1
  34. package/dist/@ecme/components/shared/StickyFooter.js.map +1 -1
  35. package/dist/@ecme/components/shared/StrictModeDroppable.js.map +1 -1
  36. package/dist/@ecme/components/shared/ToggleDrawer.js.map +1 -1
  37. package/dist/@ecme/components/shared/UsersAvatarGroup.js.map +1 -1
  38. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js.map +1 -1
  39. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map +1 -1
  40. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.js.map +1 -1
  41. package/dist/@ecme/components/template/LanguageSelector.js.map +1 -1
  42. package/dist/@ecme/components/template/MobileNav.js.map +1 -1
  43. package/dist/@ecme/components/template/Notification/Notification.js.map +1 -1
  44. package/dist/@ecme/components/template/Search.js.map +1 -1
  45. package/dist/@ecme/components/template/SideNavToggle.js.map +1 -1
  46. package/dist/@ecme/components/template/SidePanel/SidePanel.js.map +1 -1
  47. package/dist/@ecme/components/template/StackedSideNav/StackedSideNav.js.map +1 -1
  48. package/dist/@ecme/components/template/StackedSideNav/StackedSideNavMini.js.map +1 -1
  49. package/dist/@ecme/components/template/StackedSideNav/StackedSideNavSecondary.js.map +1 -1
  50. package/dist/@ecme/components/template/ThemeConfigurator/CopyButton.js.map +1 -1
  51. package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js.map +1 -1
  52. package/dist/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.js.map +1 -1
  53. package/dist/@ecme/components/template/ThemeConfigurator/ModeSwitcher.js.map +1 -1
  54. package/dist/@ecme/components/template/UserProfileDropdown.js.map +1 -1
  55. package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js.map +1 -1
  56. package/dist/@ecme/components/ui/Alert/Alert.js.map +1 -1
  57. package/dist/@ecme/components/ui/Avatar/Avatar.js.map +1 -1
  58. package/dist/@ecme/components/ui/Avatar/AvatarGroup.js.map +1 -1
  59. package/dist/@ecme/components/ui/Button/Button.js.map +1 -1
  60. package/dist/@ecme/components/ui/Card/Card.js.map +1 -1
  61. package/dist/@ecme/components/ui/Checkbox/Checkbox.js.map +1 -1
  62. package/dist/@ecme/components/ui/Checkbox/Group.js.map +1 -1
  63. package/dist/@ecme/components/ui/DatePicker/BasePicker.js.map +1 -1
  64. package/dist/@ecme/components/ui/DatePicker/Calendar.js.map +1 -1
  65. package/dist/@ecme/components/ui/DatePicker/CalendarBase.js.map +1 -1
  66. package/dist/@ecme/components/ui/DatePicker/DatePicker.js.map +1 -1
  67. package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js.map +1 -1
  68. package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js.map +1 -1
  69. package/dist/@ecme/components/ui/DatePicker/RangeCalendar.js.map +1 -1
  70. package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js.map +1 -1
  71. package/dist/@ecme/components/ui/DatePicker/tables/MonthTable.js.map +1 -1
  72. package/dist/@ecme/components/ui/DatePicker/tables/YearTable.js.map +1 -1
  73. package/dist/@ecme/components/ui/DatePicker/tables/components/Month.js.map +1 -1
  74. package/dist/@ecme/components/ui/DatePicker/utils/getDecadeRange.js.map +1 -1
  75. package/dist/@ecme/components/ui/DatePicker/utils/getMonthDays.js.map +1 -1
  76. package/dist/@ecme/components/ui/Dialog/Dialog.js.map +1 -1
  77. package/dist/@ecme/components/ui/Drawer/Drawer.js.map +1 -1
  78. package/dist/@ecme/components/ui/Dropdown/DropdownItem.js.map +1 -1
  79. package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
  80. package/dist/@ecme/components/ui/Dropdown/context/menuContext.js.map +1 -1
  81. package/dist/@ecme/components/ui/Form/FormItem.js.map +1 -1
  82. package/dist/@ecme/components/ui/Input/Input.js.map +1 -1
  83. package/dist/@ecme/components/ui/Menu/MenuCollapse.js.map +1 -1
  84. package/dist/@ecme/components/ui/MenuItem/index.js.map +1 -1
  85. package/dist/@ecme/components/ui/Notification/Notification.js.map +1 -1
  86. package/dist/@ecme/components/ui/Pagination/Next.js.map +1 -1
  87. package/dist/@ecme/components/ui/Pagination/Pagers.js.map +1 -1
  88. package/dist/@ecme/components/ui/Pagination/Pagination.js.map +1 -1
  89. package/dist/@ecme/components/ui/Pagination/Prev.js.map +1 -1
  90. package/dist/@ecme/components/ui/Progress/Circle.js.map +1 -1
  91. package/dist/@ecme/components/ui/Progress/Progress.js.map +1 -1
  92. package/dist/@ecme/components/ui/Radio/Group.js.map +1 -1
  93. package/dist/@ecme/components/ui/Radio/Radio.js.map +1 -1
  94. package/dist/@ecme/components/ui/Segment/Segment.js.map +1 -1
  95. package/dist/@ecme/components/ui/Segment/SegmentItem.js.map +1 -1
  96. package/dist/@ecme/components/ui/Select/Select.js.map +1 -1
  97. package/dist/@ecme/components/ui/Steps/StepItem.js.map +1 -1
  98. package/dist/@ecme/components/ui/Steps/Steps.js.map +1 -1
  99. package/dist/@ecme/components/ui/Switcher/Switcher.js.map +1 -1
  100. package/dist/@ecme/components/ui/Tabs/TabNav.js.map +1 -1
  101. package/dist/@ecme/components/ui/TimeInput/AmPmInput.js.map +1 -1
  102. package/dist/@ecme/components/ui/TimeInput/TimeInput.js.map +1 -1
  103. package/dist/@ecme/components/ui/TimeInput/TimeInputField.js.map +1 -1
  104. package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js.map +1 -1
  105. package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js.map +1 -1
  106. package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js.map +1 -1
  107. package/dist/@ecme/components/ui/Tooltip/Arrow.js.map +1 -1
  108. package/dist/@ecme/components/ui/Tooltip/Tooltip.js.map +1 -1
  109. package/dist/@ecme/components/ui/Upload/Upload.js.map +1 -1
  110. package/dist/@ecme/components/ui/hooks/useCallbackRef.js.map +1 -1
  111. package/dist/@ecme/components/ui/hooks/useControllableState.js.map +1 -1
  112. package/dist/@ecme/components/ui/hooks/useDidUpdate.js.map +1 -1
  113. package/dist/@ecme/components/ui/hooks/useMergeRef.js.map +1 -1
  114. package/dist/@ecme/components/ui/hooks/useRootClose.js.map +1 -1
  115. package/dist/@ecme/components/ui/hooks/useTimeout.js.map +1 -1
  116. package/dist/@ecme/components/ui/hooks/useWindowSize.js.map +1 -1
  117. package/dist/@ecme/components/ui/toast/ToastWrapper.js.map +1 -1
  118. package/dist/@ecme/components/ui/toast/toast.js.map +1 -1
  119. package/dist/@ecme/components/ui/utils/chainedFunction.js.map +1 -1
  120. package/dist/@ecme/components/ui/utils/mapCloneElement.js.map +1 -1
  121. package/dist/@ecme/components/view/Activity/ActivityAvatar.js.map +1 -1
  122. package/dist/@ecme/components/view/Activity/ActivityEvent.js.map +1 -1
  123. package/dist/@ecme/components/view/ChatBox/components/Attachment.js.map +1 -1
  124. package/dist/@ecme/components/view/ChatBox/components/ChatInput.js.map +1 -1
  125. package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js.map +1 -1
  126. package/dist/@ecme/configs/chart.config.js.map +1 -1
  127. package/dist/@ecme/constants/theme.constant.js +23 -23
  128. package/dist/@ecme/constants/theme.constant.js.map +1 -1
  129. package/dist/@ecme/mock/fakeApi/accountsFakeApi.js.map +1 -1
  130. package/dist/@ecme/mock/fakeApi/aiFakeApi.js.map +1 -1
  131. package/dist/@ecme/mock/fakeApi/authFakeApi.js.map +1 -1
  132. package/dist/@ecme/mock/fakeApi/commonFakeApi.js.map +1 -1
  133. package/dist/@ecme/mock/fakeApi/customersFakeApi.js.map +1 -1
  134. package/dist/@ecme/mock/fakeApi/fileFakeApi.js.map +1 -1
  135. package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js.map +1 -1
  136. package/dist/@ecme/mock/fakeApi/ordersFakeApi.js.map +1 -1
  137. package/dist/@ecme/mock/fakeApi/productsFakeApi.js.map +1 -1
  138. package/dist/@ecme/services/ApiService.js.map +1 -1
  139. package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
  140. package/dist/@ecme/store/authStore.js.map +1 -1
  141. package/dist/@ecme/store/localeStore.js.map +1 -1
  142. package/dist/@ecme/utils/cookiesStorage.js.map +1 -1
  143. package/dist/@ecme/utils/hoc/withHeaderItem.js.map +1 -1
  144. package/dist/@ecme/utils/hooks/useDarkMode.js.map +1 -1
  145. package/dist/@ecme/utils/hooks/useDirection.js.map +1 -1
  146. package/dist/@ecme/utils/hooks/useInfiniteScroll.js.map +1 -1
  147. package/dist/@ecme/utils/hooks/useInterval .js.map +1 -1
  148. package/dist/@ecme/utils/hooks/useLayoutGap.js.map +1 -1
  149. package/dist/@ecme/utils/hooks/useLocale.js.map +1 -1
  150. package/dist/@ecme/utils/hooks/useMenuActive.js.map +1 -1
  151. package/dist/@ecme/utils/hooks/useRandomBgColor.js.map +1 -1
  152. package/dist/@ecme/utils/hooks/useResponsive.js.map +1 -1
  153. package/dist/@ecme/utils/hooks/useScrollTop.js.map +1 -1
  154. package/dist/@ecme/utils/hooks/useThemeSchema.js.map +1 -1
  155. package/dist/@ecme/utils/hooks/useTimeOutMessage.js.map +1 -1
  156. package/dist/@ecme/utils/reorderDragable.js.map +1 -1
  157. package/dist/@ecme/utils/sortBy.js.map +1 -1
  158. package/dist/@ecme/utils/wildCardSearch.js.map +1 -1
  159. package/dist/@ecme/views/auth/ForgotPassword/ForgotPassword.js.map +1 -1
  160. package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js.map +1 -1
  161. package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js.map +1 -1
  162. package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js.map +1 -1
  163. package/dist/@ecme/views/auth/ResetPassword/ResetPassword.js.map +1 -1
  164. package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js.map +1 -1
  165. package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js.map +1 -1
  166. package/dist/@ecme/views/auth/SignIn/components/SignInForm.js.map +1 -1
  167. package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js.map +1 -1
  168. package/dist/@ecme/views/concepts/accounts/ActivityLog/ActivityLog.js.map +1 -1
  169. package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js.map +1 -1
  170. package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js.map +1 -1
  171. package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js.map +1 -1
  172. package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsGroups.js.map +1 -1
  173. package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js.map +1 -1
  174. package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserSelected.js.map +1 -1
  175. package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js.map +1 -1
  176. package/dist/@ecme/views/concepts/accounts/RolesPermissions/store/rolePermissionsStore.js.map +1 -1
  177. package/dist/@ecme/views/concepts/accounts/Settings/components/BillingHistory.js.map +1 -1
  178. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingIntegration.js.map +1 -1
  179. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js.map +1 -1
  180. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js.map +1 -1
  181. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js.map +1 -1
  182. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsNotification.js.map +1 -1
  183. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js.map +1 -1
  184. package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js.map +1 -1
  185. package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js.map +1 -1
  186. package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js.map +1 -1
  187. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
  188. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
  189. package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
  190. package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js.map +1 -1
  191. package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
  192. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
  193. package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
  194. package/dist/@ecme/views/concepts/ai/Image/components/Gallery.js.map +1 -1
  195. package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js.map +1 -1
  196. package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js.map +1 -1
  197. package/dist/@ecme/views/concepts/ai/Image/store/imageGeneratorStore.js.map +1 -1
  198. package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js.map +1 -1
  199. package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js.map +1 -1
  200. package/dist/@ecme/views/concepts/chat/Chat/components/ChatAction.js.map +1 -1
  201. package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js.map +1 -1
  202. package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js.map +1 -1
  203. package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js.map +1 -1
  204. package/dist/@ecme/views/concepts/chat/Chat/components/NewChat.js.map +1 -1
  205. package/dist/@ecme/views/concepts/chat/Chat/hooks/useChat.js.map +1 -1
  206. package/dist/@ecme/views/concepts/chat/Chat/store/chatStore.js.map +1 -1
  207. package/dist/@ecme/views/concepts/customers/CustomerCreate/CustomerCreate.js.map +1 -1
  208. package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js.map +1 -1
  209. package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js.map +1 -1
  210. package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js.map +1 -1
  211. package/dist/@ecme/views/concepts/customers/CustomerEdit/CustomerEdit.js.map +1 -1
  212. package/dist/@ecme/views/concepts/customers/CustomerForm/AccountSection.js.map +1 -1
  213. package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js.map +1 -1
  214. package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js.map +1 -1
  215. package/dist/@ecme/views/concepts/customers/CustomerForm/ProfileImageSection.js.map +1 -1
  216. package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListSelected.js.map +1 -1
  217. package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListTable.js.map +1 -1
  218. package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomerListTableFilter.js.map +1 -1
  219. package/dist/@ecme/views/concepts/customers/CustomerList/components/CustomersListTableTools.js.map +1 -1
  220. package/dist/@ecme/views/concepts/customers/CustomerList/store/customerListStore.js.map +1 -1
  221. package/dist/@ecme/views/concepts/files/FileManager/FileManager.js.map +1 -1
  222. package/dist/@ecme/views/concepts/files/FileManager/components/FileDetails.js.map +1 -1
  223. package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js.map +1 -1
  224. package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerDeleteDialog.js.map +1 -1
  225. package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerHeader.js.map +1 -1
  226. package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerInviteDialog.js.map +1 -1
  227. package/dist/@ecme/views/concepts/files/FileManager/components/FileManagerRenameDialog.js.map +1 -1
  228. package/dist/@ecme/views/concepts/files/FileManager/components/UploadFile.js.map +1 -1
  229. package/dist/@ecme/views/concepts/files/FileManager/store/useFileManagerStore.js.map +1 -1
  230. package/dist/@ecme/views/concepts/help-center/Article/components/ArticleAction.js.map +1 -1
  231. package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleFooter.js.map +1 -1
  232. package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js.map +1 -1
  233. package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSearch.js.map +1 -1
  234. package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSelected.js.map +1 -1
  235. package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListTable.js.map +1 -1
  236. package/dist/@ecme/views/concepts/help-center/ManageArticle/components/ArticleTableFilter.js.map +1 -1
  237. package/dist/@ecme/views/concepts/help-center/ManageArticle/store/manageArticleStore.js.map +1 -1
  238. package/dist/@ecme/views/concepts/help-center/SupportHub/components/Article.js.map +1 -1
  239. package/dist/@ecme/views/concepts/help-center/SupportHub/components/ArticleList.js.map +1 -1
  240. package/dist/@ecme/views/concepts/help-center/SupportHub/components/Categories.js.map +1 -1
  241. package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js.map +1 -1
  242. package/dist/@ecme/views/concepts/mail/Mail/components/MailBody.js.map +1 -1
  243. package/dist/@ecme/views/concepts/mail/Mail/components/MailBodyTop.js.map +1 -1
  244. package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js.map +1 -1
  245. package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js.map +1 -1
  246. package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js.map +1 -1
  247. package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js.map +1 -1
  248. package/dist/@ecme/views/concepts/mail/Mail/components/MailSidebar.js.map +1 -1
  249. package/dist/@ecme/views/concepts/mail/Mail/hooks/useMail.js.map +1 -1
  250. package/dist/@ecme/views/concepts/mail/Mail/hooks/useMailAction.js.map +1 -1
  251. package/dist/@ecme/views/concepts/orders/OrderCreate/OrderCreate.js.map +1 -1
  252. package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailHeaderExtra.js.map +1 -1
  253. package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js.map +1 -1
  254. package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js.map +1 -1
  255. package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js.map +1 -1
  256. package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js.map +1 -1
  257. package/dist/@ecme/views/concepts/orders/OrderForm/components/ProductSelectSection.js.map +1 -1
  258. package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTable.js.map +1 -1
  259. package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js.map +1 -1
  260. package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableTools.js.map +1 -1
  261. package/dist/@ecme/views/concepts/products/ProductCreate/ProductCreate.js.map +1 -1
  262. package/dist/@ecme/views/concepts/products/ProductEdit/ProducEdit.js.map +1 -1
  263. package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js.map +1 -1
  264. package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js.map +1 -1
  265. package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js.map +1 -1
  266. package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js.map +1 -1
  267. package/dist/@ecme/views/concepts/products/ProductList/components/ProducListTableTools.js.map +1 -1
  268. package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js.map +1 -1
  269. package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSelected.js.map +1 -1
  270. package/dist/@ecme/views/concepts/products/ProductList/components/ProductListTable.js.map +1 -1
  271. package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js.map +1 -1
  272. package/dist/@ecme/views/concepts/products/ProductList/store/productListStore.js.map +1 -1
  273. package/dist/@ecme/views/concepts/projects/Issue/Issue.js.map +1 -1
  274. package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js.map +1 -1
  275. package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js.map +1 -1
  276. package/dist/@ecme/views/concepts/projects/Issue/components/IssueHeader.js.map +1 -1
  277. package/dist/@ecme/views/concepts/projects/ProjectDetails/ProjectDetails.js.map +1 -1
  278. package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsActivity.js.map +1 -1
  279. package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js.map +1 -1
  280. package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsNavigation.js.map +1 -1
  281. package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js.map +1 -1
  282. package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js.map +1 -1
  283. package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js.map +1 -1
  284. package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js.map +1 -1
  285. package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js.map +1 -1
  286. package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js.map +1 -1
  287. package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js.map +1 -1
  288. package/dist/@ecme/views/concepts/projects/ProjectList/store/projectListStore.js.map +1 -1
  289. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js.map +1 -1
  290. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewMemberContent.js.map +1 -1
  291. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js.map +1 -1
  292. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/Board.js.map +1 -1
  293. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCard.js.map +1 -1
  294. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardTitle.js.map +1 -1
  295. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/ScrumBoardHeader.js.map +1 -1
  296. package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js.map +1 -1
  297. package/dist/@ecme/views/concepts/projects/Tasks/Tasks.js.map +1 -1
  298. package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js.map +1 -1
  299. package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js.map +1 -1
  300. package/dist/@ecme/views/concepts/projects/Tasks/components/TasksHeader.js.map +1 -1
  301. package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticChart.js.map +1 -1
  302. package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js.map +1 -1
  303. package/dist/@ecme/views/dashboards/AnalyticDashboard/components/DeviceSession.js.map +1 -1
  304. package/dist/@ecme/views/dashboards/AnalyticDashboard/components/Traffic.js.map +1 -1
  305. package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js.map +1 -1
  306. package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RecentOrder.js.map +1 -1
  307. package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js.map +1 -1
  308. package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js.map +1 -1
  309. package/dist/@ecme/views/dashboards/EcommerceDashboard/components/TopProduct.js.map +1 -1
  310. package/dist/@ecme/views/dashboards/MarketingDashboard/components/AdsPerformance.js.map +1 -1
  311. package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js.map +1 -1
  312. package/dist/@ecme/views/dashboards/MarketingDashboard/components/LeadPerformance.js.map +1 -1
  313. package/dist/@ecme/views/dashboards/MarketingDashboard/components/RecentCampaign.js.map +1 -1
  314. package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js.map +1 -1
  315. package/dist/@ecme/views/dashboards/ProjectDashboard/components/CurrentTasks.js.map +1 -1
  316. package/dist/@ecme/views/dashboards/ProjectDashboard/components/Schedule.js.map +1 -1
  317. package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js.map +1 -1
  318. package/dist/@ecme/views/guide/Documentations/components/Layouts.js.map +1 -1
  319. package/dist/@ecme/views/guide/SharedComponentsDoc/components/CalendarViewDoc/Example.js.map +1 -1
  320. package/dist/@ecme/views/guide/SharedComponentsDoc/components/ConfirmDialogDoc/Example.js.map +1 -1
  321. package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/Simple.js.map +1 -1
  322. package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js.map +1 -1
  323. package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Basic.js.map +1 -1
  324. package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Checkable.js.map +1 -1
  325. package/dist/@ecme/views/guide/SharedComponentsDoc/components/DataTableDoc/Query.js.map +1 -1
  326. package/dist/@ecme/views/guide/SharedComponentsDoc/components/DebounceInputDoc/Example.js.map +1 -1
  327. package/dist/@ecme/views/guide/SharedComponentsDoc/components/GanttChartDoc/Example.js.map +1 -1
  328. package/dist/@ecme/views/guide/SharedComponentsDoc/components/MasonryDoc/Basic.js.map +1 -1
  329. package/dist/@ecme/views/guide/SharedComponentsDoc/components/MasonryDoc/Responsive.js.map +1 -1
  330. package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/Basic.js.map +1 -1
  331. package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js.map +1 -1
  332. package/dist/@ecme/views/guide/SharedComponentsDoc/components/OtpInputDoc/Basic.js.map +1 -1
  333. package/dist/@ecme/views/guide/SharedComponentsDoc/components/OtpInputDoc/Length.js.map +1 -1
  334. package/dist/@ecme/views/guide/SharedComponentsDoc/components/PasswordInputDoc/Example.js.map +1 -1
  335. package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/Basic.js.map +1 -1
  336. package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js.map +1 -1
  337. package/dist/@ecme/views/guide/SharedComponentsDoc/components/PresetSegmentItemOptionDoc/Example.js.map +1 -1
  338. package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/CustomConfig.js.map +1 -1
  339. package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js.map +1 -1
  340. package/dist/@ecme/views/ui-components/common/Button/ButtonWithIcon.js.map +1 -1
  341. package/dist/@ecme/views/ui-components/common/Button/Loading.js.map +1 -1
  342. package/dist/@ecme/views/ui-components/data-display/Calendar/CustomRender.js.map +1 -1
  343. package/dist/@ecme/views/ui-components/data-display/Table/DragAndDrop.js.map +1 -1
  344. package/dist/@ecme/views/ui-components/data-display/Table/Editable.js.map +1 -1
  345. package/dist/@ecme/views/ui-components/data-display/Table/Expanding.js.map +1 -1
  346. package/dist/@ecme/views/ui-components/data-display/Table/Filtering.js.map +1 -1
  347. package/dist/@ecme/views/ui-components/data-display/Table/Group.js.map +1 -1
  348. package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js.map +1 -1
  349. package/dist/@ecme/views/ui-components/data-display/Table/Resizable.js.map +1 -1
  350. package/dist/@ecme/views/ui-components/data-display/Table/RowSelection.js.map +1 -1
  351. package/dist/@ecme/views/ui-components/data-display/Table/Sorting.js.map +1 -1
  352. package/dist/@ecme/views/ui-components/data-display/Table/SubComponent.js.map +1 -1
  353. package/dist/@ecme/views/ui-components/feedback/Alert/Closable.js.map +1 -1
  354. package/dist/@ecme/views/ui-components/feedback/Dialog/Basic.js.map +1 -1
  355. package/dist/@ecme/views/ui-components/feedback/Dialog/Closable.js.map +1 -1
  356. package/dist/@ecme/views/ui-components/feedback/Dialog/CloseWithEscBackdrop.js.map +1 -1
  357. package/dist/@ecme/views/ui-components/feedback/Dialog/CustomStyle.js.map +1 -1
  358. package/dist/@ecme/views/ui-components/feedback/Dialog/InternalScroll.js.map +1 -1
  359. package/dist/@ecme/views/ui-components/feedback/Dialog/Size.js.map +1 -1
  360. package/dist/@ecme/views/ui-components/feedback/Dialog/StaticBackdrop.js.map +1 -1
  361. package/dist/@ecme/views/ui-components/feedback/Drawer/Basic.js.map +1 -1
  362. package/dist/@ecme/views/ui-components/feedback/Drawer/Closable.js.map +1 -1
  363. package/dist/@ecme/views/ui-components/feedback/Drawer/CustomStyle.js.map +1 -1
  364. package/dist/@ecme/views/ui-components/feedback/Drawer/Footer.js.map +1 -1
  365. package/dist/@ecme/views/ui-components/feedback/Drawer/Placement.js.map +1 -1
  366. package/dist/@ecme/views/ui-components/feedback/Drawer/WidthHeight.js.map +1 -1
  367. package/dist/@ecme/views/ui-components/feedback/Progress/Dynamic.js.map +1 -1
  368. package/dist/@ecme/views/ui-components/feedback/Toast/AlertToast.js.map +1 -1
  369. package/dist/@ecme/views/ui-components/feedback/Toast/Closable.js.map +1 -1
  370. package/dist/@ecme/views/ui-components/feedback/Toast/CustomClose.js.map +1 -1
  371. package/dist/@ecme/views/ui-components/feedback/Toast/CustomIcon.js.map +1 -1
  372. package/dist/@ecme/views/ui-components/feedback/Toast/Duration.js.map +1 -1
  373. package/dist/@ecme/views/ui-components/feedback/Toast/Notification.js.map +1 -1
  374. package/dist/@ecme/views/ui-components/feedback/Toast/NotificationType.js.map +1 -1
  375. package/dist/@ecme/views/ui-components/feedback/Toast/Placement.js.map +1 -1
  376. package/dist/@ecme/views/ui-components/forms/Checkbox/Default.js.map +1 -1
  377. package/dist/@ecme/views/ui-components/forms/Checkbox/Group.js.map +1 -1
  378. package/dist/@ecme/views/ui-components/forms/DatePicker/Controlled.js.map +1 -1
  379. package/dist/@ecme/views/ui-components/forms/DatePicker/CustomRender.js.map +1 -1
  380. package/dist/@ecme/views/ui-components/forms/DatePicker/DisabledCertainDate.js.map +1 -1
  381. package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js.map +1 -1
  382. package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js.map +1 -1
  383. package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js.map +1 -1
  384. package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js.map +1 -1
  385. package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js.map +1 -1
  386. package/dist/@ecme/views/ui-components/forms/FormControl/Layout.js.map +1 -1
  387. package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js.map +1 -1
  388. package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js.map +1 -1
  389. package/dist/@ecme/views/ui-components/forms/FormControl/Sizes.js.map +1 -1
  390. package/dist/@ecme/views/ui-components/forms/Input/PasswordVisible.js.map +1 -1
  391. package/dist/@ecme/views/ui-components/forms/Radio/Group.js.map +1 -1
  392. package/dist/@ecme/views/ui-components/forms/Radio/Vertical.js.map +1 -1
  393. package/dist/@ecme/views/ui-components/forms/Segment/Controlled.js.map +1 -1
  394. package/dist/@ecme/views/ui-components/forms/Segment/Size.js.map +1 -1
  395. package/dist/@ecme/views/ui-components/forms/Select/AsyncOnSearch.js.map +1 -1
  396. package/dist/@ecme/views/ui-components/forms/Select/Creatable.js.map +1 -1
  397. package/dist/@ecme/views/ui-components/forms/Select/LoadOptionOnExpand.js.map +1 -1
  398. package/dist/@ecme/views/ui-components/forms/Switcher/Basic.js.map +1 -1
  399. package/dist/@ecme/views/ui-components/forms/Switcher/Controlled.js.map +1 -1
  400. package/dist/@ecme/views/ui-components/forms/Switcher/Loading.js.map +1 -1
  401. package/dist/@ecme/views/ui-components/forms/Upload/AvatarImage.js.map +1 -1
  402. package/dist/@ecme/views/ui-components/forms/Upload/BeforeUpload.js.map +1 -1
  403. package/dist/@ecme/views/ui-components/graph/Charts/DashedLine.js.map +1 -1
  404. package/dist/@ecme/views/ui-components/graph/Maps/ChoroplethQuantile.js.map +1 -1
  405. package/dist/@ecme/views/ui-components/graph/Maps/ChoroplethQuantize.js.map +1 -1
  406. package/dist/@ecme/views/ui-components/graph/Maps/MapChartWithTooltip.js.map +1 -1
  407. package/dist/@ecme/views/ui-components/graph/Maps/UsaStatesMapWithLabels.js.map +1 -1
  408. package/dist/@ecme/views/ui-components/navigation/Dropdown/Default.js.map +1 -1
  409. package/dist/@ecme/views/ui-components/navigation/Menu/CollapsableMenuItem.js.map +1 -1
  410. package/dist/@ecme/views/ui-components/navigation/Menu/Simple.js.map +1 -1
  411. package/dist/@ecme/views/ui-components/navigation/Pagination/Basic.js.map +1 -1
  412. package/dist/@ecme/views/ui-components/navigation/Pagination/Controlled.js.map +1 -1
  413. package/dist/@ecme/views/ui-components/navigation/Pagination/PageSize.js.map +1 -1
  414. package/dist/@ecme/views/ui-components/navigation/Steps/Clickable.js.map +1 -1
  415. package/dist/@ecme/views/ui-components/navigation/Steps/Controlled.js.map +1 -1
  416. package/dist/@types/@ecme/configs/chart.config.d.ts +2 -0
  417. package/dist/@types/@ecme/configs/chart.config.d.ts.map +1 -1
  418. package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts +18 -0
  419. package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts.map +1 -1
  420. package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.d.ts +20 -0
  421. package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.d.ts.map +1 -0
  422. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +18 -0
  423. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
  424. package/dist/@types/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.d.ts.map +1 -1
  425. package/dist/@types/base/services/modules/centralNfe/index.d.ts +2 -0
  426. package/dist/@types/base/services/modules/centralNfe/index.d.ts.map +1 -1
  427. package/dist/@types/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.d.ts +5 -0
  428. package/dist/@types/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.d.ts.map +1 -0
  429. package/dist/base/assets/styles/init.css +1 -1
  430. package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js.map +1 -1
  431. package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js.map +1 -1
  432. package/dist/base/components/shared/AceitarProcessoDialog.js.map +1 -1
  433. package/dist/base/components/shared/AdicionarHistoricoDialog.js.map +1 -1
  434. package/dist/base/components/shared/CancelarProcessoDialog.js.map +1 -1
  435. package/dist/base/components/shared/ConcluirProcessoDialog.js.map +1 -1
  436. package/dist/base/components/shared/ReabrirProcessoDialog.js.map +1 -1
  437. package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js.map +1 -1
  438. package/dist/base/components/shared/TransferirParaAtendenteDialog.js.map +1 -1
  439. package/dist/base/components/shared/TransferirParaSolicitanteDialog.js.map +1 -1
  440. package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
  441. package/dist/base/components/table/ListColumn.js.map +1 -1
  442. package/dist/base/components/tools/NavFilter.js.map +1 -1
  443. package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js +5 -3
  444. package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js.map +1 -1
  445. package/dist/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.js +10 -0
  446. package/dist/base/configs/endpoints.config/centralNfe/config/vinculoUnidadeMedida.js.map +1 -0
  447. package/dist/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.js +10 -0
  448. package/dist/base/configs/navigation.config/modules.submenu/centralNfe/submenu.centralNfe.js.map +1 -1
  449. package/dist/base/hooks/flux/useAceitarProcesso.js.map +1 -1
  450. package/dist/base/hooks/flux/useAdicionarHistorico.js.map +1 -1
  451. package/dist/base/hooks/flux/useCancelarProcesso.js.map +1 -1
  452. package/dist/base/hooks/flux/useConcluirProcesso.js.map +1 -1
  453. package/dist/base/hooks/flux/useReabrirProcesso.js.map +1 -1
  454. package/dist/base/hooks/flux/useRetornarFluxoAtendimento.js.map +1 -1
  455. package/dist/base/hooks/flux/useTransferirParaAtendente.js.map +1 -1
  456. package/dist/base/hooks/flux/useTransferirParaSolicitante.js.map +1 -1
  457. package/dist/base/hooks/flux/useTransferirProcesso.js.map +1 -1
  458. package/dist/base/services/modules/centralNfe/index.js +13 -3
  459. package/dist/base/services/modules/centralNfe/index.js.map +1 -1
  460. package/dist/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.js +37 -0
  461. package/dist/base/services/modules/centralNfe/vinculoUnidadeMedida/VinculoUnidadeMedidaService.js.map +1 -0
  462. package/dist/base/services/query.js.map +1 -1
  463. package/dist/base/utils/functions/formUtils.js.map +1 -1
  464. package/dist/base/utils/functions/handleInputChangeUtils.js.map +1 -1
  465. package/dist/base/utils/functions/stringUtils.js.map +1 -1
  466. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MailList.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailList.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Loading from '@/components/shared/Loading'\nimport Table from '@/components/ui/Table'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Badge from '@/components/ui/Badge'\nimport MailDeleteConfimation from './MailDeleteConfimation'\nimport classNames from '@/utils/classNames'\nimport { useMailStore } from '../store/mailStore'\nimport useMail from '../hooks/useMail'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport useQuery from '@/utils/hooks/useQuery'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport isLastChild from '@/utils/isLastChild'\nimport { useNavigate, useLocation } from 'react-router-dom'\nimport { TbStarFilled, TbTrash, TbStar, TbFlag } from 'react-icons/tb'\nimport type { MouseEvent } from 'react'\nimport { Mail } from '../types'\n\nconst htmlReg = /(<([^>]+)>)/gi\n\nconst { THead, Th, TBody, Tr, Td } = Table\n\nconst MailList = () => {\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState<{\n open: boolean\n selected: string\n }>({\n open: false,\n selected: '',\n })\n\n const {\n selectedMailId,\n mailList,\n setMail,\n setSelectedMail,\n mailListFetched,\n } = useMailStore()\n\n const {\n onFlagToggle,\n onCheckboxToggle,\n onStarToggle,\n onResetChecked,\n onMailDelete,\n } = useMailAction()\n\n const navigate = useNavigate()\n const location = useLocation()\n const query = useQuery()\n\n const { larger } = useResponsive()\n\n const { fetchMails, isMailsFetching } = useMail()\n\n useEffect(() => {\n const category = query.get('category')\n const label = query.get('label')\n\n if (!mailListFetched) {\n fetchMails({ category: category || '', label: label || '' })\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname, location.search])\n\n const renderSubject = (title: string, content: string) => {\n const text = content.replace(htmlReg, '')\n const titleOffsetNumber = title.length\n\n return (\n <div className=\"flex items-center gap-3\">\n <span className=\"font-semibold heading-text text-nowrap\">\n {title}\n </span>\n <span className=\"text-nowrap\">\n {text.length > 45 - titleOffsetNumber\n ? text.substring(0, 42 - titleOffsetNumber) + '...'\n : text}\n </span>\n </div>\n )\n }\n\n const handleMailClick = (e: MouseEvent<HTMLElement>, mail: Mail) => {\n e.stopPropagation()\n setMail(mail)\n onResetChecked()\n navigate(`${location.pathname}?mail=${mail.id}`, { replace: true })\n }\n\n const handleCheckboxClick = (e: MouseEvent<HTMLDivElement>, mail: Mail) => {\n e.stopPropagation()\n onCheckboxToggle(mail)\n if (!mail.checked) {\n if (!selectedMailId.includes(mail.id)) {\n setSelectedMail([...selectedMailId, mail.id])\n }\n } else {\n setSelectedMail(selectedMailId.filter((id) => mail.id !== id))\n }\n }\n\n const handleAction = (\n e: MouseEvent<HTMLButtonElement>,\n callback: (mail: Mail, setMail: boolean) => void,\n mail: Mail,\n ) => {\n e.stopPropagation()\n callback(mail, false)\n }\n\n const handleClose = () => {\n setDeleteConfirmationOpen({\n open: false,\n selected: '',\n })\n }\n\n const handleConfirmDelete = () => {\n onMailDelete([deleteConfirmationOpen.selected])\n handleClose()\n }\n\n return (\n <>\n <div className=\"lg:absolute top-0 left-0 h-full w-full\">\n <ScrollBar\n autoHide\n className=\"overflow-y-auto lg:h-full lg:max-w-full\"\n >\n <Loading\n type={mailList.length > 0 ? 'cover' : 'default'}\n spinnerClass={mailList.length > 0 ? 'hidden' : ''}\n loading={isMailsFetching}\n >\n {larger.lg ? (\n <Table compact overflow={false}>\n <THead>\n <Tr>\n <Th colSpan={2}>From</Th>\n <Th></Th>\n <Th>Subject</Th>\n <Th>Received</Th>\n <Th></Th>\n </Tr>\n </THead>\n <TBody>\n {mailList.map((mail) => (\n <Tr\n key={mail.id}\n className=\"group\"\n onClick={(e) =>\n handleMailClick(e, mail)\n }\n >\n <Td width=\"40\">\n <div className=\"h-[32px] w-[32px] flex items-center justify-center\">\n <Avatar\n shape=\"circle\"\n src={mail.avatar}\n size=\"sm\"\n className={classNames(\n 'group-hover:hidden',\n mail.checked &&\n 'hidden',\n )}\n />\n <div\n className={classNames(\n 'group-hover:block',\n mail.checked\n ? 'block'\n : 'hidden',\n )}\n >\n <div\n className=\"flex items-center\"\n onClick={(e) =>\n handleCheckboxClick(\n e,\n mail,\n )\n }\n >\n <Checkbox\n checked={\n mail.checked\n }\n />\n </div>\n </div>\n </div>\n </Td>\n <Td>\n <span className=\"font-bold heading-text truncate\">\n {mail.name}\n </span>\n </Td>\n <Td>\n <div className=\"flex justify-end\">\n {labelList.some(\n (label) =>\n label.value ===\n mail.label,\n ) && (\n <Badge\n className={\n labelList.find(\n (label) =>\n label.value ===\n mail.label,\n )?.dotClass\n }\n />\n )}\n </div>\n </Td>\n <Td className=\"max-w-full overflow-hidden text-ellipsis whitespace-nowrap\">\n {renderSubject(\n mail.title,\n mail.message[0].content,\n )}\n </Td>\n <Td>{mail.message[0].date}</Td>\n <Td>\n <div className=\"flex items-center text-lg gap-2\">\n <button\n type=\"button\"\n title=\"Flag\"\n onClick={(e) =>\n handleAction(\n e,\n onFlagToggle,\n mail,\n )\n }\n >\n <TbFlag\n className={classNames(\n mail.flagged &&\n 'text-red-500',\n )}\n />\n </button>\n <button\n type=\"button\"\n title=\"Star\"\n onClick={(e) =>\n handleAction(\n e,\n onStarToggle,\n mail,\n )\n }\n >\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </button>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n setDeleteConfirmationOpen(\n {\n open: true,\n selected:\n mail.id,\n },\n )\n }}\n >\n <TbTrash />\n </button>\n </div>\n </Td>\n </Tr>\n ))}\n </TBody>\n </Table>\n ) : (\n <>\n {mailList.map((mail, index) => (\n <div\n key={mail.id}\n className={classNames(\n 'flex justify-between items-center gap-2 px-2 rounded-xl border-gray-200 dark:border-gray-700 py-4 cursor-pointer group',\n !isLastChild(mailList, index) &&\n 'border-b',\n )}\n onClick={(e) =>\n handleMailClick(e, mail)\n }\n >\n <div className=\"flex gap-4 min-w-0\">\n <div className=\"h-[32px] w-[32px] flex items-center justify-center\">\n <Avatar\n shape=\"circle\"\n src={mail.avatar}\n size=\"sm\"\n className={classNames(\n 'group-hover:hidden',\n mail.checked &&\n 'hidden',\n )}\n />\n <div\n className={classNames(\n 'group-hover:block',\n mail.checked\n ? 'block'\n : 'hidden',\n )}\n >\n <div\n className=\"flex items-center\"\n onClick={(e) =>\n handleCheckboxClick(\n e,\n mail,\n )\n }\n >\n <Checkbox\n checked={\n mail.checked\n }\n />\n </div>\n </div>\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"font-bold heading-text truncate\">\n {mail.name}\n </div>\n <div className=\"min-w-0\">\n <div className=\"text-nowrap truncate\">\n {mail.message[0].content.replace(\n htmlReg,\n '',\n )}\n </div>\n </div>\n <div className=\"flex items-center text-lg gap-2 mt-2\">\n <button\n type=\"button\"\n title=\"Flag\"\n onClick={(e) =>\n handleAction(\n e,\n onFlagToggle,\n mail,\n )\n }\n >\n <TbFlag\n className={classNames(\n mail.flagged &&\n 'text-red-500',\n )}\n />\n </button>\n <button\n type=\"button\"\n title=\"Star\"\n onClick={(e) =>\n handleAction(\n e,\n onStarToggle,\n mail,\n )\n }\n >\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </button>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n setDeleteConfirmationOpen(\n {\n open: true,\n selected:\n mail.id,\n },\n )\n }}\n >\n <TbTrash />\n </button>\n </div>\n </div>\n </div>\n <div className=\"\">\n <span className=\"text-nowrap font-semibold\">\n {mail.message[0].date}\n </span>\n </div>\n </div>\n ))}\n </>\n )}\n </Loading>\n </ScrollBar>\n </div>\n <MailDeleteConfimation\n isOpen={deleteConfirmationOpen.open}\n selectedMailCount={1}\n onClose={handleClose}\n onConfirmDelete={handleConfirmDelete}\n />\n </>\n )\n}\n\nexport default MailList\n"],"names":["htmlReg","THead","Th","TBody","Tr","Td","Table","MailList","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","selectedMailId","mailList","setMail","setSelectedMail","mailListFetched","useMailStore","onFlagToggle","onCheckboxToggle","onStarToggle","onResetChecked","onMailDelete","useMailAction","navigate","useNavigate","location","useLocation","query","useQuery","larger","useResponsive","fetchMails","isMailsFetching","useMail","useEffect","category","label","renderSubject","title","content","text","titleOffsetNumber","jsxs","jsx","handleMailClick","e","mail","handleCheckboxClick","id","handleAction","callback","handleClose","handleConfirmDelete","Fragment","ScrollBar","Loading","Avatar","classNames","Checkbox","labelList","Badge","_a","TbFlag","TbStarFilled","TbStar","TbTrash","index","isLastChild","MailDeleteConfimation"],"mappings":"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"}
1
+ {"version":3,"file":"MailList.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailList.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Loading from '@/components/shared/Loading'\nimport Table from '@/components/ui/Table'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Badge from '@/components/ui/Badge'\nimport MailDeleteConfimation from './MailDeleteConfimation'\nimport classNames from '@/utils/classNames'\nimport { useMailStore } from '../store/mailStore'\nimport useMail from '../hooks/useMail'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport useQuery from '@/utils/hooks/useQuery'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport isLastChild from '@/utils/isLastChild'\nimport { useNavigate, useLocation } from 'react-router-dom'\nimport { TbStarFilled, TbTrash, TbStar, TbFlag } from 'react-icons/tb'\nimport type { MouseEvent } from 'react'\nimport { Mail } from '../types'\n\nconst htmlReg = /(<([^>]+)>)/gi\n\nconst { THead, Th, TBody, Tr, Td } = Table\n\nconst MailList = () => {\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState<{\n open: boolean\n selected: string\n }>({\n open: false,\n selected: '',\n })\n\n const {\n selectedMailId,\n mailList,\n setMail,\n setSelectedMail,\n mailListFetched,\n } = useMailStore()\n\n const {\n onFlagToggle,\n onCheckboxToggle,\n onStarToggle,\n onResetChecked,\n onMailDelete,\n } = useMailAction()\n\n const navigate = useNavigate()\n const location = useLocation()\n const query = useQuery()\n\n const { larger } = useResponsive()\n\n const { fetchMails, isMailsFetching } = useMail()\n\n useEffect(() => {\n const category = query.get('category')\n const label = query.get('label')\n\n if (!mailListFetched) {\n fetchMails({ category: category || '', label: label || '' })\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname, location.search])\n\n const renderSubject = (title: string, content: string) => {\n const text = content.replace(htmlReg, '')\n const titleOffsetNumber = title.length\n\n return (\n <div className=\"flex items-center gap-3\">\n <span className=\"font-semibold heading-text text-nowrap\">\n {title}\n </span>\n <span className=\"text-nowrap\">\n {text.length > 45 - titleOffsetNumber\n ? text.substring(0, 42 - titleOffsetNumber) + '...'\n : text}\n </span>\n </div>\n )\n }\n\n const handleMailClick = (e: MouseEvent<HTMLElement>, mail: Mail) => {\n e.stopPropagation()\n setMail(mail)\n onResetChecked()\n navigate(`${location.pathname}?mail=${mail.id}`, { replace: true })\n }\n\n const handleCheckboxClick = (e: MouseEvent<HTMLDivElement>, mail: Mail) => {\n e.stopPropagation()\n onCheckboxToggle(mail)\n if (!mail.checked) {\n if (!selectedMailId.includes(mail.id)) {\n setSelectedMail([...selectedMailId, mail.id])\n }\n } else {\n setSelectedMail(selectedMailId.filter((id) => mail.id !== id))\n }\n }\n\n const handleAction = (\n e: MouseEvent<HTMLButtonElement>,\n callback: (mail: Mail, setMail: boolean) => void,\n mail: Mail,\n ) => {\n e.stopPropagation()\n callback(mail, false)\n }\n\n const handleClose = () => {\n setDeleteConfirmationOpen({\n open: false,\n selected: '',\n })\n }\n\n const handleConfirmDelete = () => {\n onMailDelete([deleteConfirmationOpen.selected])\n handleClose()\n }\n\n return (\n <>\n <div className=\"lg:absolute top-0 left-0 h-full w-full\">\n <ScrollBar\n autoHide\n className=\"overflow-y-auto lg:h-full lg:max-w-full\"\n >\n <Loading\n type={mailList.length > 0 ? 'cover' : 'default'}\n spinnerClass={mailList.length > 0 ? 'hidden' : ''}\n loading={isMailsFetching}\n >\n {larger.lg ? (\n <Table compact overflow={false}>\n <THead>\n <Tr>\n <Th colSpan={2}>From</Th>\n <Th></Th>\n <Th>Subject</Th>\n <Th>Received</Th>\n <Th></Th>\n </Tr>\n </THead>\n <TBody>\n {mailList.map((mail) => (\n <Tr\n key={mail.id}\n className=\"group\"\n onClick={(e) =>\n handleMailClick(e, mail)\n }\n >\n <Td width=\"40\">\n <div className=\"h-[32px] w-[32px] flex items-center justify-center\">\n <Avatar\n shape=\"circle\"\n src={mail.avatar}\n size=\"sm\"\n className={classNames(\n 'group-hover:hidden',\n mail.checked &&\n 'hidden',\n )}\n />\n <div\n className={classNames(\n 'group-hover:block',\n mail.checked\n ? 'block'\n : 'hidden',\n )}\n >\n <div\n className=\"flex items-center\"\n onClick={(e) =>\n handleCheckboxClick(\n e,\n mail,\n )\n }\n >\n <Checkbox\n checked={\n mail.checked\n }\n />\n </div>\n </div>\n </div>\n </Td>\n <Td>\n <span className=\"font-bold heading-text truncate\">\n {mail.name}\n </span>\n </Td>\n <Td>\n <div className=\"flex justify-end\">\n {labelList.some(\n (label) =>\n label.value ===\n mail.label,\n ) && (\n <Badge\n className={\n labelList.find(\n (label) =>\n label.value ===\n mail.label,\n )?.dotClass\n }\n />\n )}\n </div>\n </Td>\n <Td className=\"max-w-full overflow-hidden text-ellipsis whitespace-nowrap\">\n {renderSubject(\n mail.title,\n mail.message[0].content,\n )}\n </Td>\n <Td>{mail.message[0].date}</Td>\n <Td>\n <div className=\"flex items-center text-lg gap-2\">\n <button\n type=\"button\"\n title=\"Flag\"\n onClick={(e) =>\n handleAction(\n e,\n onFlagToggle,\n mail,\n )\n }\n >\n <TbFlag\n className={classNames(\n mail.flagged &&\n 'text-red-500',\n )}\n />\n </button>\n <button\n type=\"button\"\n title=\"Star\"\n onClick={(e) =>\n handleAction(\n e,\n onStarToggle,\n mail,\n )\n }\n >\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </button>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n setDeleteConfirmationOpen(\n {\n open: true,\n selected:\n mail.id,\n },\n )\n }}\n >\n <TbTrash />\n </button>\n </div>\n </Td>\n </Tr>\n ))}\n </TBody>\n </Table>\n ) : (\n <>\n {mailList.map((mail, index) => (\n <div\n key={mail.id}\n className={classNames(\n 'flex justify-between items-center gap-2 px-2 rounded-xl border-gray-200 dark:border-gray-700 py-4 cursor-pointer group',\n !isLastChild(mailList, index) &&\n 'border-b',\n )}\n onClick={(e) =>\n handleMailClick(e, mail)\n }\n >\n <div className=\"flex gap-4 min-w-0\">\n <div className=\"h-[32px] w-[32px] flex items-center justify-center\">\n <Avatar\n shape=\"circle\"\n src={mail.avatar}\n size=\"sm\"\n className={classNames(\n 'group-hover:hidden',\n mail.checked &&\n 'hidden',\n )}\n />\n <div\n className={classNames(\n 'group-hover:block',\n mail.checked\n ? 'block'\n : 'hidden',\n )}\n >\n <div\n className=\"flex items-center\"\n onClick={(e) =>\n handleCheckboxClick(\n e,\n mail,\n )\n }\n >\n <Checkbox\n checked={\n mail.checked\n }\n />\n </div>\n </div>\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"font-bold heading-text truncate\">\n {mail.name}\n </div>\n <div className=\"min-w-0\">\n <div className=\"text-nowrap truncate\">\n {mail.message[0].content.replace(\n htmlReg,\n '',\n )}\n </div>\n </div>\n <div className=\"flex items-center text-lg gap-2 mt-2\">\n <button\n type=\"button\"\n title=\"Flag\"\n onClick={(e) =>\n handleAction(\n e,\n onFlagToggle,\n mail,\n )\n }\n >\n <TbFlag\n className={classNames(\n mail.flagged &&\n 'text-red-500',\n )}\n />\n </button>\n <button\n type=\"button\"\n title=\"Star\"\n onClick={(e) =>\n handleAction(\n e,\n onStarToggle,\n mail,\n )\n }\n >\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </button>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n setDeleteConfirmationOpen(\n {\n open: true,\n selected:\n mail.id,\n },\n )\n }}\n >\n <TbTrash />\n </button>\n </div>\n </div>\n </div>\n <div className=\"\">\n <span className=\"text-nowrap font-semibold\">\n {mail.message[0].date}\n </span>\n </div>\n </div>\n ))}\n </>\n )}\n </Loading>\n </ScrollBar>\n </div>\n <MailDeleteConfimation\n isOpen={deleteConfirmationOpen.open}\n selectedMailCount={1}\n onClose={handleClose}\n onConfirmDelete={handleConfirmDelete}\n />\n </>\n )\n}\n\nexport default MailList\n"],"names":["htmlReg","THead","Th","TBody","Tr","Td","Table","MailList","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","selectedMailId","mailList","setMail","setSelectedMail","mailListFetched","useMailStore","onFlagToggle","onCheckboxToggle","onStarToggle","onResetChecked","onMailDelete","useMailAction","navigate","useNavigate","location","useLocation","query","useQuery","larger","useResponsive","fetchMails","isMailsFetching","useMail","useEffect","category","label","renderSubject","title","content","text","titleOffsetNumber","jsxs","jsx","handleMailClick","e","mail","handleCheckboxClick","id","handleAction","callback","handleClose","handleConfirmDelete","Fragment","ScrollBar","Loading","Avatar","classNames","Checkbox","labelList","Badge","_a","TbFlag","TbStarFilled","TbStar","TbTrash","index","isLastChild","MailDeleteConfimation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailSidebar.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailSidebar.tsx"],"sourcesContent":["import Menu from '@/components/ui/Menu'\nimport Badge from '@/components/ui/Badge'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Drawer from '@/components/ui/Drawer'\nimport { useMailStore } from '../store/mailStore'\nimport { groupList, labelList } from '../constants'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport classNames from '@/utils/classNames'\nimport useQuery from '@/utils/hooks/useQuery'\nimport { useNavigate, createSearchParams } from 'react-router-dom'\n\nconst { MenuItem, MenuGroup } = Menu\n\nconst MailSideBarContent = ({ title }: { title?: string }) => {\n const navigate = useNavigate()\n\n const { selectedCategory, setMail, setMailListFetched } = useMailStore()\n\n const query = useQuery()\n\n const currentPath = query.get('category') || query.get('label') || 'inbox'\n\n const onMenuClick = ({\n category,\n label,\n }: {\n category: string\n label: string\n }) => {\n setMail({})\n setMailListFetched(false)\n\n const params: {\n category?: string\n label?: string\n } = {}\n\n if (category) {\n params.category = category\n }\n\n if (label) {\n params.label = label\n }\n\n navigate(\n {\n pathname: '/concepts/mail',\n search: createSearchParams(params).toString(),\n },\n { replace: true },\n )\n }\n return (\n <div className=\"flex flex-col justify-between h-full\">\n <ScrollBar className=\"h-full overflow-y-auto\">\n {title && (\n <div className=\"mb-6 mx-2\">\n <h3>{title}</h3>\n </div>\n )}\n <Menu className=\"mx-2 mb-10\">\n {groupList.map((menu) => (\n <MenuItem\n key={menu.value}\n eventKey={menu.value}\n className={`mb-2 ${\n selectedCategory.value === menu.value\n ? 'bg-gray-100 dark:bg-gray-700'\n : ''\n }`}\n isActive={currentPath === menu.value}\n onSelect={() =>\n onMenuClick({ category: menu.value, label: '' })\n }\n >\n <span className=\"text-2xl ltr:mr-2 rtl:ml-2\">\n {menu.icon}\n </span>\n <span>{menu.label}</span>\n </MenuItem>\n ))}\n </Menu>\n <Menu className=\"mx-2 mb-6\">\n <MenuGroup label=\"Labels\">\n {labelList.map((label) => (\n <MenuItem\n key={label.value}\n eventKey={label.value}\n className={`mb-2 ${\n selectedCategory.value === label.value\n ? 'bg-gray-100 dark:bg-gray-700'\n : ''\n }`}\n isActive={currentPath === label.value}\n onSelect={() =>\n onMenuClick({\n category: '',\n label: label.value,\n })\n }\n >\n <Badge\n className=\"ltr:mr-2 rtl:ml-2\"\n innerClass={label.dotClass}\n />\n <span>{label.label}</span>\n </MenuItem>\n ))}\n </MenuGroup>\n </Menu>\n </ScrollBar>\n </div>\n )\n}\n\nconst MailSidebar = () => {\n const { mobileSideBarExpand, toggleMobileSidebar } = useMailStore()\n\n const { smaller } = useResponsive()\n\n const onMobileSideBarClose = () => {\n toggleMobileSidebar(false)\n }\n\n return smaller.xl ? (\n <Drawer\n bodyClass=\"p-0\"\n title=\"Mailbox\"\n isOpen={mobileSideBarExpand}\n placement=\"left\"\n width={280}\n onClose={onMobileSideBarClose}\n onRequestClose={onMobileSideBarClose}\n >\n <div className=\"py-4 h-full\">\n <MailSideBarContent />\n </div>\n </Drawer>\n ) : (\n <div className={classNames('w-[240px]')}>\n <MailSideBarContent title=\"Mailbox\" />\n </div>\n )\n}\n\nexport default MailSidebar\n"],"names":["MenuItem","MenuGroup","Menu","MailSideBarContent","title","navigate","useNavigate","selectedCategory","setMail","setMailListFetched","useMailStore","query","useQuery","currentPath","onMenuClick","category","label","params","createSearchParams","jsxs","ScrollBar","jsx","groupList","menu","labelList","Badge","MailSidebar","mobileSideBarExpand","toggleMobileSidebar","smaller","useResponsive","onMobileSideBarClose","Drawer","classNames"],"mappings":"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"}
1
+ {"version":3,"file":"MailSidebar.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailSidebar.tsx"],"sourcesContent":["import Menu from '@/components/ui/Menu'\nimport Badge from '@/components/ui/Badge'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport Drawer from '@/components/ui/Drawer'\nimport { useMailStore } from '../store/mailStore'\nimport { groupList, labelList } from '../constants'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport classNames from '@/utils/classNames'\nimport useQuery from '@/utils/hooks/useQuery'\nimport { useNavigate, createSearchParams } from 'react-router-dom'\n\nconst { MenuItem, MenuGroup } = Menu\n\nconst MailSideBarContent = ({ title }: { title?: string }) => {\n const navigate = useNavigate()\n\n const { selectedCategory, setMail, setMailListFetched } = useMailStore()\n\n const query = useQuery()\n\n const currentPath = query.get('category') || query.get('label') || 'inbox'\n\n const onMenuClick = ({\n category,\n label,\n }: {\n category: string\n label: string\n }) => {\n setMail({})\n setMailListFetched(false)\n\n const params: {\n category?: string\n label?: string\n } = {}\n\n if (category) {\n params.category = category\n }\n\n if (label) {\n params.label = label\n }\n\n navigate(\n {\n pathname: '/concepts/mail',\n search: createSearchParams(params).toString(),\n },\n { replace: true },\n )\n }\n return (\n <div className=\"flex flex-col justify-between h-full\">\n <ScrollBar className=\"h-full overflow-y-auto\">\n {title && (\n <div className=\"mb-6 mx-2\">\n <h3>{title}</h3>\n </div>\n )}\n <Menu className=\"mx-2 mb-10\">\n {groupList.map((menu) => (\n <MenuItem\n key={menu.value}\n eventKey={menu.value}\n className={`mb-2 ${\n selectedCategory.value === menu.value\n ? 'bg-gray-100 dark:bg-gray-700'\n : ''\n }`}\n isActive={currentPath === menu.value}\n onSelect={() =>\n onMenuClick({ category: menu.value, label: '' })\n }\n >\n <span className=\"text-2xl ltr:mr-2 rtl:ml-2\">\n {menu.icon}\n </span>\n <span>{menu.label}</span>\n </MenuItem>\n ))}\n </Menu>\n <Menu className=\"mx-2 mb-6\">\n <MenuGroup label=\"Labels\">\n {labelList.map((label) => (\n <MenuItem\n key={label.value}\n eventKey={label.value}\n className={`mb-2 ${\n selectedCategory.value === label.value\n ? 'bg-gray-100 dark:bg-gray-700'\n : ''\n }`}\n isActive={currentPath === label.value}\n onSelect={() =>\n onMenuClick({\n category: '',\n label: label.value,\n })\n }\n >\n <Badge\n className=\"ltr:mr-2 rtl:ml-2\"\n innerClass={label.dotClass}\n />\n <span>{label.label}</span>\n </MenuItem>\n ))}\n </MenuGroup>\n </Menu>\n </ScrollBar>\n </div>\n )\n}\n\nconst MailSidebar = () => {\n const { mobileSideBarExpand, toggleMobileSidebar } = useMailStore()\n\n const { smaller } = useResponsive()\n\n const onMobileSideBarClose = () => {\n toggleMobileSidebar(false)\n }\n\n return smaller.xl ? (\n <Drawer\n bodyClass=\"p-0\"\n title=\"Mailbox\"\n isOpen={mobileSideBarExpand}\n placement=\"left\"\n width={280}\n onClose={onMobileSideBarClose}\n onRequestClose={onMobileSideBarClose}\n >\n <div className=\"py-4 h-full\">\n <MailSideBarContent />\n </div>\n </Drawer>\n ) : (\n <div className={classNames('w-[240px]')}>\n <MailSideBarContent title=\"Mailbox\" />\n </div>\n )\n}\n\nexport default MailSidebar\n"],"names":["MenuItem","MenuGroup","Menu","MailSideBarContent","title","navigate","useNavigate","selectedCategory","setMail","setMailListFetched","useMailStore","query","useQuery","currentPath","onMenuClick","category","label","params","createSearchParams","jsxs","ScrollBar","jsx","groupList","menu","labelList","Badge","MailSidebar","mobileSideBarExpand","toggleMobileSidebar","smaller","useResponsive","onMobileSideBarClose","Drawer","classNames"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMail.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/hooks/useMail.ts"],"sourcesContent":["import { useMailStore } from '../store/mailStore'\nimport { apiGetMails, apiGetMail } from '@/services/MailServices'\nimport useSWRMutation from 'swr/mutation'\nimport type {\n GetMailsResponse,\n GetMailResponse,\n GetMailsRequest,\n GetMailRequest,\n} from '../types'\n\nasync function getMails(\n _: string,\n { arg }: { arg: { category: string; label: string } },\n) {\n const data = await apiGetMails<GetMailsResponse, GetMailsRequest>(arg)\n return data\n}\n\nasync function getMail(_: string, { arg }: { arg: string }) {\n const data = await apiGetMail<GetMailResponse, GetMailRequest>({ id: arg })\n return data\n}\n\nconst useMail = () => {\n const {\n setMailList,\n setMail,\n selectedMailId,\n setMailListFetched,\n setSelectedMail,\n } = useMailStore()\n\n const { trigger: fetchMails, isMutating: isMailsFetching } = useSWRMutation(\n `/api/mails/`,\n getMails,\n {\n onSuccess: (list) => {\n setSelectedMail([])\n setMailList(list)\n setMailListFetched(true)\n },\n },\n )\n\n const { trigger: fetchMail, isMutating: isMailFetching } = useSWRMutation(\n `/api/mail/${selectedMailId}`,\n getMail,\n {\n onSuccess: (mail) => {\n setMail(mail)\n },\n },\n )\n\n return {\n fetchMails,\n isMailsFetching,\n fetchMail,\n isMailFetching,\n }\n}\n\nexport default useMail\n"],"names":["getMails","_","arg","apiGetMails","getMail","apiGetMail","useMail","setMailList","setMail","selectedMailId","setMailListFetched","setSelectedMail","useMailStore","fetchMails","isMailsFetching","useSWRMutation","list","fetchMail","isMailFetching","mail"],"mappings":";;;AAUA,eAAeA,EACXC,GACA,EAAE,KAAAC,KACJ;AAEE,SADa,MAAMC,EAA+CD,CAAG;AAEzE;AAEA,eAAeE,EAAQH,GAAW,EAAE,KAAAC,KAAwB;AAExD,SADa,MAAMG,EAA4C,EAAE,IAAIH,GAAK;AAE9E;AAEA,MAAMI,IAAU,MAAM;AAClB,QAAM;AAAA,IACF,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACAC,EAAA,GAEE,EAAE,SAASC,GAAY,YAAYC,MAAoBC;AAAA,IACzD;AAAA,IACAf;AAAA,IACA;AAAA,MACI,WAAW,CAACgB,MAAS;AACjB,QAAAL,EAAgB,CAAA,CAAE,GAClBJ,EAAYS,CAAI,GAChBN,EAAmB,EAAI;AAAA,MAAA;AAAA,IAC3B;AAAA,EACJ,GAGE,EAAE,SAASO,GAAW,YAAYC,MAAmBH;AAAA,IACvD,aAAaN,CAAc;AAAA,IAC3BL;AAAA,IACA;AAAA,MACI,WAAW,CAACe,MAAS;AACjB,QAAAX,EAAQW,CAAI;AAAA,MAAA;AAAA,IAChB;AAAA,EACJ;AAGJ,SAAO;AAAA,IACH,YAAAN;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAG;AAAA,IACA,gBAAAC;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useMail.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/hooks/useMail.ts"],"sourcesContent":["import { useMailStore } from '../store/mailStore'\nimport { apiGetMails, apiGetMail } from '@/services/MailServices'\nimport useSWRMutation from 'swr/mutation'\nimport type {\n GetMailsResponse,\n GetMailResponse,\n GetMailsRequest,\n GetMailRequest,\n} from '../types'\n\nasync function getMails(\n _: string,\n { arg }: { arg: { category: string; label: string } },\n) {\n const data = await apiGetMails<GetMailsResponse, GetMailsRequest>(arg)\n return data\n}\n\nasync function getMail(_: string, { arg }: { arg: string }) {\n const data = await apiGetMail<GetMailResponse, GetMailRequest>({ id: arg })\n return data\n}\n\nconst useMail = () => {\n const {\n setMailList,\n setMail,\n selectedMailId,\n setMailListFetched,\n setSelectedMail,\n } = useMailStore()\n\n const { trigger: fetchMails, isMutating: isMailsFetching } = useSWRMutation(\n `/api/mails/`,\n getMails,\n {\n onSuccess: (list) => {\n setSelectedMail([])\n setMailList(list)\n setMailListFetched(true)\n },\n },\n )\n\n const { trigger: fetchMail, isMutating: isMailFetching } = useSWRMutation(\n `/api/mail/${selectedMailId}`,\n getMail,\n {\n onSuccess: (mail) => {\n setMail(mail)\n },\n },\n )\n\n return {\n fetchMails,\n isMailsFetching,\n fetchMail,\n isMailFetching,\n }\n}\n\nexport default useMail\n"],"names":["getMails","_","arg","apiGetMails","getMail","apiGetMail","useMail","setMailList","setMail","selectedMailId","setMailListFetched","setSelectedMail","useMailStore","fetchMails","isMailsFetching","useSWRMutation","list","fetchMail","isMailFetching","mail"],"mappings":";;;AAUA,eAAeA,EACXC,GACA,EAAE,KAAAC,KACJ;AAEE,SADa,MAAMC,EAA+CD,CAAG;AAEzE;AAEA,eAAeE,EAAQH,GAAW,EAAE,KAAAC,KAAwB;AAExD,SADa,MAAMG,EAA4C,EAAE,IAAIH,GAAK;AAE9E;AAEA,MAAMI,IAAU,MAAM;AAClB,QAAM;AAAA,IACF,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACAC,EAAA,GAEE,EAAE,SAASC,GAAY,YAAYC,MAAoBC;AAAA,IACzD;AAAA,IACAf;AAAA,IACA;AAAA,MACI,WAAW,CAACgB,MAAS;AACjB,QAAAL,EAAgB,CAAA,CAAE,GAClBJ,EAAYS,CAAI,GAChBN,EAAmB,EAAI;AAAA,MAC3B;AAAA,IAAA;AAAA,EACJ,GAGE,EAAE,SAASO,GAAW,YAAYC,MAAmBH;AAAA,IACvD,aAAaN,CAAc;AAAA,IAC3BL;AAAA,IACA;AAAA,MACI,WAAW,CAACe,MAAS;AACjB,QAAAX,EAAQW,CAAI;AAAA,MAChB;AAAA,IAAA;AAAA,EACJ;AAGJ,SAAO;AAAA,IACH,YAAAN;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAG;AAAA,IACA,gBAAAC;AAAA,EAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMailAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/hooks/useMailAction.ts"],"sourcesContent":["import { useMailStore } from '../store/mailStore'\nimport cloneDeep from 'lodash/cloneDeep'\nimport type { Mail } from '../types'\n\nconst useMailAction = () => {\n const { mailList, setMail, setMailList, setSelectedMail } = useMailStore()\n\n const updateMailList = (newMail: Mail) => {\n const newMailList = cloneDeep(mailList).map((mail) => {\n if (mail.id === newMail.id) {\n mail = newMail\n }\n return mail\n })\n setMailList(newMailList)\n }\n\n const onStarToggle = (mail: Mail, shouldSetMail: boolean = true) => {\n const newMail = cloneDeep(mail)\n newMail.starred = !newMail.starred\n if (shouldSetMail) {\n setMail(newMail)\n }\n updateMailList(newMail)\n }\n\n const onFlagToggle = (mail: Mail, shouldSetMail: boolean = true) => {\n const newMail = cloneDeep(mail)\n newMail.flagged = !newMail.flagged\n if (shouldSetMail) {\n setMail(newMail)\n }\n updateMailList(newMail)\n }\n\n const onCheckboxToggle = (mail: Mail) => {\n const newMail = cloneDeep(mail)\n newMail.checked = !newMail.checked\n updateMailList(newMail)\n }\n\n const onMoveMailClick = (mail: Mail, destination: string) => {\n const newMail = cloneDeep(mail)\n newMail.label = destination\n updateMailList(newMail)\n }\n\n const onBatchMoveMailClick = (mailsId: string[], destination: string) => {\n setMailList(\n mailList.map((mail) => {\n if (mailsId.includes(mail.id)) {\n mail.label = destination\n mail.checked = false\n }\n\n return mail\n }),\n )\n setSelectedMail([])\n }\n\n const onMailDelete = (mailsId: string[]) => {\n setMailList(mailList.filter((mail) => !mailsId.includes(mail.id)))\n setSelectedMail([])\n }\n\n const onResetChecked = () => {\n setMailList(\n mailList.map((mail) => {\n mail.checked = false\n return mail\n }),\n )\n setSelectedMail([])\n }\n\n return {\n onStarToggle,\n onMailDelete,\n onFlagToggle,\n onMoveMailClick,\n onCheckboxToggle,\n onResetChecked,\n onBatchMoveMailClick,\n }\n}\n\nexport default useMailAction\n"],"names":["useMailAction","mailList","setMail","setMailList","setSelectedMail","useMailStore","updateMailList","newMail","newMailList","cloneDeep","mail","shouldSetMail","mailsId","destination"],"mappings":";;AAIA,MAAMA,IAAgB,MAAM;AACxB,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,aAAAC,GAAa,iBAAAC,EAAA,IAAoBC,EAAA,GAEtDC,IAAiB,CAACC,MAAkB;AACtC,UAAMC,IAAcC,EAAUR,CAAQ,EAAE,IAAI,CAACS,OACrCA,EAAK,OAAOH,EAAQ,OACpBG,IAAOH,IAEJG,EACV;AACD,IAAAP,EAAYK,CAAW;AAAA,EAAA;AA8D3B,SAAO;AAAA,IACH,cA5DiB,CAACE,GAAYC,IAAyB,OAAS;AAChE,YAAMJ,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SACvBI,KACAT,EAAQK,CAAO,GAEnBD,EAAeC,CAAO;AAAA,IAAA;AAAA,IAuDtB,cAjBiB,CAACK,MAAsB;AACxC,MAAAT,EAAYF,EAAS,OAAO,CAACS,MAAS,CAACE,EAAQ,SAASF,EAAK,EAAE,CAAC,CAAC,GACjEN,EAAgB,CAAA,CAAE;AAAA,IAAA;AAAA,IAgBlB,cArDiB,CAACM,GAAYC,IAAyB,OAAS;AAChE,YAAMJ,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SACvBI,KACAT,EAAQK,CAAO,GAEnBD,EAAeC,CAAO;AAAA,IAAA;AAAA,IAgDtB,iBAvCoB,CAACG,GAAYG,MAAwB;AACzD,YAAMN,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,QAAQM,GAChBP,EAAeC,CAAO;AAAA,IAAA;AAAA,IAqCtB,kBA9CqB,CAACG,MAAe;AACrC,YAAMH,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SAC3BD,EAAeC,CAAO;AAAA,IAAA;AAAA,IA4CtB,gBAhBmB,MAAM;AACzB,MAAAJ;AAAA,QACIF,EAAS,IAAI,CAACS,OACVA,EAAK,UAAU,IACRA,EACV;AAAA,MAAA,GAELN,EAAgB,CAAA,CAAE;AAAA,IAAA;AAAA,IAUlB,sBApCyB,CAACQ,GAAmBC,MAAwB;AACrE,MAAAV;AAAA,QACIF,EAAS,IAAI,CAACS,OACNE,EAAQ,SAASF,EAAK,EAAE,MACxBA,EAAK,QAAQG,GACbH,EAAK,UAAU,KAGZA,EACV;AAAA,MAAA,GAELN,EAAgB,CAAA,CAAE;AAAA,IAAA;AAAA,EAyBlB;AAER;"}
1
+ {"version":3,"file":"useMailAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/hooks/useMailAction.ts"],"sourcesContent":["import { useMailStore } from '../store/mailStore'\nimport cloneDeep from 'lodash/cloneDeep'\nimport type { Mail } from '../types'\n\nconst useMailAction = () => {\n const { mailList, setMail, setMailList, setSelectedMail } = useMailStore()\n\n const updateMailList = (newMail: Mail) => {\n const newMailList = cloneDeep(mailList).map((mail) => {\n if (mail.id === newMail.id) {\n mail = newMail\n }\n return mail\n })\n setMailList(newMailList)\n }\n\n const onStarToggle = (mail: Mail, shouldSetMail: boolean = true) => {\n const newMail = cloneDeep(mail)\n newMail.starred = !newMail.starred\n if (shouldSetMail) {\n setMail(newMail)\n }\n updateMailList(newMail)\n }\n\n const onFlagToggle = (mail: Mail, shouldSetMail: boolean = true) => {\n const newMail = cloneDeep(mail)\n newMail.flagged = !newMail.flagged\n if (shouldSetMail) {\n setMail(newMail)\n }\n updateMailList(newMail)\n }\n\n const onCheckboxToggle = (mail: Mail) => {\n const newMail = cloneDeep(mail)\n newMail.checked = !newMail.checked\n updateMailList(newMail)\n }\n\n const onMoveMailClick = (mail: Mail, destination: string) => {\n const newMail = cloneDeep(mail)\n newMail.label = destination\n updateMailList(newMail)\n }\n\n const onBatchMoveMailClick = (mailsId: string[], destination: string) => {\n setMailList(\n mailList.map((mail) => {\n if (mailsId.includes(mail.id)) {\n mail.label = destination\n mail.checked = false\n }\n\n return mail\n }),\n )\n setSelectedMail([])\n }\n\n const onMailDelete = (mailsId: string[]) => {\n setMailList(mailList.filter((mail) => !mailsId.includes(mail.id)))\n setSelectedMail([])\n }\n\n const onResetChecked = () => {\n setMailList(\n mailList.map((mail) => {\n mail.checked = false\n return mail\n }),\n )\n setSelectedMail([])\n }\n\n return {\n onStarToggle,\n onMailDelete,\n onFlagToggle,\n onMoveMailClick,\n onCheckboxToggle,\n onResetChecked,\n onBatchMoveMailClick,\n }\n}\n\nexport default useMailAction\n"],"names":["useMailAction","mailList","setMail","setMailList","setSelectedMail","useMailStore","updateMailList","newMail","newMailList","cloneDeep","mail","shouldSetMail","mailsId","destination"],"mappings":";;AAIA,MAAMA,IAAgB,MAAM;AACxB,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,aAAAC,GAAa,iBAAAC,EAAA,IAAoBC,EAAA,GAEtDC,IAAiB,CAACC,MAAkB;AACtC,UAAMC,IAAcC,EAAUR,CAAQ,EAAE,IAAI,CAACS,OACrCA,EAAK,OAAOH,EAAQ,OACpBG,IAAOH,IAEJG,EACV;AACD,IAAAP,EAAYK,CAAW;AAAA,EAC3B;AA6DA,SAAO;AAAA,IACH,cA5DiB,CAACE,GAAYC,IAAyB,OAAS;AAChE,YAAMJ,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SACvBI,KACAT,EAAQK,CAAO,GAEnBD,EAAeC,CAAO;AAAA,IAC1B;AAAA,IAsDI,cAjBiB,CAACK,MAAsB;AACxC,MAAAT,EAAYF,EAAS,OAAO,CAACS,MAAS,CAACE,EAAQ,SAASF,EAAK,EAAE,CAAC,CAAC,GACjEN,EAAgB,CAAA,CAAE;AAAA,IACtB;AAAA,IAeI,cArDiB,CAACM,GAAYC,IAAyB,OAAS;AAChE,YAAMJ,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SACvBI,KACAT,EAAQK,CAAO,GAEnBD,EAAeC,CAAO;AAAA,IAC1B;AAAA,IA+CI,iBAvCoB,CAACG,GAAYG,MAAwB;AACzD,YAAMN,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,QAAQM,GAChBP,EAAeC,CAAO;AAAA,IAC1B;AAAA,IAoCI,kBA9CqB,CAACG,MAAe;AACrC,YAAMH,IAAUE,EAAUC,CAAI;AAC9B,MAAAH,EAAQ,UAAU,CAACA,EAAQ,SAC3BD,EAAeC,CAAO;AAAA,IAC1B;AAAA,IA2CI,gBAhBmB,MAAM;AACzB,MAAAJ;AAAA,QACIF,EAAS,IAAI,CAACS,OACVA,EAAK,UAAU,IACRA,EACV;AAAA,MAAA,GAELN,EAAgB,CAAA,CAAE;AAAA,IACtB;AAAA,IASI,sBApCyB,CAACQ,GAAmBC,MAAwB;AACrE,MAAAV;AAAA,QACIF,EAAS,IAAI,CAACS,OACNE,EAAQ,SAASF,EAAK,EAAE,MACxBA,EAAK,QAAQG,GACbH,EAAK,UAAU,KAGZA,EACV;AAAA,MAAA,GAELN,EAAgB,CAAA,CAAE;AAAA,IACtB;AAAA,EAwBI;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderCreate.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderCreate/OrderCreate.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport Container from '@/components/shared/Container'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport OrderForm from '../OrderForm'\nimport sleep from '@/utils/sleep'\nimport { useNavigate } from 'react-router-dom'\nimport { TbTrash } from 'react-icons/tb'\nimport type { OrderFormSchema } from '../OrderForm'\n\nconst OrderCreate = () => {\n const navigate = useNavigate()\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: OrderFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(<Notification type=\"success\">Order created!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/orders/order-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Order discarded!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/orders/order-list')\n }\n\n const handleDiscard = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n return (\n <>\n <OrderForm onFormSubmit={handleFormSubmit}>\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <span></span>\n <div className=\"flex items-center\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-1 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={handleDiscard}\n >\n Discard\n </Button>\n <Button\n variant=\"solid\"\n type=\"submit\"\n loading={isSubmiting}\n >\n Create\n </Button>\n </div>\n </div>\n </Container>\n </OrderForm>\n <ConfirmDialog\n isOpen={discardConfirmationOpen}\n type=\"danger\"\n title=\"Discard changes\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDiscard}\n >\n <p>\n Are you sure you want discard this? This action can&apos;t\n be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default OrderCreate\n"],"names":["OrderCreate","navigate","useNavigate","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsx","Notification","handleConfirmDiscard","handleDiscard","handleCancel","jsxs","Fragment","OrderForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAMA,IAAc,MAAM;AACtB,QAAMC,IAAWC,EAAA,GAEX,CAACC,GAAyBC,CAA0B,IACtDC,EAAS,EAAK,GACZ,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAK,GAE9CG,IAAmB,OAAOC,MAA4B;AACxD,YAAQ,IAAI,oBAAoBA,CAAM,GACtCF,EAAe,EAAI,GACnB,MAAMG,EAAM,GAAG,GACfH,EAAe,EAAK,GACpBI,EAAM,KAAK,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,4BAAc,GAAiB;AAAA,MACnE,WAAW;AAAA,IAAA,CACd,GACDZ,EAAS,6BAA6B;AAAA,EAAA,GAGpCa,IAAuB,MAAM;AAC/B,IAAAV,EAA2B,EAAI,GAC/BO,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,oBAAgB;AAAA,MAC7C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,6BAA6B;AAAA,EAAA,GAGpCc,IAAgB,MAAM;AACxB,IAAAX,EAA2B,EAAI;AAAA,EAAA,GAG7BY,IAAe,MAAM;AACvB,IAAAZ,EAA2B,EAAK;AAAA,EAAA;AAGpC,SACI,gBAAAa,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAN,EAACO,GAAA,EAAU,cAAcX,GACrB,UAAA,gBAAAI,EAACQ,KACG,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,MAAA,gBAAAL,EAAC,QAAA,EAAK;AAAA,MACN,gBAAAK,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,QAAA,gBAAAL;AAAA,UAACS;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,MAAK;AAAA,YACL,kBAAkB,MACd;AAAA,YAEJ,wBAAOC,GAAA,EAAQ;AAAA,YACf,SAASP;AAAA,YACZ,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGD,gBAAAH;AAAA,UAACS;AAAA,UAAA;AAAA,YACG,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAASf;AAAA,YACZ,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CACJ;AAAA,IAAA,EAAA,CACJ,GACJ,GACJ;AAAA,IACA,gBAAAM;AAAA,MAACW;AAAA,MAAA;AAAA,QACG,QAAQpB;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAASa;AAAA,QACT,gBAAgBA;AAAA,QAChB,UAAUA;AAAA,QACV,WAAWF;AAAA,QAEX,4BAAC,KAAA,EAAE,UAAA;AAAA,UAAA;AAAA,UAEU;AAAA,QAAA,EAAA,CACb;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
1
+ {"version":3,"file":"OrderCreate.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderCreate/OrderCreate.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport Container from '@/components/shared/Container'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport OrderForm from '../OrderForm'\nimport sleep from '@/utils/sleep'\nimport { useNavigate } from 'react-router-dom'\nimport { TbTrash } from 'react-icons/tb'\nimport type { OrderFormSchema } from '../OrderForm'\n\nconst OrderCreate = () => {\n const navigate = useNavigate()\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: OrderFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(<Notification type=\"success\">Order created!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/orders/order-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Order discarded!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/orders/order-list')\n }\n\n const handleDiscard = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n return (\n <>\n <OrderForm onFormSubmit={handleFormSubmit}>\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <span></span>\n <div className=\"flex items-center\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-1 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={handleDiscard}\n >\n Discard\n </Button>\n <Button\n variant=\"solid\"\n type=\"submit\"\n loading={isSubmiting}\n >\n Create\n </Button>\n </div>\n </div>\n </Container>\n </OrderForm>\n <ConfirmDialog\n isOpen={discardConfirmationOpen}\n type=\"danger\"\n title=\"Discard changes\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDiscard}\n >\n <p>\n Are you sure you want discard this? This action can&apos;t\n be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default OrderCreate\n"],"names":["OrderCreate","navigate","useNavigate","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsx","Notification","handleConfirmDiscard","handleDiscard","handleCancel","jsxs","Fragment","OrderForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAMA,IAAc,MAAM;AACtB,QAAMC,IAAWC,EAAA,GAEX,CAACC,GAAyBC,CAA0B,IACtDC,EAAS,EAAK,GACZ,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAK,GAE9CG,IAAmB,OAAOC,MAA4B;AACxD,YAAQ,IAAI,oBAAoBA,CAAM,GACtCF,EAAe,EAAI,GACnB,MAAMG,EAAM,GAAG,GACfH,EAAe,EAAK,GACpBI,EAAM,KAAK,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,4BAAc,GAAiB;AAAA,MACnE,WAAW;AAAA,IAAA,CACd,GACDZ,EAAS,6BAA6B;AAAA,EAC1C,GAEMa,IAAuB,MAAM;AAC/B,IAAAV,EAA2B,EAAI,GAC/BO,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,oBAAgB;AAAA,MAC7C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,6BAA6B;AAAA,EAC1C,GAEMc,IAAgB,MAAM;AACxB,IAAAX,EAA2B,EAAI;AAAA,EACnC,GAEMY,IAAe,MAAM;AACvB,IAAAZ,EAA2B,EAAK;AAAA,EACpC;AAEA,SACI,gBAAAa,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAN,EAACO,GAAA,EAAU,cAAcX,GACrB,UAAA,gBAAAI,EAACQ,KACG,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,MAAA,gBAAAL,EAAC,QAAA,EAAK;AAAA,MACN,gBAAAK,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,QAAA,gBAAAL;AAAA,UAACS;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,MAAK;AAAA,YACL,kBAAkB,MACd;AAAA,YAEJ,wBAAOC,GAAA,EAAQ;AAAA,YACf,SAASP;AAAA,YACZ,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGD,gBAAAH;AAAA,UAACS;AAAA,UAAA;AAAA,YACG,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAASf;AAAA,YACZ,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CACJ;AAAA,IAAA,EAAA,CACJ,GACJ,GACJ;AAAA,IACA,gBAAAM;AAAA,MAACW;AAAA,MAAA;AAAA,QACG,QAAQpB;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAASa;AAAA,QACT,gBAAgBA;AAAA,QAChB,UAAUA;AAAA,QACV,WAAWF;AAAA,QAEX,4BAAC,KAAA,EAAE,UAAA;AAAA,UAAA;AAAA,UAEU;AAAA,QAAA,EAAA,CACb;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderDetailHeaderExtra.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailHeaderExtra.tsx"],"sourcesContent":["import { useParams, useNavigate } from 'react-router-dom'\nimport Button from '@/components/ui/Button'\n\nconst OrderDetailHeaderExtra = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const handleEditClick = () => {\n navigate(`/concepts/orders/order-edit/${id}`)\n }\n\n return (\n <div className=\"flex items-center gap-2 print:hidden\">\n <Button onClick={() => window.print()}>Print</Button>\n <Button variant=\"solid\" onClick={handleEditClick}>\n Edit\n </Button>\n </div>\n )\n}\n\nexport default OrderDetailHeaderExtra\n"],"names":["OrderDetailHeaderExtra","id","useParams","navigate","useNavigate","jsxs","jsx","Button"],"mappings":";;;;AAGA,MAAMA,IAAyB,MAAM;AACjC,QAAM,EAAE,IAAAC,EAAA,IAAOC,EAAA,GAETC,IAAWC,EAAA;AAMjB,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,wCACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAO,SAAS,MAAM,OAAO,MAAA,GAAS,UAAA,SAAK;AAAA,sBAC3CA,GAAA,EAAO,SAAQ,SAAQ,SAPR,MAAM;AAC1B,MAAAJ,EAAS,+BAA+BF,CAAE,EAAE;AAAA,IAAA,GAMU,UAAA,OAAA,CAElD;AAAA,EAAA,GACJ;AAER;"}
1
+ {"version":3,"file":"OrderDetailHeaderExtra.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailHeaderExtra.tsx"],"sourcesContent":["import { useParams, useNavigate } from 'react-router-dom'\nimport Button from '@/components/ui/Button'\n\nconst OrderDetailHeaderExtra = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const handleEditClick = () => {\n navigate(`/concepts/orders/order-edit/${id}`)\n }\n\n return (\n <div className=\"flex items-center gap-2 print:hidden\">\n <Button onClick={() => window.print()}>Print</Button>\n <Button variant=\"solid\" onClick={handleEditClick}>\n Edit\n </Button>\n </div>\n )\n}\n\nexport default OrderDetailHeaderExtra\n"],"names":["OrderDetailHeaderExtra","id","useParams","navigate","useNavigate","jsxs","jsx","Button"],"mappings":";;;;AAGA,MAAMA,IAAyB,MAAM;AACjC,QAAM,EAAE,IAAAC,EAAA,IAAOC,EAAA,GAETC,IAAWC,EAAA;AAMjB,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,wCACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAO,SAAS,MAAM,OAAO,MAAA,GAAS,UAAA,SAAK;AAAA,sBAC3CA,GAAA,EAAO,SAAQ,SAAQ,SAPR,MAAM;AAC1B,MAAAJ,EAAS,+BAA+BF,CAAE,EAAE;AAAA,IAChD,GAK0D,UAAA,OAAA,CAElD;AAAA,EAAA,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderEdit.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderEdit/OrderEdit.tsx"],"sourcesContent":["import { useState, useMemo } from 'react'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport Container from '@/components/shared/Container'\nimport Loading from '@/components/shared/Loading'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport OrderForm from '../OrderForm'\nimport sleep from '@/utils/sleep'\nimport { apiGetOrder } from '@/services/OrderService'\nimport useSWR from 'swr'\nimport { useParams, useNavigate } from 'react-router-dom'\nimport { TbTrash } from 'react-icons/tb'\nimport type { OrderFormSchema } from '../OrderForm'\n\ntype GetOrderDetailsResponse = {\n id: string\n progressStatus: number\n paymentStatus: number\n dateTime: number\n paymentSummary: {\n subTotal: number\n tax: number\n deliveryFees: number\n total: number\n customerPayment: number\n }\n note: string\n shipping: {\n deliveryFees: number\n estimatedMin: number\n estimatedMax: number\n shippingLogo: string\n shippingVendor: string\n }\n product: {\n id: string\n name: string\n productCode: string\n img: string\n price: number\n quantity: number\n total: number\n details: Record<string, string[]>\n }[]\n activity: {\n date: number\n events: {\n time: number\n action: string\n recipient?: string\n }[]\n }[]\n customer: {\n name: string\n firstName: string\n lastName: string\n email: string\n phone: string\n dialCode: string\n phoneNumber: string\n img: string\n previousOrder: number\n country: string\n address: string\n postcode: string\n city: string\n }\n}\n\nconst OrderEdit = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const { data, isLoading } = useSWR<GetOrderDetailsResponse, { id: string }>(\n [`/api/project/${id}`],\n () => apiGetOrder({ id }),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: OrderFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(\n <Notification type=\"success\">\n Order: #{data?.id} updated!\n </Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/orders/order-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(<Notification type=\"success\">Order deleted!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/orders/order-list')\n }\n\n const handleDelete = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n const orderFormProps = useMemo(() => {\n const products = data\n ? data.product.map(\n ({ id, name, productCode, img, price, quantity }) => {\n return {\n id,\n name,\n productCode,\n img,\n price,\n quantity,\n stock: 0,\n }\n },\n )\n : []\n\n const defaultValues = {\n firstName: data?.customer.name || '',\n lastName: data?.customer.lastName || '',\n email: data?.customer.email || '',\n dialCode: data?.customer.dialCode || '',\n phoneNumber: data?.customer.phoneNumber || '',\n country: data?.customer.country || '',\n address: data?.customer.address || '',\n postcode: data?.customer.postcode || '',\n city: data?.customer.city || '',\n paymentMethod: 'paypal',\n paypalEmail: data?.customer.email,\n } as OrderFormSchema\n\n return {\n defaultProducts: products,\n defaultValues,\n }\n }, [data])\n\n return (\n <Loading loading={isLoading}>\n <OrderForm onFormSubmit={handleFormSubmit} {...orderFormProps}>\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <span></span>\n <div className=\"flex items-center\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-1 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={handleDelete}\n >\n Delete\n </Button>\n <Button\n variant=\"solid\"\n type=\"submit\"\n loading={isSubmiting}\n >\n Update\n </Button>\n </div>\n </div>\n </Container>\n </OrderForm>\n <ConfirmDialog\n isOpen={discardConfirmationOpen}\n type=\"danger\"\n title=\"Discard changes\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDiscard}\n >\n <p>\n Are you sure you want delete this? This action can&apos;t be\n undo.{' '}\n </p>\n </ConfirmDialog>\n </Loading>\n )\n}\n\nexport default OrderEdit\n"],"names":["OrderEdit","id","useParams","navigate","useNavigate","data","isLoading","useSWR","apiGetOrder","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsxs","Notification","handleConfirmDiscard","jsx","handleDelete","handleCancel","orderFormProps","useMemo","products","name","productCode","img","price","quantity","defaultValues","Loading","OrderForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":"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"}
1
+ {"version":3,"file":"OrderEdit.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderEdit/OrderEdit.tsx"],"sourcesContent":["import { useState, useMemo } from 'react'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport Container from '@/components/shared/Container'\nimport Loading from '@/components/shared/Loading'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport OrderForm from '../OrderForm'\nimport sleep from '@/utils/sleep'\nimport { apiGetOrder } from '@/services/OrderService'\nimport useSWR from 'swr'\nimport { useParams, useNavigate } from 'react-router-dom'\nimport { TbTrash } from 'react-icons/tb'\nimport type { OrderFormSchema } from '../OrderForm'\n\ntype GetOrderDetailsResponse = {\n id: string\n progressStatus: number\n paymentStatus: number\n dateTime: number\n paymentSummary: {\n subTotal: number\n tax: number\n deliveryFees: number\n total: number\n customerPayment: number\n }\n note: string\n shipping: {\n deliveryFees: number\n estimatedMin: number\n estimatedMax: number\n shippingLogo: string\n shippingVendor: string\n }\n product: {\n id: string\n name: string\n productCode: string\n img: string\n price: number\n quantity: number\n total: number\n details: Record<string, string[]>\n }[]\n activity: {\n date: number\n events: {\n time: number\n action: string\n recipient?: string\n }[]\n }[]\n customer: {\n name: string\n firstName: string\n lastName: string\n email: string\n phone: string\n dialCode: string\n phoneNumber: string\n img: string\n previousOrder: number\n country: string\n address: string\n postcode: string\n city: string\n }\n}\n\nconst OrderEdit = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const { data, isLoading } = useSWR<GetOrderDetailsResponse, { id: string }>(\n [`/api/project/${id}`],\n () => apiGetOrder({ id }),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: OrderFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(\n <Notification type=\"success\">\n Order: #{data?.id} updated!\n </Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/orders/order-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(<Notification type=\"success\">Order deleted!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/orders/order-list')\n }\n\n const handleDelete = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n const orderFormProps = useMemo(() => {\n const products = data\n ? data.product.map(\n ({ id, name, productCode, img, price, quantity }) => {\n return {\n id,\n name,\n productCode,\n img,\n price,\n quantity,\n stock: 0,\n }\n },\n )\n : []\n\n const defaultValues = {\n firstName: data?.customer.name || '',\n lastName: data?.customer.lastName || '',\n email: data?.customer.email || '',\n dialCode: data?.customer.dialCode || '',\n phoneNumber: data?.customer.phoneNumber || '',\n country: data?.customer.country || '',\n address: data?.customer.address || '',\n postcode: data?.customer.postcode || '',\n city: data?.customer.city || '',\n paymentMethod: 'paypal',\n paypalEmail: data?.customer.email,\n } as OrderFormSchema\n\n return {\n defaultProducts: products,\n defaultValues,\n }\n }, [data])\n\n return (\n <Loading loading={isLoading}>\n <OrderForm onFormSubmit={handleFormSubmit} {...orderFormProps}>\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <span></span>\n <div className=\"flex items-center\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-1 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={handleDelete}\n >\n Delete\n </Button>\n <Button\n variant=\"solid\"\n type=\"submit\"\n loading={isSubmiting}\n >\n Update\n </Button>\n </div>\n </div>\n </Container>\n </OrderForm>\n <ConfirmDialog\n isOpen={discardConfirmationOpen}\n type=\"danger\"\n title=\"Discard changes\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDiscard}\n >\n <p>\n Are you sure you want delete this? This action can&apos;t be\n undo.{' '}\n </p>\n </ConfirmDialog>\n </Loading>\n )\n}\n\nexport default OrderEdit\n"],"names":["OrderEdit","id","useParams","navigate","useNavigate","data","isLoading","useSWR","apiGetOrder","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsxs","Notification","handleConfirmDiscard","jsx","handleDelete","handleCancel","orderFormProps","useMemo","products","name","productCode","img","price","quantity","defaultValues","Loading","OrderForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderForm.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderForm/OrderForm.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { Form } from '@/components/ui/Form'\nimport Affix from '@/components/shared/Affix'\nimport Card from '@/components/ui/Card'\nimport Container from '@/components/shared/Container'\nimport BottomStickyBar from '@/components/template/BottomStickyBar'\nimport { apiGetProductList } from '@/services/ProductService'\nimport ProductSelectSection from './components/ProductSelectSection'\nimport CustomerDetailSection from './components/CustomerDetailSection'\nimport BillingAddressSection from './components/BillingAddressSection'\nimport PaymentMethodSection from './components/PaymentMethodSection'\nimport Navigator from './components/Navigator'\nimport { useOrderFormStore } from './store/orderFormStore'\nimport useLayoutGap from '@/utils/hooks/useLayoutGap'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport useSWR from 'swr'\nimport isEmpty from 'lodash/isEmpty'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\nimport type { ReactNode } from 'react'\nimport type {\n GetProductListResponse,\n OrderFormSchema,\n SelectedProduct,\n} from './types'\nimport type { TableQueries, CommonProps } from '@/@types/common'\n\ntype OrderFormProps = {\n children: ReactNode\n onFormSubmit: (values: OrderFormSchema) => void\n defaultValues?: OrderFormSchema\n defaultProducts?: SelectedProduct[]\n newOrder?: boolean\n} & CommonProps\n\nconst baseValidationSchema = z.object({\n firstName: z.string().min(1, { message: 'First name required' }),\n lastName: z.string().min(1, { message: 'Last name required' }),\n email: z\n .string()\n .min(1, { message: 'Email required' })\n .email({ message: 'Invalid email' }),\n dialCode: z.string().min(1, { message: 'Please select your country code' }),\n phoneNumber: z\n .string()\n .min(1, { message: 'Please input your mobile number' }),\n country: z.string().min(1, { message: 'Please select a country' }),\n address: z.string().min(1, { message: 'Addrress required' }),\n postcode: z.string().min(1, { message: 'Postcode required' }),\n city: z.string().min(1, { message: 'City required' }),\n})\n\nconst validationSchema: ZodType<OrderFormSchema> = z.discriminatedUnion(\n 'paymentMethod',\n [\n z\n .object({\n paymentMethod: z.literal('creditOrDebitCard'),\n cardHolderName: z\n .string()\n .min(1, { message: 'Card holder name required' }),\n ccNumber: z\n .string()\n .min(1, 'Credit card number required')\n .refine(\n (value) =>\n /^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/.test(\n value,\n ),\n 'Invalid credit card number',\n ),\n cardExpiry: z\n .string()\n .min(1, { message: 'Card holder name required' })\n .refine(\n (value) =>\n /^(0[1-9]|1[0-2])\\/?([0-9]{4}|[0-9]{2})$/.test(\n value,\n ),\n 'Invalid Date',\n ),\n code: z\n .string()\n .min(1, { message: 'Code required' })\n .refine((value) => /^[0-9]{3}$/.test(value), 'Invalid CVV'),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal('paypal'),\n paypalEmail: z\n .string()\n .min(1, { message: 'Email required' })\n .email({ message: 'Invalid email' }),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal('bankTransfer'),\n bankName: z.string().min(1, { message: 'Bank name required' }),\n accountNumber: z\n .string()\n .min(1, { message: 'Account number required' }),\n accountHolderName: z\n .string()\n .min(1, { message: 'Account holder name required' }),\n IBAN: z.string().min(1, { message: 'IBAN required' }),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal(''),\n })\n .merge(baseValidationSchema),\n ],\n)\n\nconst OrderForm = (props: OrderFormProps) => {\n const { onFormSubmit, children, defaultValues, defaultProducts } = props\n\n const { setProductOption, setProductList, setSelectedProduct } =\n useOrderFormStore()\n\n const { getTopGapValue } = useLayoutGap()\n\n const { larger } = useResponsive()\n\n useSWR(\n [\n '/api/products',\n {\n pageIndex: 1,\n pageSize: 10,\n query: '',\n sort: {\n order: '',\n key: '',\n },\n } as TableQueries,\n ],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) =>\n apiGetProductList<GetProductListResponse, TableQueries>(params),\n {\n revalidateOnFocus: false,\n onSuccess: (resp) => {\n const list = resp.list.map(\n ({ id: value, name: label, img, stock: quantity }) => ({\n label,\n value,\n img,\n quantity,\n }),\n )\n setProductList(resp.list)\n setProductOption(list)\n },\n },\n )\n\n useEffect(() => {\n if (defaultProducts) {\n setSelectedProduct(defaultProducts)\n }\n if (!isEmpty(defaultValues)) {\n reset(defaultValues)\n }\n return () => {\n setSelectedProduct([])\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onSubmit = (values: OrderFormSchema) => {\n onFormSubmit?.(values)\n }\n\n const {\n handleSubmit,\n reset,\n watch,\n formState: { errors },\n control,\n } = useForm<OrderFormSchema>({\n defaultValues: {\n paymentMethod: 'creditOrDebitCard',\n ...(defaultValues ? defaultValues : {}),\n },\n resolver: zodResolver(validationSchema),\n })\n\n const selectedPaymentMethod = watch('paymentMethod', '')\n\n return (\n <div className=\"flex\">\n <Form\n className=\"flex-1 flex flex-col overflow-hidden\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <Container>\n <div className=\"flex gap-4\">\n {larger.xl && (\n <div className=\"w-[360px]\">\n <Affix offset={getTopGapValue()}>\n <Card>\n <Navigator />\n </Card>\n </Affix>\n </div>\n )}\n\n <div className=\"flex-1\">\n <div className=\"flex flex-col gap-4\">\n <ProductSelectSection />\n <CustomerDetailSection\n control={control}\n errors={errors}\n />\n <BillingAddressSection\n control={control}\n errors={errors}\n />\n <PaymentMethodSection\n control={control}\n errors={errors}\n selectedPaymentMethod={\n selectedPaymentMethod\n }\n />\n </div>\n </div>\n </div>\n </Container>\n <BottomStickyBar>{children}</BottomStickyBar>\n </Form>\n </div>\n )\n}\n\nexport default OrderForm\n"],"names":["baseValidationSchema","z","validationSchema","value","OrderForm","props","onFormSubmit","children","defaultValues","defaultProducts","setProductOption","setProductList","setSelectedProduct","useOrderFormStore","getTopGapValue","useLayoutGap","larger","useResponsive","useSWR","_","params","apiGetProductList","resp","list","label","img","quantity","useEffect","isEmpty","reset","onSubmit","values","handleSubmit","watch","errors","control","useForm","zodResolver","selectedPaymentMethod","jsx","jsxs","Form","Container","Affix","Card","Navigator","ProductSelectSection","CustomerDetailSection","BillingAddressSection","PaymentMethodSection","BottomStickyBar"],"mappings":"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"}
1
+ {"version":3,"file":"OrderForm.js","sources":["../../../../../../lib/@ecme/views/concepts/orders/OrderForm/OrderForm.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { Form } from '@/components/ui/Form'\nimport Affix from '@/components/shared/Affix'\nimport Card from '@/components/ui/Card'\nimport Container from '@/components/shared/Container'\nimport BottomStickyBar from '@/components/template/BottomStickyBar'\nimport { apiGetProductList } from '@/services/ProductService'\nimport ProductSelectSection from './components/ProductSelectSection'\nimport CustomerDetailSection from './components/CustomerDetailSection'\nimport BillingAddressSection from './components/BillingAddressSection'\nimport PaymentMethodSection from './components/PaymentMethodSection'\nimport Navigator from './components/Navigator'\nimport { useOrderFormStore } from './store/orderFormStore'\nimport useLayoutGap from '@/utils/hooks/useLayoutGap'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport useSWR from 'swr'\nimport isEmpty from 'lodash/isEmpty'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\nimport type { ReactNode } from 'react'\nimport type {\n GetProductListResponse,\n OrderFormSchema,\n SelectedProduct,\n} from './types'\nimport type { TableQueries, CommonProps } from '@/@types/common'\n\ntype OrderFormProps = {\n children: ReactNode\n onFormSubmit: (values: OrderFormSchema) => void\n defaultValues?: OrderFormSchema\n defaultProducts?: SelectedProduct[]\n newOrder?: boolean\n} & CommonProps\n\nconst baseValidationSchema = z.object({\n firstName: z.string().min(1, { message: 'First name required' }),\n lastName: z.string().min(1, { message: 'Last name required' }),\n email: z\n .string()\n .min(1, { message: 'Email required' })\n .email({ message: 'Invalid email' }),\n dialCode: z.string().min(1, { message: 'Please select your country code' }),\n phoneNumber: z\n .string()\n .min(1, { message: 'Please input your mobile number' }),\n country: z.string().min(1, { message: 'Please select a country' }),\n address: z.string().min(1, { message: 'Addrress required' }),\n postcode: z.string().min(1, { message: 'Postcode required' }),\n city: z.string().min(1, { message: 'City required' }),\n})\n\nconst validationSchema: ZodType<OrderFormSchema> = z.discriminatedUnion(\n 'paymentMethod',\n [\n z\n .object({\n paymentMethod: z.literal('creditOrDebitCard'),\n cardHolderName: z\n .string()\n .min(1, { message: 'Card holder name required' }),\n ccNumber: z\n .string()\n .min(1, 'Credit card number required')\n .refine(\n (value) =>\n /^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/.test(\n value,\n ),\n 'Invalid credit card number',\n ),\n cardExpiry: z\n .string()\n .min(1, { message: 'Card holder name required' })\n .refine(\n (value) =>\n /^(0[1-9]|1[0-2])\\/?([0-9]{4}|[0-9]{2})$/.test(\n value,\n ),\n 'Invalid Date',\n ),\n code: z\n .string()\n .min(1, { message: 'Code required' })\n .refine((value) => /^[0-9]{3}$/.test(value), 'Invalid CVV'),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal('paypal'),\n paypalEmail: z\n .string()\n .min(1, { message: 'Email required' })\n .email({ message: 'Invalid email' }),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal('bankTransfer'),\n bankName: z.string().min(1, { message: 'Bank name required' }),\n accountNumber: z\n .string()\n .min(1, { message: 'Account number required' }),\n accountHolderName: z\n .string()\n .min(1, { message: 'Account holder name required' }),\n IBAN: z.string().min(1, { message: 'IBAN required' }),\n })\n .merge(baseValidationSchema),\n z\n .object({\n paymentMethod: z.literal(''),\n })\n .merge(baseValidationSchema),\n ],\n)\n\nconst OrderForm = (props: OrderFormProps) => {\n const { onFormSubmit, children, defaultValues, defaultProducts } = props\n\n const { setProductOption, setProductList, setSelectedProduct } =\n useOrderFormStore()\n\n const { getTopGapValue } = useLayoutGap()\n\n const { larger } = useResponsive()\n\n useSWR(\n [\n '/api/products',\n {\n pageIndex: 1,\n pageSize: 10,\n query: '',\n sort: {\n order: '',\n key: '',\n },\n } as TableQueries,\n ],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) =>\n apiGetProductList<GetProductListResponse, TableQueries>(params),\n {\n revalidateOnFocus: false,\n onSuccess: (resp) => {\n const list = resp.list.map(\n ({ id: value, name: label, img, stock: quantity }) => ({\n label,\n value,\n img,\n quantity,\n }),\n )\n setProductList(resp.list)\n setProductOption(list)\n },\n },\n )\n\n useEffect(() => {\n if (defaultProducts) {\n setSelectedProduct(defaultProducts)\n }\n if (!isEmpty(defaultValues)) {\n reset(defaultValues)\n }\n return () => {\n setSelectedProduct([])\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onSubmit = (values: OrderFormSchema) => {\n onFormSubmit?.(values)\n }\n\n const {\n handleSubmit,\n reset,\n watch,\n formState: { errors },\n control,\n } = useForm<OrderFormSchema>({\n defaultValues: {\n paymentMethod: 'creditOrDebitCard',\n ...(defaultValues ? defaultValues : {}),\n },\n resolver: zodResolver(validationSchema),\n })\n\n const selectedPaymentMethod = watch('paymentMethod', '')\n\n return (\n <div className=\"flex\">\n <Form\n className=\"flex-1 flex flex-col overflow-hidden\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <Container>\n <div className=\"flex gap-4\">\n {larger.xl && (\n <div className=\"w-[360px]\">\n <Affix offset={getTopGapValue()}>\n <Card>\n <Navigator />\n </Card>\n </Affix>\n </div>\n )}\n\n <div className=\"flex-1\">\n <div className=\"flex flex-col gap-4\">\n <ProductSelectSection />\n <CustomerDetailSection\n control={control}\n errors={errors}\n />\n <BillingAddressSection\n control={control}\n errors={errors}\n />\n <PaymentMethodSection\n control={control}\n errors={errors}\n selectedPaymentMethod={\n selectedPaymentMethod\n }\n />\n </div>\n </div>\n </div>\n </Container>\n <BottomStickyBar>{children}</BottomStickyBar>\n </Form>\n </div>\n )\n}\n\nexport default OrderForm\n"],"names":["baseValidationSchema","z","validationSchema","value","OrderForm","props","onFormSubmit","children","defaultValues","defaultProducts","setProductOption","setProductList","setSelectedProduct","useOrderFormStore","getTopGapValue","useLayoutGap","larger","useResponsive","useSWR","_","params","apiGetProductList","resp","list","label","img","quantity","useEffect","isEmpty","reset","onSubmit","values","handleSubmit","watch","errors","control","useForm","zodResolver","selectedPaymentMethod","jsx","jsxs","Form","Container","Affix","Card","Navigator","ProductSelectSection","CustomerDetailSection","BillingAddressSection","PaymentMethodSection","BottomStickyBar"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerDetailSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport Avatar from '@/components/ui/Avatar'\nimport { FormItem } from '@/components/ui/Form'\nimport NumericInput from '@/components/shared/NumericInput'\nimport { countryList } from '@/constants/countries.constant'\nimport { Controller } from 'react-hook-form'\nimport { components } from 'react-select'\nimport type { FormSectionBaseProps } from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\n\ntype CustomerDetailSectionProps = FormSectionBaseProps\n\ntype CountryOption = {\n label: string\n dialCode: string\n value: string\n}\n\nconst { Control } = components\n\nconst CustomSelectOption = (props: OptionProps<CountryOption>) => {\n return (\n <DefaultOption<CountryOption>\n {...props}\n customLabel={(data) => (\n <span className=\"flex items-center gap-2\">\n <Avatar\n shape=\"circle\"\n size={20}\n src={`/img/countries/${data.value}.png`}\n />\n <span>{data.dialCode}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<CountryOption>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <Avatar\n className=\"ltr:ml-4 rtl:mr-4\"\n shape=\"circle\"\n size={20}\n src={`/img/countries/${selected.value}.png`}\n />\n )}\n {children}\n </Control>\n )\n}\n\nconst CustomerDetailSection = ({\n control,\n errors,\n}: CustomerDetailSectionProps) => {\n const dialCodeList = useMemo(() => {\n const newCountryList: Array<CountryOption> = JSON.parse(\n JSON.stringify(countryList),\n )\n\n return newCountryList.map((country) => {\n country.label = country.dialCode\n return country\n })\n }, [])\n\n return (\n <Card id=\"customerDetails\">\n <h4 className=\"mb-6\">Customer details</h4>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormItem\n label=\"First Name\"\n invalid={Boolean(errors.firstName)}\n errorMessage={errors.firstName?.message}\n >\n <Controller\n name=\"firstName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"First Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"User Name\"\n invalid={Boolean(errors.lastName)}\n errorMessage={errors.lastName?.message}\n >\n <Controller\n name=\"lastName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Last Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n <FormItem\n label=\"Email\"\n invalid={Boolean(errors.email)}\n errorMessage={errors.email?.message}\n >\n <Controller\n name=\"email\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"email\"\n autoComplete=\"off\"\n placeholder=\"Email\"\n {...field}\n />\n )}\n />\n </FormItem>\n <div className=\"flex items-end gap-4 w-full\">\n <FormItem\n invalid={\n Boolean(errors.phoneNumber) || Boolean(errors.dialCode)\n }\n >\n <label className=\"form-label mb-2\">Phone number</label>\n <Controller\n name=\"dialCode\"\n control={control}\n render={({ field }) => (\n <Select<CountryOption>\n options={dialCodeList}\n {...field}\n className=\"w-[150px]\"\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n placeholder=\"\"\n value={dialCodeList.filter(\n (option) => option.dialCode === field.value,\n )}\n onChange={(option) =>\n field.onChange(option?.dialCode)\n }\n />\n )}\n />\n </FormItem>\n <FormItem\n className=\"w-full\"\n invalid={\n Boolean(errors.phoneNumber) || Boolean(errors.dialCode)\n }\n errorMessage={errors.phoneNumber?.message}\n >\n <Controller\n name=\"phoneNumber\"\n control={control}\n render={({ field }) => (\n <NumericInput\n autoComplete=\"off\"\n placeholder=\"Phone Number\"\n value={field.value}\n onChange={field.onChange}\n onBlur={field.onBlur}\n />\n )}\n />\n </FormItem>\n </div>\n </Card>\n )\n}\n\nexport default CustomerDetailSection\n"],"names":["Control","components","CustomSelectOption","props","jsx","DefaultOption","data","jsxs","Avatar","CustomControl","children","selected","CustomerDetailSection","control","errors","dialCodeList","useMemo","countryList","country","Card","FormItem","_a","Controller","field","Input","_b","_c","Select","option","_d","NumericInput"],"mappings":"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"}
1
+ {"version":3,"file":"CustomerDetailSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport Avatar from '@/components/ui/Avatar'\nimport { FormItem } from '@/components/ui/Form'\nimport NumericInput from '@/components/shared/NumericInput'\nimport { countryList } from '@/constants/countries.constant'\nimport { Controller } from 'react-hook-form'\nimport { components } from 'react-select'\nimport type { FormSectionBaseProps } from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\n\ntype CustomerDetailSectionProps = FormSectionBaseProps\n\ntype CountryOption = {\n label: string\n dialCode: string\n value: string\n}\n\nconst { Control } = components\n\nconst CustomSelectOption = (props: OptionProps<CountryOption>) => {\n return (\n <DefaultOption<CountryOption>\n {...props}\n customLabel={(data) => (\n <span className=\"flex items-center gap-2\">\n <Avatar\n shape=\"circle\"\n size={20}\n src={`/img/countries/${data.value}.png`}\n />\n <span>{data.dialCode}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<CountryOption>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <Avatar\n className=\"ltr:ml-4 rtl:mr-4\"\n shape=\"circle\"\n size={20}\n src={`/img/countries/${selected.value}.png`}\n />\n )}\n {children}\n </Control>\n )\n}\n\nconst CustomerDetailSection = ({\n control,\n errors,\n}: CustomerDetailSectionProps) => {\n const dialCodeList = useMemo(() => {\n const newCountryList: Array<CountryOption> = JSON.parse(\n JSON.stringify(countryList),\n )\n\n return newCountryList.map((country) => {\n country.label = country.dialCode\n return country\n })\n }, [])\n\n return (\n <Card id=\"customerDetails\">\n <h4 className=\"mb-6\">Customer details</h4>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormItem\n label=\"First Name\"\n invalid={Boolean(errors.firstName)}\n errorMessage={errors.firstName?.message}\n >\n <Controller\n name=\"firstName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"First Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"User Name\"\n invalid={Boolean(errors.lastName)}\n errorMessage={errors.lastName?.message}\n >\n <Controller\n name=\"lastName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Last Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n <FormItem\n label=\"Email\"\n invalid={Boolean(errors.email)}\n errorMessage={errors.email?.message}\n >\n <Controller\n name=\"email\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"email\"\n autoComplete=\"off\"\n placeholder=\"Email\"\n {...field}\n />\n )}\n />\n </FormItem>\n <div className=\"flex items-end gap-4 w-full\">\n <FormItem\n invalid={\n Boolean(errors.phoneNumber) || Boolean(errors.dialCode)\n }\n >\n <label className=\"form-label mb-2\">Phone number</label>\n <Controller\n name=\"dialCode\"\n control={control}\n render={({ field }) => (\n <Select<CountryOption>\n options={dialCodeList}\n {...field}\n className=\"w-[150px]\"\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n placeholder=\"\"\n value={dialCodeList.filter(\n (option) => option.dialCode === field.value,\n )}\n onChange={(option) =>\n field.onChange(option?.dialCode)\n }\n />\n )}\n />\n </FormItem>\n <FormItem\n className=\"w-full\"\n invalid={\n Boolean(errors.phoneNumber) || Boolean(errors.dialCode)\n }\n errorMessage={errors.phoneNumber?.message}\n >\n <Controller\n name=\"phoneNumber\"\n control={control}\n render={({ field }) => (\n <NumericInput\n autoComplete=\"off\"\n placeholder=\"Phone Number\"\n value={field.value}\n onChange={field.onChange}\n onBlur={field.onBlur}\n />\n )}\n />\n </FormItem>\n </div>\n </Card>\n )\n}\n\nexport default CustomerDetailSection\n"],"names":["Control","components","CustomSelectOption","props","jsx","DefaultOption","data","jsxs","Avatar","CustomControl","children","selected","CustomerDetailSection","control","errors","dialCodeList","useMemo","countryList","country","Card","FormItem","_a","Controller","field","Input","_b","_c","Select","option","_d","NumericInput"],"mappings":"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"}