@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":"PaymentMethodSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport { FormItem } from '@/components/ui/Form'\nimport FormCustomFormatInput from '@/components/shared/CustomFormatInput'\nimport FormPatternInput from '@/components/shared/PatternInput'\nimport { Controller } from 'react-hook-form'\nimport { TbCreditCard, TbBrandPaypal, TbBuildingBank } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport type {\n FormSectionBaseProps,\n GetPaymentMethodFields,\n PaymentType,\n} from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\nimport type { FieldErrors } from 'react-hook-form'\nimport type { ReactNode } from 'react'\n\ntype CreditCardFieldError = FieldErrors<\n GetPaymentMethodFields<'creditOrDebitCard'>\n>\ntype PaypalFieldError = FieldErrors<GetPaymentMethodFields<'paypal'>>\ntype BankTransferFieldError = FieldErrors<\n GetPaymentMethodFields<'bankTransfer'>\n>\n\ntype PaymentMethodSectionProps = FormSectionBaseProps & {\n selectedPaymentMethod: string\n}\n\ntype PaymentMethodOption = {\n label: string\n value: PaymentType\n icon: ReactNode\n}\n\nconst paymentMethodOptions: PaymentMethodOption[] = [\n {\n label: 'Credit/Debit card',\n value: 'creditOrDebitCard',\n icon: <TbCreditCard />,\n },\n { label: 'Paypal', value: 'paypal', icon: <TbBrandPaypal /> },\n { label: 'Bank transfer', value: 'bankTransfer', icon: <TbBuildingBank /> },\n]\n\nfunction limit(val: string, max: string) {\n if (val.length === 1 && val[0] > max[0]) {\n val = '0' + val\n }\n\n if (val.length === 2) {\n if (Number(val) === 0) {\n val = '01'\n } else if (val > max) {\n val = max\n }\n }\n\n return val\n}\n\nfunction cardExpiryFormat(val: string) {\n const month = limit(val.substring(0, 2), '12')\n const date = limit(val.substring(2, 4), '31')\n\n return month + (date.length ? '/' + date : '')\n}\n\nconst { Control } = components\n\nconst CustomSelectOption = (props: OptionProps<PaymentMethodOption>) => {\n return (\n <DefaultOption<PaymentMethodOption>\n {...props}\n customLabel={(data, label) => (\n <span className=\"flex items-center gap-2\">\n <span className=\"text-xl\">{data.icon}</span>\n <span>{label}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({\n children,\n ...props\n}: ControlProps<PaymentMethodOption>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <span className=\"text-xl ltr:ml-4 rtl:mr-4 text-primary\">\n {selected.icon}\n </span>\n )}\n {children}\n </Control>\n )\n}\n\nconst PaymentMethodSection = ({\n control,\n errors,\n selectedPaymentMethod,\n}: PaymentMethodSectionProps) => {\n return (\n <Card id=\"payment\">\n <h4 className=\"mb-6\">Payment</h4>\n <FormItem\n label=\"Payment method\"\n invalid={Boolean(errors.paymentMethod)}\n errorMessage={errors.paymentMethod?.message}\n >\n <Controller\n name=\"paymentMethod\"\n control={control}\n render={({ field }) => (\n <Select<PaymentMethodOption>\n options={paymentMethodOptions}\n {...field}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n placeholder=\"\"\n value={paymentMethodOptions.filter(\n (option) => option.value === field.value,\n )}\n onChange={(option) => field.onChange(option?.value)}\n />\n )}\n />\n </FormItem>\n {selectedPaymentMethod === 'creditOrDebitCard' && (\n <>\n <FormItem\n label=\"User Name\"\n invalid={Boolean(\n (errors as CreditCardFieldError).cardHolderName,\n )}\n errorMessage={\n (errors as CreditCardFieldError).cardHolderName\n ?.message\n }\n >\n <Controller\n name=\"cardHolderName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Card holder name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Credit card number\"\n invalid={Boolean(\n (errors as CreditCardFieldError).ccNumber,\n )}\n errorMessage={\n (errors as CreditCardFieldError).ccNumber?.message\n }\n >\n <Controller\n name=\"ccNumber\"\n control={control}\n render={({ field }) => (\n <FormPatternInput\n placeholder=\"•••• •••• •••• ••••\"\n format=\"#### #### #### ####\"\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n <div className=\"grid grid-cols-2 gap-4\">\n <FormItem\n label=\"Expiration date\"\n invalid={Boolean(\n (errors as CreditCardFieldError).cardExpiry,\n )}\n errorMessage={\n (errors as CreditCardFieldError).cardExpiry\n ?.message\n }\n >\n <Controller\n name=\"cardExpiry\"\n control={control}\n render={({ field }) => (\n <FormCustomFormatInput\n placeholder=\"••/••\"\n format={cardExpiryFormat}\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"CVV\"\n invalid={Boolean(\n (errors as CreditCardFieldError).code,\n )}\n errorMessage={\n (errors as CreditCardFieldError).code?.message\n }\n >\n <Controller\n name=\"code\"\n control={control}\n render={({ field }) => (\n <FormPatternInput\n placeholder=\"•••\"\n format=\"###\"\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n </div>\n </>\n )}\n {selectedPaymentMethod === 'paypal' && (\n <>\n <FormItem\n label=\"Paypal email\"\n invalid={Boolean(\n (errors as PaypalFieldError).paypalEmail,\n )}\n errorMessage={\n (errors as PaypalFieldError).paypalEmail?.message\n }\n >\n <Controller\n name=\"paypalEmail\"\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 </>\n )}\n {selectedPaymentMethod === 'bankTransfer' && (\n <>\n <FormItem\n label=\"Bank name\"\n invalid={Boolean(\n (errors as BankTransferFieldError).bankName,\n )}\n errorMessage={\n (errors as BankTransferFieldError).bankName?.message\n }\n >\n <Controller\n name=\"bankName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Bank name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Account number\"\n invalid={Boolean(\n (errors as BankTransferFieldError).accountNumber,\n )}\n errorMessage={\n (errors as BankTransferFieldError).accountNumber\n ?.message\n }\n >\n <Controller\n name=\"accountNumber\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Account number\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Account holder name\"\n invalid={Boolean(\n (errors as BankTransferFieldError)\n .accountHolderName,\n )}\n errorMessage={\n (errors as BankTransferFieldError).accountHolderName\n ?.message\n }\n >\n <Controller\n name=\"accountHolderName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Account holder name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <div className=\"grid grid-cols-2 gap-4\">\n <FormItem\n label=\"IBAN\"\n invalid={Boolean(\n (errors as BankTransferFieldError).IBAN,\n )}\n errorMessage={\n (errors as BankTransferFieldError).IBAN?.message\n }\n >\n <Controller\n name=\"IBAN\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"IBAN\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Reference number\"\n invalid={Boolean(\n (errors as BankTransferFieldError)\n .referenceNumber,\n )}\n errorMessage={\n (errors as BankTransferFieldError)\n .referenceNumber?.message\n }\n >\n <Controller\n name=\"referenceNumber\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Reference number\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n </>\n )}\n </Card>\n )\n}\n\nexport default PaymentMethodSection\n"],"names":["paymentMethodOptions","TbCreditCard","jsx","TbBrandPaypal","TbBuildingBank","limit","val","max","cardExpiryFormat","month","date","Control","components","CustomSelectOption","props","DefaultOption","data","label","jsxs","CustomControl","children","selected","PaymentMethodSection","control","errors","selectedPaymentMethod","Card","FormItem","_a","Controller","field","Select","option","Fragment","_b","Input","_c","FormPatternInput","e","_d","FormCustomFormatInput","_e","_f","_g","_h","_i","_j","_k"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentMethodSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport { FormItem } from '@/components/ui/Form'\nimport FormCustomFormatInput from '@/components/shared/CustomFormatInput'\nimport FormPatternInput from '@/components/shared/PatternInput'\nimport { Controller } from 'react-hook-form'\nimport { TbCreditCard, TbBrandPaypal, TbBuildingBank } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport type {\n FormSectionBaseProps,\n GetPaymentMethodFields,\n PaymentType,\n} from '../types'\nimport type { ControlProps, OptionProps } from 'react-select'\nimport type { FieldErrors } from 'react-hook-form'\nimport type { ReactNode } from 'react'\n\ntype CreditCardFieldError = FieldErrors<\n GetPaymentMethodFields<'creditOrDebitCard'>\n>\ntype PaypalFieldError = FieldErrors<GetPaymentMethodFields<'paypal'>>\ntype BankTransferFieldError = FieldErrors<\n GetPaymentMethodFields<'bankTransfer'>\n>\n\ntype PaymentMethodSectionProps = FormSectionBaseProps & {\n selectedPaymentMethod: string\n}\n\ntype PaymentMethodOption = {\n label: string\n value: PaymentType\n icon: ReactNode\n}\n\nconst paymentMethodOptions: PaymentMethodOption[] = [\n {\n label: 'Credit/Debit card',\n value: 'creditOrDebitCard',\n icon: <TbCreditCard />,\n },\n { label: 'Paypal', value: 'paypal', icon: <TbBrandPaypal /> },\n { label: 'Bank transfer', value: 'bankTransfer', icon: <TbBuildingBank /> },\n]\n\nfunction limit(val: string, max: string) {\n if (val.length === 1 && val[0] > max[0]) {\n val = '0' + val\n }\n\n if (val.length === 2) {\n if (Number(val) === 0) {\n val = '01'\n } else if (val > max) {\n val = max\n }\n }\n\n return val\n}\n\nfunction cardExpiryFormat(val: string) {\n const month = limit(val.substring(0, 2), '12')\n const date = limit(val.substring(2, 4), '31')\n\n return month + (date.length ? '/' + date : '')\n}\n\nconst { Control } = components\n\nconst CustomSelectOption = (props: OptionProps<PaymentMethodOption>) => {\n return (\n <DefaultOption<PaymentMethodOption>\n {...props}\n customLabel={(data, label) => (\n <span className=\"flex items-center gap-2\">\n <span className=\"text-xl\">{data.icon}</span>\n <span>{label}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({\n children,\n ...props\n}: ControlProps<PaymentMethodOption>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <span className=\"text-xl ltr:ml-4 rtl:mr-4 text-primary\">\n {selected.icon}\n </span>\n )}\n {children}\n </Control>\n )\n}\n\nconst PaymentMethodSection = ({\n control,\n errors,\n selectedPaymentMethod,\n}: PaymentMethodSectionProps) => {\n return (\n <Card id=\"payment\">\n <h4 className=\"mb-6\">Payment</h4>\n <FormItem\n label=\"Payment method\"\n invalid={Boolean(errors.paymentMethod)}\n errorMessage={errors.paymentMethod?.message}\n >\n <Controller\n name=\"paymentMethod\"\n control={control}\n render={({ field }) => (\n <Select<PaymentMethodOption>\n options={paymentMethodOptions}\n {...field}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n placeholder=\"\"\n value={paymentMethodOptions.filter(\n (option) => option.value === field.value,\n )}\n onChange={(option) => field.onChange(option?.value)}\n />\n )}\n />\n </FormItem>\n {selectedPaymentMethod === 'creditOrDebitCard' && (\n <>\n <FormItem\n label=\"User Name\"\n invalid={Boolean(\n (errors as CreditCardFieldError).cardHolderName,\n )}\n errorMessage={\n (errors as CreditCardFieldError).cardHolderName\n ?.message\n }\n >\n <Controller\n name=\"cardHolderName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Card holder name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Credit card number\"\n invalid={Boolean(\n (errors as CreditCardFieldError).ccNumber,\n )}\n errorMessage={\n (errors as CreditCardFieldError).ccNumber?.message\n }\n >\n <Controller\n name=\"ccNumber\"\n control={control}\n render={({ field }) => (\n <FormPatternInput\n placeholder=\"•••• •••• •••• ••••\"\n format=\"#### #### #### ####\"\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n <div className=\"grid grid-cols-2 gap-4\">\n <FormItem\n label=\"Expiration date\"\n invalid={Boolean(\n (errors as CreditCardFieldError).cardExpiry,\n )}\n errorMessage={\n (errors as CreditCardFieldError).cardExpiry\n ?.message\n }\n >\n <Controller\n name=\"cardExpiry\"\n control={control}\n render={({ field }) => (\n <FormCustomFormatInput\n placeholder=\"••/••\"\n format={cardExpiryFormat}\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"CVV\"\n invalid={Boolean(\n (errors as CreditCardFieldError).code,\n )}\n errorMessage={\n (errors as CreditCardFieldError).code?.message\n }\n >\n <Controller\n name=\"code\"\n control={control}\n render={({ field }) => (\n <FormPatternInput\n placeholder=\"•••\"\n format=\"###\"\n value={field.value}\n onValueChange={(e) => {\n field.onChange(e.value)\n }}\n />\n )}\n />\n </FormItem>\n </div>\n </>\n )}\n {selectedPaymentMethod === 'paypal' && (\n <>\n <FormItem\n label=\"Paypal email\"\n invalid={Boolean(\n (errors as PaypalFieldError).paypalEmail,\n )}\n errorMessage={\n (errors as PaypalFieldError).paypalEmail?.message\n }\n >\n <Controller\n name=\"paypalEmail\"\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 </>\n )}\n {selectedPaymentMethod === 'bankTransfer' && (\n <>\n <FormItem\n label=\"Bank name\"\n invalid={Boolean(\n (errors as BankTransferFieldError).bankName,\n )}\n errorMessage={\n (errors as BankTransferFieldError).bankName?.message\n }\n >\n <Controller\n name=\"bankName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Bank name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Account number\"\n invalid={Boolean(\n (errors as BankTransferFieldError).accountNumber,\n )}\n errorMessage={\n (errors as BankTransferFieldError).accountNumber\n ?.message\n }\n >\n <Controller\n name=\"accountNumber\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Account number\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Account holder name\"\n invalid={Boolean(\n (errors as BankTransferFieldError)\n .accountHolderName,\n )}\n errorMessage={\n (errors as BankTransferFieldError).accountHolderName\n ?.message\n }\n >\n <Controller\n name=\"accountHolderName\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Account holder name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <div className=\"grid grid-cols-2 gap-4\">\n <FormItem\n label=\"IBAN\"\n invalid={Boolean(\n (errors as BankTransferFieldError).IBAN,\n )}\n errorMessage={\n (errors as BankTransferFieldError).IBAN?.message\n }\n >\n <Controller\n name=\"IBAN\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"IBAN\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Reference number\"\n invalid={Boolean(\n (errors as BankTransferFieldError)\n .referenceNumber,\n )}\n errorMessage={\n (errors as BankTransferFieldError)\n .referenceNumber?.message\n }\n >\n <Controller\n name=\"referenceNumber\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Reference number\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n </>\n )}\n </Card>\n )\n}\n\nexport default PaymentMethodSection\n"],"names":["paymentMethodOptions","TbCreditCard","jsx","TbBrandPaypal","TbBuildingBank","limit","val","max","cardExpiryFormat","month","date","Control","components","CustomSelectOption","props","DefaultOption","data","label","jsxs","CustomControl","children","selected","PaymentMethodSection","control","errors","selectedPaymentMethod","Card","FormItem","_a","Controller","field","Select","option","Fragment","_b","Input","_c","FormPatternInput","e","_d","FormCustomFormatInput","_e","_f","_g","_h","_i","_j","_k"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSelectSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/ProductSelectSection.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport Card from '@/components/ui/Card'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Avatar from '@/components/ui/Avatar'\nimport Table from '@/components/ui/Table'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport AutoComplete from '@/components/shared/AutoComplete'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useOrderFormStore } from '../store/orderFormStore'\nimport classNames from '@/utils/classNames'\nimport { NumericFormat } from 'react-number-format'\nimport { TbSearch, TbMinus, TbPlus } from 'react-icons/tb'\nimport type { Product, ProductOption, SelectedProduct } from '../types'\n\nconst { Tr, Th, Td, THead, TBody } = Table\n\nconst ProductSelectSection = () => {\n const { productOption, productList, selectedProduct, setSelectedProduct } =\n useOrderFormStore()\n\n const [inputValue, setInputValue] = useState('')\n\n const [productsDialogOpen, setProductsDialogOpen] = useState(false)\n\n const { smaller } = useResponsive()\n\n const handleOptionSelect = (option: ProductOption) => {\n const selected = productList.find(\n (product) => product.id === option.value,\n )\n\n if (selected) {\n if (selectedProduct.some((product) => product.id === selected.id)) {\n return\n } else {\n selectedProduct.push({ ...selected, quantity: 1 })\n setSelectedProduct(selectedProduct)\n }\n }\n }\n\n const handleProductIncremental = (productToIncrease: SelectedProduct) => {\n setSelectedProduct(\n selectedProduct.map((product) => {\n if (product.id === productToIncrease.id) {\n product.quantity = product.quantity + 1\n }\n return product\n }),\n )\n }\n\n const handleProductDecremental = (productToDecrease: SelectedProduct) => {\n const targeted = productToDecrease\n\n targeted.quantity = targeted.quantity - 1\n if (targeted.quantity === 0) {\n setSelectedProduct(\n selectedProduct.filter((product) => product.id !== targeted.id),\n )\n } else {\n setSelectedProduct(\n selectedProduct.map((product) => {\n if (product.id === targeted.id) {\n product = targeted\n }\n return product\n }),\n )\n }\n }\n\n const handleProductChecked = (checked: boolean, selected: Product) => {\n if (checked) {\n selectedProduct.push({ ...selected, quantity: 1 })\n setSelectedProduct(selectedProduct)\n } else {\n setSelectedProduct(\n selectedProduct.filter((product) => product.id !== selected.id),\n )\n }\n }\n\n const total = useMemo(() => {\n return selectedProduct.reduce((accumulator, product) => {\n return accumulator + product.price * product.quantity\n }, 0)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedProduct, selectedProduct.length])\n\n return (\n <>\n <Card id=\"selectProducts\">\n <h4 className=\"mb-6\">Select products</h4>\n <div className=\"flex items-center gap-2\">\n <AutoComplete<ProductOption>\n data={productOption}\n optionKey={(product) => product.label}\n value={inputValue}\n renderOption={(option) => (\n <div className=\"flex items-center gap-2\">\n <Avatar shape=\"round\" src={option.img} />\n <span>{option.label}</span>\n </div>\n )}\n suffix={<TbSearch className=\"text-lg\" />}\n placeholder=\"Search product\"\n onInputChange={setInputValue}\n onOptionSelected={handleOptionSelect}\n />\n <Button\n type=\"button\"\n variant=\"solid\"\n onClick={() => setProductsDialogOpen(true)}\n >\n Browse products\n </Button>\n </div>\n <Table compact={smaller.sm} className=\"mt-6\">\n <THead>\n <Tr>\n <Th className=\"w-[70%]\">Product</Th>\n <Th>Price</Th>\n <Th>Quantity</Th>\n </Tr>\n </THead>\n <TBody>\n {selectedProduct.length > 0 ? (\n selectedProduct.map((product) => (\n <Tr key={product.id}>\n <Td>\n <div className=\"flex items-center gap-2\">\n <Avatar\n shape=\"round\"\n src={product.img}\n />\n <div>\n <div className=\"heading-text font-bold\">\n {product.name}\n </div>\n <div>\n ID: {product.productCode}\n </div>\n </div>\n </div>\n </Td>\n <Td>\n <div className=\"heading-text font-bold\">\n <NumericFormat\n fixedDecimalScale\n prefix=\"$\"\n displayType=\"text\"\n value={\n product.price *\n product.quantity\n }\n decimalScale={2}\n thousandSeparator={true}\n />\n </div>\n </Td>\n <Td>\n <div className=\"flex items-center\">\n <Button\n type=\"button\"\n icon={<TbMinus />}\n size=\"xs\"\n onClick={() =>\n handleProductDecremental(\n product,\n )\n }\n />\n <div className=\"w-10 text-center\">\n <span>{product.quantity}</span>\n </div>\n <Button\n type=\"button\"\n icon={<TbPlus />}\n size=\"xs\"\n onClick={() =>\n handleProductIncremental(\n product,\n )\n }\n />\n </div>\n </Td>\n </Tr>\n ))\n ) : (\n <Tr>\n <Td className=\"text-center\" colSpan={3}>\n No product selected!\n </Td>\n </Tr>\n )}\n </TBody>\n </Table>\n <div className=\"mt-8 flex justify-end\">\n <span className=\"text-base flex items-center gap-2\">\n <span className=\"font-semibold\">Total: </span>\n <span className=\"text-lg font-bold heading-text\">\n <NumericFormat\n fixedDecimalScale\n prefix=\"$\"\n displayType=\"text\"\n value={total}\n decimalScale={2}\n thousandSeparator={true}\n />\n </span>\n </span>\n </div>\n </Card>\n <Dialog\n isOpen={productsDialogOpen}\n onClose={() => setProductsDialogOpen(false)}\n onRequestClose={() => setProductsDialogOpen(false)}\n >\n <div className=\"text-center mb-6\">\n <h4 className=\"mb-1\">All products</h4>\n <p>Add products to this order.</p>\n </div>\n <div className=\"mt-4\">\n <div className=\"mb-6\">\n <ScrollBar\n className={classNames('overflow-y-auto h-80')}\n >\n {productList.map((product) => (\n <div\n key={product.id}\n className=\"py-3 pr-5 rounded-lg flex items-center justify-between\"\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"px-1\">\n <Checkbox\n checked={selectedProduct.some(\n (selected) =>\n selected.id ===\n product.id,\n )}\n onChange={(value) =>\n handleProductChecked(\n value,\n product,\n )\n }\n />\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar\n size=\"lg\"\n shape=\"round\"\n src={product.img}\n />\n <div>\n <p className=\"heading-text font-bold\">\n {product.name}\n </p>\n <p>ID: {product.productCode}</p>\n </div>\n </div>\n </div>\n <div>\n Qty:{' '}\n <span className=\"heading-text font-bold\">\n {product.stock}\n </span>\n </div>\n </div>\n ))}\n </ScrollBar>\n </div>\n </div>\n <Button\n block\n type=\"button\"\n variant=\"solid\"\n onClick={() => setProductsDialogOpen(false)}\n >\n Done\n </Button>\n </Dialog>\n </>\n )\n}\n\nexport default ProductSelectSection\n"],"names":["Tr","Th","Td","THead","TBody","Table","ProductSelectSection","productOption","productList","selectedProduct","setSelectedProduct","useOrderFormStore","inputValue","setInputValue","useState","productsDialogOpen","setProductsDialogOpen","smaller","useResponsive","handleOptionSelect","option","selected","product","handleProductIncremental","productToIncrease","handleProductDecremental","productToDecrease","targeted","handleProductChecked","checked","total","useMemo","accumulator","jsxs","Fragment","Card","jsx","AutoComplete","Avatar","TbSearch","Button","NumericFormat","TbMinus","TbPlus","Dialog","ScrollBar","classNames","Checkbox","value"],"mappings":"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"}
1
+ {"version":3,"file":"ProductSelectSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderForm/components/ProductSelectSection.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport Card from '@/components/ui/Card'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Avatar from '@/components/ui/Avatar'\nimport Table from '@/components/ui/Table'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport AutoComplete from '@/components/shared/AutoComplete'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useOrderFormStore } from '../store/orderFormStore'\nimport classNames from '@/utils/classNames'\nimport { NumericFormat } from 'react-number-format'\nimport { TbSearch, TbMinus, TbPlus } from 'react-icons/tb'\nimport type { Product, ProductOption, SelectedProduct } from '../types'\n\nconst { Tr, Th, Td, THead, TBody } = Table\n\nconst ProductSelectSection = () => {\n const { productOption, productList, selectedProduct, setSelectedProduct } =\n useOrderFormStore()\n\n const [inputValue, setInputValue] = useState('')\n\n const [productsDialogOpen, setProductsDialogOpen] = useState(false)\n\n const { smaller } = useResponsive()\n\n const handleOptionSelect = (option: ProductOption) => {\n const selected = productList.find(\n (product) => product.id === option.value,\n )\n\n if (selected) {\n if (selectedProduct.some((product) => product.id === selected.id)) {\n return\n } else {\n selectedProduct.push({ ...selected, quantity: 1 })\n setSelectedProduct(selectedProduct)\n }\n }\n }\n\n const handleProductIncremental = (productToIncrease: SelectedProduct) => {\n setSelectedProduct(\n selectedProduct.map((product) => {\n if (product.id === productToIncrease.id) {\n product.quantity = product.quantity + 1\n }\n return product\n }),\n )\n }\n\n const handleProductDecremental = (productToDecrease: SelectedProduct) => {\n const targeted = productToDecrease\n\n targeted.quantity = targeted.quantity - 1\n if (targeted.quantity === 0) {\n setSelectedProduct(\n selectedProduct.filter((product) => product.id !== targeted.id),\n )\n } else {\n setSelectedProduct(\n selectedProduct.map((product) => {\n if (product.id === targeted.id) {\n product = targeted\n }\n return product\n }),\n )\n }\n }\n\n const handleProductChecked = (checked: boolean, selected: Product) => {\n if (checked) {\n selectedProduct.push({ ...selected, quantity: 1 })\n setSelectedProduct(selectedProduct)\n } else {\n setSelectedProduct(\n selectedProduct.filter((product) => product.id !== selected.id),\n )\n }\n }\n\n const total = useMemo(() => {\n return selectedProduct.reduce((accumulator, product) => {\n return accumulator + product.price * product.quantity\n }, 0)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedProduct, selectedProduct.length])\n\n return (\n <>\n <Card id=\"selectProducts\">\n <h4 className=\"mb-6\">Select products</h4>\n <div className=\"flex items-center gap-2\">\n <AutoComplete<ProductOption>\n data={productOption}\n optionKey={(product) => product.label}\n value={inputValue}\n renderOption={(option) => (\n <div className=\"flex items-center gap-2\">\n <Avatar shape=\"round\" src={option.img} />\n <span>{option.label}</span>\n </div>\n )}\n suffix={<TbSearch className=\"text-lg\" />}\n placeholder=\"Search product\"\n onInputChange={setInputValue}\n onOptionSelected={handleOptionSelect}\n />\n <Button\n type=\"button\"\n variant=\"solid\"\n onClick={() => setProductsDialogOpen(true)}\n >\n Browse products\n </Button>\n </div>\n <Table compact={smaller.sm} className=\"mt-6\">\n <THead>\n <Tr>\n <Th className=\"w-[70%]\">Product</Th>\n <Th>Price</Th>\n <Th>Quantity</Th>\n </Tr>\n </THead>\n <TBody>\n {selectedProduct.length > 0 ? (\n selectedProduct.map((product) => (\n <Tr key={product.id}>\n <Td>\n <div className=\"flex items-center gap-2\">\n <Avatar\n shape=\"round\"\n src={product.img}\n />\n <div>\n <div className=\"heading-text font-bold\">\n {product.name}\n </div>\n <div>\n ID: {product.productCode}\n </div>\n </div>\n </div>\n </Td>\n <Td>\n <div className=\"heading-text font-bold\">\n <NumericFormat\n fixedDecimalScale\n prefix=\"$\"\n displayType=\"text\"\n value={\n product.price *\n product.quantity\n }\n decimalScale={2}\n thousandSeparator={true}\n />\n </div>\n </Td>\n <Td>\n <div className=\"flex items-center\">\n <Button\n type=\"button\"\n icon={<TbMinus />}\n size=\"xs\"\n onClick={() =>\n handleProductDecremental(\n product,\n )\n }\n />\n <div className=\"w-10 text-center\">\n <span>{product.quantity}</span>\n </div>\n <Button\n type=\"button\"\n icon={<TbPlus />}\n size=\"xs\"\n onClick={() =>\n handleProductIncremental(\n product,\n )\n }\n />\n </div>\n </Td>\n </Tr>\n ))\n ) : (\n <Tr>\n <Td className=\"text-center\" colSpan={3}>\n No product selected!\n </Td>\n </Tr>\n )}\n </TBody>\n </Table>\n <div className=\"mt-8 flex justify-end\">\n <span className=\"text-base flex items-center gap-2\">\n <span className=\"font-semibold\">Total: </span>\n <span className=\"text-lg font-bold heading-text\">\n <NumericFormat\n fixedDecimalScale\n prefix=\"$\"\n displayType=\"text\"\n value={total}\n decimalScale={2}\n thousandSeparator={true}\n />\n </span>\n </span>\n </div>\n </Card>\n <Dialog\n isOpen={productsDialogOpen}\n onClose={() => setProductsDialogOpen(false)}\n onRequestClose={() => setProductsDialogOpen(false)}\n >\n <div className=\"text-center mb-6\">\n <h4 className=\"mb-1\">All products</h4>\n <p>Add products to this order.</p>\n </div>\n <div className=\"mt-4\">\n <div className=\"mb-6\">\n <ScrollBar\n className={classNames('overflow-y-auto h-80')}\n >\n {productList.map((product) => (\n <div\n key={product.id}\n className=\"py-3 pr-5 rounded-lg flex items-center justify-between\"\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"px-1\">\n <Checkbox\n checked={selectedProduct.some(\n (selected) =>\n selected.id ===\n product.id,\n )}\n onChange={(value) =>\n handleProductChecked(\n value,\n product,\n )\n }\n />\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar\n size=\"lg\"\n shape=\"round\"\n src={product.img}\n />\n <div>\n <p className=\"heading-text font-bold\">\n {product.name}\n </p>\n <p>ID: {product.productCode}</p>\n </div>\n </div>\n </div>\n <div>\n Qty:{' '}\n <span className=\"heading-text font-bold\">\n {product.stock}\n </span>\n </div>\n </div>\n ))}\n </ScrollBar>\n </div>\n </div>\n <Button\n block\n type=\"button\"\n variant=\"solid\"\n onClick={() => setProductsDialogOpen(false)}\n >\n Done\n </Button>\n </Dialog>\n </>\n )\n}\n\nexport default ProductSelectSection\n"],"names":["Tr","Th","Td","THead","TBody","Table","ProductSelectSection","productOption","productList","selectedProduct","setSelectedProduct","useOrderFormStore","inputValue","setInputValue","useState","productsDialogOpen","setProductsDialogOpen","smaller","useResponsive","handleOptionSelect","option","selected","product","handleProductIncremental","productToIncrease","handleProductDecremental","productToDecrease","targeted","handleProductChecked","checked","total","useMemo","accumulator","jsxs","Fragment","Card","jsx","AutoComplete","Avatar","TbSearch","Button","NumericFormat","TbMinus","TbPlus","Dialog","ScrollBar","classNames","Checkbox","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderListTable.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTable.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Tag from '@/components/ui/Tag'\nimport Tooltip from '@/components/ui/Tooltip'\nimport DataTable from '@/components/shared/DataTable'\nimport useOrderlist from '../hooks/useOrderlist'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { useNavigate } from 'react-router-dom'\nimport { TbTrash, TbEye } from 'react-icons/tb'\nimport dayjs from 'dayjs'\nimport { NumericFormat } from 'react-number-format'\nimport type { OnSortParam, ColumnDef } from '@/components/shared/DataTable'\nimport type { Order } from '../types'\nimport type { TableQueries } from '@/@types/common'\n\nconst orderStatusColor: Record<\n number,\n {\n label: string\n bgClass: string\n textClass: string\n }\n> = {\n 0: {\n label: 'Paid',\n bgClass: 'bg-success-subtle',\n textClass: 'text-success',\n },\n 1: {\n label: 'Pending',\n bgClass: 'bg-warning-subtle',\n textClass: 'text-warning',\n },\n 2: { label: 'Failed', bgClass: 'bg-error-subtle', textClass: 'text-error' },\n}\n\nconst OrderColumn = ({ row }: { row: Order }) => {\n const navigate = useNavigate()\n\n const onView = () => {\n navigate(`/concepts/orders/order-details/${row.id}`)\n }\n\n return (\n <span\n className=\"cursor-pointer font-bold heading-text hover:text-primary\"\n onClick={onView}\n >\n #{row.id}\n </span>\n )\n}\n\nconst ActionColumn = ({ row }: { row: Order }) => {\n const navigate = useNavigate()\n\n const onDelete = () => {}\n\n const onView = () => {\n navigate(`/concepts/orders/order-details/${row.id}`)\n }\n\n return (\n <div className=\"flex justify-end text-lg gap-1\">\n <Tooltip wrapperClass=\"flex\" title=\"View\">\n <span className={`cursor-pointer p-2`} onClick={onView}>\n <TbEye />\n </span>\n </Tooltip>\n <Tooltip wrapperClass=\"flex\" title=\"Delete\">\n <span\n className=\"cursor-pointer p-2 hover:text-red-500\"\n onClick={onDelete}\n >\n <TbTrash />\n </span>\n </Tooltip>\n </div>\n )\n}\n\nconst PaymentMethodImage = ({\n paymentMehod,\n className,\n}: {\n paymentMehod: string\n className: string\n}) => {\n switch (paymentMehod) {\n case 'visa':\n return (\n <img\n className={className}\n src=\"/img/others/img-8.png\"\n alt={paymentMehod}\n />\n )\n case 'master':\n return (\n <img\n className={className}\n src=\"/img/others/img-9.png\"\n alt={paymentMehod}\n />\n )\n case 'paypal':\n return (\n <img\n className={className}\n src=\"/img/others/img-10.png\"\n alt={paymentMehod}\n />\n )\n default:\n return <></>\n }\n}\n\nconst OrderListTable = () => {\n const { orderList, orderListTotal, tableData, isLoading, setTableData } =\n useOrderlist()\n\n const columns: ColumnDef<Order>[] = useMemo(\n () => [\n {\n header: 'Order',\n accessorKey: 'id',\n cell: (props) => <OrderColumn row={props.row.original} />,\n },\n {\n header: 'Date',\n accessorKey: 'date',\n cell: (props) => {\n const row = props.row.original\n return (\n <span className=\"font-semibold\">\n {dayjs.unix(row.date).format('DD/MM/YYYY')}\n </span>\n )\n },\n },\n {\n header: 'Customer',\n accessorKey: 'customer',\n cell: (props) => {\n const row = props.row.original\n return <span className=\"font-semibold\">{row.customer}</span>\n },\n },\n {\n header: 'Status',\n accessorKey: 'status',\n cell: (props) => {\n const { status } = props.row.original\n return (\n <Tag className={orderStatusColor[status].bgClass}>\n <span\n className={`capitalize font-semibold ${orderStatusColor[status].textClass}`}\n >\n {orderStatusColor[status].label}\n </span>\n </Tag>\n )\n },\n },\n {\n header: 'Payment Method',\n accessorKey: 'paymentMehod',\n cell: (props) => {\n const { paymentMehod, paymentIdendifier } =\n props.row.original\n return (\n <span className=\"flex items-center gap-2\">\n <PaymentMethodImage\n className=\"max-h-[20px]\"\n paymentMehod={paymentMehod}\n />\n <span className=\"font-semibold\">\n {paymentIdendifier}\n </span>\n </span>\n )\n },\n },\n {\n header: 'Total',\n accessorKey: 'totalAmount',\n cell: (props) => {\n const { totalAmount } = props.row.original\n return (\n <NumericFormat\n className=\"heading-text font-bold\"\n displayType=\"text\"\n value={(\n Math.round(totalAmount * 100) / 100\n ).toFixed(2)}\n prefix={'$'}\n thousandSeparator={true}\n />\n )\n },\n },\n {\n header: '',\n id: 'action',\n cell: (props) => <ActionColumn row={props.row.original} />,\n },\n ],\n [],\n )\n\n const handleSetTableData = (data: TableQueries) => {\n setTableData(data)\n }\n\n const handlePaginationChange = (page: number) => {\n const newTableData = cloneDeep(tableData)\n newTableData.pageIndex = page\n handleSetTableData(newTableData)\n }\n\n const handleSelectChange = (value: number) => {\n const newTableData = cloneDeep(tableData)\n newTableData.pageSize = Number(value)\n newTableData.pageIndex = 1\n handleSetTableData(newTableData)\n }\n\n const handleSort = (sort: OnSortParam) => {\n const newTableData = cloneDeep(tableData)\n newTableData.sort = sort\n handleSetTableData(newTableData)\n }\n\n return (\n <DataTable\n columns={columns}\n data={orderList}\n noData={!isLoading && orderList.length === 0}\n skeletonAvatarColumns={[0]}\n skeletonAvatarProps={{ width: 28, height: 28 }}\n loading={isLoading}\n pagingData={{\n total: orderListTotal,\n pageIndex: tableData.pageIndex as number,\n pageSize: tableData.pageSize as number,\n }}\n onPaginationChange={handlePaginationChange}\n onSelectChange={handleSelectChange}\n onSort={handleSort}\n />\n )\n}\n\nexport default OrderListTable\n"],"names":["orderStatusColor","OrderColumn","row","navigate","useNavigate","jsxs","ActionColumn","jsx","Tooltip","TbEye","TbTrash","PaymentMethodImage","paymentMehod","className","Fragment","OrderListTable","orderList","orderListTotal","tableData","isLoading","setTableData","useOrderlist","columns","useMemo","props","dayjs","status","Tag","paymentIdendifier","totalAmount","NumericFormat","handleSetTableData","data","handlePaginationChange","page","newTableData","cloneDeep","handleSelectChange","value","handleSort","sort","DataTable"],"mappings":"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"}
1
+ {"version":3,"file":"OrderListTable.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTable.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Tag from '@/components/ui/Tag'\nimport Tooltip from '@/components/ui/Tooltip'\nimport DataTable from '@/components/shared/DataTable'\nimport useOrderlist from '../hooks/useOrderlist'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { useNavigate } from 'react-router-dom'\nimport { TbTrash, TbEye } from 'react-icons/tb'\nimport dayjs from 'dayjs'\nimport { NumericFormat } from 'react-number-format'\nimport type { OnSortParam, ColumnDef } from '@/components/shared/DataTable'\nimport type { Order } from '../types'\nimport type { TableQueries } from '@/@types/common'\n\nconst orderStatusColor: Record<\n number,\n {\n label: string\n bgClass: string\n textClass: string\n }\n> = {\n 0: {\n label: 'Paid',\n bgClass: 'bg-success-subtle',\n textClass: 'text-success',\n },\n 1: {\n label: 'Pending',\n bgClass: 'bg-warning-subtle',\n textClass: 'text-warning',\n },\n 2: { label: 'Failed', bgClass: 'bg-error-subtle', textClass: 'text-error' },\n}\n\nconst OrderColumn = ({ row }: { row: Order }) => {\n const navigate = useNavigate()\n\n const onView = () => {\n navigate(`/concepts/orders/order-details/${row.id}`)\n }\n\n return (\n <span\n className=\"cursor-pointer font-bold heading-text hover:text-primary\"\n onClick={onView}\n >\n #{row.id}\n </span>\n )\n}\n\nconst ActionColumn = ({ row }: { row: Order }) => {\n const navigate = useNavigate()\n\n const onDelete = () => {}\n\n const onView = () => {\n navigate(`/concepts/orders/order-details/${row.id}`)\n }\n\n return (\n <div className=\"flex justify-end text-lg gap-1\">\n <Tooltip wrapperClass=\"flex\" title=\"View\">\n <span className={`cursor-pointer p-2`} onClick={onView}>\n <TbEye />\n </span>\n </Tooltip>\n <Tooltip wrapperClass=\"flex\" title=\"Delete\">\n <span\n className=\"cursor-pointer p-2 hover:text-red-500\"\n onClick={onDelete}\n >\n <TbTrash />\n </span>\n </Tooltip>\n </div>\n )\n}\n\nconst PaymentMethodImage = ({\n paymentMehod,\n className,\n}: {\n paymentMehod: string\n className: string\n}) => {\n switch (paymentMehod) {\n case 'visa':\n return (\n <img\n className={className}\n src=\"/img/others/img-8.png\"\n alt={paymentMehod}\n />\n )\n case 'master':\n return (\n <img\n className={className}\n src=\"/img/others/img-9.png\"\n alt={paymentMehod}\n />\n )\n case 'paypal':\n return (\n <img\n className={className}\n src=\"/img/others/img-10.png\"\n alt={paymentMehod}\n />\n )\n default:\n return <></>\n }\n}\n\nconst OrderListTable = () => {\n const { orderList, orderListTotal, tableData, isLoading, setTableData } =\n useOrderlist()\n\n const columns: ColumnDef<Order>[] = useMemo(\n () => [\n {\n header: 'Order',\n accessorKey: 'id',\n cell: (props) => <OrderColumn row={props.row.original} />,\n },\n {\n header: 'Date',\n accessorKey: 'date',\n cell: (props) => {\n const row = props.row.original\n return (\n <span className=\"font-semibold\">\n {dayjs.unix(row.date).format('DD/MM/YYYY')}\n </span>\n )\n },\n },\n {\n header: 'Customer',\n accessorKey: 'customer',\n cell: (props) => {\n const row = props.row.original\n return <span className=\"font-semibold\">{row.customer}</span>\n },\n },\n {\n header: 'Status',\n accessorKey: 'status',\n cell: (props) => {\n const { status } = props.row.original\n return (\n <Tag className={orderStatusColor[status].bgClass}>\n <span\n className={`capitalize font-semibold ${orderStatusColor[status].textClass}`}\n >\n {orderStatusColor[status].label}\n </span>\n </Tag>\n )\n },\n },\n {\n header: 'Payment Method',\n accessorKey: 'paymentMehod',\n cell: (props) => {\n const { paymentMehod, paymentIdendifier } =\n props.row.original\n return (\n <span className=\"flex items-center gap-2\">\n <PaymentMethodImage\n className=\"max-h-[20px]\"\n paymentMehod={paymentMehod}\n />\n <span className=\"font-semibold\">\n {paymentIdendifier}\n </span>\n </span>\n )\n },\n },\n {\n header: 'Total',\n accessorKey: 'totalAmount',\n cell: (props) => {\n const { totalAmount } = props.row.original\n return (\n <NumericFormat\n className=\"heading-text font-bold\"\n displayType=\"text\"\n value={(\n Math.round(totalAmount * 100) / 100\n ).toFixed(2)}\n prefix={'$'}\n thousandSeparator={true}\n />\n )\n },\n },\n {\n header: '',\n id: 'action',\n cell: (props) => <ActionColumn row={props.row.original} />,\n },\n ],\n [],\n )\n\n const handleSetTableData = (data: TableQueries) => {\n setTableData(data)\n }\n\n const handlePaginationChange = (page: number) => {\n const newTableData = cloneDeep(tableData)\n newTableData.pageIndex = page\n handleSetTableData(newTableData)\n }\n\n const handleSelectChange = (value: number) => {\n const newTableData = cloneDeep(tableData)\n newTableData.pageSize = Number(value)\n newTableData.pageIndex = 1\n handleSetTableData(newTableData)\n }\n\n const handleSort = (sort: OnSortParam) => {\n const newTableData = cloneDeep(tableData)\n newTableData.sort = sort\n handleSetTableData(newTableData)\n }\n\n return (\n <DataTable\n columns={columns}\n data={orderList}\n noData={!isLoading && orderList.length === 0}\n skeletonAvatarColumns={[0]}\n skeletonAvatarProps={{ width: 28, height: 28 }}\n loading={isLoading}\n pagingData={{\n total: orderListTotal,\n pageIndex: tableData.pageIndex as number,\n pageSize: tableData.pageSize as number,\n }}\n onPaginationChange={handlePaginationChange}\n onSelectChange={handleSelectChange}\n onSort={handleSort}\n />\n )\n}\n\nexport default OrderListTable\n"],"names":["orderStatusColor","OrderColumn","row","navigate","useNavigate","jsxs","ActionColumn","jsx","Tooltip","TbEye","TbTrash","PaymentMethodImage","paymentMehod","className","Fragment","OrderListTable","orderList","orderListTotal","tableData","isLoading","setTableData","useOrderlist","columns","useMemo","props","dayjs","status","Tag","paymentIdendifier","totalAmount","NumericFormat","handleSetTableData","data","handlePaginationChange","page","newTableData","cloneDeep","handleSelectChange","value","handleSort","sort","DataTable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderListTableFilter.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport DatePicker from '@/components/ui/DatePicker'\nimport Drawer from '@/components/ui/Drawer'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Badge from '@/components/ui/Badge'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport { components } from 'react-select'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport useOrderlist from '../hooks/useOrderlist'\nimport { TbFilter } from 'react-icons/tb'\nimport { useForm, Controller } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\nimport type { ControlProps, OptionProps } from 'react-select'\nimport classNames from '@/utils/classNames'\n\ntype FormSchema = {\n date: [Date, Date]\n status: string\n paymentMethod: Array<string>\n}\n\ntype Option = {\n value: string\n label: string\n className: string\n}\n\nconst { Control } = components\n\nconst statusOption: Option[] = [\n { value: 'paid', label: 'Paid', className: 'bg-emerald-500' },\n { value: 'failed', label: 'Failed', className: 'bg-red-500' },\n { value: 'pending', label: 'Pending', className: 'bg-amber-500' },\n { value: 'all', label: 'All', className: 'bg-gray-400' },\n]\n\nconst paymentMethodList = [\n 'Credit card',\n 'Debit card',\n 'Paypal',\n 'Stripe',\n 'Cash',\n]\n\nconst CustomSelectOption = (props: OptionProps<Option>) => {\n return (\n <DefaultOption<Option>\n {...props}\n customLabel={(data, label) => (\n <span className=\"flex items-center gap-2\">\n <Badge className={data.className} />\n <span className=\"ml-2 rtl:mr-2\">{label}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<Option>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <Badge className={classNames('ml-4', selected.className)} />\n )}\n {children}\n </Control>\n )\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n date: z.tuple([z.date(), z.date()]),\n status: z.string(),\n paymentMethod: z.array(z.string()),\n})\n\nconst OrderListTableFilter = () => {\n const [filterIsOpen, setFilterIsOpen] = useState(false)\n\n const { filterData, setFilterData } = useOrderlist()\n\n const { handleSubmit, control } = useForm<FormSchema>({\n defaultValues: filterData,\n resolver: zodResolver(validationSchema),\n })\n\n const onSubmit = (values: FormSchema) => {\n setFilterData(values)\n setFilterIsOpen(false)\n }\n\n return (\n <>\n <Button icon={<TbFilter />} onClick={() => setFilterIsOpen(true)}>\n Filter\n </Button>\n <Drawer\n title=\"Filter\"\n isOpen={filterIsOpen}\n onClose={() => setFilterIsOpen(false)}\n onRequestClose={() => setFilterIsOpen(false)}\n >\n <Form\n className=\"h-full\"\n containerClassName=\"flex flex-col justify-between h-full\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <div>\n <FormItem label=\"Product price\">\n <div className=\"flex items-center gap-2\">\n <Controller\n name=\"date\"\n control={control}\n render={({ field }) => (\n <DatePicker.DatePickerRange\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </div>\n </FormItem>\n <FormItem label=\"Product status\">\n <Controller\n name=\"status\"\n control={control}\n render={({ field }) => (\n <Select<Option>\n options={statusOption}\n {...field}\n value={statusOption.filter(\n (option) =>\n option.value === field.value,\n )}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n onChange={(option) =>\n field.onChange(option?.value)\n }\n />\n )}\n />\n </FormItem>\n <FormItem label=\"Product type\">\n <div className=\"mt-4\">\n <Controller\n name=\"paymentMethod\"\n control={control}\n render={({ field }) => (\n <Checkbox.Group\n vertical\n className=\"flex\"\n {...field}\n >\n {paymentMethodList.map(\n (type, index) => (\n <Checkbox\n key={type + index}\n name={field.name}\n value={type}\n className=\"justify-between flex-row-reverse heading-text\"\n >\n {type}\n </Checkbox>\n ),\n )}\n </Checkbox.Group>\n )}\n />\n </div>\n </FormItem>\n </div>\n <Button variant=\"solid\" type=\"submit\">\n Query\n </Button>\n </Form>\n </Drawer>\n </>\n )\n}\n\nexport default OrderListTableFilter\n"],"names":["Control","components","statusOption","paymentMethodList","CustomSelectOption","props","jsx","DefaultOption","data","label","jsxs","Badge","CustomControl","children","selected","classNames","validationSchema","z","OrderListTableFilter","filterIsOpen","setFilterIsOpen","useState","filterData","setFilterData","useOrderlist","handleSubmit","control","useForm","zodResolver","Fragment","Button","TbFilter","Drawer","Form","values","FormItem","Controller","field","DatePicker","Select","option","Checkbox","type","index"],"mappings":"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"}
1
+ {"version":3,"file":"OrderListTableFilter.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport DatePicker from '@/components/ui/DatePicker'\nimport Drawer from '@/components/ui/Drawer'\nimport Checkbox from '@/components/ui/Checkbox'\nimport Badge from '@/components/ui/Badge'\nimport Select, { Option as DefaultOption } from '@/components/ui/Select'\nimport { components } from 'react-select'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport useOrderlist from '../hooks/useOrderlist'\nimport { TbFilter } from 'react-icons/tb'\nimport { useForm, Controller } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\nimport type { ControlProps, OptionProps } from 'react-select'\nimport classNames from '@/utils/classNames'\n\ntype FormSchema = {\n date: [Date, Date]\n status: string\n paymentMethod: Array<string>\n}\n\ntype Option = {\n value: string\n label: string\n className: string\n}\n\nconst { Control } = components\n\nconst statusOption: Option[] = [\n { value: 'paid', label: 'Paid', className: 'bg-emerald-500' },\n { value: 'failed', label: 'Failed', className: 'bg-red-500' },\n { value: 'pending', label: 'Pending', className: 'bg-amber-500' },\n { value: 'all', label: 'All', className: 'bg-gray-400' },\n]\n\nconst paymentMethodList = [\n 'Credit card',\n 'Debit card',\n 'Paypal',\n 'Stripe',\n 'Cash',\n]\n\nconst CustomSelectOption = (props: OptionProps<Option>) => {\n return (\n <DefaultOption<Option>\n {...props}\n customLabel={(data, label) => (\n <span className=\"flex items-center gap-2\">\n <Badge className={data.className} />\n <span className=\"ml-2 rtl:mr-2\">{label}</span>\n </span>\n )}\n />\n )\n}\n\nconst CustomControl = ({ children, ...props }: ControlProps<Option>) => {\n const selected = props.getValue()[0]\n return (\n <Control {...props}>\n {selected && (\n <Badge className={classNames('ml-4', selected.className)} />\n )}\n {children}\n </Control>\n )\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n date: z.tuple([z.date(), z.date()]),\n status: z.string(),\n paymentMethod: z.array(z.string()),\n})\n\nconst OrderListTableFilter = () => {\n const [filterIsOpen, setFilterIsOpen] = useState(false)\n\n const { filterData, setFilterData } = useOrderlist()\n\n const { handleSubmit, control } = useForm<FormSchema>({\n defaultValues: filterData,\n resolver: zodResolver(validationSchema),\n })\n\n const onSubmit = (values: FormSchema) => {\n setFilterData(values)\n setFilterIsOpen(false)\n }\n\n return (\n <>\n <Button icon={<TbFilter />} onClick={() => setFilterIsOpen(true)}>\n Filter\n </Button>\n <Drawer\n title=\"Filter\"\n isOpen={filterIsOpen}\n onClose={() => setFilterIsOpen(false)}\n onRequestClose={() => setFilterIsOpen(false)}\n >\n <Form\n className=\"h-full\"\n containerClassName=\"flex flex-col justify-between h-full\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <div>\n <FormItem label=\"Product price\">\n <div className=\"flex items-center gap-2\">\n <Controller\n name=\"date\"\n control={control}\n render={({ field }) => (\n <DatePicker.DatePickerRange\n value={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </div>\n </FormItem>\n <FormItem label=\"Product status\">\n <Controller\n name=\"status\"\n control={control}\n render={({ field }) => (\n <Select<Option>\n options={statusOption}\n {...field}\n value={statusOption.filter(\n (option) =>\n option.value === field.value,\n )}\n components={{\n Option: CustomSelectOption,\n Control: CustomControl,\n }}\n onChange={(option) =>\n field.onChange(option?.value)\n }\n />\n )}\n />\n </FormItem>\n <FormItem label=\"Product type\">\n <div className=\"mt-4\">\n <Controller\n name=\"paymentMethod\"\n control={control}\n render={({ field }) => (\n <Checkbox.Group\n vertical\n className=\"flex\"\n {...field}\n >\n {paymentMethodList.map(\n (type, index) => (\n <Checkbox\n key={type + index}\n name={field.name}\n value={type}\n className=\"justify-between flex-row-reverse heading-text\"\n >\n {type}\n </Checkbox>\n ),\n )}\n </Checkbox.Group>\n )}\n />\n </div>\n </FormItem>\n </div>\n <Button variant=\"solid\" type=\"submit\">\n Query\n </Button>\n </Form>\n </Drawer>\n </>\n )\n}\n\nexport default OrderListTableFilter\n"],"names":["Control","components","statusOption","paymentMethodList","CustomSelectOption","props","jsx","DefaultOption","data","label","jsxs","Badge","CustomControl","children","selected","classNames","validationSchema","z","OrderListTableFilter","filterIsOpen","setFilterIsOpen","useState","filterData","setFilterData","useOrderlist","handleSubmit","control","useForm","zodResolver","Fragment","Button","TbFilter","Drawer","Form","values","FormItem","Controller","field","DatePicker","Select","option","Checkbox","type","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAM,EAAE,SAAAA,MAAYC,GAEdC,IAAyB;AAAA,EAC3B,EAAE,OAAO,QAAQ,OAAO,QAAQ,WAAW,iBAAA;AAAA,EAC3C,EAAE,OAAO,UAAU,OAAO,UAAU,WAAW,aAAA;AAAA,EAC/C,EAAE,OAAO,WAAW,OAAO,WAAW,WAAW,eAAA;AAAA,EACjD,EAAE,OAAO,OAAO,OAAO,OAAO,WAAW,cAAA;AAC7C,GAEMC,IAAoB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAEMC,IAAqB,CAACC,MAEpB,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACI,GAAGF;AAAA,IACJ,aAAa,CAACG,GAAMC,MAChB,gBAAAC,EAAC,QAAA,EAAK,WAAU,2BACZ,UAAA;AAAA,MAAA,gBAAAJ,EAACK,GAAA,EAAM,WAAWH,EAAK,UAAA,CAAW;AAAA,MAClC,gBAAAF,EAAC,QAAA,EAAK,WAAU,iBAAiB,UAAAG,EAAA,CAAM;AAAA,IAAA,EAAA,CAC3C;AAAA,EAAA;AAAA,GAMVG,IAAgB,CAAC,EAAE,UAAAC,GAAU,GAAGR,QAAkC;AACpE,QAAMS,IAAWT,EAAM,SAAA,EAAW,CAAC;AACnC,SACI,gBAAAK,EAACV,GAAA,EAAS,GAAGK,GACR,UAAA;AAAA,IAAAS,uBACIH,GAAA,EAAM,WAAWI,EAAW,QAAQD,EAAS,SAAS,GAAG;AAAA,IAE7DD;AAAA,EAAA,GACL;AAER,GAEMG,IAAwCC,EAAE,OAAO;AAAA,EACnD,MAAMA,EAAE,MAAM,CAACA,EAAE,QAAQA,EAAE,KAAA,CAAM,CAAC;AAAA,EAClC,QAAQA,EAAE,OAAA;AAAA,EACV,eAAeA,EAAE,MAAMA,EAAE,QAAQ;AACrC,CAAC,GAEKC,KAAuB,MAAM;AAC/B,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhD,EAAE,YAAAC,GAAY,eAAAC,EAAA,IAAkBC,EAAA,GAEhC,EAAE,cAAAC,GAAc,SAAAC,EAAA,IAAYC,EAAoB;AAAA,IAClD,eAAeL;AAAA,IACf,UAAUM,EAAYZ,CAAgB;AAAA,EAAA,CACzC;AAOD,SACI,gBAAAN,EAAAmB,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAvB,EAACwB,GAAA,EAAO,MAAM,gBAAAxB,EAACyB,GAAA,CAAA,CAAS,GAAI,SAAS,MAAMX,EAAgB,EAAI,GAAG,UAAA,SAAA,CAElE;AAAA,IACA,gBAAAd;AAAA,MAAC0B;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,QAAQb;AAAA,QACR,SAAS,MAAMC,EAAgB,EAAK;AAAA,QACpC,gBAAgB,MAAMA,EAAgB,EAAK;AAAA,QAE3C,UAAA,gBAAAV;AAAA,UAACuB;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,oBAAmB;AAAA,YACnB,UAAUR,EAnBT,CAACS,MAAuB;AACrC,cAAAX,EAAcW,CAAM,GACpBd,EAAgB,EAAK;AAAA,YACzB,CAgB+C;AAAA,YAE/B,UAAA;AAAA,cAAA,gBAAAV,EAAC,OAAA,EACG,UAAA;AAAA,gBAAA,gBAAAJ,EAAC6B,KAAS,OAAM,iBACZ,UAAA,gBAAA7B,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA,gBAAAA;AAAA,kBAAC8B;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,SAAAV;AAAA,oBACA,QAAQ,CAAC,EAAE,OAAAW,EAAA,MACP,gBAAA/B;AAAA,sBAACgC,EAAW;AAAA,sBAAX;AAAA,wBACG,OAAOD,EAAM;AAAA,wBACb,UAAUA,EAAM;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACpB;AAAA,gBAAA,GAGZ,EAAA,CACJ;AAAA,gBACA,gBAAA/B,EAAC6B,GAAA,EAAS,OAAM,kBACZ,UAAA,gBAAA7B;AAAA,kBAAC8B;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,SAAAV;AAAA,oBACA,QAAQ,CAAC,EAAE,OAAAW,EAAA,MACP,gBAAA/B;AAAA,sBAACiC;AAAA,sBAAA;AAAA,wBACG,SAASrC;AAAA,wBACR,GAAGmC;AAAA,wBACJ,OAAOnC,EAAa;AAAA,0BAChB,CAACsC,MACGA,EAAO,UAAUH,EAAM;AAAA,wBAAA;AAAA,wBAE/B,YAAY;AAAA,0BACR,QAAQjC;AAAA,0BACR,SAASQ;AAAA,wBAAA;AAAA,wBAEb,UAAU,CAAC4B,MACPH,EAAM,SAASG,KAAA,gBAAAA,EAAQ,KAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAEpC;AAAA,gBAAA,GAGZ;AAAA,kCACCL,GAAA,EAAS,OAAM,gBACZ,UAAA,gBAAA7B,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAA;AAAA,kBAAC8B;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,SAAAV;AAAA,oBACA,QAAQ,CAAC,EAAE,OAAAW,EAAA,MACP,gBAAA/B;AAAA,sBAACmC,EAAS;AAAA,sBAAT;AAAA,wBACG,UAAQ;AAAA,wBACR,WAAU;AAAA,wBACT,GAAGJ;AAAA,wBAEH,UAAAlC,EAAkB;AAAA,0BACf,CAACuC,GAAMC,MACH,gBAAArC;AAAA,4BAACmC;AAAA,4BAAA;AAAA,8BAEG,MAAMJ,EAAM;AAAA,8BACZ,OAAOK;AAAA,8BACP,WAAU;AAAA,8BAET,UAAAA;AAAA,4BAAA;AAAA,4BALIA,IAAOC;AAAA,0BAAA;AAAA,wBAMhB;AAAA,sBAER;AAAA,oBAAA;AAAA,kBACJ;AAAA,gBAAA,GAGZ,EAAA,CACJ;AAAA,cAAA,GACJ;AAAA,gCACCb,GAAA,EAAO,SAAQ,SAAQ,MAAK,UAAS,UAAA,QAAA,CAEtC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderListTableTools.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTableTools.tsx"],"sourcesContent":["import useCustomerList from '../hooks/useOrderlist'\nimport DebounceInput from '@/components/shared/DebounceInput'\nimport OrderListTableFilter from './OrderListTableFilter'\nimport { TbSearch } from 'react-icons/tb'\nimport cloneDeep from 'lodash/cloneDeep'\nimport type { ChangeEvent } from 'react'\n\nconst OrderListTableTools = () => {\n const { tableData, setTableData } = useCustomerList()\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const val = event.target.value\n const newTableData = cloneDeep(tableData)\n newTableData.query = val\n newTableData.pageIndex = 1\n if (typeof val === 'string' && val.length > 1) {\n setTableData(newTableData)\n }\n\n if (typeof val === 'string' && val.length === 0) {\n setTableData(newTableData)\n }\n }\n\n return (\n <div className=\"flex flex-col md:flex-row md:items-center md:justify-between gap-2\">\n <DebounceInput\n placeholder=\"Search\"\n suffix={<TbSearch className=\"text-lg\" />}\n onChange={handleInputChange}\n />\n <OrderListTableFilter />\n </div>\n )\n}\n\nexport default OrderListTableTools\n"],"names":["OrderListTableTools","tableData","setTableData","useCustomerList","jsxs","jsx","DebounceInput","TbSearch","event","val","newTableData","cloneDeep","OrderListTableFilter"],"mappings":";;;;;;AAOA,MAAMA,IAAsB,MAAM;AAC9B,QAAM,EAAE,WAAAC,GAAW,cAAAC,EAAA,IAAiBC,EAAA;AAgBpC,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,sEACX,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,aAAY;AAAA,QACZ,QAAQ,gBAAAD,EAACE,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,QACtC,UAnBc,CAACC,MAAyC;AAChE,gBAAMC,IAAMD,EAAM,OAAO,OACnBE,IAAeC,EAAUV,CAAS;AACxC,UAAAS,EAAa,QAAQD,GACrBC,EAAa,YAAY,GACrB,OAAOD,KAAQ,YAAYA,EAAI,SAAS,KACxCP,EAAaQ,CAAY,GAGzB,OAAOD,KAAQ,YAAYA,EAAI,WAAW,KAC1CP,EAAaQ,CAAY;AAAA,QAC7B;AAAA,MAQkB;AAAA,IAAA;AAAA,sBAEbE,GAAA,CAAA,CAAqB;AAAA,EAAA,GAC1B;AAER;"}
1
+ {"version":3,"file":"OrderListTableTools.js","sources":["../../../../../../../lib/@ecme/views/concepts/orders/OrderList/components/OrderListTableTools.tsx"],"sourcesContent":["import useCustomerList from '../hooks/useOrderlist'\nimport DebounceInput from '@/components/shared/DebounceInput'\nimport OrderListTableFilter from './OrderListTableFilter'\nimport { TbSearch } from 'react-icons/tb'\nimport cloneDeep from 'lodash/cloneDeep'\nimport type { ChangeEvent } from 'react'\n\nconst OrderListTableTools = () => {\n const { tableData, setTableData } = useCustomerList()\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const val = event.target.value\n const newTableData = cloneDeep(tableData)\n newTableData.query = val\n newTableData.pageIndex = 1\n if (typeof val === 'string' && val.length > 1) {\n setTableData(newTableData)\n }\n\n if (typeof val === 'string' && val.length === 0) {\n setTableData(newTableData)\n }\n }\n\n return (\n <div className=\"flex flex-col md:flex-row md:items-center md:justify-between gap-2\">\n <DebounceInput\n placeholder=\"Search\"\n suffix={<TbSearch className=\"text-lg\" />}\n onChange={handleInputChange}\n />\n <OrderListTableFilter />\n </div>\n )\n}\n\nexport default OrderListTableTools\n"],"names":["OrderListTableTools","tableData","setTableData","useCustomerList","jsxs","jsx","DebounceInput","TbSearch","event","val","newTableData","cloneDeep","OrderListTableFilter"],"mappings":";;;;;;AAOA,MAAMA,IAAsB,MAAM;AAC9B,QAAM,EAAE,WAAAC,GAAW,cAAAC,EAAA,IAAiBC,EAAA;AAgBpC,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,sEACX,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,aAAY;AAAA,QACZ,QAAQ,gBAAAD,EAACE,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,QACtC,UAnBc,CAACC,MAAyC;AAChE,gBAAMC,IAAMD,EAAM,OAAO,OACnBE,IAAeC,EAAUV,CAAS;AACxC,UAAAS,EAAa,QAAQD,GACrBC,EAAa,YAAY,GACrB,OAAOD,KAAQ,YAAYA,EAAI,SAAS,KACxCP,EAAaQ,CAAY,GAGzB,OAAOD,KAAQ,YAAYA,EAAI,WAAW,KAC1CP,EAAaQ,CAAY;AAAA,QAEjC;AAAA,MAOsB;AAAA,IAAA;AAAA,sBAEbE,GAAA,CAAA,CAAqB;AAAA,EAAA,GAC1B;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCreate.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductCreate/ProductCreate.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Container from '@/components/shared/Container'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport ProductForm from '../ProductForm'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport sleep from '@/utils/sleep'\nimport { TbTrash } from 'react-icons/tb'\nimport { useNavigate } from 'react-router-dom'\nimport type { ProductFormSchema } from '../ProductForm/types'\n\nconst ProductCreate = () => {\n const navigate = useNavigate()\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: ProductFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(\n <Notification type=\"success\">Product created!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Product discardd!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n const handleDiscard = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n return (\n <>\n <ProductForm\n newProduct\n defaultValues={{\n name: '',\n description: '',\n productCode: '',\n taxRate: 0,\n price: '',\n bulkDiscountPrice: '',\n costPerItem: '',\n imgList: [],\n category: '',\n tags: [],\n brand: '',\n }}\n onFormSubmit={handleFormSubmit}\n >\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 </ProductForm>\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 ProductCreate\n"],"names":["ProductCreate","navigate","useNavigate","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsx","Notification","handleConfirmDiscard","handleDiscard","handleCancel","jsxs","Fragment","ProductForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAMA,IAAgB,MAAM;AACxB,QAAMC,IAAWC,EAAA,GAEX,CAACC,GAAyBC,CAA0B,IACtDC,EAAS,EAAK,GACZ,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAK,GAE9CG,IAAmB,OAAOC,MAA8B;AAC1D,YAAQ,IAAI,oBAAoBA,CAAM,GACtCF,EAAe,EAAI,GACnB,MAAMG,EAAM,GAAG,GACfH,EAAe,EAAK,GACpBI,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,oBAAgB;AAAA,MAC7C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,iCAAiC;AAAA,EAAA,GAGxCa,IAAuB,MAAM;AAC/B,IAAAV,EAA2B,EAAI,GAC/BO,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,qBAAiB;AAAA,MAC9C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,iCAAiC;AAAA,EAAA,GAGxCc,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;AAAA,MAACO;AAAA,MAAA;AAAA,QACG,YAAU;AAAA,QACV,eAAe;AAAA,UACX,MAAM;AAAA,UACN,aAAa;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,OAAO;AAAA,UACP,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,SAAS,CAAA;AAAA,UACT,UAAU;AAAA,UACV,MAAM,CAAA;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAEX,cAAcX;AAAA,QAEd,UAAA,gBAAAI,EAACQ,GAAA,EACG,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,UAAA,gBAAAL,EAAC,QAAA,EAAK;AAAA,UACN,gBAAAK,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,YAAA,gBAAAL;AAAA,cAACS;AAAA,cAAA;AAAA,gBACG,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,kBAAkB,MACd;AAAA,gBAEJ,wBAAOC,GAAA,EAAQ;AAAA,gBACf,SAASP;AAAA,gBACZ,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAGD,gBAAAH;AAAA,cAACS;AAAA,cAAA;AAAA,gBACG,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAASf;AAAA,gBACZ,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAED,EAAA,CACJ;AAAA,QAAA,EAAA,CACJ,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEJ,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":"ProductCreate.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductCreate/ProductCreate.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Container from '@/components/shared/Container'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport ProductForm from '../ProductForm'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport sleep from '@/utils/sleep'\nimport { TbTrash } from 'react-icons/tb'\nimport { useNavigate } from 'react-router-dom'\nimport type { ProductFormSchema } from '../ProductForm/types'\n\nconst ProductCreate = () => {\n const navigate = useNavigate()\n\n const [discardConfirmationOpen, setDiscardConfirmationOpen] =\n useState(false)\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const handleFormSubmit = async (values: ProductFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(\n <Notification type=\"success\">Product created!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n const handleConfirmDiscard = () => {\n setDiscardConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Product discardd!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n const handleDiscard = () => {\n setDiscardConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDiscardConfirmationOpen(false)\n }\n\n return (\n <>\n <ProductForm\n newProduct\n defaultValues={{\n name: '',\n description: '',\n productCode: '',\n taxRate: 0,\n price: '',\n bulkDiscountPrice: '',\n costPerItem: '',\n imgList: [],\n category: '',\n tags: [],\n brand: '',\n }}\n onFormSubmit={handleFormSubmit}\n >\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 </ProductForm>\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 ProductCreate\n"],"names":["ProductCreate","navigate","useNavigate","discardConfirmationOpen","setDiscardConfirmationOpen","useState","isSubmiting","setIsSubmiting","handleFormSubmit","values","sleep","toast","jsx","Notification","handleConfirmDiscard","handleDiscard","handleCancel","jsxs","Fragment","ProductForm","Container","Button","TbTrash","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAMA,IAAgB,MAAM;AACxB,QAAMC,IAAWC,EAAA,GAEX,CAACC,GAAyBC,CAA0B,IACtDC,EAAS,EAAK,GACZ,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAK,GAE9CG,IAAmB,OAAOC,MAA8B;AAC1D,YAAQ,IAAI,oBAAoBA,CAAM,GACtCF,EAAe,EAAI,GACnB,MAAMG,EAAM,GAAG,GACfH,EAAe,EAAK,GACpBI,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,oBAAgB;AAAA,MAC7C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,iCAAiC;AAAA,EAC9C,GAEMa,IAAuB,MAAM;AAC/B,IAAAV,EAA2B,EAAI,GAC/BO,EAAM;AAAA,MACF,gBAAAC,EAACC,GAAA,EAAa,MAAK,WAAU,UAAA,qBAAiB;AAAA,MAC9C,EAAE,WAAW,aAAA;AAAA,IAAa,GAE9BZ,EAAS,iCAAiC;AAAA,EAC9C,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;AAAA,MAACO;AAAA,MAAA;AAAA,QACG,YAAU;AAAA,QACV,eAAe;AAAA,UACX,MAAM;AAAA,UACN,aAAa;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,OAAO;AAAA,UACP,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,SAAS,CAAA;AAAA,UACT,UAAU;AAAA,UACV,MAAM,CAAA;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAEX,cAAcX;AAAA,QAEd,UAAA,gBAAAI,EAACQ,GAAA,EACG,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,UAAA,gBAAAL,EAAC,QAAA,EAAK;AAAA,UACN,gBAAAK,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,YAAA,gBAAAL;AAAA,cAACS;AAAA,cAAA;AAAA,gBACG,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,kBAAkB,MACd;AAAA,gBAEJ,wBAAOC,GAAA,EAAQ;AAAA,gBACf,SAASP;AAAA,gBACZ,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAGD,gBAAAH;AAAA,cAACS;AAAA,cAAA;AAAA,gBACG,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAASf;AAAA,gBACZ,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAED,EAAA,CACJ;AAAA,QAAA,EAAA,CACJ,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEJ,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":"ProducEdit.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductEdit/ProducEdit.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Container from '@/components/shared/Container'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport ProductForm from '../ProductForm'\nimport NoProductFound from '@/assets/svg/NoProductFound'\nimport { apiGetProduct } from '@/services/ProductService'\nimport sleep from '@/utils/sleep'\nimport { TbTrash, TbArrowNarrowLeft } from 'react-icons/tb'\nimport { useParams, useNavigate } from 'react-router-dom'\nimport useSWR from 'swr'\nimport type { Product, ProductFormSchema } from '../ProductForm/types'\n\nconst ProducEdit = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const { data, isLoading } = useSWR(\n [`/api/product/${id}`, { id: id as string }],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) => apiGetProduct<Product, { id: string }>(params),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n },\n )\n\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const getDefaultValues = () => {\n if (data) {\n const {\n name,\n description,\n productCode,\n taxRate,\n price,\n bulkDiscountPrice,\n costPerItem,\n imgList,\n category,\n brand,\n } = data\n\n return {\n name,\n description,\n productCode,\n taxRate,\n price,\n bulkDiscountPrice,\n costPerItem,\n imgList,\n category,\n tags: [{ label: 'trend', value: 'trend' }],\n brand,\n }\n }\n\n return {}\n }\n\n const handleFormSubmit = async (values: ProductFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(<Notification type=\"success\">Changes Saved!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/products/product-list')\n }\n\n const handleDelete = () => {\n setDeleteConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleBack = () => {\n navigate('/concepts/products/product-list')\n }\n\n const handleConfirmDelete = () => {\n setDeleteConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Product deleted!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n return (\n <>\n {!isLoading && !data && (\n <div className=\"h-full flex flex-col items-center justify-center\">\n <NoProductFound height={280} width={280} />\n <h3 className=\"mt-8\">No product found!</h3>\n </div>\n )}\n {!isLoading && data && (\n <>\n <ProductForm\n defaultValues={getDefaultValues() as ProductFormSchema}\n newProduct={false}\n onFormSubmit={handleFormSubmit}\n >\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n variant=\"plain\"\n icon={<TbArrowNarrowLeft />}\n onClick={handleBack}\n >\n Back\n </Button>\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 Save\n </Button>\n </div>\n </div>\n </Container>\n </ProductForm>\n <ConfirmDialog\n isOpen={deleteConfirmationOpen}\n type=\"danger\"\n title=\"Remove product\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDelete}\n >\n <p>\n Are you sure you want to remove this product? This\n action can&apos;t be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )}\n </>\n )\n}\n\nexport default ProducEdit\n"],"names":["ProducEdit","id","useParams","navigate","useNavigate","data","isLoading","useSWR","_","params","apiGetProduct","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","isSubmiting","setIsSubmiting","getDefaultValues","name","description","productCode","taxRate","price","bulkDiscountPrice","costPerItem","imgList","category","brand","handleFormSubmit","values","sleep","toast","jsx","Notification","handleDelete","handleCancel","handleBack","handleConfirmDelete","jsxs","Fragment","NoProductFound","ProductForm","Container","Button","TbArrowNarrowLeft","TbTrash","ConfirmDialog"],"mappings":"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"}
1
+ {"version":3,"file":"ProducEdit.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductEdit/ProducEdit.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Container from '@/components/shared/Container'\nimport Button from '@/components/ui/Button'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport ProductForm from '../ProductForm'\nimport NoProductFound from '@/assets/svg/NoProductFound'\nimport { apiGetProduct } from '@/services/ProductService'\nimport sleep from '@/utils/sleep'\nimport { TbTrash, TbArrowNarrowLeft } from 'react-icons/tb'\nimport { useParams, useNavigate } from 'react-router-dom'\nimport useSWR from 'swr'\nimport type { Product, ProductFormSchema } from '../ProductForm/types'\n\nconst ProducEdit = () => {\n const { id } = useParams()\n\n const navigate = useNavigate()\n\n const { data, isLoading } = useSWR(\n [`/api/product/${id}`, { id: id as string }],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) => apiGetProduct<Product, { id: string }>(params),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n },\n )\n\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const [isSubmiting, setIsSubmiting] = useState(false)\n\n const getDefaultValues = () => {\n if (data) {\n const {\n name,\n description,\n productCode,\n taxRate,\n price,\n bulkDiscountPrice,\n costPerItem,\n imgList,\n category,\n brand,\n } = data\n\n return {\n name,\n description,\n productCode,\n taxRate,\n price,\n bulkDiscountPrice,\n costPerItem,\n imgList,\n category,\n tags: [{ label: 'trend', value: 'trend' }],\n brand,\n }\n }\n\n return {}\n }\n\n const handleFormSubmit = async (values: ProductFormSchema) => {\n console.log('Submitted values', values)\n setIsSubmiting(true)\n await sleep(800)\n setIsSubmiting(false)\n toast.push(<Notification type=\"success\">Changes Saved!</Notification>, {\n placement: 'top-center',\n })\n navigate('/concepts/products/product-list')\n }\n\n const handleDelete = () => {\n setDeleteConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleBack = () => {\n navigate('/concepts/products/product-list')\n }\n\n const handleConfirmDelete = () => {\n setDeleteConfirmationOpen(true)\n toast.push(\n <Notification type=\"success\">Product deleted!</Notification>,\n { placement: 'top-center' },\n )\n navigate('/concepts/products/product-list')\n }\n\n return (\n <>\n {!isLoading && !data && (\n <div className=\"h-full flex flex-col items-center justify-center\">\n <NoProductFound height={280} width={280} />\n <h3 className=\"mt-8\">No product found!</h3>\n </div>\n )}\n {!isLoading && data && (\n <>\n <ProductForm\n defaultValues={getDefaultValues() as ProductFormSchema}\n newProduct={false}\n onFormSubmit={handleFormSubmit}\n >\n <Container>\n <div className=\"flex items-center justify-between px-8\">\n <Button\n className=\"ltr:mr-3 rtl:ml-3\"\n type=\"button\"\n variant=\"plain\"\n icon={<TbArrowNarrowLeft />}\n onClick={handleBack}\n >\n Back\n </Button>\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 Save\n </Button>\n </div>\n </div>\n </Container>\n </ProductForm>\n <ConfirmDialog\n isOpen={deleteConfirmationOpen}\n type=\"danger\"\n title=\"Remove product\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDelete}\n >\n <p>\n Are you sure you want to remove this product? This\n action can&apos;t be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )}\n </>\n )\n}\n\nexport default ProducEdit\n"],"names":["ProducEdit","id","useParams","navigate","useNavigate","data","isLoading","useSWR","_","params","apiGetProduct","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","isSubmiting","setIsSubmiting","getDefaultValues","name","description","productCode","taxRate","price","bulkDiscountPrice","costPerItem","imgList","category","brand","handleFormSubmit","values","sleep","toast","jsx","Notification","handleDelete","handleCancel","handleBack","handleConfirmDelete","jsxs","Fragment","NoProductFound","ProductForm","Container","Button","TbArrowNarrowLeft","TbTrash","ConfirmDialog"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductForm.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductForm/ProductForm.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { Form } from '@/components/ui/Form'\nimport Container from '@/components/shared/Container'\nimport BottomStickyBar from '@/components/template/BottomStickyBar'\nimport GeneralSection from './components/GeneralSection'\nimport PricingSection from './components/PricingSection'\nimport ImageSection from './components/ImageSection'\nimport AttributeSection from './components/AttributeSection'\nimport { useForm } from 'react-hook-form'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport isEmpty from 'lodash/isEmpty'\nimport type { ProductFormSchema } from './types'\nimport type { ZodType } from 'zod'\nimport type { CommonProps } from '@/@types/common'\n\ntype ProductFormProps = {\n onFormSubmit: (values: ProductFormSchema) => void\n defaultValues?: ProductFormSchema\n newProduct?: boolean\n} & CommonProps\n\nconst validationSchema: ZodType<ProductFormSchema> = z.object({\n name: z.string().min(1, { message: 'Product name required!' }),\n productCode: z.string().min(1, { message: 'Produc code required!' }),\n description: z.string().min(1, { message: 'Produc description required!' }),\n price: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Price required!' }),\n }),\n taxRate: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Tax rate required!' }),\n }),\n costPerItem: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Cost required!' }),\n }),\n bulkDiscountPrice: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Bulk discount price required!' }),\n }),\n imgList: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n img: z.string(),\n }),\n )\n .min(1, { message: 'At least 1 image required!' }),\n category: z.string().min(1, { message: 'Product category required!' }),\n})\n\nconst ProductForm = (props: ProductFormProps) => {\n const {\n onFormSubmit,\n defaultValues = {\n imgList: [],\n },\n children,\n } = props\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<ProductFormSchema>({\n defaultValues: {\n ...defaultValues,\n },\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (!isEmpty(defaultValues)) {\n reset(defaultValues)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(defaultValues)])\n\n const onSubmit = (values: ProductFormSchema) => {\n onFormSubmit?.(values)\n }\n\n return (\n <Form\n className=\"flex w-full h-full\"\n containerClassName=\"flex flex-col w-full justify-between\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <Container>\n <div className=\"flex flex-col xl:flex-row gap-4\">\n <div className=\"gap-4 flex flex-col flex-auto\">\n <GeneralSection control={control} errors={errors} />\n <PricingSection control={control} errors={errors} />\n </div>\n <div className=\"lg:min-w-[440px] 2xl:w-[500px] gap-4 flex flex-col\">\n <ImageSection control={control} errors={errors} />\n <AttributeSection control={control} errors={errors} />\n </div>\n </div>\n </Container>\n <BottomStickyBar>{children}</BottomStickyBar>\n </Form>\n )\n}\n\nexport default ProductForm\n"],"names":["validationSchema","z","ProductForm","props","onFormSubmit","defaultValues","children","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","isEmpty","jsxs","Form","values","jsx","Container","GeneralSection","PricingSection","ImageSection","AttributeSection","BottomStickyBar"],"mappings":"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"}
1
+ {"version":3,"file":"ProductForm.js","sources":["../../../../../../lib/@ecme/views/concepts/products/ProductForm/ProductForm.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { Form } from '@/components/ui/Form'\nimport Container from '@/components/shared/Container'\nimport BottomStickyBar from '@/components/template/BottomStickyBar'\nimport GeneralSection from './components/GeneralSection'\nimport PricingSection from './components/PricingSection'\nimport ImageSection from './components/ImageSection'\nimport AttributeSection from './components/AttributeSection'\nimport { useForm } from 'react-hook-form'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport isEmpty from 'lodash/isEmpty'\nimport type { ProductFormSchema } from './types'\nimport type { ZodType } from 'zod'\nimport type { CommonProps } from '@/@types/common'\n\ntype ProductFormProps = {\n onFormSubmit: (values: ProductFormSchema) => void\n defaultValues?: ProductFormSchema\n newProduct?: boolean\n} & CommonProps\n\nconst validationSchema: ZodType<ProductFormSchema> = z.object({\n name: z.string().min(1, { message: 'Product name required!' }),\n productCode: z.string().min(1, { message: 'Produc code required!' }),\n description: z.string().min(1, { message: 'Produc description required!' }),\n price: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Price required!' }),\n }),\n taxRate: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Tax rate required!' }),\n }),\n costPerItem: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Cost required!' }),\n }),\n bulkDiscountPrice: z.union([z.string(), z.number()], {\n errorMap: () => ({ message: 'Bulk discount price required!' }),\n }),\n imgList: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n img: z.string(),\n }),\n )\n .min(1, { message: 'At least 1 image required!' }),\n category: z.string().min(1, { message: 'Product category required!' }),\n})\n\nconst ProductForm = (props: ProductFormProps) => {\n const {\n onFormSubmit,\n defaultValues = {\n imgList: [],\n },\n children,\n } = props\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<ProductFormSchema>({\n defaultValues: {\n ...defaultValues,\n },\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (!isEmpty(defaultValues)) {\n reset(defaultValues)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(defaultValues)])\n\n const onSubmit = (values: ProductFormSchema) => {\n onFormSubmit?.(values)\n }\n\n return (\n <Form\n className=\"flex w-full h-full\"\n containerClassName=\"flex flex-col w-full justify-between\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <Container>\n <div className=\"flex flex-col xl:flex-row gap-4\">\n <div className=\"gap-4 flex flex-col flex-auto\">\n <GeneralSection control={control} errors={errors} />\n <PricingSection control={control} errors={errors} />\n </div>\n <div className=\"lg:min-w-[440px] 2xl:w-[500px] gap-4 flex flex-col\">\n <ImageSection control={control} errors={errors} />\n <AttributeSection control={control} errors={errors} />\n </div>\n </div>\n </Container>\n <BottomStickyBar>{children}</BottomStickyBar>\n </Form>\n )\n}\n\nexport default ProductForm\n"],"names":["validationSchema","z","ProductForm","props","onFormSubmit","defaultValues","children","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","isEmpty","jsxs","Form","values","jsx","Container","GeneralSection","PricingSection","ImageSection","AttributeSection","BottomStickyBar"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/products/ProductForm/components/GeneralSection.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport { FormItem } from '@/components/ui/Form'\nimport RichTextEditor from '@/components/shared/RichTextEditor'\nimport { Controller } from 'react-hook-form'\nimport type { FormSectionBaseProps } from '../types'\n\ntype GeneralSectionProps = FormSectionBaseProps\n\nconst GeneralSection = ({ control, errors }: GeneralSectionProps) => {\n return (\n <Card>\n <h4 className=\"mb-6\">Basic Information</h4>\n <div>\n <FormItem\n label=\"Product name\"\n invalid={Boolean(errors.name)}\n errorMessage={errors.name?.message}\n >\n <Controller\n name=\"name\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Product Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Product code\"\n invalid={Boolean(errors.productCode)}\n errorMessage={errors.productCode?.message}\n >\n <Controller\n name=\"productCode\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Product Code\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n <FormItem\n label=\"Description\"\n invalid={Boolean(errors.description)}\n errorMessage={errors.description?.message}\n >\n <Controller\n name=\"description\"\n control={control}\n render={({ field }) => (\n <RichTextEditor\n content={field.value}\n invalid={Boolean(errors.description)}\n onChange={({ html }) => {\n field.onChange(html)\n }}\n />\n )}\n />\n </FormItem>\n </Card>\n )\n}\n\nexport default GeneralSection\n"],"names":["GeneralSection","control","errors","Card","jsx","FormItem","_a","Controller","field","Input","_b","_c","RichTextEditor","html"],"mappings":";;;;;;;;;;AASA,MAAMA,IAAiB,CAAC,EAAE,SAAAC,GAAS,QAAAC,QAAkC;;AACjE,2BACKC,GAAA,EACG,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,qBAAiB;AAAA,sBACrC,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACG,OAAM;AAAA,UACN,SAAS,EAAQH,EAAO;AAAA,UACxB,eAAcI,IAAAJ,EAAO,SAAP,gBAAAI,EAAa;AAAA,UAE3B,UAAA,gBAAAF;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,SAAAN;AAAA,cACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,cAAa;AAAA,kBACb,aAAY;AAAA,kBACX,GAAGD;AAAA,gBAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA;AAAA,QAER;AAAA,MAAA;AAAA,MAEJ,gBAAAJ;AAAA,QAACC;AAAA,QAAA;AAAA,UACG,OAAM;AAAA,UACN,SAAS,EAAQH,EAAO;AAAA,UACxB,eAAcQ,IAAAR,EAAO,gBAAP,gBAAAQ,EAAoB;AAAA,UAElC,UAAA,gBAAAN;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,SAAAN;AAAA,cACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,cAAa;AAAA,kBACb,aAAY;AAAA,kBACX,GAAGD;AAAA,gBAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA;AAAA,QAER;AAAA,MAAA;AAAA,IACJ,GACJ;AAAA,IACA,gBAAAJ;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,SAAS,EAAQH,EAAO;AAAA,QACxB,eAAcS,IAAAT,EAAO,gBAAP,gBAAAS,EAAoB;AAAA,QAElC,UAAA,gBAAAP;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,SAAAN;AAAA,YACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,cAACQ;AAAA,cAAA;AAAA,gBACG,SAASJ,EAAM;AAAA,gBACf,SAAS,EAAQN,EAAO;AAAA,gBACxB,UAAU,CAAC,EAAE,MAAAW,QAAW;AACpB,kBAAAL,EAAM,SAASK,CAAI;AAAA,gBAAA;AAAA,cACvB;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA;AAAA,MAER;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
1
+ {"version":3,"file":"GeneralSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/products/ProductForm/components/GeneralSection.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport Input from '@/components/ui/Input'\nimport { FormItem } from '@/components/ui/Form'\nimport RichTextEditor from '@/components/shared/RichTextEditor'\nimport { Controller } from 'react-hook-form'\nimport type { FormSectionBaseProps } from '../types'\n\ntype GeneralSectionProps = FormSectionBaseProps\n\nconst GeneralSection = ({ control, errors }: GeneralSectionProps) => {\n return (\n <Card>\n <h4 className=\"mb-6\">Basic Information</h4>\n <div>\n <FormItem\n label=\"Product name\"\n invalid={Boolean(errors.name)}\n errorMessage={errors.name?.message}\n >\n <Controller\n name=\"name\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Product Name\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Product code\"\n invalid={Boolean(errors.productCode)}\n errorMessage={errors.productCode?.message}\n >\n <Controller\n name=\"productCode\"\n control={control}\n render={({ field }) => (\n <Input\n type=\"text\"\n autoComplete=\"off\"\n placeholder=\"Product Code\"\n {...field}\n />\n )}\n />\n </FormItem>\n </div>\n <FormItem\n label=\"Description\"\n invalid={Boolean(errors.description)}\n errorMessage={errors.description?.message}\n >\n <Controller\n name=\"description\"\n control={control}\n render={({ field }) => (\n <RichTextEditor\n content={field.value}\n invalid={Boolean(errors.description)}\n onChange={({ html }) => {\n field.onChange(html)\n }}\n />\n )}\n />\n </FormItem>\n </Card>\n )\n}\n\nexport default GeneralSection\n"],"names":["GeneralSection","control","errors","Card","jsx","FormItem","_a","Controller","field","Input","_b","_c","RichTextEditor","html"],"mappings":";;;;;;;;;;AASA,MAAMA,IAAiB,CAAC,EAAE,SAAAC,GAAS,QAAAC,QAAkC;;AACjE,2BACKC,GAAA,EACG,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,qBAAiB;AAAA,sBACrC,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACG,OAAM;AAAA,UACN,SAAS,EAAQH,EAAO;AAAA,UACxB,eAAcI,IAAAJ,EAAO,SAAP,gBAAAI,EAAa;AAAA,UAE3B,UAAA,gBAAAF;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,SAAAN;AAAA,cACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,cAAa;AAAA,kBACb,aAAY;AAAA,kBACX,GAAGD;AAAA,gBAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA;AAAA,QAER;AAAA,MAAA;AAAA,MAEJ,gBAAAJ;AAAA,QAACC;AAAA,QAAA;AAAA,UACG,OAAM;AAAA,UACN,SAAS,EAAQH,EAAO;AAAA,UACxB,eAAcQ,IAAAR,EAAO,gBAAP,gBAAAQ,EAAoB;AAAA,UAElC,UAAA,gBAAAN;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,SAAAN;AAAA,cACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,cAAa;AAAA,kBACb,aAAY;AAAA,kBACX,GAAGD;AAAA,gBAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA;AAAA,QAER;AAAA,MAAA;AAAA,IACJ,GACJ;AAAA,IACA,gBAAAJ;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,SAAS,EAAQH,EAAO;AAAA,QACxB,eAAcS,IAAAT,EAAO,gBAAP,gBAAAS,EAAoB;AAAA,QAElC,UAAA,gBAAAP;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,SAAAN;AAAA,YACA,QAAQ,CAAC,EAAE,OAAAO,EAAA,MACP,gBAAAJ;AAAA,cAACQ;AAAA,cAAA;AAAA,gBACG,SAASJ,EAAM;AAAA,gBACf,SAAS,EAAQN,EAAO;AAAA,gBACxB,UAAU,CAAC,EAAE,MAAAW,QAAW;AACpB,kBAAAL,EAAM,SAASK,CAAI;AAAA,gBACvB;AAAA,cAAA;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA;AAAA,MAER;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}