@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":"ArticleListSearch.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSearch.tsx"],"sourcesContent":["import DebounceInput from '@/components/shared/DebounceInput'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport { TbSearch } from 'react-icons/tb'\n\nconst ArticleListSearch = () => {\n const tableData = useManageArticleStore((state) => state.tableData)\n const setTableData = useManageArticleStore((state) => state.setTableData)\n\n const handleInputChange = (value: string) => {\n const newTableData = structuredClone(tableData)\n newTableData.query = value\n newTableData.pageIndex = 1\n if (typeof value === 'string' && value.length > 1) {\n setTableData(newTableData)\n }\n\n if (typeof value === 'string' && value.length === 0) {\n setTableData(newTableData)\n }\n }\n\n return (\n <DebounceInput\n placeholder=\"Search...\"\n type=\"text\"\n prefix={<TbSearch className=\"text-lg\" />}\n onChange={(e) => handleInputChange(e.target.value)}\n />\n )\n}\n\nexport default ArticleListSearch\n"],"names":["ArticleListSearch","tableData","useManageArticleStore","state","setTableData","handleInputChange","value","newTableData","jsx","DebounceInput","TbSearch","e"],"mappings":";;;;AAIA,MAAMA,IAAoB,MAAM;AAC5B,QAAMC,IAAYC,EAAsB,CAACC,MAAUA,EAAM,SAAS,GAC5DC,IAAeF,EAAsB,CAACC,MAAUA,EAAM,YAAY,GAElEE,IAAoB,CAACC,MAAkB;AACzC,UAAMC,IAAe,gBAAgBN,CAAS;AAC9C,IAAAM,EAAa,QAAQD,GACrBC,EAAa,YAAY,GACrB,OAAOD,KAAU,YAAYA,EAAM,SAAS,KAC5CF,EAAaG,CAAY,GAGzB,OAAOD,KAAU,YAAYA,EAAM,WAAW,KAC9CF,EAAaG,CAAY;AAAA,EAC7B;AAGJ,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,aAAY;AAAA,MACZ,MAAK;AAAA,MACL,QAAQ,gBAAAD,EAACE,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,MACtC,UAAU,CAACC,MAAMN,EAAkBM,EAAE,OAAO,KAAK;AAAA,IAAA;AAAA,EAAA;AAG7D;"}
1
+ {"version":3,"file":"ArticleListSearch.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSearch.tsx"],"sourcesContent":["import DebounceInput from '@/components/shared/DebounceInput'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport { TbSearch } from 'react-icons/tb'\n\nconst ArticleListSearch = () => {\n const tableData = useManageArticleStore((state) => state.tableData)\n const setTableData = useManageArticleStore((state) => state.setTableData)\n\n const handleInputChange = (value: string) => {\n const newTableData = structuredClone(tableData)\n newTableData.query = value\n newTableData.pageIndex = 1\n if (typeof value === 'string' && value.length > 1) {\n setTableData(newTableData)\n }\n\n if (typeof value === 'string' && value.length === 0) {\n setTableData(newTableData)\n }\n }\n\n return (\n <DebounceInput\n placeholder=\"Search...\"\n type=\"text\"\n prefix={<TbSearch className=\"text-lg\" />}\n onChange={(e) => handleInputChange(e.target.value)}\n />\n )\n}\n\nexport default ArticleListSearch\n"],"names":["ArticleListSearch","tableData","useManageArticleStore","state","setTableData","handleInputChange","value","newTableData","jsx","DebounceInput","TbSearch","e"],"mappings":";;;;AAIA,MAAMA,IAAoB,MAAM;AAC5B,QAAMC,IAAYC,EAAsB,CAACC,MAAUA,EAAM,SAAS,GAC5DC,IAAeF,EAAsB,CAACC,MAAUA,EAAM,YAAY,GAElEE,IAAoB,CAACC,MAAkB;AACzC,UAAMC,IAAe,gBAAgBN,CAAS;AAC9C,IAAAM,EAAa,QAAQD,GACrBC,EAAa,YAAY,GACrB,OAAOD,KAAU,YAAYA,EAAM,SAAS,KAC5CF,EAAaG,CAAY,GAGzB,OAAOD,KAAU,YAAYA,EAAM,WAAW,KAC9CF,EAAaG,CAAY;AAAA,EAEjC;AAEA,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,aAAY;AAAA,MACZ,MAAK;AAAA,MACL,QAAQ,gBAAAD,EAACE,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,MACtC,UAAU,CAACC,MAAMN,EAAkBM,EAAE,OAAO,KAAK;AAAA,IAAA;AAAA,EAAA;AAG7D;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleListSelected.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSelected.tsx"],"sourcesContent":["import { useState, useEffect } from 'react'\nimport StickyFooter from '@/components/shared/StickyFooter'\nimport Button from '@/components/ui/Button'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport useManageArticle from '../hooks/useManageArticle'\nimport { TbChecks } from 'react-icons/tb'\nimport classNames from '@/utils/classNames'\n\nconst ArticleListSelected = () => {\n const { articleList, mutate, articleTotal } = useManageArticle()\n\n const selectedArticle = useManageArticleStore(\n (state) => state.selectedArticle,\n )\n const setSelectAllArticle = useManageArticleStore(\n (state) => state.setSelectAllArticle,\n )\n\n const hasSelectedArticle = selectedArticle.length > 0\n\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const handleDelete = () => {\n setDeleteConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleConfirmDelete = () => {\n const newArticleList = articleList.filter((article) => {\n return !selectedArticle.some(\n (selected) => selected.id === article.id,\n )\n })\n setSelectAllArticle([])\n mutate(\n {\n list: newArticleList,\n total: articleTotal - selectedArticle.length,\n },\n false,\n )\n setDeleteConfirmationOpen(false)\n }\n\n useEffect(() => {\n if (hasSelectedArticle) {\n window.scrollBy({\n top: 20,\n left: 0,\n behavior: 'smooth',\n })\n }\n }, [hasSelectedArticle])\n\n return (\n <>\n <StickyFooter\n className={classNames(\n 'flex items-center justify-between py-4 bg-white dark:bg-gray-800',\n !hasSelectedArticle && 'hidden',\n )}\n stickyClass=\"border-t border-gray-200 dark:border-gray-700 px-8 -mx-4 sm:-mx-8\"\n defaultClass=\"container mx-auto px-8 rounded-xl border border-gray-200 dark:border-gray-600 mt-4\"\n >\n <div className=\"container mx-auto\">\n <div className=\"flex items-center justify-between\">\n <span>\n {selectedArticle.length > 0 && (\n <span className=\"flex items-center gap-2\">\n <span className=\"text-lg text-primary\">\n <TbChecks />\n </span>\n <span className=\"font-semibold flex items-center gap-1\">\n <span className=\"heading-text\">\n {selectedArticle.length} Articles\n </span>\n <span>selected</span>\n </span>\n </span>\n )}\n </span>\n\n <div className=\"flex items-center\">\n <Button\n size=\"sm\"\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'\n }\n onClick={handleDelete}\n >\n Delete\n </Button>\n </div>\n </div>\n </div>\n </StickyFooter>\n <ConfirmDialog\n isOpen={deleteConfirmationOpen}\n type=\"danger\"\n title=\"Remove articles\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDelete}\n >\n <p>\n {' '}\n Are you sure you want to remove these articles? This action\n can&apos;t be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default ArticleListSelected\n"],"names":["ArticleListSelected","articleList","mutate","articleTotal","useManageArticle","selectedArticle","useManageArticleStore","state","setSelectAllArticle","hasSelectedArticle","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","handleDelete","handleCancel","handleConfirmDelete","newArticleList","article","selected","useEffect","jsxs","Fragment","jsx","StickyFooter","classNames","TbChecks","Button","ConfirmDialog"],"mappings":";;;;;;;;;;AASA,MAAMA,IAAsB,MAAM;AAC9B,QAAM,EAAE,aAAAC,GAAa,QAAAC,GAAQ,cAAAC,EAAA,IAAiBC,EAAA,GAExCC,IAAkBC;AAAA,IACpB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfC,IAAsBF;AAAA,IACxB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAGfE,IAAqBJ,EAAgB,SAAS,GAE9C,CAACK,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GAEpEC,IAAe,MAAM;AACvB,IAAAF,EAA0B,EAAI;AAAA,EAAA,GAG5BG,IAAe,MAAM;AACvB,IAAAH,EAA0B,EAAK;AAAA,EAAA,GAG7BI,IAAsB,MAAM;AAC9B,UAAMC,IAAiBf,EAAY,OAAO,CAACgB,MAChC,CAACZ,EAAgB;AAAA,MACpB,CAACa,MAAaA,EAAS,OAAOD,EAAQ;AAAA,IAAA,CAE7C;AACD,IAAAT,EAAoB,CAAA,CAAE,GACtBN;AAAA,MACI;AAAA,QACI,MAAMc;AAAA,QACN,OAAOb,IAAeE,EAAgB;AAAA,MAAA;AAAA,MAE1C;AAAA,IAAA,GAEJM,EAA0B,EAAK;AAAA,EAAA;AAGnC,SAAAQ,EAAU,MAAM;AACZ,IAAIV,KACA,OAAO,SAAS;AAAA,MACZ,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACb;AAAA,EACL,GACD,CAACA,CAAkB,CAAC,GAGnB,gBAAAW,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,WAAWC;AAAA,UACP;AAAA,UACA,CAACf,KAAsB;AAAA,QAAA;AAAA,QAE3B,aAAY;AAAA,QACZ,cAAa;AAAA,QAEb,4BAAC,OAAA,EAAI,WAAU,qBACX,UAAA,gBAAAW,EAAC,OAAA,EAAI,WAAU,qCACX,UAAA;AAAA,UAAA,gBAAAE,EAAC,UACI,UAAAjB,EAAgB,SAAS,KACtB,gBAAAe,EAAC,QAAA,EAAK,WAAU,2BACZ,UAAA;AAAA,YAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,wBACZ,UAAA,gBAAAA,EAACG,KAAS,GACd;AAAA,YACA,gBAAAL,EAAC,QAAA,EAAK,WAAU,yCACZ,UAAA;AAAA,cAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,gBACX,UAAA;AAAA,gBAAAf,EAAgB;AAAA,gBAAO;AAAA,cAAA,GAC5B;AAAA,cACA,gBAAAiB,EAAC,UAAK,UAAA,WAAA,CAAQ;AAAA,YAAA,EAAA,CAClB;AAAA,UAAA,EAAA,CACJ,EAAA,CAER;AAAA,UAEA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA,gBAAAA;AAAA,YAACI;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAU;AAAA,cACV,MAAK;AAAA,cACL,kBAAkB,MACd;AAAA,cAEJ,SAASb;AAAA,cACZ,UAAA;AAAA,YAAA;AAAA,UAAA,EAED,CACJ;AAAA,QAAA,EAAA,CACJ,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEJ,gBAAAS;AAAA,MAACK;AAAA,MAAA;AAAA,QACG,QAAQjB;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAASI;AAAA,QACT,gBAAgBA;AAAA,QAChB,UAAUA;AAAA,QACV,WAAWC;AAAA,QAEX,4BAAC,KAAA,EACI,UAAA;AAAA,UAAA;AAAA,UAAI;AAAA,UAEe;AAAA,QAAA,EAAA,CACxB;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
1
+ {"version":3,"file":"ArticleListSelected.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListSelected.tsx"],"sourcesContent":["import { useState, useEffect } from 'react'\nimport StickyFooter from '@/components/shared/StickyFooter'\nimport Button from '@/components/ui/Button'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport useManageArticle from '../hooks/useManageArticle'\nimport { TbChecks } from 'react-icons/tb'\nimport classNames from '@/utils/classNames'\n\nconst ArticleListSelected = () => {\n const { articleList, mutate, articleTotal } = useManageArticle()\n\n const selectedArticle = useManageArticleStore(\n (state) => state.selectedArticle,\n )\n const setSelectAllArticle = useManageArticleStore(\n (state) => state.setSelectAllArticle,\n )\n\n const hasSelectedArticle = selectedArticle.length > 0\n\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const handleDelete = () => {\n setDeleteConfirmationOpen(true)\n }\n\n const handleCancel = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleConfirmDelete = () => {\n const newArticleList = articleList.filter((article) => {\n return !selectedArticle.some(\n (selected) => selected.id === article.id,\n )\n })\n setSelectAllArticle([])\n mutate(\n {\n list: newArticleList,\n total: articleTotal - selectedArticle.length,\n },\n false,\n )\n setDeleteConfirmationOpen(false)\n }\n\n useEffect(() => {\n if (hasSelectedArticle) {\n window.scrollBy({\n top: 20,\n left: 0,\n behavior: 'smooth',\n })\n }\n }, [hasSelectedArticle])\n\n return (\n <>\n <StickyFooter\n className={classNames(\n 'flex items-center justify-between py-4 bg-white dark:bg-gray-800',\n !hasSelectedArticle && 'hidden',\n )}\n stickyClass=\"border-t border-gray-200 dark:border-gray-700 px-8 -mx-4 sm:-mx-8\"\n defaultClass=\"container mx-auto px-8 rounded-xl border border-gray-200 dark:border-gray-600 mt-4\"\n >\n <div className=\"container mx-auto\">\n <div className=\"flex items-center justify-between\">\n <span>\n {selectedArticle.length > 0 && (\n <span className=\"flex items-center gap-2\">\n <span className=\"text-lg text-primary\">\n <TbChecks />\n </span>\n <span className=\"font-semibold flex items-center gap-1\">\n <span className=\"heading-text\">\n {selectedArticle.length} Articles\n </span>\n <span>selected</span>\n </span>\n </span>\n )}\n </span>\n\n <div className=\"flex items-center\">\n <Button\n size=\"sm\"\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'\n }\n onClick={handleDelete}\n >\n Delete\n </Button>\n </div>\n </div>\n </div>\n </StickyFooter>\n <ConfirmDialog\n isOpen={deleteConfirmationOpen}\n type=\"danger\"\n title=\"Remove articles\"\n onClose={handleCancel}\n onRequestClose={handleCancel}\n onCancel={handleCancel}\n onConfirm={handleConfirmDelete}\n >\n <p>\n {' '}\n Are you sure you want to remove these articles? This action\n can&apos;t be undo.{' '}\n </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default ArticleListSelected\n"],"names":["ArticleListSelected","articleList","mutate","articleTotal","useManageArticle","selectedArticle","useManageArticleStore","state","setSelectAllArticle","hasSelectedArticle","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","handleDelete","handleCancel","handleConfirmDelete","newArticleList","article","selected","useEffect","jsxs","Fragment","jsx","StickyFooter","classNames","TbChecks","Button","ConfirmDialog"],"mappings":";;;;;;;;;;AASA,MAAMA,IAAsB,MAAM;AAC9B,QAAM,EAAE,aAAAC,GAAa,QAAAC,GAAQ,cAAAC,EAAA,IAAiBC,EAAA,GAExCC,IAAkBC;AAAA,IACpB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfC,IAAsBF;AAAA,IACxB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAGfE,IAAqBJ,EAAgB,SAAS,GAE9C,CAACK,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GAEpEC,IAAe,MAAM;AACvB,IAAAF,EAA0B,EAAI;AAAA,EAClC,GAEMG,IAAe,MAAM;AACvB,IAAAH,EAA0B,EAAK;AAAA,EACnC,GAEMI,IAAsB,MAAM;AAC9B,UAAMC,IAAiBf,EAAY,OAAO,CAACgB,MAChC,CAACZ,EAAgB;AAAA,MACpB,CAACa,MAAaA,EAAS,OAAOD,EAAQ;AAAA,IAAA,CAE7C;AACD,IAAAT,EAAoB,CAAA,CAAE,GACtBN;AAAA,MACI;AAAA,QACI,MAAMc;AAAA,QACN,OAAOb,IAAeE,EAAgB;AAAA,MAAA;AAAA,MAE1C;AAAA,IAAA,GAEJM,EAA0B,EAAK;AAAA,EACnC;AAEA,SAAAQ,EAAU,MAAM;AACZ,IAAIV,KACA,OAAO,SAAS;AAAA,MACZ,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACb;AAAA,EAET,GAAG,CAACA,CAAkB,CAAC,GAGnB,gBAAAW,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,WAAWC;AAAA,UACP;AAAA,UACA,CAACf,KAAsB;AAAA,QAAA;AAAA,QAE3B,aAAY;AAAA,QACZ,cAAa;AAAA,QAEb,4BAAC,OAAA,EAAI,WAAU,qBACX,UAAA,gBAAAW,EAAC,OAAA,EAAI,WAAU,qCACX,UAAA;AAAA,UAAA,gBAAAE,EAAC,UACI,UAAAjB,EAAgB,SAAS,KACtB,gBAAAe,EAAC,QAAA,EAAK,WAAU,2BACZ,UAAA;AAAA,YAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,wBACZ,UAAA,gBAAAA,EAACG,KAAS,GACd;AAAA,YACA,gBAAAL,EAAC,QAAA,EAAK,WAAU,yCACZ,UAAA;AAAA,cAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,gBACX,UAAA;AAAA,gBAAAf,EAAgB;AAAA,gBAAO;AAAA,cAAA,GAC5B;AAAA,cACA,gBAAAiB,EAAC,UAAK,UAAA,WAAA,CAAQ;AAAA,YAAA,EAAA,CAClB;AAAA,UAAA,EAAA,CACJ,EAAA,CAER;AAAA,UAEA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA,gBAAAA;AAAA,YAACI;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAU;AAAA,cACV,MAAK;AAAA,cACL,kBAAkB,MACd;AAAA,cAEJ,SAASb;AAAA,cACZ,UAAA;AAAA,YAAA;AAAA,UAAA,EAED,CACJ;AAAA,QAAA,EAAA,CACJ,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEJ,gBAAAS;AAAA,MAACK;AAAA,MAAA;AAAA,QACG,QAAQjB;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAASI;AAAA,QACT,gBAAgBA;AAAA,QAChB,UAAUA;AAAA,QACV,WAAWC;AAAA,QAEX,4BAAC,KAAA,EACI,UAAA;AAAA,UAAA;AAAA,UAAI;AAAA,UAEe;AAAA,QAAA,EAAA,CACxB;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleListTable.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListTable.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Tag from '@/components/ui/Tag'\nimport Switcher from '@/components/ui/Switcher'\nimport { UsersAvatarGroup } from '@/components/shared'\nimport DataTable from '@/components/shared/DataTable'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport useManageArticle from '../hooks/useManageArticle'\nimport { categoryIcon, categoryClass } from '../utils'\nimport classNames from '@/utils/classNames'\nimport { Link } from 'react-router-dom'\nimport type { TableQueries } from '@/@types/common'\nimport type { Article } from '../types'\nimport type { OnSortParam, ColumnDef, Row } from '@/components/shared/DataTable'\n\nconst ArticleListTable = () => {\n const tableData = useManageArticleStore((state) => state.tableData)\n const selectedArticle = useManageArticleStore(\n (state) => state.selectedArticle,\n )\n const setSelectedArticle = useManageArticleStore(\n (state) => state.setSelectedArticle,\n )\n const setSelectAllArticle = useManageArticleStore(\n (state) => state.setSelectAllArticle,\n )\n const setTableData = useManageArticleStore((state) => state.setTableData)\n\n const { articleList, articleTotal, isLoading } = useManageArticle()\n\n const columns: ColumnDef<Article>[] = useMemo(\n () => [\n {\n header: 'Title',\n accessorKey: 'title',\n cell: (props) => {\n const row = props.row.original\n return (\n <div className=\"flex items-center gap-4\">\n <Avatar\n icon={categoryIcon[row.category]}\n shape=\"round\"\n className={classNames(\n 'text-gray-900',\n categoryClass[row.category],\n )}\n />\n <div>\n <div className=\"mb-2\">\n <Link\n to={`/concepts/help-center/edit-article/${row.id}`}\n className=\"font-bold heading-text hover:text-primary\"\n >\n {row.title}\n </Link>\n </div>\n <div className=\"flex items-center gap-1\">\n {row.tags.map((tag) => (\n <Tag key={tag.id}>{tag.label}</Tag>\n ))}\n </div>\n </div>\n </div>\n )\n },\n },\n {\n header: 'Authors',\n accessorKey: 'authors',\n enableSorting: false,\n cell: (props) => {\n const row = props.row.original\n return (\n <UsersAvatarGroup\n avatarProps={{ size: 25 }}\n users={row.authors || []}\n />\n )\n },\n },\n {\n header: 'Last update',\n accessorKey: 'updateTimeStamp',\n cell: (props) => {\n const row = props.row.original\n return <div>{row.updateTime}</div>\n },\n },\n {\n header: 'Published',\n accessorKey: 'published',\n enableSorting: false,\n cell: (props) => {\n const row = props.row.original\n return (\n <div className=\"px-4\">\n <Switcher defaultChecked={row.published} />\n </div>\n )\n },\n },\n ],\n [],\n )\n\n const handleSetTableData = (articleList: TableQueries) => {\n setTableData(articleList)\n if (selectedArticle.length > 0) {\n setSelectAllArticle([])\n }\n }\n\n const handlePaginationChange = (page: number) => {\n const newTableData = structuredClone(tableData)\n newTableData.pageIndex = page\n handleSetTableData(newTableData)\n }\n\n const handleSelectChange = (value: number) => {\n const newTableData = structuredClone(tableData)\n newTableData.pageSize = Number(value)\n newTableData.pageIndex = 1\n handleSetTableData(newTableData)\n }\n\n const handleSort = (sort: OnSortParam) => {\n const newTableData = structuredClone(tableData)\n newTableData.sort = sort\n handleSetTableData(newTableData)\n }\n\n const handleRowSelect = (checked: boolean, row: Article) => {\n setSelectedArticle(checked, row)\n }\n\n const handleAllRowSelect = (checked: boolean, rows: Row<Article>[]) => {\n if (checked) {\n const originalRows = rows.map((row) => row.original)\n setSelectAllArticle(originalRows)\n } else {\n setSelectAllArticle([])\n }\n }\n\n return (\n <div>\n <DataTable\n selectable\n hoverable={false}\n columns={columns}\n data={articleList}\n noData={!isLoading && articleList.length === 0}\n skeletonAvatarColumns={[0]}\n skeletonAvatarProps={{ width: 28, height: 28 }}\n loading={isLoading}\n pagingData={{\n total: articleTotal || 0,\n pageIndex: tableData.pageIndex as number,\n pageSize: tableData.pageSize as number,\n }}\n checkboxChecked={(row) =>\n selectedArticle.some((selected) => selected.id === row.id)\n }\n onPaginationChange={handlePaginationChange}\n onSelectChange={handleSelectChange}\n onSort={handleSort}\n onCheckBoxChange={handleRowSelect}\n onIndeterminateCheckBoxChange={handleAllRowSelect}\n />\n </div>\n )\n}\n\nexport default ArticleListTable\n"],"names":["ArticleListTable","tableData","useManageArticleStore","state","selectedArticle","setSelectedArticle","setSelectAllArticle","setTableData","articleList","articleTotal","isLoading","useManageArticle","columns","useMemo","props","row","jsxs","jsx","Avatar","categoryIcon","classNames","categoryClass","Link","tag","Tag","UsersAvatarGroup","Switcher","handleSetTableData","handlePaginationChange","page","newTableData","handleSelectChange","value","handleSort","sort","handleRowSelect","checked","handleAllRowSelect","rows","originalRows","DataTable","selected"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAMA,IAAmB,MAAM;AAC3B,QAAMC,IAAYC,EAAsB,CAACC,MAAUA,EAAM,SAAS,GAC5DC,IAAkBF;AAAA,IACpB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfE,IAAqBH;AAAA,IACvB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfG,IAAsBJ;AAAA,IACxB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfI,IAAeL,EAAsB,CAACC,MAAUA,EAAM,YAAY,GAElE,EAAE,aAAAK,GAAa,cAAAC,GAAc,WAAAC,EAAA,IAAcC,EAAA,GAE3CC,IAAgCC;AAAA,IAClC,MAAM;AAAA,MACF;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM,CAACC,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAE,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAACC;AAAA,cAAA;AAAA,gBACG,MAAMC,EAAaJ,EAAI,QAAQ;AAAA,gBAC/B,OAAM;AAAA,gBACN,WAAWK;AAAA,kBACP;AAAA,kBACAC,EAAcN,EAAI,QAAQ;AAAA,gBAAA;AAAA,cAC9B;AAAA,YAAA;AAAA,8BAEH,OAAA,EACG,UAAA;AAAA,cAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAA;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,IAAI,sCAAsCP,EAAI,EAAE;AAAA,kBAChD,WAAU;AAAA,kBAET,UAAAA,EAAI;AAAA,gBAAA;AAAA,cAAA,GAEb;AAAA,gCACC,OAAA,EAAI,WAAU,2BACV,UAAAA,EAAI,KAAK,IAAI,CAACQ,MACX,gBAAAN,EAACO,KAAkB,UAAAD,EAAI,SAAbA,EAAI,EAAe,CAChC,EAAA,CACL;AAAA,YAAA,EAAA,CACJ;AAAA,UAAA,GACJ;AAAA,QAAA;AAAA,MAER;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,eAAe;AAAA,QACf,MAAM,CAACT,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAG;AAAA,YAACQ;AAAA,YAAA;AAAA,cACG,aAAa,EAAE,MAAM,GAAA;AAAA,cACrB,OAAOV,EAAI,WAAW,CAAA;AAAA,YAAC;AAAA,UAAA;AAAA,QAC3B;AAAA,MAER;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM,CAACD,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBAAO,gBAAAG,EAAC,OAAA,EAAK,UAAAF,EAAI,WAAA,CAAW;AAAA,QAAA;AAAA,MAChC;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,eAAe;AAAA,QACf,MAAM,CAACD,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAG,EAAC,SAAI,WAAU,QACX,4BAACS,GAAA,EAAS,gBAAgBX,EAAI,UAAA,CAAW,EAAA,CAC7C;AAAA,QAAA;AAAA,MAER;AAAA,IACJ;AAAA,IAEJ,CAAA;AAAA,EAAC,GAGCY,IAAqB,CAACnB,MAA8B;AACtD,IAAAD,EAAaC,CAAW,GACpBJ,EAAgB,SAAS,KACzBE,EAAoB,CAAA,CAAE;AAAA,EAC1B,GAGEsB,IAAyB,CAACC,MAAiB;AAC7C,UAAMC,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,YAAYD,GACzBF,EAAmBG,CAAY;AAAA,EAAA,GAG7BC,IAAqB,CAACC,MAAkB;AAC1C,UAAMF,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,WAAW,OAAOE,CAAK,GACpCF,EAAa,YAAY,GACzBH,EAAmBG,CAAY;AAAA,EAAA,GAG7BG,IAAa,CAACC,MAAsB;AACtC,UAAMJ,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,OAAOI,GACpBP,EAAmBG,CAAY;AAAA,EAAA,GAG7BK,IAAkB,CAACC,GAAkBrB,MAAiB;AACxD,IAAAV,EAAmB+B,GAASrB,CAAG;AAAA,EAAA,GAG7BsB,IAAqB,CAACD,GAAkBE,MAAyB;AACnE,QAAIF,GAAS;AACT,YAAMG,IAAeD,EAAK,IAAI,CAACvB,MAAQA,EAAI,QAAQ;AACnD,MAAAT,EAAoBiC,CAAY;AAAA,IAAA;AAEhC,MAAAjC,EAAoB,CAAA,CAAE;AAAA,EAC1B;AAGJ,2BACK,OAAA,EACG,UAAA,gBAAAW;AAAA,IAACuB;AAAA,IAAA;AAAA,MACG,YAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAA5B;AAAA,MACA,MAAMJ;AAAA,MACN,QAAQ,CAACE,KAAaF,EAAY,WAAW;AAAA,MAC7C,uBAAuB,CAAC,CAAC;AAAA,MACzB,qBAAqB,EAAE,OAAO,IAAI,QAAQ,GAAA;AAAA,MAC1C,SAASE;AAAA,MACT,YAAY;AAAA,QACR,OAAOD,KAAgB;AAAA,QACvB,WAAWR,EAAU;AAAA,QACrB,UAAUA,EAAU;AAAA,MAAA;AAAA,MAExB,iBAAiB,CAACc,MACdX,EAAgB,KAAK,CAACqC,MAAaA,EAAS,OAAO1B,EAAI,EAAE;AAAA,MAE7D,oBAAoBa;AAAA,MACpB,gBAAgBG;AAAA,MAChB,QAAQE;AAAA,MACR,kBAAkBE;AAAA,MAClB,+BAA+BE;AAAA,IAAA;AAAA,EAAA,GAEvC;AAER;"}
1
+ {"version":3,"file":"ArticleListTable.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleListTable.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Tag from '@/components/ui/Tag'\nimport Switcher from '@/components/ui/Switcher'\nimport { UsersAvatarGroup } from '@/components/shared'\nimport DataTable from '@/components/shared/DataTable'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport useManageArticle from '../hooks/useManageArticle'\nimport { categoryIcon, categoryClass } from '../utils'\nimport classNames from '@/utils/classNames'\nimport { Link } from 'react-router-dom'\nimport type { TableQueries } from '@/@types/common'\nimport type { Article } from '../types'\nimport type { OnSortParam, ColumnDef, Row } from '@/components/shared/DataTable'\n\nconst ArticleListTable = () => {\n const tableData = useManageArticleStore((state) => state.tableData)\n const selectedArticle = useManageArticleStore(\n (state) => state.selectedArticle,\n )\n const setSelectedArticle = useManageArticleStore(\n (state) => state.setSelectedArticle,\n )\n const setSelectAllArticle = useManageArticleStore(\n (state) => state.setSelectAllArticle,\n )\n const setTableData = useManageArticleStore((state) => state.setTableData)\n\n const { articleList, articleTotal, isLoading } = useManageArticle()\n\n const columns: ColumnDef<Article>[] = useMemo(\n () => [\n {\n header: 'Title',\n accessorKey: 'title',\n cell: (props) => {\n const row = props.row.original\n return (\n <div className=\"flex items-center gap-4\">\n <Avatar\n icon={categoryIcon[row.category]}\n shape=\"round\"\n className={classNames(\n 'text-gray-900',\n categoryClass[row.category],\n )}\n />\n <div>\n <div className=\"mb-2\">\n <Link\n to={`/concepts/help-center/edit-article/${row.id}`}\n className=\"font-bold heading-text hover:text-primary\"\n >\n {row.title}\n </Link>\n </div>\n <div className=\"flex items-center gap-1\">\n {row.tags.map((tag) => (\n <Tag key={tag.id}>{tag.label}</Tag>\n ))}\n </div>\n </div>\n </div>\n )\n },\n },\n {\n header: 'Authors',\n accessorKey: 'authors',\n enableSorting: false,\n cell: (props) => {\n const row = props.row.original\n return (\n <UsersAvatarGroup\n avatarProps={{ size: 25 }}\n users={row.authors || []}\n />\n )\n },\n },\n {\n header: 'Last update',\n accessorKey: 'updateTimeStamp',\n cell: (props) => {\n const row = props.row.original\n return <div>{row.updateTime}</div>\n },\n },\n {\n header: 'Published',\n accessorKey: 'published',\n enableSorting: false,\n cell: (props) => {\n const row = props.row.original\n return (\n <div className=\"px-4\">\n <Switcher defaultChecked={row.published} />\n </div>\n )\n },\n },\n ],\n [],\n )\n\n const handleSetTableData = (articleList: TableQueries) => {\n setTableData(articleList)\n if (selectedArticle.length > 0) {\n setSelectAllArticle([])\n }\n }\n\n const handlePaginationChange = (page: number) => {\n const newTableData = structuredClone(tableData)\n newTableData.pageIndex = page\n handleSetTableData(newTableData)\n }\n\n const handleSelectChange = (value: number) => {\n const newTableData = structuredClone(tableData)\n newTableData.pageSize = Number(value)\n newTableData.pageIndex = 1\n handleSetTableData(newTableData)\n }\n\n const handleSort = (sort: OnSortParam) => {\n const newTableData = structuredClone(tableData)\n newTableData.sort = sort\n handleSetTableData(newTableData)\n }\n\n const handleRowSelect = (checked: boolean, row: Article) => {\n setSelectedArticle(checked, row)\n }\n\n const handleAllRowSelect = (checked: boolean, rows: Row<Article>[]) => {\n if (checked) {\n const originalRows = rows.map((row) => row.original)\n setSelectAllArticle(originalRows)\n } else {\n setSelectAllArticle([])\n }\n }\n\n return (\n <div>\n <DataTable\n selectable\n hoverable={false}\n columns={columns}\n data={articleList}\n noData={!isLoading && articleList.length === 0}\n skeletonAvatarColumns={[0]}\n skeletonAvatarProps={{ width: 28, height: 28 }}\n loading={isLoading}\n pagingData={{\n total: articleTotal || 0,\n pageIndex: tableData.pageIndex as number,\n pageSize: tableData.pageSize as number,\n }}\n checkboxChecked={(row) =>\n selectedArticle.some((selected) => selected.id === row.id)\n }\n onPaginationChange={handlePaginationChange}\n onSelectChange={handleSelectChange}\n onSort={handleSort}\n onCheckBoxChange={handleRowSelect}\n onIndeterminateCheckBoxChange={handleAllRowSelect}\n />\n </div>\n )\n}\n\nexport default ArticleListTable\n"],"names":["ArticleListTable","tableData","useManageArticleStore","state","selectedArticle","setSelectedArticle","setSelectAllArticle","setTableData","articleList","articleTotal","isLoading","useManageArticle","columns","useMemo","props","row","jsxs","jsx","Avatar","categoryIcon","classNames","categoryClass","Link","tag","Tag","UsersAvatarGroup","Switcher","handleSetTableData","handlePaginationChange","page","newTableData","handleSelectChange","value","handleSort","sort","handleRowSelect","checked","handleAllRowSelect","rows","originalRows","DataTable","selected"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAMA,IAAmB,MAAM;AAC3B,QAAMC,IAAYC,EAAsB,CAACC,MAAUA,EAAM,SAAS,GAC5DC,IAAkBF;AAAA,IACpB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfE,IAAqBH;AAAA,IACvB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfG,IAAsBJ;AAAA,IACxB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfI,IAAeL,EAAsB,CAACC,MAAUA,EAAM,YAAY,GAElE,EAAE,aAAAK,GAAa,cAAAC,GAAc,WAAAC,EAAA,IAAcC,EAAA,GAE3CC,IAAgCC;AAAA,IAClC,MAAM;AAAA,MACF;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM,CAACC,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAE,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAACC;AAAA,cAAA;AAAA,gBACG,MAAMC,EAAaJ,EAAI,QAAQ;AAAA,gBAC/B,OAAM;AAAA,gBACN,WAAWK;AAAA,kBACP;AAAA,kBACAC,EAAcN,EAAI,QAAQ;AAAA,gBAAA;AAAA,cAC9B;AAAA,YAAA;AAAA,8BAEH,OAAA,EACG,UAAA;AAAA,cAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAA;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,IAAI,sCAAsCP,EAAI,EAAE;AAAA,kBAChD,WAAU;AAAA,kBAET,UAAAA,EAAI;AAAA,gBAAA;AAAA,cAAA,GAEb;AAAA,gCACC,OAAA,EAAI,WAAU,2BACV,UAAAA,EAAI,KAAK,IAAI,CAACQ,MACX,gBAAAN,EAACO,KAAkB,UAAAD,EAAI,SAAbA,EAAI,EAAe,CAChC,EAAA,CACL;AAAA,YAAA,EAAA,CACJ;AAAA,UAAA,GACJ;AAAA,QAER;AAAA,MAAA;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,eAAe;AAAA,QACf,MAAM,CAACT,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAG;AAAA,YAACQ;AAAA,YAAA;AAAA,cACG,aAAa,EAAE,MAAM,GAAA;AAAA,cACrB,OAAOV,EAAI,WAAW,CAAA;AAAA,YAAC;AAAA,UAAA;AAAA,QAGnC;AAAA,MAAA;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM,CAACD,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBAAO,gBAAAG,EAAC,OAAA,EAAK,UAAAF,EAAI,WAAA,CAAW;AAAA,QAChC;AAAA,MAAA;AAAA,MAEJ;AAAA,QACI,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,eAAe;AAAA,QACf,MAAM,CAACD,MAAU;AACb,gBAAMC,IAAMD,EAAM,IAAI;AACtB,iBACI,gBAAAG,EAAC,SAAI,WAAU,QACX,4BAACS,GAAA,EAAS,gBAAgBX,EAAI,UAAA,CAAW,EAAA,CAC7C;AAAA,QAER;AAAA,MAAA;AAAA,IACJ;AAAA,IAEJ,CAAA;AAAA,EAAC,GAGCY,IAAqB,CAACnB,MAA8B;AACtD,IAAAD,EAAaC,CAAW,GACpBJ,EAAgB,SAAS,KACzBE,EAAoB,CAAA,CAAE;AAAA,EAE9B,GAEMsB,IAAyB,CAACC,MAAiB;AAC7C,UAAMC,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,YAAYD,GACzBF,EAAmBG,CAAY;AAAA,EACnC,GAEMC,IAAqB,CAACC,MAAkB;AAC1C,UAAMF,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,WAAW,OAAOE,CAAK,GACpCF,EAAa,YAAY,GACzBH,EAAmBG,CAAY;AAAA,EACnC,GAEMG,IAAa,CAACC,MAAsB;AACtC,UAAMJ,IAAe,gBAAgB7B,CAAS;AAC9C,IAAA6B,EAAa,OAAOI,GACpBP,EAAmBG,CAAY;AAAA,EACnC,GAEMK,IAAkB,CAACC,GAAkBrB,MAAiB;AACxD,IAAAV,EAAmB+B,GAASrB,CAAG;AAAA,EACnC,GAEMsB,IAAqB,CAACD,GAAkBE,MAAyB;AACnE,QAAIF,GAAS;AACT,YAAMG,IAAeD,EAAK,IAAI,CAACvB,MAAQA,EAAI,QAAQ;AACnD,MAAAT,EAAoBiC,CAAY;AAAA,IACpC;AACI,MAAAjC,EAAoB,CAAA,CAAE;AAAA,EAE9B;AAEA,2BACK,OAAA,EACG,UAAA,gBAAAW;AAAA,IAACuB;AAAA,IAAA;AAAA,MACG,YAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAA5B;AAAA,MACA,MAAMJ;AAAA,MACN,QAAQ,CAACE,KAAaF,EAAY,WAAW;AAAA,MAC7C,uBAAuB,CAAC,CAAC;AAAA,MACzB,qBAAqB,EAAE,OAAO,IAAI,QAAQ,GAAA;AAAA,MAC1C,SAASE;AAAA,MACT,YAAY;AAAA,QACR,OAAOD,KAAgB;AAAA,QACvB,WAAWR,EAAU;AAAA,QACrB,UAAUA,EAAU;AAAA,MAAA;AAAA,MAExB,iBAAiB,CAACc,MACdX,EAAgB,KAAK,CAACqC,MAAaA,EAAS,OAAO1B,EAAI,EAAE;AAAA,MAE7D,oBAAoBa;AAAA,MACpB,gBAAgBG;AAAA,MAChB,QAAQE;AAAA,MACR,kBAAkBE;AAAA,MAClB,+BAA+BE;AAAA,IAAA;AAAA,EAAA,GAEvC;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleTableFilter.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleTableFilter.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Drawer from '@/components/ui/Drawer'\nimport Checkbox from '@/components/ui/Checkbox'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport { categoryOption } from '../utils'\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'\n\ntype FormSchema = {\n category: Array<string>\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n category: z.array(z.string()),\n})\n\nconst ArticleTableFilter = () => {\n const [filterIsOpen, setFilterIsOpen] = useState(false)\n const filterData = useManageArticleStore((state) => state.filterData)\n const setFilterData = useManageArticleStore((state) => state.setFilterData)\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=\"Showing category\">\n <div className=\"mt-4\">\n <Controller\n name=\"category\"\n control={control}\n render={({ field }) => (\n <Checkbox.Group\n vertical\n className=\"flex\"\n {...field}\n >\n {categoryOption.map((category) => (\n <Checkbox\n key={category.value}\n name={field.name}\n value={category.value}\n className=\"justify-between flex-row-reverse heading-text\"\n >\n {category.label}\n </Checkbox>\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 ArticleTableFilter\n"],"names":["validationSchema","z","ArticleTableFilter","filterIsOpen","setFilterIsOpen","useState","filterData","useManageArticleStore","state","setFilterData","handleSubmit","control","useForm","zodResolver","jsxs","Fragment","jsx","Button","TbFilter","Drawer","Form","values","FormItem","Controller","field","Checkbox","categoryOption","category"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAMA,IAAwCC,EAAE,OAAO;AAAA,EACnD,UAAUA,EAAE,MAAMA,EAAE,QAAQ;AAChC,CAAC,GAEKC,IAAqB,MAAM;AAC7B,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAChDC,IAAaC,EAAsB,CAACC,MAAUA,EAAM,UAAU,GAC9DC,IAAgBF,EAAsB,CAACC,MAAUA,EAAM,aAAa,GAEpE,EAAE,cAAAE,GAAc,SAAAC,EAAA,IAAYC,EAAoB;AAAA,IAClD,eAAeN;AAAA,IACf,UAAUO,EAAYb,CAAgB;AAAA,EAAA,CACzC;AAOD,SACI,gBAAAc,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAO,MAAM,gBAAAD,EAACE,GAAA,CAAA,CAAS,GAAI,SAAS,MAAMd,EAAgB,EAAI,GAAG,UAAA,SAAA,CAElE;AAAA,IACA,gBAAAY;AAAA,MAACG;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,QAAQhB;AAAA,QACR,SAAS,MAAMC,EAAgB,EAAK;AAAA,QACpC,gBAAgB,MAAMA,EAAgB,EAAK;AAAA,QAE3C,UAAA,gBAAAU;AAAA,UAACM;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,oBAAmB;AAAA,YACnB,UAAUV,EAnBT,CAACW,MAAuB;AACrC,cAAAZ,EAAcY,CAAM,GACpBjB,EAAgB,EAAK;AAAA,YAAA,CAiBsB;AAAA,YAE/B,UAAA;AAAA,cAAA,gBAAAY,EAAC,OAAA,EACG,4BAACM,GAAA,EAAS,OAAM,oBACZ,UAAA,gBAAAN,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAA;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,SAAAZ;AAAA,kBACA,QAAQ,CAAC,EAAE,OAAAa,EAAA,MACP,gBAAAR;AAAA,oBAACS,EAAS;AAAA,oBAAT;AAAA,sBACG,UAAQ;AAAA,sBACR,WAAU;AAAA,sBACT,GAAGD;AAAA,sBAEH,UAAAE,EAAe,IAAI,CAACC,MACjB,gBAAAX;AAAA,wBAACS;AAAA,wBAAA;AAAA,0BAEG,MAAMD,EAAM;AAAA,0BACZ,OAAOG,EAAS;AAAA,0BAChB,WAAU;AAAA,0BAET,UAAAA,EAAS;AAAA,wBAAA;AAAA,wBALLA,EAAS;AAAA,sBAAA,CAOrB;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACL;AAAA,cAAA,EAER,CACJ,GACJ,GACJ;AAAA,gCACCV,GAAA,EAAO,SAAQ,SAAQ,MAAK,UAAS,UAAA,QAAA,CAEtC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
1
+ {"version":3,"file":"ArticleTableFilter.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/components/ArticleTableFilter.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Drawer from '@/components/ui/Drawer'\nimport Checkbox from '@/components/ui/Checkbox'\nimport { Form, FormItem } from '@/components/ui/Form'\nimport { useManageArticleStore } from '../store/manageArticleStore'\nimport { categoryOption } from '../utils'\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'\n\ntype FormSchema = {\n category: Array<string>\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n category: z.array(z.string()),\n})\n\nconst ArticleTableFilter = () => {\n const [filterIsOpen, setFilterIsOpen] = useState(false)\n const filterData = useManageArticleStore((state) => state.filterData)\n const setFilterData = useManageArticleStore((state) => state.setFilterData)\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=\"Showing category\">\n <div className=\"mt-4\">\n <Controller\n name=\"category\"\n control={control}\n render={({ field }) => (\n <Checkbox.Group\n vertical\n className=\"flex\"\n {...field}\n >\n {categoryOption.map((category) => (\n <Checkbox\n key={category.value}\n name={field.name}\n value={category.value}\n className=\"justify-between flex-row-reverse heading-text\"\n >\n {category.label}\n </Checkbox>\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 ArticleTableFilter\n"],"names":["validationSchema","z","ArticleTableFilter","filterIsOpen","setFilterIsOpen","useState","filterData","useManageArticleStore","state","setFilterData","handleSubmit","control","useForm","zodResolver","jsxs","Fragment","jsx","Button","TbFilter","Drawer","Form","values","FormItem","Controller","field","Checkbox","categoryOption","category"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAMA,IAAwCC,EAAE,OAAO;AAAA,EACnD,UAAUA,EAAE,MAAMA,EAAE,QAAQ;AAChC,CAAC,GAEKC,IAAqB,MAAM;AAC7B,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAChDC,IAAaC,EAAsB,CAACC,MAAUA,EAAM,UAAU,GAC9DC,IAAgBF,EAAsB,CAACC,MAAUA,EAAM,aAAa,GAEpE,EAAE,cAAAE,GAAc,SAAAC,EAAA,IAAYC,EAAoB;AAAA,IAClD,eAAeN;AAAA,IACf,UAAUO,EAAYb,CAAgB;AAAA,EAAA,CACzC;AAOD,SACI,gBAAAc,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAO,MAAM,gBAAAD,EAACE,GAAA,CAAA,CAAS,GAAI,SAAS,MAAMd,EAAgB,EAAI,GAAG,UAAA,SAAA,CAElE;AAAA,IACA,gBAAAY;AAAA,MAACG;AAAA,MAAA;AAAA,QACG,OAAM;AAAA,QACN,QAAQhB;AAAA,QACR,SAAS,MAAMC,EAAgB,EAAK;AAAA,QACpC,gBAAgB,MAAMA,EAAgB,EAAK;AAAA,QAE3C,UAAA,gBAAAU;AAAA,UAACM;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,oBAAmB;AAAA,YACnB,UAAUV,EAnBT,CAACW,MAAuB;AACrC,cAAAZ,EAAcY,CAAM,GACpBjB,EAAgB,EAAK;AAAA,YACzB,CAgB+C;AAAA,YAE/B,UAAA;AAAA,cAAA,gBAAAY,EAAC,OAAA,EACG,4BAACM,GAAA,EAAS,OAAM,oBACZ,UAAA,gBAAAN,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAA;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,SAAAZ;AAAA,kBACA,QAAQ,CAAC,EAAE,OAAAa,EAAA,MACP,gBAAAR;AAAA,oBAACS,EAAS;AAAA,oBAAT;AAAA,sBACG,UAAQ;AAAA,sBACR,WAAU;AAAA,sBACT,GAAGD;AAAA,sBAEH,UAAAE,EAAe,IAAI,CAACC,MACjB,gBAAAX;AAAA,wBAACS;AAAA,wBAAA;AAAA,0BAEG,MAAMD,EAAM;AAAA,0BACZ,OAAOG,EAAS;AAAA,0BAChB,WAAU;AAAA,0BAET,UAAAA,EAAS;AAAA,wBAAA;AAAA,wBALLA,EAAS;AAAA,sBAAA,CAOrB;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACL;AAAA,cAAA,EAER,CACJ,GACJ,GACJ;AAAA,gCACCV,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":"manageArticleStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/store/manageArticleStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { TableQueries } from '@/@types/common'\nimport type { Article, Articles, Filter } from '../types'\n\nexport const initialTableData: TableQueries = {\n pageIndex: 1,\n pageSize: 10,\n query: '',\n sort: {\n order: '',\n key: '',\n },\n}\n\nexport const initialFilterData = {\n category: [\n 'introduction',\n 'setupGuide',\n 'basicFeatures',\n 'survey',\n 'analytic',\n 'dataVisualization',\n 'chatbot',\n 'media',\n 'security',\n 'integration',\n 'themes',\n 'commission',\n ],\n}\n\nexport type ManageArticleState = {\n tableData: TableQueries\n filterData: Filter\n selectedArticle: Partial<Article>[]\n}\n\ntype ManageArticleAction = {\n setFilterData: (payload: Filter) => void\n setTableData: (payload: TableQueries) => void\n setSelectedArticle: (checked: boolean, customer: Article) => void\n setSelectAllArticle: (customer: Articles) => void\n}\n\nconst initialState: ManageArticleState = {\n tableData: initialTableData,\n filterData: initialFilterData,\n selectedArticle: [],\n}\n\nexport const useManageArticleStore = create<\n ManageArticleState & ManageArticleAction\n>((set) => ({\n ...initialState,\n setFilterData: (payload) => set(() => ({ filterData: payload })),\n setTableData: (payload) => set(() => ({ tableData: payload })),\n setSelectedArticle: (checked, row) =>\n set((state) => {\n const prevData = state.selectedArticle\n if (checked) {\n return { selectedArticle: [...prevData, ...[row]] }\n } else {\n if (prevData.some((prevArticle) => row.id === prevArticle.id)) {\n return {\n selectedArticle: prevData.filter(\n (prevArticle) => prevArticle.id !== row.id,\n ),\n }\n }\n return { selectedArticle: prevData }\n }\n }),\n setSelectAllArticle: (row) => set(() => ({ selectedArticle: row })),\n}))\n"],"names":["initialTableData","initialFilterData","initialState","useManageArticleStore","create","set","payload","checked","row","state","prevData","prevArticle"],"mappings":";AAIO,MAAMA,IAAiC;AAAA,EAC1C,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AAAA,IACF,OAAO;AAAA,IACP,KAAK;AAAA,EAAA;AAEb,GAEaC,IAAoB;AAAA,EAC7B,UAAU;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER,GAeMC,IAAmC;AAAA,EACrC,WAAWF;AAAA,EACX,YAAYC;AAAA,EACZ,iBAAiB,CAAA;AACrB,GAEaE,IAAwBC,EAEnC,CAACC,OAAS;AAAA,EACR,GAAGH;AAAA,EACH,eAAe,CAACI,MAAYD,EAAI,OAAO,EAAE,YAAYC,IAAU;AAAA,EAC/D,cAAc,CAACA,MAAYD,EAAI,OAAO,EAAE,WAAWC,IAAU;AAAA,EAC7D,oBAAoB,CAACC,GAASC,MAC1BH,EAAI,CAACI,MAAU;AACX,UAAMC,IAAWD,EAAM;AACvB,WAAIF,IACO,EAAE,iBAAiB,CAAC,GAAGG,GAAcF,CAAI,EAAA,IAE5CE,EAAS,KAAK,CAACC,MAAgBH,EAAI,OAAOG,EAAY,EAAE,IACjD;AAAA,MACH,iBAAiBD,EAAS;AAAA,QACtB,CAACC,MAAgBA,EAAY,OAAOH,EAAI;AAAA,MAAA;AAAA,IAC5C,IAGD,EAAE,iBAAiBE,EAAA;AAAA,EAC9B,CACH;AAAA,EACL,qBAAqB,CAACF,MAAQH,EAAI,OAAO,EAAE,iBAAiBG,IAAM;AACtE,EAAE;"}
1
+ {"version":3,"file":"manageArticleStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/ManageArticle/store/manageArticleStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { TableQueries } from '@/@types/common'\nimport type { Article, Articles, Filter } from '../types'\n\nexport const initialTableData: TableQueries = {\n pageIndex: 1,\n pageSize: 10,\n query: '',\n sort: {\n order: '',\n key: '',\n },\n}\n\nexport const initialFilterData = {\n category: [\n 'introduction',\n 'setupGuide',\n 'basicFeatures',\n 'survey',\n 'analytic',\n 'dataVisualization',\n 'chatbot',\n 'media',\n 'security',\n 'integration',\n 'themes',\n 'commission',\n ],\n}\n\nexport type ManageArticleState = {\n tableData: TableQueries\n filterData: Filter\n selectedArticle: Partial<Article>[]\n}\n\ntype ManageArticleAction = {\n setFilterData: (payload: Filter) => void\n setTableData: (payload: TableQueries) => void\n setSelectedArticle: (checked: boolean, customer: Article) => void\n setSelectAllArticle: (customer: Articles) => void\n}\n\nconst initialState: ManageArticleState = {\n tableData: initialTableData,\n filterData: initialFilterData,\n selectedArticle: [],\n}\n\nexport const useManageArticleStore = create<\n ManageArticleState & ManageArticleAction\n>((set) => ({\n ...initialState,\n setFilterData: (payload) => set(() => ({ filterData: payload })),\n setTableData: (payload) => set(() => ({ tableData: payload })),\n setSelectedArticle: (checked, row) =>\n set((state) => {\n const prevData = state.selectedArticle\n if (checked) {\n return { selectedArticle: [...prevData, ...[row]] }\n } else {\n if (prevData.some((prevArticle) => row.id === prevArticle.id)) {\n return {\n selectedArticle: prevData.filter(\n (prevArticle) => prevArticle.id !== row.id,\n ),\n }\n }\n return { selectedArticle: prevData }\n }\n }),\n setSelectAllArticle: (row) => set(() => ({ selectedArticle: row })),\n}))\n"],"names":["initialTableData","initialFilterData","initialState","useManageArticleStore","create","set","payload","checked","row","state","prevData","prevArticle"],"mappings":";AAIO,MAAMA,IAAiC;AAAA,EAC1C,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AAAA,IACF,OAAO;AAAA,IACP,KAAK;AAAA,EAAA;AAEb,GAEaC,IAAoB;AAAA,EAC7B,UAAU;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER,GAeMC,IAAmC;AAAA,EACrC,WAAWF;AAAA,EACX,YAAYC;AAAA,EACZ,iBAAiB,CAAA;AACrB,GAEaE,IAAwBC,EAEnC,CAACC,OAAS;AAAA,EACR,GAAGH;AAAA,EACH,eAAe,CAACI,MAAYD,EAAI,OAAO,EAAE,YAAYC,IAAU;AAAA,EAC/D,cAAc,CAACA,MAAYD,EAAI,OAAO,EAAE,WAAWC,IAAU;AAAA,EAC7D,oBAAoB,CAACC,GAASC,MAC1BH,EAAI,CAACI,MAAU;AACX,UAAMC,IAAWD,EAAM;AACvB,WAAIF,IACO,EAAE,iBAAiB,CAAC,GAAGG,GAAcF,CAAI,EAAA,IAE5CE,EAAS,KAAK,CAACC,MAAgBH,EAAI,OAAOG,EAAY,EAAE,IACjD;AAAA,MACH,iBAAiBD,EAAS;AAAA,QACtB,CAACC,MAAgBA,EAAY,OAAOH,EAAI;AAAA,MAAA;AAAA,IAC5C,IAGD,EAAE,iBAAiBE,EAAA;AAAA,EAElC,CAAC;AAAA,EACL,qBAAqB,CAACF,MAAQH,EAAI,OAAO,EAAE,iBAAiBG,IAAM;AACtE,EAAE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Article.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/Article.tsx"],"sourcesContent":["import Avatar from '@/components/ui/Avatar'\nimport IconText from '@/components/shared/IconText'\nimport { categoryIcon } from '../utils'\nimport classNames from '@/utils/classNames'\nimport { useNavigate } from 'react-router-dom'\nimport { TbEye, TbMessage } from 'react-icons/tb'\n\ntype ArticleProps = {\n id: string\n isLastChild: boolean\n category: string\n title: string\n timeToRead: number\n viewCount: number\n commentCount: number\n}\n\nconst Article = ({\n id,\n isLastChild,\n category,\n title,\n timeToRead,\n viewCount,\n commentCount,\n}: ArticleProps) => {\n const navigate = useNavigate()\n\n const handleArticleClick = () => {\n navigate(`/concepts/help-center/article/${id}`)\n }\n\n return (\n <div\n className={classNames(\n 'flex items-center justify-between py-6 border-gray-200 dark:border-gray-700 group cursor-pointer',\n isLastChild && 'border-b',\n )}\n role=\"buttton\"\n onClick={handleArticleClick}\n >\n <div className=\"flex items-center gap-4\">\n <Avatar\n className=\"bg-gray-100 dark:bg-gray-700\"\n size={50}\n icon={\n <span className=\"heading-text\">\n {categoryIcon[category]}\n </span>\n }\n shape=\"round\"\n />\n <div>\n <h6 className=\"font-bold group-hover:text-primary\">\n {title}\n </h6>\n <div className=\"flex items-center gap-2\">\n <span>{timeToRead} min read</span>\n <span>•</span>\n <span>{category}</span>\n </div>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <IconText\n className=\"font-semibold\"\n icon={<TbEye className=\"text-xl\" />}\n >\n {viewCount}\n </IconText>\n <IconText\n className=\"font-semibold\"\n icon={<TbMessage className=\"text-xl\" />}\n >\n {commentCount}\n </IconText>\n </div>\n </div>\n )\n}\n\nexport default Article\n"],"names":["Article","id","isLastChild","category","title","timeToRead","viewCount","commentCount","navigate","useNavigate","handleArticleClick","jsxs","classNames","jsx","Avatar","categoryIcon","IconText","TbEye","TbMessage"],"mappings":";;;;;;;AAiBA,MAAMA,IAAU,CAAC;AAAA,EACb,IAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AACJ,MAAoB;AAChB,QAAMC,IAAWC,EAAA,GAEXC,IAAqB,MAAM;AAC7B,IAAAF,EAAS,iCAAiCP,CAAE,EAAE;AAAA,EAAA;AAGlD,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACP;AAAA,QACAV,KAAe;AAAA,MAAA;AAAA,MAEnB,MAAK;AAAA,MACL,SAASQ;AAAA,MAET,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM;AAAA,cACN,MACI,gBAAAD,EAAC,QAAA,EAAK,WAAU,gBACX,UAAAE,EAAaZ,CAAQ,GAC1B;AAAA,cAEJ,OAAM;AAAA,YAAA;AAAA,UAAA;AAAA,4BAET,OAAA,EACG,UAAA;AAAA,YAAA,gBAAAU,EAAC,MAAA,EAAG,WAAU,sCACT,UAAAT,GACL;AAAA,YACA,gBAAAO,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,cAAA,gBAAAA,EAAC,QAAA,EAAM,UAAA;AAAA,gBAAAN;AAAA,gBAAW;AAAA,cAAA,GAAS;AAAA,cAC3B,gBAAAQ,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,cACP,gBAAAA,EAAC,UAAM,UAAAV,EAAA,CAAS;AAAA,YAAA,EAAA,CACpB;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA,GACJ;AAAA,QACA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM,gBAAAH,EAACI,GAAA,EAAM,WAAU,UAAA,CAAU;AAAA,cAEhC,UAAAX;AAAA,YAAA;AAAA,UAAA;AAAA,UAEL,gBAAAO;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM,gBAAAH,EAACK,GAAA,EAAU,WAAU,UAAA,CAAU;AAAA,cAEpC,UAAAX;AAAA,YAAA;AAAA,UAAA;AAAA,QACL,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"Article.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/Article.tsx"],"sourcesContent":["import Avatar from '@/components/ui/Avatar'\nimport IconText from '@/components/shared/IconText'\nimport { categoryIcon } from '../utils'\nimport classNames from '@/utils/classNames'\nimport { useNavigate } from 'react-router-dom'\nimport { TbEye, TbMessage } from 'react-icons/tb'\n\ntype ArticleProps = {\n id: string\n isLastChild: boolean\n category: string\n title: string\n timeToRead: number\n viewCount: number\n commentCount: number\n}\n\nconst Article = ({\n id,\n isLastChild,\n category,\n title,\n timeToRead,\n viewCount,\n commentCount,\n}: ArticleProps) => {\n const navigate = useNavigate()\n\n const handleArticleClick = () => {\n navigate(`/concepts/help-center/article/${id}`)\n }\n\n return (\n <div\n className={classNames(\n 'flex items-center justify-between py-6 border-gray-200 dark:border-gray-700 group cursor-pointer',\n isLastChild && 'border-b',\n )}\n role=\"buttton\"\n onClick={handleArticleClick}\n >\n <div className=\"flex items-center gap-4\">\n <Avatar\n className=\"bg-gray-100 dark:bg-gray-700\"\n size={50}\n icon={\n <span className=\"heading-text\">\n {categoryIcon[category]}\n </span>\n }\n shape=\"round\"\n />\n <div>\n <h6 className=\"font-bold group-hover:text-primary\">\n {title}\n </h6>\n <div className=\"flex items-center gap-2\">\n <span>{timeToRead} min read</span>\n <span>•</span>\n <span>{category}</span>\n </div>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <IconText\n className=\"font-semibold\"\n icon={<TbEye className=\"text-xl\" />}\n >\n {viewCount}\n </IconText>\n <IconText\n className=\"font-semibold\"\n icon={<TbMessage className=\"text-xl\" />}\n >\n {commentCount}\n </IconText>\n </div>\n </div>\n )\n}\n\nexport default Article\n"],"names":["Article","id","isLastChild","category","title","timeToRead","viewCount","commentCount","navigate","useNavigate","handleArticleClick","jsxs","classNames","jsx","Avatar","categoryIcon","IconText","TbEye","TbMessage"],"mappings":";;;;;;;AAiBA,MAAMA,IAAU,CAAC;AAAA,EACb,IAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AACJ,MAAoB;AAChB,QAAMC,IAAWC,EAAA,GAEXC,IAAqB,MAAM;AAC7B,IAAAF,EAAS,iCAAiCP,CAAE,EAAE;AAAA,EAClD;AAEA,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACP;AAAA,QACAV,KAAe;AAAA,MAAA;AAAA,MAEnB,MAAK;AAAA,MACL,SAASQ;AAAA,MAET,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM;AAAA,cACN,MACI,gBAAAD,EAAC,QAAA,EAAK,WAAU,gBACX,UAAAE,EAAaZ,CAAQ,GAC1B;AAAA,cAEJ,OAAM;AAAA,YAAA;AAAA,UAAA;AAAA,4BAET,OAAA,EACG,UAAA;AAAA,YAAA,gBAAAU,EAAC,MAAA,EAAG,WAAU,sCACT,UAAAT,GACL;AAAA,YACA,gBAAAO,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,cAAA,gBAAAA,EAAC,QAAA,EAAM,UAAA;AAAA,gBAAAN;AAAA,gBAAW;AAAA,cAAA,GAAS;AAAA,cAC3B,gBAAAQ,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,cACP,gBAAAA,EAAC,UAAM,UAAAV,EAAA,CAAS;AAAA,YAAA,EAAA,CACpB;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA,GACJ;AAAA,QACA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM,gBAAAH,EAACI,GAAA,EAAM,WAAU,UAAA,CAAU;AAAA,cAEhC,UAAAX;AAAA,YAAA;AAAA,UAAA;AAAA,UAEL,gBAAAO;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAM,gBAAAH,EAACK,GAAA,EAAU,WAAU,UAAA,CAAU;AAAA,cAEpC,UAAAX;AAAA,YAAA;AAAA,UAAA;AAAA,QACL,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleList.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/ArticleList.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport Article from './Article'\nimport { categoryLabel } from '../utils'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { apiGetSupportHubArticles } from '@/services/HelpCenterService'\nimport isLastChild from '@/utils/isLastChild'\nimport NoDataFound from '@/assets/svg/NoDataFound'\nimport useSWRMutation from 'swr/mutation'\nimport { TbArrowNarrowLeft } from 'react-icons/tb'\nimport type { GetSupportHubArticlesResponse } from '../types'\n\ntype ArticlesProps = {\n query: string\n topic: string\n}\n\nconst Articles = ({ query, topic }: ArticlesProps) => {\n const { trigger, data } = useSWRMutation(\n [`/api/helps/articles`, { query, topic }],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) =>\n apiGetSupportHubArticles<\n GetSupportHubArticlesResponse,\n { query: string; topic: string }\n >(params),\n )\n\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n\n useEffect(() => {\n if (topic || query) {\n trigger()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [topic, query])\n\n const handleBack = () => {\n setQueryText('')\n setSelectedTopic('')\n }\n\n return (\n <div>\n {query && data && data.length > 0 && (\n <div className=\"mb-6\">\n <h3>\n <span className=\"font-normal\">Result of: </span>\n <span className=\"font-semibold\"> {query}</span>\n </h3>\n </div>\n )}\n {query && data && data.length === 0 && (\n <div className=\"text-center mt-20\">\n <div className=\"flex justify-center\">\n <NoDataFound height={280} width={280} />\n </div>\n <h3 className=\"mt-8\">No article found!</h3>\n </div>\n )}\n {topic && data && (\n <div className=\"mb-6\">\n <h4 className=\"flex items-center gap-4\">\n <button\n className=\"outline-none rounded-full p-2 text-xl bg-white hover:bg-gray-200 hover:text-gray-800 dark:hover:text-gray-100\"\n onClick={handleBack}\n >\n <TbArrowNarrowLeft />\n </button>\n {categoryLabel[topic]}\n </h4>\n </div>\n )}\n {data &&\n data.map((article, index) => (\n <Article\n key={article.id}\n id={article.id}\n category={article.category}\n title={article.title}\n timeToRead={article.timeToRead}\n viewCount={article.viewCount}\n commentCount={article.commentCount}\n isLastChild={!isLastChild(data, index)}\n />\n ))}\n </div>\n )\n}\n\nexport default Articles\n"],"names":["Articles","query","topic","trigger","data","useSWRMutation","_","params","apiGetSupportHubArticles","setQueryText","useHelpCenterStore","state","setSelectedTopic","useEffect","handleBack","jsxs","jsx","NoDataFound","TbArrowNarrowLeft","categoryLabel","article","index","Article","isLastChild"],"mappings":";;;;;;;;;;AAgBA,MAAMA,IAAW,CAAC,EAAE,OAAAC,GAAO,OAAAC,QAA2B;AAClD,QAAM,EAAE,SAAAC,GAAS,MAAAC,EAAA,IAASC;AAAA,IACtB,CAAC,uBAAuB,EAAE,OAAAJ,GAAO,OAAAC,GAAO;AAAA;AAAA,IAExC,CAAC,CAACI,GAAGC,CAAM,MACPC,EAGED,CAAM;AAAA,EAAA,GAGVE,IAAeC,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAC/DC,IAAmBF;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA;AAGrB,EAAAE,EAAU,MAAM;AACZ,KAAIX,KAASD,MACTE,EAAA;AAAA,EACJ,GAED,CAACD,GAAOD,CAAK,CAAC;AAEjB,QAAMa,IAAa,MAAM;AACrB,IAAAL,EAAa,EAAE,GACfG,EAAiB,EAAE;AAAA,EAAA;AAGvB,2BACK,OAAA,EACI,UAAA;AAAA,IAAAX,KAASG,KAAQA,EAAK,SAAS,uBAC3B,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAW,EAAC,MAAA,EACG,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,eAAc,UAAA,eAAW;AAAA,MACzC,gBAAAD,EAAC,QAAA,EAAK,WAAU,iBAAgB,UAAA;AAAA,QAAA;AAAA,QAAEd;AAAA,MAAA,EAAA,CAAM;AAAA,IAAA,EAAA,CAC5C,EAAA,CACJ;AAAA,IAEHA,KAASG,KAAQA,EAAK,WAAW,KAC9B,gBAAAW,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBACX,UAAA,gBAAAA,EAACC,KAAY,QAAQ,KAAK,OAAO,IAAA,CAAK,EAAA,CAC1C;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,oBAAA,CAAiB;AAAA,IAAA,GAC1C;AAAA,IAEHd,KAASE,KACN,gBAAAY,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,2BACV,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAU;AAAA,UACV,SAASF;AAAA,UAET,4BAACI,GAAA,CAAA,CAAkB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEtBC,EAAcjB,CAAK;AAAA,IAAA,EAAA,CACxB,EAAA,CACJ;AAAA,IAEHE,KACGA,EAAK,IAAI,CAACgB,GAASC,MACf,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QAEG,IAAIF,EAAQ;AAAA,QACZ,UAAUA,EAAQ;AAAA,QAClB,OAAOA,EAAQ;AAAA,QACf,YAAYA,EAAQ;AAAA,QACpB,WAAWA,EAAQ;AAAA,QACnB,cAAcA,EAAQ;AAAA,QACtB,aAAa,CAACG,EAAYnB,GAAMiB,CAAK;AAAA,MAAA;AAAA,MAPhCD,EAAQ;AAAA,IAAA,CASpB;AAAA,EAAA,GACT;AAER;"}
1
+ {"version":3,"file":"ArticleList.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/ArticleList.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport Article from './Article'\nimport { categoryLabel } from '../utils'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { apiGetSupportHubArticles } from '@/services/HelpCenterService'\nimport isLastChild from '@/utils/isLastChild'\nimport NoDataFound from '@/assets/svg/NoDataFound'\nimport useSWRMutation from 'swr/mutation'\nimport { TbArrowNarrowLeft } from 'react-icons/tb'\nimport type { GetSupportHubArticlesResponse } from '../types'\n\ntype ArticlesProps = {\n query: string\n topic: string\n}\n\nconst Articles = ({ query, topic }: ArticlesProps) => {\n const { trigger, data } = useSWRMutation(\n [`/api/helps/articles`, { query, topic }],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, params]) =>\n apiGetSupportHubArticles<\n GetSupportHubArticlesResponse,\n { query: string; topic: string }\n >(params),\n )\n\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n\n useEffect(() => {\n if (topic || query) {\n trigger()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [topic, query])\n\n const handleBack = () => {\n setQueryText('')\n setSelectedTopic('')\n }\n\n return (\n <div>\n {query && data && data.length > 0 && (\n <div className=\"mb-6\">\n <h3>\n <span className=\"font-normal\">Result of: </span>\n <span className=\"font-semibold\"> {query}</span>\n </h3>\n </div>\n )}\n {query && data && data.length === 0 && (\n <div className=\"text-center mt-20\">\n <div className=\"flex justify-center\">\n <NoDataFound height={280} width={280} />\n </div>\n <h3 className=\"mt-8\">No article found!</h3>\n </div>\n )}\n {topic && data && (\n <div className=\"mb-6\">\n <h4 className=\"flex items-center gap-4\">\n <button\n className=\"outline-none rounded-full p-2 text-xl bg-white hover:bg-gray-200 hover:text-gray-800 dark:hover:text-gray-100\"\n onClick={handleBack}\n >\n <TbArrowNarrowLeft />\n </button>\n {categoryLabel[topic]}\n </h4>\n </div>\n )}\n {data &&\n data.map((article, index) => (\n <Article\n key={article.id}\n id={article.id}\n category={article.category}\n title={article.title}\n timeToRead={article.timeToRead}\n viewCount={article.viewCount}\n commentCount={article.commentCount}\n isLastChild={!isLastChild(data, index)}\n />\n ))}\n </div>\n )\n}\n\nexport default Articles\n"],"names":["Articles","query","topic","trigger","data","useSWRMutation","_","params","apiGetSupportHubArticles","setQueryText","useHelpCenterStore","state","setSelectedTopic","useEffect","handleBack","jsxs","jsx","NoDataFound","TbArrowNarrowLeft","categoryLabel","article","index","Article","isLastChild"],"mappings":";;;;;;;;;;AAgBA,MAAMA,IAAW,CAAC,EAAE,OAAAC,GAAO,OAAAC,QAA2B;AAClD,QAAM,EAAE,SAAAC,GAAS,MAAAC,EAAA,IAASC;AAAA,IACtB,CAAC,uBAAuB,EAAE,OAAAJ,GAAO,OAAAC,GAAO;AAAA;AAAA,IAExC,CAAC,CAACI,GAAGC,CAAM,MACPC,EAGED,CAAM;AAAA,EAAA,GAGVE,IAAeC,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAC/DC,IAAmBF;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA;AAGrB,EAAAE,EAAU,MAAM;AACZ,KAAIX,KAASD,MACTE,EAAA;AAAA,EAGR,GAAG,CAACD,GAAOD,CAAK,CAAC;AAEjB,QAAMa,IAAa,MAAM;AACrB,IAAAL,EAAa,EAAE,GACfG,EAAiB,EAAE;AAAA,EACvB;AAEA,2BACK,OAAA,EACI,UAAA;AAAA,IAAAX,KAASG,KAAQA,EAAK,SAAS,uBAC3B,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAW,EAAC,MAAA,EACG,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,eAAc,UAAA,eAAW;AAAA,MACzC,gBAAAD,EAAC,QAAA,EAAK,WAAU,iBAAgB,UAAA;AAAA,QAAA;AAAA,QAAEd;AAAA,MAAA,EAAA,CAAM;AAAA,IAAA,EAAA,CAC5C,EAAA,CACJ;AAAA,IAEHA,KAASG,KAAQA,EAAK,WAAW,KAC9B,gBAAAW,EAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBACX,UAAA,gBAAAA,EAACC,KAAY,QAAQ,KAAK,OAAO,IAAA,CAAK,EAAA,CAC1C;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,oBAAA,CAAiB;AAAA,IAAA,GAC1C;AAAA,IAEHd,KAASE,KACN,gBAAAY,EAAC,OAAA,EAAI,WAAU,QACX,UAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,2BACV,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAU;AAAA,UACV,SAASF;AAAA,UAET,4BAACI,GAAA,CAAA,CAAkB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEtBC,EAAcjB,CAAK;AAAA,IAAA,EAAA,CACxB,EAAA,CACJ;AAAA,IAEHE,KACGA,EAAK,IAAI,CAACgB,GAASC,MACf,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QAEG,IAAIF,EAAQ;AAAA,QACZ,UAAUA,EAAQ;AAAA,QAClB,OAAOA,EAAQ;AAAA,QACf,YAAYA,EAAQ;AAAA,QACpB,WAAWA,EAAQ;AAAA,QACnB,cAAcA,EAAQ;AAAA,QACtB,aAAa,CAACG,EAAYnB,GAAMiB,CAAK;AAAA,MAAA;AAAA,MAPhCD,EAAQ;AAAA,IAAA,CASpB;AAAA,EAAA,GACT;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Categories.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/Categories.tsx"],"sourcesContent":["import Article from './Article'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { categoryIcon } from '../utils'\nimport { apiGetSupportHubCategories } from '@/services/HelpCenterService'\nimport isLastChild from '@/utils/isLastChild'\nimport useSWR from 'swr'\n\nimport type { GetSupportHubCategoriesResponse } from '../types'\n\nconst Categories = () => {\n const { data } = useSWR(\n ['/helps/categories'],\n () => apiGetSupportHubCategories<GetSupportHubCategoriesResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n\n const handleTopicClick = (topic: string) => {\n setSelectedTopic(topic)\n setQueryText('')\n }\n\n return (\n <div className=\"flex flex-col gap-16\">\n {data &&\n data.categories.map((category) => (\n <div key={category.name}>\n <h3 className=\"mb-6\">{category.name}</h3>\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-4\">\n {category.topics.map((topic) => (\n <div\n key={topic.id}\n className=\"cursor-pointer rounded-xl bg-gray-100 dark:bg-gray-700 p-8 group hover:bg-primary transition-colors\"\n role=\"button\"\n onClick={() => handleTopicClick(topic.id)}\n >\n <div className=\"flex flex-col items-center gap-3\">\n <div className=\"rounded-full p-4 bg-neutral group-hover:bg-white/25 transition-colors\">\n <span className=\"text-2xl text-primary group-hover:text-neutral transition-colors\">\n {categoryIcon[topic.id]}\n </span>\n </div>\n <h4 className=\"font-bold mt-3 group-hover:text-neutral transition-colors\">\n {topic.name}\n </h4>\n <p className=\"text-center max-w-[250px] min-h-[50px] group-hover:text-neutral transition-colors\">\n {topic.description}\n </p>\n <div className=\"font-bold text-primary group-hover:text-neutral transition-colors\">\n {topic.articleCounts} Articles\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n {data && (\n <div>\n <h3 className=\"mb-6\">Popular Articles</h3>\n <div>\n {data.popularArticles.map((article, index) => (\n <Article\n key={article.id}\n id={article.id}\n category={article.category}\n title={article.title}\n timeToRead={article.timeToRead}\n viewCount={article.viewCount}\n commentCount={article.commentCount}\n isLastChild={\n !isLastChild(data.popularArticles, index)\n }\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport default Categories\n"],"names":["Categories","data","useSWR","apiGetSupportHubCategories","setSelectedTopic","useHelpCenterStore","state","setQueryText","handleTopicClick","topic","jsxs","category","jsx","categoryIcon","article","index","Article","isLastChild"],"mappings":";;;;;;;AASA,MAAMA,IAAa,MAAM;AACrB,QAAM,EAAE,MAAAC,MAASC;AAAA,IACb,CAAC,mBAAmB;AAAA,IACpB,MAAMC,EAAA;AAAA,IACN;AAAA,MACI,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IAAA;AAAA,EAC3B,GAGEC,IAAmBC;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfC,IAAeF,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAE/DE,IAAmB,CAACC,MAAkB;AACxC,IAAAL,EAAiBK,CAAK,GACtBF,EAAa,EAAE;AAAA,EAAA;AAGnB,SACI,gBAAAG,EAAC,OAAA,EAAI,WAAU,wBACV,UAAA;AAAA,IAAAT,KACGA,EAAK,WAAW,IAAI,CAACU,wBAChB,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,QAAQ,UAAAD,EAAS,MAAK;AAAA,MACpC,gBAAAC,EAAC,SAAI,WAAU,yCACV,YAAS,OAAO,IAAI,CAACH,MAClB,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UAEG,WAAU;AAAA,UACV,MAAK;AAAA,UACL,SAAS,MAAMJ,EAAiBC,EAAM,EAAE;AAAA,UAExC,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,oCACX,UAAA;AAAA,YAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,yEACX,UAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,oEACX,UAAAC,EAAaJ,EAAM,EAAE,EAAA,CAC1B,GACJ;AAAA,YACA,gBAAAG,EAAC,MAAA,EAAG,WAAU,6DACT,YAAM,MACX;AAAA,YACA,gBAAAA,EAAC,KAAA,EAAE,WAAU,qFACR,YAAM,aACX;AAAA,YACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,qEACV,UAAA;AAAA,cAAAD,EAAM;AAAA,cAAc;AAAA,YAAA,EAAA,CACzB;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA;AAAA,QApBKA,EAAM;AAAA,MAAA,CAsBlB,EAAA,CACL;AAAA,IAAA,KA5BME,EAAS,IA6BnB,CACH;AAAA,IACJV,uBACI,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAW,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,oBAAgB;AAAA,wBACpC,OAAA,EACI,UAAAX,EAAK,gBAAgB,IAAI,CAACa,GAASC,MAChC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UAEG,IAAIF,EAAQ;AAAA,UACZ,UAAUA,EAAQ;AAAA,UAClB,OAAOA,EAAQ;AAAA,UACf,YAAYA,EAAQ;AAAA,UACpB,WAAWA,EAAQ;AAAA,UACnB,cAAcA,EAAQ;AAAA,UACtB,aACI,CAACG,EAAYhB,EAAK,iBAAiBc,CAAK;AAAA,QAAA;AAAA,QARvCD,EAAQ;AAAA,MAAA,CAWpB,EAAA,CACL;AAAA,IAAA,EAAA,CACJ;AAAA,EAAA,GAER;AAER;"}
1
+ {"version":3,"file":"Categories.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/Categories.tsx"],"sourcesContent":["import Article from './Article'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { categoryIcon } from '../utils'\nimport { apiGetSupportHubCategories } from '@/services/HelpCenterService'\nimport isLastChild from '@/utils/isLastChild'\nimport useSWR from 'swr'\n\nimport type { GetSupportHubCategoriesResponse } from '../types'\n\nconst Categories = () => {\n const { data } = useSWR(\n ['/helps/categories'],\n () => apiGetSupportHubCategories<GetSupportHubCategoriesResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n\n const handleTopicClick = (topic: string) => {\n setSelectedTopic(topic)\n setQueryText('')\n }\n\n return (\n <div className=\"flex flex-col gap-16\">\n {data &&\n data.categories.map((category) => (\n <div key={category.name}>\n <h3 className=\"mb-6\">{category.name}</h3>\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-4\">\n {category.topics.map((topic) => (\n <div\n key={topic.id}\n className=\"cursor-pointer rounded-xl bg-gray-100 dark:bg-gray-700 p-8 group hover:bg-primary transition-colors\"\n role=\"button\"\n onClick={() => handleTopicClick(topic.id)}\n >\n <div className=\"flex flex-col items-center gap-3\">\n <div className=\"rounded-full p-4 bg-neutral group-hover:bg-white/25 transition-colors\">\n <span className=\"text-2xl text-primary group-hover:text-neutral transition-colors\">\n {categoryIcon[topic.id]}\n </span>\n </div>\n <h4 className=\"font-bold mt-3 group-hover:text-neutral transition-colors\">\n {topic.name}\n </h4>\n <p className=\"text-center max-w-[250px] min-h-[50px] group-hover:text-neutral transition-colors\">\n {topic.description}\n </p>\n <div className=\"font-bold text-primary group-hover:text-neutral transition-colors\">\n {topic.articleCounts} Articles\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n {data && (\n <div>\n <h3 className=\"mb-6\">Popular Articles</h3>\n <div>\n {data.popularArticles.map((article, index) => (\n <Article\n key={article.id}\n id={article.id}\n category={article.category}\n title={article.title}\n timeToRead={article.timeToRead}\n viewCount={article.viewCount}\n commentCount={article.commentCount}\n isLastChild={\n !isLastChild(data.popularArticles, index)\n }\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport default Categories\n"],"names":["Categories","data","useSWR","apiGetSupportHubCategories","setSelectedTopic","useHelpCenterStore","state","setQueryText","handleTopicClick","topic","jsxs","category","jsx","categoryIcon","article","index","Article","isLastChild"],"mappings":";;;;;;;AASA,MAAMA,IAAa,MAAM;AACrB,QAAM,EAAE,MAAAC,MAASC;AAAA,IACb,CAAC,mBAAmB;AAAA,IACpB,MAAMC,EAAA;AAAA,IACN;AAAA,MACI,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IAAA;AAAA,EAC3B,GAGEC,IAAmBC;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEfC,IAAeF,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAE/DE,IAAmB,CAACC,MAAkB;AACxC,IAAAL,EAAiBK,CAAK,GACtBF,EAAa,EAAE;AAAA,EACnB;AAEA,SACI,gBAAAG,EAAC,OAAA,EAAI,WAAU,wBACV,UAAA;AAAA,IAAAT,KACGA,EAAK,WAAW,IAAI,CAACU,wBAChB,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,QAAQ,UAAAD,EAAS,MAAK;AAAA,MACpC,gBAAAC,EAAC,SAAI,WAAU,yCACV,YAAS,OAAO,IAAI,CAACH,MAClB,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UAEG,WAAU;AAAA,UACV,MAAK;AAAA,UACL,SAAS,MAAMJ,EAAiBC,EAAM,EAAE;AAAA,UAExC,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,oCACX,UAAA;AAAA,YAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,yEACX,UAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,oEACX,UAAAC,EAAaJ,EAAM,EAAE,EAAA,CAC1B,GACJ;AAAA,YACA,gBAAAG,EAAC,MAAA,EAAG,WAAU,6DACT,YAAM,MACX;AAAA,YACA,gBAAAA,EAAC,KAAA,EAAE,WAAU,qFACR,YAAM,aACX;AAAA,YACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,qEACV,UAAA;AAAA,cAAAD,EAAM;AAAA,cAAc;AAAA,YAAA,EAAA,CACzB;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA;AAAA,QApBKA,EAAM;AAAA,MAAA,CAsBlB,EAAA,CACL;AAAA,IAAA,KA5BME,EAAS,IA6BnB,CACH;AAAA,IACJV,uBACI,OAAA,EACG,UAAA;AAAA,MAAA,gBAAAW,EAAC,MAAA,EAAG,WAAU,QAAO,UAAA,oBAAgB;AAAA,wBACpC,OAAA,EACI,UAAAX,EAAK,gBAAgB,IAAI,CAACa,GAASC,MAChC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UAEG,IAAIF,EAAQ;AAAA,UACZ,UAAUA,EAAQ;AAAA,UAClB,OAAOA,EAAQ;AAAA,UACf,YAAYA,EAAQ;AAAA,UACpB,WAAWA,EAAQ;AAAA,UACnB,cAAcA,EAAQ;AAAA,UACtB,aACI,CAACG,EAAYhB,EAAK,iBAAiBc,CAAK;AAAA,QAAA;AAAA,QARvCD,EAAQ;AAAA,MAAA,CAWpB,EAAA,CACL;AAAA,IAAA,EAAA,CACJ;AAAA,EAAA,GAER;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TopSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/TopSection.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Button from '@/components/ui/Button'\nimport Container from '@/components/shared/Container'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { TbSearch } from 'react-icons/tb'\n\nconst TopSection = () => {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n\n const handleSetQueryText = () => {\n const value = inputRef.current?.value\n\n if (value) {\n setQueryText(inputRef.current?.value as string)\n setSelectedTopic('')\n }\n }\n\n return (\n <section className=\"flex flex-col justify-center h-[300px] bg-gradient-to-tr from-cyan-100 via-violet-100 to-fuchsia-100 dark:from-cyan-500 dark:via-violet-500 dark:to-fuchsia-500\">\n <Container className=\"flex flex-col items-center px-4\">\n <div className=\"mb-6 flex flex-col items-center\">\n <h2 className=\"mb-4 text-center\">\n Assistance & Support Center\n </h2>\n <p className=\"max-w-[350px] dark:text-gray-200 text-center\">\n Search for answers, browse our FAQs, and access support\n resources all in one place.\n </p>\n </div>\n <div className=\"border border-gray-200 dark:border-gray-700 rounded-xl min-h-[50px] px-3 flex flex-col bg-white max-w-[800px] w-full\">\n <div className=\"flex items-center gap-2 w-full h-[56px]\">\n <input\n ref={inputRef}\n className=\"flex-1 h-full placeholder:text-gray-400 placeholder:font-semibold font-semibold bg-transparent focus:outline-none heading-text\"\n placeholder=\"Type to search an article\"\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n handleSetQueryText()\n }\n\n if (\n event.key === 'Backspace' &&\n (event.target as HTMLInputElement).value\n .length <= 1\n ) {\n setQueryText('')\n }\n }}\n />\n <Button\n size=\"xs\"\n shape=\"circle\"\n variant=\"solid\"\n icon={<TbSearch />}\n onClick={handleSetQueryText}\n />\n </div>\n </div>\n </Container>\n </section>\n )\n}\n\nexport default TopSection\n"],"names":["TopSection","inputRef","useRef","setQueryText","useHelpCenterStore","state","setSelectedTopic","handleSetQueryText","_a","_b","jsxs","Container","jsx","event","Button","TbSearch"],"mappings":";;;;;;;AAMA,MAAMA,IAAa,MAAM;AACrB,QAAMC,IAAWC,EAAyB,IAAI,GAExCC,IAAeC,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAC/DC,IAAmBF;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAGfE,IAAqB,MAAM;;AAG7B,MAFcC,IAAAP,EAAS,YAAT,gBAAAO,EAAkB,WAG5BL,GAAaM,IAAAR,EAAS,YAAT,gBAAAQ,EAAkB,KAAe,GAC9CH,EAAiB,EAAE;AAAA,EACvB;AAGJ,2BACK,WAAA,EAAQ,WAAU,mKACf,UAAA,gBAAAI,EAACC,GAAA,EAAU,WAAU,mCACjB,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,mCACX,UAAA;AAAA,MAAA,gBAAAE,EAAC,MAAA,EAAG,WAAU,oBAAmB,UAAA,+BAEjC;AAAA,MACA,gBAAAA,EAAC,KAAA,EAAE,WAAU,gDAA+C,UAAA,sFAAA,CAG5D;AAAA,IAAA,GACJ;AAAA,sBACC,OAAA,EAAI,WAAU,wHACX,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,2CACX,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAKX;AAAA,UACL,WAAU;AAAA,UACV,aAAY;AAAA,UACZ,WAAW,CAACY,MAAU;AAClB,YAAIA,EAAM,QAAQ,WACdN,EAAA,GAIAM,EAAM,QAAQ,eACbA,EAAM,OAA4B,MAC9B,UAAU,KAEfV,EAAa,EAAE;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,MAEJ,gBAAAS;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,MAAK;AAAA,UACL,OAAM;AAAA,UACN,SAAQ;AAAA,UACR,wBAAOC,GAAA,EAAS;AAAA,UAChB,SAASR;AAAA,QAAA;AAAA,MAAA;AAAA,IACb,EAAA,CACJ,EAAA,CACJ;AAAA,EAAA,EAAA,CACJ,EAAA,CACJ;AAER;"}
1
+ {"version":3,"file":"TopSection.js","sources":["../../../../../../../lib/@ecme/views/concepts/help-center/SupportHub/components/TopSection.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Button from '@/components/ui/Button'\nimport Container from '@/components/shared/Container'\nimport { useHelpCenterStore } from '../store/helpCenterStore'\nimport { TbSearch } from 'react-icons/tb'\n\nconst TopSection = () => {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const setQueryText = useHelpCenterStore((state) => state.setQueryText)\n const setSelectedTopic = useHelpCenterStore(\n (state) => state.setSelectedTopic,\n )\n\n const handleSetQueryText = () => {\n const value = inputRef.current?.value\n\n if (value) {\n setQueryText(inputRef.current?.value as string)\n setSelectedTopic('')\n }\n }\n\n return (\n <section className=\"flex flex-col justify-center h-[300px] bg-gradient-to-tr from-cyan-100 via-violet-100 to-fuchsia-100 dark:from-cyan-500 dark:via-violet-500 dark:to-fuchsia-500\">\n <Container className=\"flex flex-col items-center px-4\">\n <div className=\"mb-6 flex flex-col items-center\">\n <h2 className=\"mb-4 text-center\">\n Assistance & Support Center\n </h2>\n <p className=\"max-w-[350px] dark:text-gray-200 text-center\">\n Search for answers, browse our FAQs, and access support\n resources all in one place.\n </p>\n </div>\n <div className=\"border border-gray-200 dark:border-gray-700 rounded-xl min-h-[50px] px-3 flex flex-col bg-white max-w-[800px] w-full\">\n <div className=\"flex items-center gap-2 w-full h-[56px]\">\n <input\n ref={inputRef}\n className=\"flex-1 h-full placeholder:text-gray-400 placeholder:font-semibold font-semibold bg-transparent focus:outline-none heading-text\"\n placeholder=\"Type to search an article\"\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n handleSetQueryText()\n }\n\n if (\n event.key === 'Backspace' &&\n (event.target as HTMLInputElement).value\n .length <= 1\n ) {\n setQueryText('')\n }\n }}\n />\n <Button\n size=\"xs\"\n shape=\"circle\"\n variant=\"solid\"\n icon={<TbSearch />}\n onClick={handleSetQueryText}\n />\n </div>\n </div>\n </Container>\n </section>\n )\n}\n\nexport default TopSection\n"],"names":["TopSection","inputRef","useRef","setQueryText","useHelpCenterStore","state","setSelectedTopic","handleSetQueryText","_a","_b","jsxs","Container","jsx","event","Button","TbSearch"],"mappings":";;;;;;;AAMA,MAAMA,IAAa,MAAM;AACrB,QAAMC,IAAWC,EAAyB,IAAI,GAExCC,IAAeC,EAAmB,CAACC,MAAUA,EAAM,YAAY,GAC/DC,IAAmBF;AAAA,IACrB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAGfE,IAAqB,MAAM;;AAG7B,MAFcC,IAAAP,EAAS,YAAT,gBAAAO,EAAkB,WAG5BL,GAAaM,IAAAR,EAAS,YAAT,gBAAAQ,EAAkB,KAAe,GAC9CH,EAAiB,EAAE;AAAA,EAE3B;AAEA,2BACK,WAAA,EAAQ,WAAU,mKACf,UAAA,gBAAAI,EAACC,GAAA,EAAU,WAAU,mCACjB,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,mCACX,UAAA;AAAA,MAAA,gBAAAE,EAAC,MAAA,EAAG,WAAU,oBAAmB,UAAA,+BAEjC;AAAA,MACA,gBAAAA,EAAC,KAAA,EAAE,WAAU,gDAA+C,UAAA,sFAAA,CAG5D;AAAA,IAAA,GACJ;AAAA,sBACC,OAAA,EAAI,WAAU,wHACX,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,2CACX,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAKX;AAAA,UACL,WAAU;AAAA,UACV,aAAY;AAAA,UACZ,WAAW,CAACY,MAAU;AAClB,YAAIA,EAAM,QAAQ,WACdN,EAAA,GAIAM,EAAM,QAAQ,eACbA,EAAM,OAA4B,MAC9B,UAAU,KAEfV,EAAa,EAAE;AAAA,UAEvB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEJ,gBAAAS;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,MAAK;AAAA,UACL,OAAM;AAAA,UACN,SAAQ;AAAA,UACR,wBAAOC,GAAA,EAAS;AAAA,UAChB,SAASR;AAAA,QAAA;AAAA,MAAA;AAAA,IACb,EAAA,CACJ,EAAA,CACJ;AAAA,EAAA,EAAA,CACJ,EAAA,CACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailBody.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailBody.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport AdaptiveCard from '@/components/shared/AdaptiveCard'\nimport MailList from './MailList'\nimport MailSidebar from './MailSidebar'\nimport MailDetail from './MailDetail'\nimport MailBodyTop from './MailBodyTop'\nimport useMail from '../hooks/useMail'\nimport useQuery from '@/utils/hooks/useQuery'\nimport { useMailStore } from '../store/mailStore'\nimport isEmpty from 'lodash/isEmpty'\n\nconst MailBody = () => {\n const query = useQuery()\n\n const id = query.get('mail')\n\n const { fetchMail } = useMail()\n\n const { mail } = useMailStore()\n\n useEffect(() => {\n if (id && isEmpty(mail)) {\n fetchMail(id)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id])\n\n return (\n <AdaptiveCard\n className=\"h-full border-0\"\n bodyClass=\"h-full flex flex-col\"\n >\n <div className=\"flex flex-auto h-full\">\n <MailSidebar />\n <div className=\"ltr:lg:pl-6 rtl:lg:pr-6 flex-1\">\n <MailBodyTop />\n <div className=\"relative h-[calc(100%-70px)]\">\n {isEmpty(mail) ? (\n <MailList />\n ) : (\n <MailDetail mail={mail} />\n )}\n </div>\n </div>\n </div>\n </AdaptiveCard>\n )\n}\n\nexport default MailBody\n"],"names":["MailBody","id","useQuery","fetchMail","useMail","mail","useMailStore","useEffect","isEmpty","jsx","AdaptiveCard","jsxs","MailSidebar","MailBodyTop","MailList","MailDetail"],"mappings":";;;;;;;;;;;AAWA,MAAMA,IAAW,MAAM;AAGnB,QAAMC,IAFQC,EAAA,EAEG,IAAI,MAAM,GAErB,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAAC,EAAA,IAASC,EAAA;AAEjB,SAAAC,EAAU,MAAM;AACZ,IAAIN,KAAMO,EAAQH,CAAI,KAClBF,EAAUF,CAAE;AAAA,EAChB,GAED,CAACA,CAAE,CAAC,GAGH,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,yBACX,UAAA;AAAA,QAAA,gBAAAF,EAACG,GAAA,EAAY;AAAA,QACb,gBAAAD,EAAC,OAAA,EAAI,WAAU,kCACX,UAAA;AAAA,UAAA,gBAAAF,EAACI,GAAA,EAAY;AAAA,UACb,gBAAAJ,EAAC,OAAA,EAAI,WAAU,gCACV,UAAAD,EAAQH,CAAI,IACT,gBAAAI,EAACK,GAAA,CAAA,CAAS,IAEV,gBAAAL,EAACM,GAAA,EAAW,MAAAV,GAAY,EAAA,CAEhC;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"MailBody.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailBody.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport AdaptiveCard from '@/components/shared/AdaptiveCard'\nimport MailList from './MailList'\nimport MailSidebar from './MailSidebar'\nimport MailDetail from './MailDetail'\nimport MailBodyTop from './MailBodyTop'\nimport useMail from '../hooks/useMail'\nimport useQuery from '@/utils/hooks/useQuery'\nimport { useMailStore } from '../store/mailStore'\nimport isEmpty from 'lodash/isEmpty'\n\nconst MailBody = () => {\n const query = useQuery()\n\n const id = query.get('mail')\n\n const { fetchMail } = useMail()\n\n const { mail } = useMailStore()\n\n useEffect(() => {\n if (id && isEmpty(mail)) {\n fetchMail(id)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id])\n\n return (\n <AdaptiveCard\n className=\"h-full border-0\"\n bodyClass=\"h-full flex flex-col\"\n >\n <div className=\"flex flex-auto h-full\">\n <MailSidebar />\n <div className=\"ltr:lg:pl-6 rtl:lg:pr-6 flex-1\">\n <MailBodyTop />\n <div className=\"relative h-[calc(100%-70px)]\">\n {isEmpty(mail) ? (\n <MailList />\n ) : (\n <MailDetail mail={mail} />\n )}\n </div>\n </div>\n </div>\n </AdaptiveCard>\n )\n}\n\nexport default MailBody\n"],"names":["MailBody","id","useQuery","fetchMail","useMail","mail","useMailStore","useEffect","isEmpty","jsx","AdaptiveCard","jsxs","MailSidebar","MailBodyTop","MailList","MailDetail"],"mappings":";;;;;;;;;;;AAWA,MAAMA,IAAW,MAAM;AAGnB,QAAMC,IAFQC,EAAA,EAEG,IAAI,MAAM,GAErB,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAAC,EAAA,IAASC,EAAA;AAEjB,SAAAC,EAAU,MAAM;AACZ,IAAIN,KAAMO,EAAQH,CAAI,KAClBF,EAAUF,CAAE;AAAA,EAGpB,GAAG,CAACA,CAAE,CAAC,GAGH,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,yBACX,UAAA;AAAA,QAAA,gBAAAF,EAACG,GAAA,EAAY;AAAA,QACb,gBAAAD,EAAC,OAAA,EAAI,WAAU,kCACX,UAAA;AAAA,UAAA,gBAAAF,EAACI,GAAA,EAAY;AAAA,UACb,gBAAAJ,EAAC,OAAA,EAAI,WAAU,gCACV,UAAAD,EAAQH,CAAI,IACT,gBAAAI,EAACK,GAAA,CAAA,CAAS,IAEV,gBAAAL,EAACM,GAAA,EAAW,MAAAV,GAAY,EAAA,CAEhC;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailBodyTop.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailBodyTop.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dropdown from '@/components/ui/Dropdown'\nimport Badge from '@/components/ui/Badge'\nimport MailDeleteConfimation from './MailDeleteConfimation'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useMailStore } from '../store/mailStore'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport { TbMail, TbTrash, TbMenu2 } from 'react-icons/tb'\n\nconst MailBodyTop = () => {\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const { selectedMailId, toggleMessageDialog, toggleMobileSidebar } =\n useMailStore()\n\n const { onMailDelete, onBatchMoveMailClick } = useMailAction()\n\n const { smaller } = useResponsive()\n\n const hasMailSelected = selectedMailId.length > 0\n\n const handleClose = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleConfirmDelete = () => {\n onMailDelete(selectedMailId)\n handleClose()\n }\n\n const handleMoveMailClick = (destination: string) => {\n onBatchMoveMailClick(selectedMailId, destination)\n }\n\n return (\n <>\n <div className=\"flex items-center justify-between mb-6\">\n <div className=\"flex items-center gap-2\">\n {smaller.xl && (\n <button\n className=\"close-button\"\n type=\"button\"\n onClick={() => toggleMobileSidebar(true)}\n >\n <TbMenu2 />\n </button>\n )}\n {hasMailSelected && (\n <h5>{selectedMailId.length} items selected</h5>\n )}\n </div>\n <div className=\"inline-flex items-center gap-2\">\n {hasMailSelected ? (\n <>\n <Dropdown\n renderTitle={<Button size=\"sm\">Move to</Button>}\n placement=\"bottom-end\"\n >\n {labelList.map((item) => (\n <Dropdown.Item\n key={item.value}\n onClick={() =>\n handleMoveMailClick(item.value)\n }\n >\n <Badge className={item.dotClass} />\n <span>{item.label}</span>\n </Dropdown.Item>\n ))}\n </Dropdown>\n <Button\n size=\"sm\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-0 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={() => setDeleteConfirmationOpen(true)}\n >\n Delete\n </Button>\n </>\n ) : (\n <Button\n variant=\"solid\"\n icon={<TbMail />}\n size=\"sm\"\n onClick={() =>\n toggleMessageDialog({\n open: true,\n mode: 'new',\n })\n }\n >\n New email\n </Button>\n )}\n </div>\n </div>\n <MailDeleteConfimation\n isOpen={deleteConfirmationOpen}\n selectedMailCount={selectedMailId.length}\n onClose={handleClose}\n onConfirmDelete={handleConfirmDelete}\n />\n </>\n )\n}\n\nexport default MailBodyTop\n"],"names":["MailBodyTop","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","selectedMailId","toggleMessageDialog","toggleMobileSidebar","useMailStore","onMailDelete","onBatchMoveMailClick","useMailAction","smaller","useResponsive","hasMailSelected","handleClose","handleConfirmDelete","handleMoveMailClick","destination","jsxs","Fragment","jsx","TbMenu2","Dropdown","Button","labelList","item","Badge","TbTrash","TbMail","MailDeleteConfimation"],"mappings":";;;;;;;;;;;;;AAWA,MAAMA,IAAc,MAAM;AACtB,QAAM,CAACC,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GAEpE,EAAE,gBAAAC,GAAgB,qBAAAC,GAAqB,qBAAAC,EAAA,IACzCC,EAAA,GAEE,EAAE,cAAAC,GAAc,sBAAAC,EAAA,IAAyBC,EAAA,GAEzC,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEdC,IAAkBT,EAAe,SAAS,GAE1CU,IAAc,MAAM;AACtB,IAAAZ,EAA0B,EAAK;AAAA,EAAA,GAG7Ba,IAAsB,MAAM;AAC9B,IAAAP,EAAaJ,CAAc,GAC3BU,EAAA;AAAA,EAAY,GAGVE,IAAsB,CAACC,MAAwB;AACjD,IAAAR,EAAqBL,GAAgBa,CAAW;AAAA,EAAA;AAGpD,SACI,gBAAAC,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACV,UAAA;AAAA,QAAAP,EAAQ,MACL,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,MAAK;AAAA,YACL,SAAS,MAAMd,EAAoB,EAAI;AAAA,YAEvC,4BAACe,GAAA,CAAA,CAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGhBR,uBACI,MAAA,EAAI,UAAA;AAAA,UAAAT,EAAe;AAAA,UAAO;AAAA,QAAA,EAAA,CAAe;AAAA,MAAA,GAElD;AAAA,MACA,gBAAAgB,EAAC,OAAA,EAAI,WAAU,kCACV,cACG,gBAAAF,EAAAC,GAAA,EACI,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACG,aAAa,gBAAAF,EAACG,GAAA,EAAO,MAAK,MAAK,UAAA,WAAO;AAAA,YACtC,WAAU;AAAA,YAET,UAAAC,EAAU,IAAI,CAACC,MACZ,gBAAAP;AAAA,cAACI,EAAS;AAAA,cAAT;AAAA,gBAEG,SAAS,MACLN,EAAoBS,EAAK,KAAK;AAAA,gBAGlC,UAAA;AAAA,kBAAA,gBAAAL,EAACM,GAAA,EAAM,WAAWD,EAAK,SAAA,CAAU;AAAA,kBACjC,gBAAAL,EAAC,QAAA,EAAM,UAAAK,EAAK,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,cANbA,EAAK;AAAA,YAAA,CAQjB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEL,gBAAAL;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,MAAK;AAAA,YACL,kBAAkB,MACd;AAAA,YAEJ,wBAAOI,GAAA,EAAQ;AAAA,YACf,SAAS,MAAMzB,EAA0B,EAAI;AAAA,YAChD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CACJ,IAEA,gBAAAkB;AAAA,QAACG;AAAA,QAAA;AAAA,UACG,SAAQ;AAAA,UACR,wBAAOK,GAAA,EAAO;AAAA,UACd,MAAK;AAAA,UACL,SAAS,MACLvB,EAAoB;AAAA,YAChB,MAAM;AAAA,YACN,MAAM;AAAA,UAAA,CACT;AAAA,UAER,UAAA;AAAA,QAAA;AAAA,MAAA,EAED,CAER;AAAA,IAAA,GACJ;AAAA,IACA,gBAAAe;AAAA,MAACS;AAAA,MAAA;AAAA,QACG,QAAQ5B;AAAA,QACR,mBAAmBG,EAAe;AAAA,QAClC,SAASU;AAAA,QACT,iBAAiBC;AAAA,MAAA;AAAA,IAAA;AAAA,EACrB,GACJ;AAER;"}
1
+ {"version":3,"file":"MailBodyTop.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailBodyTop.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dropdown from '@/components/ui/Dropdown'\nimport Badge from '@/components/ui/Badge'\nimport MailDeleteConfimation from './MailDeleteConfimation'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { useMailStore } from '../store/mailStore'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport { TbMail, TbTrash, TbMenu2 } from 'react-icons/tb'\n\nconst MailBodyTop = () => {\n const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false)\n\n const { selectedMailId, toggleMessageDialog, toggleMobileSidebar } =\n useMailStore()\n\n const { onMailDelete, onBatchMoveMailClick } = useMailAction()\n\n const { smaller } = useResponsive()\n\n const hasMailSelected = selectedMailId.length > 0\n\n const handleClose = () => {\n setDeleteConfirmationOpen(false)\n }\n\n const handleConfirmDelete = () => {\n onMailDelete(selectedMailId)\n handleClose()\n }\n\n const handleMoveMailClick = (destination: string) => {\n onBatchMoveMailClick(selectedMailId, destination)\n }\n\n return (\n <>\n <div className=\"flex items-center justify-between mb-6\">\n <div className=\"flex items-center gap-2\">\n {smaller.xl && (\n <button\n className=\"close-button\"\n type=\"button\"\n onClick={() => toggleMobileSidebar(true)}\n >\n <TbMenu2 />\n </button>\n )}\n {hasMailSelected && (\n <h5>{selectedMailId.length} items selected</h5>\n )}\n </div>\n <div className=\"inline-flex items-center gap-2\">\n {hasMailSelected ? (\n <>\n <Dropdown\n renderTitle={<Button size=\"sm\">Move to</Button>}\n placement=\"bottom-end\"\n >\n {labelList.map((item) => (\n <Dropdown.Item\n key={item.value}\n onClick={() =>\n handleMoveMailClick(item.value)\n }\n >\n <Badge className={item.dotClass} />\n <span>{item.label}</span>\n </Dropdown.Item>\n ))}\n </Dropdown>\n <Button\n size=\"sm\"\n type=\"button\"\n customColorClass={() =>\n 'border-error ring-0 ring-error text-error hover:border-error hover:ring-error hover:text-error bg-transparent'\n }\n icon={<TbTrash />}\n onClick={() => setDeleteConfirmationOpen(true)}\n >\n Delete\n </Button>\n </>\n ) : (\n <Button\n variant=\"solid\"\n icon={<TbMail />}\n size=\"sm\"\n onClick={() =>\n toggleMessageDialog({\n open: true,\n mode: 'new',\n })\n }\n >\n New email\n </Button>\n )}\n </div>\n </div>\n <MailDeleteConfimation\n isOpen={deleteConfirmationOpen}\n selectedMailCount={selectedMailId.length}\n onClose={handleClose}\n onConfirmDelete={handleConfirmDelete}\n />\n </>\n )\n}\n\nexport default MailBodyTop\n"],"names":["MailBodyTop","deleteConfirmationOpen","setDeleteConfirmationOpen","useState","selectedMailId","toggleMessageDialog","toggleMobileSidebar","useMailStore","onMailDelete","onBatchMoveMailClick","useMailAction","smaller","useResponsive","hasMailSelected","handleClose","handleConfirmDelete","handleMoveMailClick","destination","jsxs","Fragment","jsx","TbMenu2","Dropdown","Button","labelList","item","Badge","TbTrash","TbMail","MailDeleteConfimation"],"mappings":";;;;;;;;;;;;;AAWA,MAAMA,IAAc,MAAM;AACtB,QAAM,CAACC,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GAEpE,EAAE,gBAAAC,GAAgB,qBAAAC,GAAqB,qBAAAC,EAAA,IACzCC,EAAA,GAEE,EAAE,cAAAC,GAAc,sBAAAC,EAAA,IAAyBC,EAAA,GAEzC,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEdC,IAAkBT,EAAe,SAAS,GAE1CU,IAAc,MAAM;AACtB,IAAAZ,EAA0B,EAAK;AAAA,EACnC,GAEMa,IAAsB,MAAM;AAC9B,IAAAP,EAAaJ,CAAc,GAC3BU,EAAA;AAAA,EACJ,GAEME,IAAsB,CAACC,MAAwB;AACjD,IAAAR,EAAqBL,GAAgBa,CAAW;AAAA,EACpD;AAEA,SACI,gBAAAC,EAAAC,GAAA,EACI,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACV,UAAA;AAAA,QAAAP,EAAQ,MACL,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,MAAK;AAAA,YACL,SAAS,MAAMd,EAAoB,EAAI;AAAA,YAEvC,4BAACe,GAAA,CAAA,CAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGhBR,uBACI,MAAA,EAAI,UAAA;AAAA,UAAAT,EAAe;AAAA,UAAO;AAAA,QAAA,EAAA,CAAe;AAAA,MAAA,GAElD;AAAA,MACA,gBAAAgB,EAAC,OAAA,EAAI,WAAU,kCACV,cACG,gBAAAF,EAAAC,GAAA,EACI,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACG,aAAa,gBAAAF,EAACG,GAAA,EAAO,MAAK,MAAK,UAAA,WAAO;AAAA,YACtC,WAAU;AAAA,YAET,UAAAC,EAAU,IAAI,CAACC,MACZ,gBAAAP;AAAA,cAACI,EAAS;AAAA,cAAT;AAAA,gBAEG,SAAS,MACLN,EAAoBS,EAAK,KAAK;AAAA,gBAGlC,UAAA;AAAA,kBAAA,gBAAAL,EAACM,GAAA,EAAM,WAAWD,EAAK,SAAA,CAAU;AAAA,kBACjC,gBAAAL,EAAC,QAAA,EAAM,UAAAK,EAAK,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,cANbA,EAAK;AAAA,YAAA,CAQjB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEL,gBAAAL;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,MAAK;AAAA,YACL,kBAAkB,MACd;AAAA,YAEJ,wBAAOI,GAAA,EAAQ;AAAA,YACf,SAAS,MAAMzB,EAA0B,EAAI;AAAA,YAChD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CACJ,IAEA,gBAAAkB;AAAA,QAACG;AAAA,QAAA;AAAA,UACG,SAAQ;AAAA,UACR,wBAAOK,GAAA,EAAO;AAAA,UACd,MAAK;AAAA,UACL,SAAS,MACLvB,EAAoB;AAAA,YAChB,MAAM;AAAA,YACN,MAAM;AAAA,UAAA,CACT;AAAA,UAER,UAAA;AAAA,QAAA;AAAA,MAAA,EAED,CAER;AAAA,IAAA,GACJ;AAAA,IACA,gBAAAe;AAAA,MAACS;AAAA,MAAA;AAAA,QACG,QAAQ5B;AAAA,QACR,mBAAmBG,EAAe;AAAA,QAClC,SAASU;AAAA,QACT,iBAAiBC;AAAA,MAAA;AAAA,IAAA;AAAA,EACrB,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailDetailAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailDetailAction.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Dropdown from '@/components/ui/Dropdown'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Badge from '@/components/ui/Badge'\nimport ActionButton from './ActionButton'\nimport { useMailStore } from '../store/mailStore'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport classNames from '@/utils/classNames'\nimport {\n TbDotsVertical,\n TbArrowBackUp,\n TbStarFilled,\n TbFlag,\n TbFolderSymlink,\n TbStar,\n} from 'react-icons/tb'\nimport type { Mail } from '../types'\nimport type { DropdownRef } from '@/components/ui/Dropdown'\n\ntype MailDetailAction = {\n onMailReplyClick: () => void\n}\n\nconst MailDetailAction = () => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const { mail, toggleMessageDialog } = useMailStore()\n\n const { onFlagToggle, onMoveMailClick, onStarToggle } = useMailAction()\n\n const handleMoveMailClick = (destination: string) => {\n onMoveMailClick(mail as Mail, destination)\n dropdownRef.current?.handleDropdownClose()\n }\n\n const handleReplyClick = () => {\n toggleMessageDialog({\n mode: 'reply',\n open: true,\n })\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <Tooltip title=\"Reply\">\n <ActionButton onClick={handleReplyClick}>\n <TbArrowBackUp />\n </ActionButton>\n </Tooltip>\n <Dropdown\n ref={dropdownRef}\n placement=\"bottom-end\"\n renderTitle={\n <ActionButton>\n <TbDotsVertical />\n </ActionButton>\n }\n >\n <Dropdown.Item\n eventKey=\"star\"\n onClick={() => onStarToggle(mail as Mail)}\n >\n <span className=\"text-lg\">\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </span>\n <span>Star</span>\n </Dropdown.Item>\n <Dropdown.Item\n eventKey=\"flag\"\n onClick={() => onFlagToggle(mail as Mail)}\n >\n <TbFlag\n className={classNames(\n 'text-lg',\n mail.flagged && 'text-red-500',\n )}\n />\n <span>Flag</span>\n </Dropdown.Item>\n <Dropdown.Menu\n renderTitle={\n <>\n <span className=\"flex items-center gap-2\">\n <TbFolderSymlink className=\"text-lg\" />\n <span>Move to</span>\n </span>\n </>\n }\n placement=\"left-start\"\n >\n {labelList.map((item) => (\n <Dropdown.Item\n key={item.value}\n onClick={() => handleMoveMailClick(item.value)}\n >\n <Badge className={item.dotClass} />\n <span>{item.label}</span>\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n )\n}\n\nexport default MailDetailAction\n"],"names":["MailDetailAction","dropdownRef","useRef","mail","toggleMessageDialog","useMailStore","onFlagToggle","onMoveMailClick","onStarToggle","useMailAction","handleMoveMailClick","destination","_a","jsxs","jsx","Tooltip","ActionButton","TbArrowBackUp","Dropdown","TbDotsVertical","TbStarFilled","TbStar","TbFlag","classNames","Fragment","TbFolderSymlink","labelList","item","Badge"],"mappings":";;;;;;;;;;;;;AAwBA,MAAMA,IAAmB,MAAM;AAC3B,QAAMC,IAAcC,EAAoB,IAAI,GAEtC,EAAE,MAAAC,GAAM,qBAAAC,EAAA,IAAwBC,EAAA,GAEhC,EAAE,cAAAC,GAAc,iBAAAC,GAAiB,cAAAC,EAAA,IAAiBC,EAAA,GAElDC,IAAsB,CAACC,MAAwB;;AACjD,IAAAJ,EAAgBJ,GAAcQ,CAAW,IACzCC,IAAAX,EAAY,YAAZ,QAAAW,EAAqB;AAAA,EAAoB;AAU7C,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAQ,OAAM,SACX,UAAA,gBAAAD,EAACE,GAAA,EAAa,SAVD,MAAM;AAC3B,MAAAZ,EAAoB;AAAA,QAChB,MAAM;AAAA,QACN,MAAM;AAAA,MAAA,CACT;AAAA,IAAA,GAOW,UAAA,gBAAAU,EAACG,GAAA,CAAA,CAAc,EAAA,CACnB,GACJ;AAAA,IACA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACG,KAAKjB;AAAA,QACL,WAAU;AAAA,QACV,aACI,gBAAAa,EAACE,GAAA,EACG,UAAA,gBAAAF,EAACK,KAAe,GACpB;AAAA,QAGJ,UAAA;AAAA,UAAA,gBAAAN;AAAA,YAACK,EAAS;AAAA,YAAT;AAAA,cACG,UAAS;AAAA,cACT,SAAS,MAAMV,EAAaL,CAAY;AAAA,cAExC,UAAA;AAAA,gBAAA,gBAAAW,EAAC,QAAA,EAAK,WAAU,WACX,UAAAX,EAAK,UACF,gBAAAW,EAACM,GAAA,EAAa,WAAU,iBAAA,CAAiB,IAEzC,gBAAAN,EAACO,GAAA,CAAA,CAAO,GAEhB;AAAA,gBACA,gBAAAP,EAAC,UAAK,UAAA,OAAA,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAAD;AAAA,YAACK,EAAS;AAAA,YAAT;AAAA,cACG,UAAS;AAAA,cACT,SAAS,MAAMZ,EAAaH,CAAY;AAAA,cAExC,UAAA;AAAA,gBAAA,gBAAAW;AAAA,kBAACQ;AAAA,kBAAA;AAAA,oBACG,WAAWC;AAAA,sBACP;AAAA,sBACApB,EAAK,WAAW;AAAA,oBAAA;AAAA,kBACpB;AAAA,gBAAA;AAAA,gBAEJ,gBAAAW,EAAC,UAAK,UAAA,OAAA,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAAA;AAAA,YAACI,EAAS;AAAA,YAAT;AAAA,cACG,aACI,gBAAAJ,EAAAU,GAAA,EACI,UAAA,gBAAAX,EAAC,QAAA,EAAK,WAAU,2BACZ,UAAA;AAAA,gBAAA,gBAAAC,EAACW,GAAA,EAAgB,WAAU,UAAA,CAAU;AAAA,gBACrC,gBAAAX,EAAC,UAAK,UAAA,UAAA,CAAO;AAAA,cAAA,EAAA,CACjB,EAAA,CACJ;AAAA,cAEJ,WAAU;AAAA,cAET,UAAAY,EAAU,IAAI,CAACC,MACZ,gBAAAd;AAAA,gBAACK,EAAS;AAAA,gBAAT;AAAA,kBAEG,SAAS,MAAMR,EAAoBiB,EAAK,KAAK;AAAA,kBAE7C,UAAA;AAAA,oBAAA,gBAAAb,EAACc,GAAA,EAAM,WAAWD,EAAK,SAAA,CAAU;AAAA,oBACjC,gBAAAb,EAAC,QAAA,EAAM,UAAAa,EAAK,MAAA,CAAM;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAJbA,EAAK;AAAA,cAAA,CAMjB;AAAA,YAAA;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
1
+ {"version":3,"file":"MailDetailAction.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailDetailAction.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport Dropdown from '@/components/ui/Dropdown'\nimport Tooltip from '@/components/ui/Tooltip'\nimport Badge from '@/components/ui/Badge'\nimport ActionButton from './ActionButton'\nimport { useMailStore } from '../store/mailStore'\nimport useMailAction from '../hooks/useMailAction'\nimport { labelList } from '../constants'\nimport classNames from '@/utils/classNames'\nimport {\n TbDotsVertical,\n TbArrowBackUp,\n TbStarFilled,\n TbFlag,\n TbFolderSymlink,\n TbStar,\n} from 'react-icons/tb'\nimport type { Mail } from '../types'\nimport type { DropdownRef } from '@/components/ui/Dropdown'\n\ntype MailDetailAction = {\n onMailReplyClick: () => void\n}\n\nconst MailDetailAction = () => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const { mail, toggleMessageDialog } = useMailStore()\n\n const { onFlagToggle, onMoveMailClick, onStarToggle } = useMailAction()\n\n const handleMoveMailClick = (destination: string) => {\n onMoveMailClick(mail as Mail, destination)\n dropdownRef.current?.handleDropdownClose()\n }\n\n const handleReplyClick = () => {\n toggleMessageDialog({\n mode: 'reply',\n open: true,\n })\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <Tooltip title=\"Reply\">\n <ActionButton onClick={handleReplyClick}>\n <TbArrowBackUp />\n </ActionButton>\n </Tooltip>\n <Dropdown\n ref={dropdownRef}\n placement=\"bottom-end\"\n renderTitle={\n <ActionButton>\n <TbDotsVertical />\n </ActionButton>\n }\n >\n <Dropdown.Item\n eventKey=\"star\"\n onClick={() => onStarToggle(mail as Mail)}\n >\n <span className=\"text-lg\">\n {mail.starred ? (\n <TbStarFilled className=\"text-amber-500\" />\n ) : (\n <TbStar />\n )}\n </span>\n <span>Star</span>\n </Dropdown.Item>\n <Dropdown.Item\n eventKey=\"flag\"\n onClick={() => onFlagToggle(mail as Mail)}\n >\n <TbFlag\n className={classNames(\n 'text-lg',\n mail.flagged && 'text-red-500',\n )}\n />\n <span>Flag</span>\n </Dropdown.Item>\n <Dropdown.Menu\n renderTitle={\n <>\n <span className=\"flex items-center gap-2\">\n <TbFolderSymlink className=\"text-lg\" />\n <span>Move to</span>\n </span>\n </>\n }\n placement=\"left-start\"\n >\n {labelList.map((item) => (\n <Dropdown.Item\n key={item.value}\n onClick={() => handleMoveMailClick(item.value)}\n >\n <Badge className={item.dotClass} />\n <span>{item.label}</span>\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n )\n}\n\nexport default MailDetailAction\n"],"names":["MailDetailAction","dropdownRef","useRef","mail","toggleMessageDialog","useMailStore","onFlagToggle","onMoveMailClick","onStarToggle","useMailAction","handleMoveMailClick","destination","_a","jsxs","jsx","Tooltip","ActionButton","TbArrowBackUp","Dropdown","TbDotsVertical","TbStarFilled","TbStar","TbFlag","classNames","Fragment","TbFolderSymlink","labelList","item","Badge"],"mappings":";;;;;;;;;;;;;AAwBA,MAAMA,IAAmB,MAAM;AAC3B,QAAMC,IAAcC,EAAoB,IAAI,GAEtC,EAAE,MAAAC,GAAM,qBAAAC,EAAA,IAAwBC,EAAA,GAEhC,EAAE,cAAAC,GAAc,iBAAAC,GAAiB,cAAAC,EAAA,IAAiBC,EAAA,GAElDC,IAAsB,CAACC,MAAwB;;AACjD,IAAAJ,EAAgBJ,GAAcQ,CAAW,IACzCC,IAAAX,EAAY,YAAZ,QAAAW,EAAqB;AAAA,EACzB;AASA,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAQ,OAAM,SACX,UAAA,gBAAAD,EAACE,GAAA,EAAa,SAVD,MAAM;AAC3B,MAAAZ,EAAoB;AAAA,QAChB,MAAM;AAAA,QACN,MAAM;AAAA,MAAA,CACT;AAAA,IACL,GAMgB,UAAA,gBAAAU,EAACG,GAAA,CAAA,CAAc,EAAA,CACnB,GACJ;AAAA,IACA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACG,KAAKjB;AAAA,QACL,WAAU;AAAA,QACV,aACI,gBAAAa,EAACE,GAAA,EACG,UAAA,gBAAAF,EAACK,KAAe,GACpB;AAAA,QAGJ,UAAA;AAAA,UAAA,gBAAAN;AAAA,YAACK,EAAS;AAAA,YAAT;AAAA,cACG,UAAS;AAAA,cACT,SAAS,MAAMV,EAAaL,CAAY;AAAA,cAExC,UAAA;AAAA,gBAAA,gBAAAW,EAAC,QAAA,EAAK,WAAU,WACX,UAAAX,EAAK,UACF,gBAAAW,EAACM,GAAA,EAAa,WAAU,iBAAA,CAAiB,IAEzC,gBAAAN,EAACO,GAAA,CAAA,CAAO,GAEhB;AAAA,gBACA,gBAAAP,EAAC,UAAK,UAAA,OAAA,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAAD;AAAA,YAACK,EAAS;AAAA,YAAT;AAAA,cACG,UAAS;AAAA,cACT,SAAS,MAAMZ,EAAaH,CAAY;AAAA,cAExC,UAAA;AAAA,gBAAA,gBAAAW;AAAA,kBAACQ;AAAA,kBAAA;AAAA,oBACG,WAAWC;AAAA,sBACP;AAAA,sBACApB,EAAK,WAAW;AAAA,oBAAA;AAAA,kBACpB;AAAA,gBAAA;AAAA,gBAEJ,gBAAAW,EAAC,UAAK,UAAA,OAAA,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAAA;AAAA,YAACI,EAAS;AAAA,YAAT;AAAA,cACG,aACI,gBAAAJ,EAAAU,GAAA,EACI,UAAA,gBAAAX,EAAC,QAAA,EAAK,WAAU,2BACZ,UAAA;AAAA,gBAAA,gBAAAC,EAACW,GAAA,EAAgB,WAAU,UAAA,CAAU;AAAA,gBACrC,gBAAAX,EAAC,UAAK,UAAA,UAAA,CAAO;AAAA,cAAA,EAAA,CACjB,EAAA,CACJ;AAAA,cAEJ,WAAU;AAAA,cAET,UAAAY,EAAU,IAAI,CAACC,MACZ,gBAAAd;AAAA,gBAACK,EAAS;AAAA,gBAAT;AAAA,kBAEG,SAAS,MAAMR,EAAoBiB,EAAK,KAAK;AAAA,kBAE7C,UAAA;AAAA,oBAAA,gBAAAb,EAACc,GAAA,EAAM,WAAWD,EAAK,SAAA,CAAU;AAAA,oBACjC,gBAAAb,EAAC,QAAA,EAAM,UAAAa,EAAK,MAAA,CAAM;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAJbA,EAAK;AAAA,cAAA,CAMjB;AAAA,YAAA;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailDetailTitle.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.tsx"],"sourcesContent":["import ActionButton from './ActionButton'\nimport { useMailStore } from '../store/mailStore'\nimport { TbArrowLeft } from 'react-icons/tb'\nimport { useSearchParams } from 'react-router-dom'\n\nconst MailDetailTitle = () => {\n const { mail, setMail } = useMailStore()\n\n const [searchParams, setSearchParams] = useSearchParams()\n\n const handleBackButtonClick = () => {\n if (searchParams.has('mail')) {\n searchParams.delete('mail')\n setSearchParams(searchParams)\n }\n setMail({})\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <ActionButton onClick={handleBackButtonClick}>\n <TbArrowLeft />\n </ActionButton>\n <h4>{mail?.title}</h4>\n </div>\n )\n}\n\nexport default MailDetailTitle\n"],"names":["MailDetailTitle","mail","setMail","useMailStore","searchParams","setSearchParams","useSearchParams","jsxs","jsx","ActionButton","TbArrowLeft"],"mappings":";;;;;AAKA,MAAMA,IAAkB,MAAM;AAC1B,QAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYC,EAAA,GAEpB,CAACC,GAAcC,CAAe,IAAIC,EAAA;AAUxC,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAa,SAVQ,MAAM;AAChC,MAAIL,EAAa,IAAI,MAAM,MACvBA,EAAa,OAAO,MAAM,GAC1BC,EAAgBD,CAAY,IAEhCF,EAAQ,CAAA,CAAE;AAAA,IAAA,GAMF,UAAA,gBAAAM,EAACE,KAAY,GACjB;AAAA,IACA,gBAAAF,EAAC,MAAA,EAAI,UAAAP,KAAA,gBAAAA,EAAM,MAAA,CAAM;AAAA,EAAA,GACrB;AAER;"}
1
+ {"version":3,"file":"MailDetailTitle.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.tsx"],"sourcesContent":["import ActionButton from './ActionButton'\nimport { useMailStore } from '../store/mailStore'\nimport { TbArrowLeft } from 'react-icons/tb'\nimport { useSearchParams } from 'react-router-dom'\n\nconst MailDetailTitle = () => {\n const { mail, setMail } = useMailStore()\n\n const [searchParams, setSearchParams] = useSearchParams()\n\n const handleBackButtonClick = () => {\n if (searchParams.has('mail')) {\n searchParams.delete('mail')\n setSearchParams(searchParams)\n }\n setMail({})\n }\n\n return (\n <div className=\"flex items-center gap-2\">\n <ActionButton onClick={handleBackButtonClick}>\n <TbArrowLeft />\n </ActionButton>\n <h4>{mail?.title}</h4>\n </div>\n )\n}\n\nexport default MailDetailTitle\n"],"names":["MailDetailTitle","mail","setMail","useMailStore","searchParams","setSearchParams","useSearchParams","jsxs","jsx","ActionButton","TbArrowLeft"],"mappings":";;;;;AAKA,MAAMA,IAAkB,MAAM;AAC1B,QAAM,EAAE,MAAAC,GAAM,SAAAC,EAAA,IAAYC,EAAA,GAEpB,CAACC,GAAcC,CAAe,IAAIC,EAAA;AAUxC,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAa,SAVQ,MAAM;AAChC,MAAIL,EAAa,IAAI,MAAM,MACvBA,EAAa,OAAO,MAAM,GAC1BC,EAAgBD,CAAY,IAEhCF,EAAQ,CAAA,CAAE;AAAA,IACd,GAKY,UAAA,gBAAAM,EAACE,KAAY,GACjB;AAAA,IACA,gBAAAF,EAAC,MAAA,EAAI,UAAAP,KAAA,gBAAAA,EAAM,MAAA,CAAM;AAAA,EAAA,GACrB;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailEditor.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailEditor.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Input from '@/components/ui/Input'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport RichTextEditor from '@/components/shared/RichTextEditor'\nimport { useMailStore } from '../store/mailStore'\nimport { FormItem, Form } from '@/components/ui/Form'\nimport sleep from '@/utils/sleep'\nimport { useForm, Controller } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\n\ntype FormSchema = {\n to: string\n content?: string\n title?: string\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n to: z.string().min(1, { message: 'Please enter recipient' }),\n title: z.string(),\n content: z.string().min(1, { message: 'Please enter message' }),\n})\n\nconst MailEditor = () => {\n const { mail, messageDialog, toggleMessageDialog } = useMailStore()\n\n const [formSubmiting, setFormSubmiting] = useState(false)\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<FormSchema>({\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (messageDialog.mode === 'reply') {\n reset({\n to: mail.from,\n title: `Re:${mail.title}`,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messageDialog.mode])\n\n const handleDialogClose = () => {\n toggleMessageDialog({\n mode: '',\n open: false,\n })\n reset({\n to: '',\n title: '',\n content: '',\n })\n }\n\n const onSubmit = async (value: FormSchema) => {\n console.log('values', value)\n setFormSubmiting(true)\n await sleep(500)\n toast.push(<Notification type=\"success\">Mail send!</Notification>, {\n placement: 'top-center',\n })\n setFormSubmiting(false)\n handleDialogClose()\n }\n\n return (\n <Dialog\n isOpen={messageDialog.open}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <h4 className=\"mb-4\">\n {messageDialog.mode === 'new' && 'New Message'}\n {messageDialog.mode === 'reply' && 'Reply'}\n </h4>\n <Form onSubmit={handleSubmit(onSubmit)}>\n <FormItem\n label=\"Title:\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input\n autoComplete=\"off\"\n placeholder=\"Add a subject\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"To:\"\n invalid={Boolean(errors.to)}\n errorMessage={errors.to?.message}\n >\n <Controller\n name=\"to\"\n control={control}\n render={({ field }) => (\n <Input autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Message\"\n invalid={Boolean(errors.content)}\n errorMessage={errors.content?.message}\n >\n <Controller\n name=\"content\"\n control={control}\n render={({ field }) => (\n <RichTextEditor\n content={field.value}\n invalid={Boolean(errors.content)}\n onChange={({ html }) => {\n field.onChange(html)\n }}\n />\n )}\n />\n </FormItem>\n <div className=\"text-right mt-4\">\n <Button\n className=\"ltr:mr-2 rtl:ml-2\"\n variant=\"plain\"\n type=\"button\"\n onClick={handleDialogClose}\n >\n Discard\n </Button>\n <Button\n variant=\"solid\"\n loading={formSubmiting}\n type=\"submit\"\n >\n Send\n </Button>\n </div>\n </Form>\n </Dialog>\n )\n}\n\nexport default MailEditor\n"],"names":["validationSchema","z","MailEditor","mail","messageDialog","toggleMessageDialog","useMailStore","formSubmiting","setFormSubmiting","useState","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","handleDialogClose","onSubmit","value","sleep","toast","jsx","Notification","jsxs","Dialog","Form","FormItem","_a","Controller","field","Input","_b","_c","RichTextEditor","html","Button"],"mappings":"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"}
1
+ {"version":3,"file":"MailEditor.js","sources":["../../../../../../../lib/@ecme/views/concepts/mail/Mail/components/MailEditor.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Input from '@/components/ui/Input'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport RichTextEditor from '@/components/shared/RichTextEditor'\nimport { useMailStore } from '../store/mailStore'\nimport { FormItem, Form } from '@/components/ui/Form'\nimport sleep from '@/utils/sleep'\nimport { useForm, Controller } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport type { ZodType } from 'zod'\n\ntype FormSchema = {\n to: string\n content?: string\n title?: string\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n to: z.string().min(1, { message: 'Please enter recipient' }),\n title: z.string(),\n content: z.string().min(1, { message: 'Please enter message' }),\n})\n\nconst MailEditor = () => {\n const { mail, messageDialog, toggleMessageDialog } = useMailStore()\n\n const [formSubmiting, setFormSubmiting] = useState(false)\n\n const {\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm<FormSchema>({\n resolver: zodResolver(validationSchema),\n })\n\n useEffect(() => {\n if (messageDialog.mode === 'reply') {\n reset({\n to: mail.from,\n title: `Re:${mail.title}`,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messageDialog.mode])\n\n const handleDialogClose = () => {\n toggleMessageDialog({\n mode: '',\n open: false,\n })\n reset({\n to: '',\n title: '',\n content: '',\n })\n }\n\n const onSubmit = async (value: FormSchema) => {\n console.log('values', value)\n setFormSubmiting(true)\n await sleep(500)\n toast.push(<Notification type=\"success\">Mail send!</Notification>, {\n placement: 'top-center',\n })\n setFormSubmiting(false)\n handleDialogClose()\n }\n\n return (\n <Dialog\n isOpen={messageDialog.open}\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n >\n <h4 className=\"mb-4\">\n {messageDialog.mode === 'new' && 'New Message'}\n {messageDialog.mode === 'reply' && 'Reply'}\n </h4>\n <Form onSubmit={handleSubmit(onSubmit)}>\n <FormItem\n label=\"Title:\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input\n autoComplete=\"off\"\n placeholder=\"Add a subject\"\n {...field}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"To:\"\n invalid={Boolean(errors.to)}\n errorMessage={errors.to?.message}\n >\n <Controller\n name=\"to\"\n control={control}\n render={({ field }) => (\n <Input autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Message\"\n invalid={Boolean(errors.content)}\n errorMessage={errors.content?.message}\n >\n <Controller\n name=\"content\"\n control={control}\n render={({ field }) => (\n <RichTextEditor\n content={field.value}\n invalid={Boolean(errors.content)}\n onChange={({ html }) => {\n field.onChange(html)\n }}\n />\n )}\n />\n </FormItem>\n <div className=\"text-right mt-4\">\n <Button\n className=\"ltr:mr-2 rtl:ml-2\"\n variant=\"plain\"\n type=\"button\"\n onClick={handleDialogClose}\n >\n Discard\n </Button>\n <Button\n variant=\"solid\"\n loading={formSubmiting}\n type=\"submit\"\n >\n Send\n </Button>\n </div>\n </Form>\n </Dialog>\n )\n}\n\nexport default MailEditor\n"],"names":["validationSchema","z","MailEditor","mail","messageDialog","toggleMessageDialog","useMailStore","formSubmiting","setFormSubmiting","useState","handleSubmit","reset","errors","control","useForm","zodResolver","useEffect","handleDialogClose","onSubmit","value","sleep","toast","jsx","Notification","jsxs","Dialog","Form","FormItem","_a","Controller","field","Input","_b","_c","RichTextEditor","html","Button"],"mappings":"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"}