@orbe-agro/client-core 5.3.86 → 5.3.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@ecme/assets/styles/app.css +1 -1
- package/dist/@ecme/assets/styles/components/_dialog.css +1 -1
- package/dist/@ecme/assets/styles/components/_drawer.css +1 -1
- package/dist/@ecme/assets/styles/components/_scrollbar.css +1 -1
- package/dist/@ecme/assets/styles/components/_switcher.css +1 -1
- package/dist/@ecme/assets/styles/components/_upload.css +1 -1
- package/dist/@ecme/assets/styles/components/index.css +1 -1
- package/dist/@ecme/assets/styles/tailwind/index.css +1 -1
- package/dist/@ecme/auth/AuthProvider.js +58 -62
- package/dist/@ecme/auth/AuthProvider.js.map +1 -1
- package/dist/@ecme/components/docs/DemoCard/DemoCard.js +18 -19
- package/dist/@ecme/components/docs/DemoCard/DemoCard.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +29 -30
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.js +56 -56
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.js.map +1 -1
- package/dist/@ecme/components/shared/Affix.js +9 -10
- package/dist/@ecme/components/shared/Affix.js.map +1 -1
- package/dist/@ecme/components/shared/AutoComplete.js +27 -28
- package/dist/@ecme/components/shared/AutoComplete.js.map +1 -1
- package/dist/@ecme/components/shared/CalendarView.js +19 -20
- package/dist/@ecme/components/shared/CalendarView.js.map +1 -1
- package/dist/@ecme/components/shared/ConfirmDialog.js +16 -16
- package/dist/@ecme/components/shared/ConfirmDialog.js.map +1 -1
- package/dist/@ecme/components/shared/DataTable.js +151 -151
- package/dist/@ecme/components/shared/DataTable.js.map +1 -1
- package/dist/@ecme/components/shared/DebounceInput.js +11 -12
- package/dist/@ecme/components/shared/DebounceInput.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/GanttChart.js +20 -20
- package/dist/@ecme/components/shared/GanttChart/GanttChart.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/TaskListTable.js +22 -22
- package/dist/@ecme/components/shared/GanttChart/TaskListTable.js.map +1 -1
- package/dist/@ecme/components/shared/ImageGallery.js +18 -18
- package/dist/@ecme/components/shared/ImageGallery.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/Masonry.js +25 -25
- package/dist/@ecme/components/shared/Masonry/Masonry.js.map +1 -1
- package/dist/@ecme/components/shared/OtpInput.js +54 -56
- package/dist/@ecme/components/shared/OtpInput.js.map +1 -1
- package/dist/@ecme/components/shared/PasswordInput.js +6 -6
- package/dist/@ecme/components/shared/PasswordInput.js.map +1 -1
- package/dist/@ecme/components/shared/RegionMap.js +9 -9
- package/dist/@ecme/components/shared/RegionMap.js.map +1 -1
- package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js +47 -47
- package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/@ecme/components/shared/UsersAvatarGroup.js +24 -24
- package/dist/@ecme/components/shared/UsersAvatarGroup.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuContent.js +63 -69
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuContent.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js +48 -48
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js +220 -231
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map +1 -1
- package/dist/@ecme/components/template/LanguageSelector.js +10 -13
- package/dist/@ecme/components/template/LanguageSelector.js.map +1 -1
- package/dist/@ecme/components/template/Search.js +85 -92
- package/dist/@ecme/components/template/Search.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js +18 -18
- package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalCollapsedMenuItem.js +17 -17
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalCollapsedMenuItem.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js +59 -59
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js +34 -34
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js.map +1 -1
- package/dist/@ecme/components/ui/Alert/Alert.js +29 -29
- package/dist/@ecme/components/ui/Alert/Alert.js.map +1 -1
- package/dist/@ecme/components/ui/Avatar/AvatarGroup.js +30 -30
- package/dist/@ecme/components/ui/Avatar/AvatarGroup.js.map +1 -1
- package/dist/@ecme/components/ui/Button/Button.js +66 -67
- package/dist/@ecme/components/ui/Button/Button.js.map +1 -1
- package/dist/@ecme/components/ui/Card/Card.js +39 -40
- package/dist/@ecme/components/ui/Card/Card.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Checkbox.js +42 -42
- package/dist/@ecme/components/ui/Checkbox/Checkbox.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Group.js +27 -27
- package/dist/@ecme/components/ui/Checkbox/Group.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/BasePicker.js +67 -67
- package/dist/@ecme/components/ui/DatePicker/BasePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/Calendar.js +18 -18
- package/dist/@ecme/components/ui/DatePicker/Calendar.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/CalendarBase.js +77 -78
- package/dist/@ecme/components/ui/DatePicker/CalendarBase.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePicker.js +67 -71
- package/dist/@ecme/components/ui/DatePicker/DatePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js +94 -98
- package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js +51 -58
- package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js +67 -67
- package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/components/Day.js +12 -12
- package/dist/@ecme/components/ui/DatePicker/tables/components/Day.js.map +1 -1
- package/dist/@ecme/components/ui/Dialog/Dialog.js +25 -25
- package/dist/@ecme/components/ui/Dialog/Dialog.js.map +1 -1
- package/dist/@ecme/components/ui/Drawer/Drawer.js +32 -32
- package/dist/@ecme/components/ui/Drawer/Drawer.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownItem.js +58 -58
- package/dist/@ecme/components/ui/Dropdown/DropdownItem.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js +99 -100
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownSubItem.js +26 -26
- package/dist/@ecme/components/ui/Dropdown/DropdownSubItem.js.map +1 -1
- package/dist/@ecme/components/ui/Form/FormContainer.js +17 -17
- package/dist/@ecme/components/ui/Form/FormContainer.js.map +1 -1
- package/dist/@ecme/components/ui/Form/FormItem.js +38 -38
- package/dist/@ecme/components/ui/Form/FormItem.js.map +1 -1
- package/dist/@ecme/components/ui/Input/Input.js +50 -52
- package/dist/@ecme/components/ui/Input/Input.js.map +1 -1
- package/dist/@ecme/components/ui/InputGroup/Addon.js +12 -13
- package/dist/@ecme/components/ui/InputGroup/Addon.js.map +1 -1
- package/dist/@ecme/components/ui/InputGroup/InputGroup.js +10 -11
- package/dist/@ecme/components/ui/InputGroup/InputGroup.js.map +1 -1
- package/dist/@ecme/components/ui/Notification/Notification.js +19 -19
- package/dist/@ecme/components/ui/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Pagination.js +45 -45
- package/dist/@ecme/components/ui/Pagination/Pagination.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Group.js +28 -28
- package/dist/@ecme/components/ui/Radio/Group.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Radio.js +42 -42
- package/dist/@ecme/components/ui/Radio/Radio.js.map +1 -1
- package/dist/@ecme/components/ui/Segment/SegmentItem.js +53 -53
- package/dist/@ecme/components/ui/Segment/SegmentItem.js.map +1 -1
- package/dist/@ecme/components/ui/Select/Select.js +40 -41
- package/dist/@ecme/components/ui/Select/Select.js.map +1 -1
- package/dist/@ecme/components/ui/Steps/StepItem.js +33 -33
- package/dist/@ecme/components/ui/Steps/StepItem.js.map +1 -1
- package/dist/@ecme/components/ui/Switcher/Switcher.js +24 -24
- package/dist/@ecme/components/ui/Switcher/Switcher.js.map +1 -1
- package/dist/@ecme/components/ui/Tabs/TabNav.js +22 -22
- package/dist/@ecme/components/ui/Tabs/TabNav.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/AmPmInput.js +25 -27
- package/dist/@ecme/components/ui/TimeInput/AmPmInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInput.js +130 -135
- package/dist/@ecme/components/ui/TimeInput/TimeInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputField.js +22 -24
- package/dist/@ecme/components/ui/TimeInput/TimeInputField.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js +65 -68
- package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js +11 -12
- package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js +19 -20
- package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js.map +1 -1
- package/dist/@ecme/components/ui/Upload/Upload.js +67 -68
- package/dist/@ecme/components/ui/Upload/Upload.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useCallbackRef.js +7 -10
- package/dist/@ecme/components/ui/hooks/useCallbackRef.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useRootClose.js +32 -32
- package/dist/@ecme/components/ui/hooks/useRootClose.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useTimeout.js +12 -13
- package/dist/@ecme/components/ui/hooks/useTimeout.js.map +1 -1
- package/dist/@ecme/components/ui/toast/ToastWrapper.js +58 -61
- package/dist/@ecme/components/ui/toast/ToastWrapper.js.map +1 -1
- package/dist/@ecme/components/ui/toast/toast.js +16 -19
- package/dist/@ecme/components/ui/toast/toast.js.map +1 -1
- package/dist/@ecme/components/view/Activity/ActivityEvent.js +63 -67
- package/dist/@ecme/components/view/Activity/ActivityEvent.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/Attachment.js +8 -9
- package/dist/@ecme/components/view/ChatBox/components/Attachment.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/ChatInput.js +37 -39
- package/dist/@ecme/components/view/ChatBox/components/ChatInput.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/Message.js +10 -10
- package/dist/@ecme/components/view/ChatBox/components/Message.js.map +1 -1
- package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js +36 -37
- package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js.map +1 -1
- package/dist/@ecme/components/view/TaskItem/TaskItem.js +33 -33
- package/dist/@ecme/components/view/TaskItem/TaskItem.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/chatFakeApi.js +16 -18
- package/dist/@ecme/mock/fakeApi/chatFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/customersFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/customersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/mailFakeApi.js +9 -10
- package/dist/@ecme/mock/fakeApi/mailFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/ordersFakeApi.js +9 -10
- package/dist/@ecme/mock/fakeApi/ordersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/productsFakeApi.js +7 -8
- package/dist/@ecme/mock/fakeApi/productsFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/projectsFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/projectsFakeApi.js.map +1 -1
- package/dist/@ecme/utils/hooks/useInfiniteScroll.js +11 -11
- package/dist/@ecme/utils/hooks/useInfiniteScroll.js.map +1 -1
- package/dist/@ecme/utils/hooks/useMenuActive.js +11 -12
- package/dist/@ecme/utils/hooks/useMenuActive.js.map +1 -1
- package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js +36 -37
- package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js +14 -14
- package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js +41 -42
- package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js.map +1 -1
- package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js +59 -60
- package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js +27 -27
- package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/SignInForm.js +57 -58
- package/dist/@ecme/views/auth/SignIn/components/SignInForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js +37 -38
- package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js +44 -45
- package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js +5 -5
- package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js +34 -35
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js +26 -26
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js +28 -29
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/hooks/useRolePermissonsUsers.js +8 -8
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/hooks/useRolePermissonsUsers.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js +10 -11
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js +48 -49
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js +14 -14
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js +102 -103
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js +34 -35
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js +16 -16
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js +76 -78
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js +23 -23
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js +48 -49
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js +34 -35
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatMobileNav.js +11 -14
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatMobileNav.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js +19 -19
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +22 -26
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +18 -24
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/ConfigDropdown.js +22 -22
- package/dist/@ecme/views/concepts/ai/Image/components/ConfigDropdown.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js +31 -32
- package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js +31 -32
- package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js +38 -39
- package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js +68 -69
- package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js +63 -66
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js +21 -22
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js +84 -85
- package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js +19 -19
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js +51 -58
- package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js +76 -89
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/AddressSection.js +104 -107
- package/dist/@ecme/views/concepts/customers/CustomerForm/AddressSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js +22 -22
- package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js +38 -39
- package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/hooks/useCustomerList.js +20 -20
- package/dist/@ecme/views/concepts/customers/CustomerList/hooks/useCustomerList.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js +32 -33
- package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js +17 -18
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/hooks/useManageArticle.js +5 -5
- package/dist/@ecme/views/concepts/help-center/ManageArticle/hooks/useManageArticle.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js +12 -13
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js +28 -29
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailContent.js +63 -67
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailContent.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js +8 -8
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js +36 -37
- package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js +134 -137
- package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailProducts.js +17 -17
- package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailProducts.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js +35 -35
- package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js +38 -38
- package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/BillingAddressSection.js +108 -111
- package/dist/@ecme/views/concepts/orders/OrderForm/components/BillingAddressSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js +44 -45
- package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js +211 -214
- package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js +17 -17
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/hooks/useOrderlist.js +15 -15
- package/dist/@ecme/views/concepts/orders/OrderList/hooks/useOrderlist.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js +4 -4
- package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/AttributeSection.js +97 -100
- package/dist/@ecme/views/concepts/products/ProductForm/components/AttributeSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js +68 -71
- package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js +85 -86
- package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js +121 -124
- package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js +11 -11
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js +17 -17
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/hooks/useProductList.js +17 -17
- package/dist/@ecme/views/concepts/products/ProductList/hooks/useProductList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js +101 -105
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js +57 -58
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js +51 -52
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsOverview.js +22 -23
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsOverview.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js +45 -46
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js +62 -65
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js +52 -53
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js +23 -25
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js +15 -15
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js +16 -16
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js +9 -9
- package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js +40 -41
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js +33 -34
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCardList.js +33 -33
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCardList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js +203 -210
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js +53 -56
- package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js +80 -83
- package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js +6 -6
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js +21 -21
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js +27 -27
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js +27 -27
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js +59 -60
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js +76 -77
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js +30 -30
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js +21 -22
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/ImageGalleryDoc/Example.js +15 -15
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/ImageGalleryDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Editable.js +17 -18
- package/dist/@ecme/views/ui-components/data-display/Table/Editable.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js +12 -12
- package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js +28 -29
- package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js +21 -22
- package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js +24 -25
- package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js +75 -79
- package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js +19 -20
- package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js +90 -91
- package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js +22 -23
- package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js.map +1 -1
- package/dist/@types/base/configs/api.config.d.ts +0 -19
- package/dist/@types/base/configs/api.config.d.ts.map +1 -1
- package/dist/base/assets/styles/init.css +1 -1
- package/dist/base/components/forms/ArraysForms/GenericArrayNumberFormSection.js +24 -25
- package/dist/base/components/forms/ArraysForms/GenericArrayNumberFormSection.js.map +1 -1
- package/dist/base/components/forms/ArraysForms/GenericArrayStringFormSection.js +23 -24
- package/dist/base/components/forms/ArraysForms/GenericArrayStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericFomrsSetValue/GenericNumberFormSectionPrice.js +30 -31
- package/dist/base/components/forms/GenericFomrsSetValue/GenericNumberFormSectionPrice.js.map +1 -1
- package/dist/base/components/forms/GenericFomrsSetValue/GenericStringFormSection.js +25 -26
- package/dist/base/components/forms/GenericFomrsSetValue/GenericStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js +49 -50
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericNumberFormSection.js +27 -28
- package/dist/base/components/forms/GenericForms/GenericNumberFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericStringFormSection.js +23 -24
- package/dist/base/components/forms/GenericForms/GenericStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js +27 -28
- package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js +29 -30
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPrice.js +27 -28
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPrice.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionWeight.js +27 -28
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionWeight.js.map +1 -1
- package/dist/base/components/shared/TransferirProcessoDialog.js +10 -10
- package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
- package/dist/base/components/tools/NavFilter.js +68 -75
- package/dist/base/components/tools/NavFilter.js.map +1 -1
- package/dist/base/configs/api.config.js +11 -14
- package/dist/base/configs/api.config.js.map +1 -1
- package/dist/base/hooks/adm/roles/useRolesList.js +11 -11
- package/dist/base/hooks/adm/roles/useRolesList.js.map +1 -1
- package/dist/base/hooks/adm/users/useUsersList.js +10 -10
- package/dist/base/hooks/adm/users/useUsersList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerClienteList.js +5 -5
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerClienteList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerFornecedorList.js +7 -7
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerFornecedorList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerList.js +10 -10
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerList.js.map +1 -1
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoByCodigoList.js +8 -8
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoList.js +8 -8
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoList.js.map +1 -1
- package/dist/base/hooks/dm/centro/useCentroByCodigoList.js +13 -13
- package/dist/base/hooks/dm/centro/useCentroByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/centro/useCentroList.js +6 -6
- package/dist/base/hooks/dm/centro/useCentroList.js.map +1 -1
- package/dist/base/hooks/dm/condicaoPagamento/useCondicaoPagamentoList.js +4 -4
- package/dist/base/hooks/dm/condicaoPagamento/useCondicaoPagamentoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js +9 -9
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositoList.js +5 -5
- package/dist/base/hooks/dm/deposito/useDepositoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js +13 -13
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js.map +1 -1
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaByCodigoList.js +8 -8
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaList.js +6 -6
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaList.js.map +1 -1
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaByCodigoList.js +10 -10
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaList.js +7 -7
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaList.js.map +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoByCodigoList.js +10 -10
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoList.js +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoList.js.map +1 -1
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaByCodigoList.js +11 -11
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaList.js +9 -9
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaList.js.map +1 -1
- package/dist/base/hooks/dm/incoterms/useIncotermsList.js +17 -18
- package/dist/base/hooks/dm/incoterms/useIncotermsList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js +13 -13
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoByGrupoProdutoList.js +21 -21
- package/dist/base/hooks/dm/produto/useProdutoByGrupoProdutoList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoFindList.js +8 -8
- package/dist/base/hooks/dm/produto/useProdutoFindList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoFindMonitorList.js +11 -11
- package/dist/base/hooks/dm/produto/useProdutoFindMonitorList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoIsPrecificadoRacaoList.js +9 -9
- package/dist/base/hooks/dm/produto/useProdutoIsPrecificadoRacaoList.js.map +1 -1
- package/dist/base/hooks/dm/setorAtividade/useSetorAtividadeList.js +5 -5
- package/dist/base/hooks/dm/setorAtividade/useSetorAtividadeList.js.map +1 -1
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaByCodigoList.js +9 -9
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaList.js +9 -9
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaList.js.map +1 -1
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaByCodigoList.js +10 -10
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaList.js +9 -9
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaList.js.map +1 -1
- package/dist/base/hooks/useList.js +10 -10
- package/dist/base/hooks/useList.js.map +1 -1
- package/dist/base/services/modules/transportadora/ControleDescarga/ControleDescargaService.js +15 -15
- package/dist/base/services/modules/transportadora/ControleDescarga/ControleDescargaService.js.map +1 -1
- package/dist/base/services/modules/transportadora/ControleEmbarque/ControleEmbarqueService.js +7 -7
- package/dist/base/services/modules/transportadora/ControleEmbarque/ControleEmbarqueService.js.map +1 -1
- package/dist/base/services/modules/transportadora/NaturezaCarga/NaturezaCargaService.js +5 -5
- package/dist/base/services/modules/transportadora/NaturezaCarga/NaturezaCargaService.js.map +1 -1
- package/dist/base/utils/functions/stringUtils.js +14 -15
- package/dist/base/utils/functions/stringUtils.js.map +1 -1
- package/lib/base/configs/api.config.ts +6 -7
- package/package.json +1 -1
- package/tsconfig.json +6 -1
package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalMenuDropdownContent.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport Avatar from \"@/components/ui/Avatar\";\nimport Dropdown from \"@/components/ui/Dropdown\";\nimport HorizontalMenuNavLink from \"./HorizontalMenuNavLink\";\nimport AuthorityCheck from \"@/components/shared/AuthorityCheck\";\nimport classNames from \"@/utils/classNames\";\nimport {\n NAV_ITEM_TYPE_COLLAPSE,\n NAV_ITEM_TYPE_ITEM,\n} from \"@/constants/navigation.constant\";\nimport navigationIcon from \"@/configs/navigation-icon.config\";\nimport { TbCircle } from \"react-icons/tb\";\nimport type { CommonProps, TraslationFn } from \"@/@types/common\";\nimport type { NavigationTree, HorizontalMenuMeta } from \"@/@types/navigation\";\nimport type { ReactNode, HTMLProps } from \"react\";\n\ninterface LayoutProps extends CommonProps {\n navigationTree: NavigationTree[];\n t: TraslationFn;\n onDropdownClose: () => void;\n routeKey: string;\n routeParentKey?: string;\n userAuthority: string[];\n}\n\ninterface HorizontalMenuDropdownContentProps extends LayoutProps {\n layoutMeta?: HorizontalMenuMeta;\n}\n\nconst gridClasses = {\n 1: {\n grid: \"grid-cols-1\",\n width: \"w-[150px]\",\n },\n 2: {\n grid: \"grid-cols-2\",\n width: \"w-[350px]\",\n },\n 3: {\n grid: \"grid-cols-3\",\n width: \"w-[750px]\",\n },\n 4: {\n grid: \"grid-cols-4\",\n width: \"w-[950px]\",\n },\n 5: {\n grid: \"grid-cols-5\",\n width: \"w-[1150px]\",\n },\n};\n\nconst MenuItem = ({\n children,\n className,\n active,\n ...rest\n}: CommonProps & { active?: boolean } & HTMLProps<HTMLDivElement>) => {\n return (\n <div\n className={classNames(\n \"cursor-pointer font-semibold px-3 rounded-lg flex items-center w-full whitespace-nowrap gap-x-2 transition-colors duration-150 hover:text-gray-900 hover:bg-gray-100 dark:hover:text-gray-100 dark:hover:bg-gray-800\",\n active && \"bg-gray-100 dark:bg-gray-800\",\n className\n )}\n role=\"menuitem\"\n {...rest}\n >\n {children}\n </div>\n );\n};\n\nconst MenuIcon = ({ icon }: { icon: string }) => {\n if (typeof icon !== \"string\" && !icon) {\n return <></>;\n }\n\n return (\n <>\n {navigationIcon[icon] && (\n <span className={`text-xl`}>\n {navigationIcon[icon] || <TbCircle />}\n </span>\n )}\n </>\n );\n};\n\nconst MenuLink = ({\n path,\n isExternalLink,\n onClick,\n icon,\n title,\n description,\n active,\n}: {\n path: string;\n isExternalLink?: boolean;\n onClick: () => void;\n icon: ReactNode;\n title: string;\n description: string;\n active?: boolean;\n}) => (\n <HorizontalMenuNavLink\n path={path}\n isExternalLink={isExternalLink}\n className=\"gap-2 block\"\n onClick={onClick}\n >\n <MenuItem className=\"py-2 px-2 gap-3\" active={active}>\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n active ? \"text-primary\" : \"heading-text\"\n )}\n size={40}\n icon={icon}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">{title}</div>\n <div className=\"text-xs truncate\">{description}</div>\n </div>\n </MenuItem>\n </HorizontalMenuNavLink>\n);\n\nconst ColumnsLayout = (\n props: LayoutProps & {\n columns: 1 | 2 | 3 | 4 | 5;\n showColumnTitle?: boolean;\n }\n) => {\n const {\n navigationTree,\n t,\n onDropdownClose,\n columns = 1,\n showColumnTitle = true,\n routeKey,\n userAuthority,\n } = props;\n\n return (\n <div className=\"flex max-w-[1400px] w-full\">\n <div\n className={classNames(\n \"grid gap-y-6 gap-x-8 p-6 flex-1\",\n gridClasses[columns]?.grid\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"max-w-[250px]\">\n {showColumnTitle && (\n <div className=\"heading-text font-bold mb-2\">\n {t(nav.translateKey, nav.title)}\n </div>\n )}\n {nav.subMenu.map((subNav) => (\n <AuthorityCheck\n key={subNav.key}\n userAuthority={userAuthority}\n authority={subNav.authority}\n >\n <div key={subNav.key}>\n <MenuLink\n path={subNav.path}\n isExternalLink={subNav.isExternalLink}\n icon={navigationIcon[subNav.icon] || <TbCircle />}\n title={t(subNav.translateKey, subNav.title)}\n description={t(\n subNav.meta?.description?.translateKey || \"\",\n subNav.meta?.description?.label || \"\"\n )}\n active={subNav.key === routeKey}\n onClick={onDropdownClose}\n />\n </div>\n </AuthorityCheck>\n ))}\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some((nav) => nav.type === NAV_ITEM_TYPE_ITEM) && (\n <div\n className={classNames(\n \"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 min-w-[280px] p-4 flex flex-col\"\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length === 0 && nav.type === NAV_ITEM_TYPE_ITEM) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <MenuLink\n key={nav.key}\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n title={t(nav.translateKey, nav.title)}\n description={t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n active={nav.key === routeKey}\n onClick={onDropdownClose}\n />\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n )}\n </div>\n );\n};\n\nconst DefaultLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n routeKey,\n userAuthority,\n}: LayoutProps) => {\n const renderNavigation = (navTree: NavigationTree[], cascade: number) => {\n const nextCascade = cascade + 1;\n\n return (\n <div className={classNames(cascade === 0 && \"p-3\")}>\n {navTree.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <ul>\n {nav.type === NAV_ITEM_TYPE_ITEM && (\n <Dropdown.Item active={routeKey === nav.key}>\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 h-full\"\n onClick={onDropdownClose}\n >\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </HorizontalMenuNavLink>\n </Dropdown.Item>\n )}\n {nav.type === NAV_ITEM_TYPE_COLLAPSE && (\n <Dropdown\n renderTitle={\n <span className=\"flex items-center gap-2\">\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </span>\n }\n >\n {nav.subMenu &&\n nav.subMenu.length > 0 &&\n renderNavigation(nav.subMenu, nextCascade)}\n </Dropdown>\n )}\n </ul>\n </AuthorityCheck>\n ))}\n </div>\n );\n };\n\n return <>{renderNavigation(navigationTree, 0)}</>;\n};\n\nconst TabLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n columns,\n routeKey,\n userAuthority,\n routeParentKey,\n}: LayoutProps & { columns: 1 | 2 | 3 | 4 | 5 }) => {\n const [activeKey, setActiveKey] = useState(\n navigationTree.some((nav) => nav.key === routeParentKey)\n ? routeParentKey\n : navigationTree[0]?.key || \"\"\n );\n\n return (\n <div className=\"flex\">\n <div className=\"p-4\">\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"min-w-[250px]\">\n <div key={nav.key}>\n <MenuItem\n className=\"py-2 px-2 gap-3\"\n active={nav.key === activeKey}\n onClick={() => setActiveKey(nav.key)}\n >\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n nav.key === routeKey\n ? \"text-primary\"\n : \"heading-text\"\n )}\n size={40}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">\n {t(nav.translateKey, nav.title)}\n </div>\n <div className=\"text-xs truncate\">\n {t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n </div>\n </div>\n </MenuItem>\n </div>\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some(\n (nav) => nav.key === activeKey && nav.type === NAV_ITEM_TYPE_COLLAPSE\n ) && (\n <div className=\"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 p-6\">\n <div\n className={classNames(\n \"grid gap-x-8 flex-1\",\n gridClasses[columns]?.grid,\n gridClasses[columns]?.width\n )}\n >\n {navigationTree\n .find((nav) => nav.key === activeKey)\n ?.subMenu.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 group\"\n onClick={() => onDropdownClose()}\n >\n <div\n className={classNames(\n \"flex items-center gap-2 h-[42px] heading-text group-hover:text-primary\",\n routeKey === nav.key && \"text-primary\"\n )}\n >\n <span className=\"text-xl\">\n {navigationIcon[nav.icon] || <TbCircle />}\n </span>\n <span>{t(nav.translateKey, nav.title)}</span>\n </div>\n </HorizontalMenuNavLink>\n </AuthorityCheck>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nconst HorizontalMenuDropdownContent = (\n props: HorizontalMenuDropdownContentProps\n) => {\n const { style, navigationTree, layoutMeta, ...rest } = props;\n\n return (\n <div\n className=\"rounded-2xl bg-white dark:bg-gray-900 ring-0 shadow-[0px_48px_64px_-16px_rgba(0,0,0,0.25)] border border-gray-100 dark:border-gray-800 focus:outline-none min-w-[180px]\"\n style={style}\n >\n {layoutMeta?.layout === \"default\" && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n {layoutMeta?.layout === \"columns\" && (\n <ColumnsLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n showColumnTitle={layoutMeta.showColumnTitle}\n {...rest}\n />\n )}\n {layoutMeta?.layout === \"tabs\" && (\n <TabLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n {...rest}\n />\n )}\n {!layoutMeta && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n </div>\n );\n};\n\nexport default HorizontalMenuDropdownContent;\n"],"names":["gridClasses","MenuItem","children","className","active","rest","jsx","classNames","MenuIcon","icon","Fragment","navigationIcon","TbCircle","MenuLink","path","isExternalLink","onClick","title","description","HorizontalMenuNavLink","jsxs","Avatar","ColumnsLayout","props","navigationTree","t","onDropdownClose","columns","showColumnTitle","routeKey","userAuthority","_a","nav","AuthorityCheck","subNav","_b","_d","_c","NAV_ITEM_TYPE_ITEM","DefaultLayout","renderNavigation","navTree","cascade","nextCascade","Dropdown","NAV_ITEM_TYPE_COLLAPSE","TabLayout","routeParentKey","activeKey","setActiveKey","useState","HorizontalMenuDropdownContent","style","layoutMeta"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HorizontalMenuDropdownContent.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport Avatar from \"@/components/ui/Avatar\";\nimport Dropdown from \"@/components/ui/Dropdown\";\nimport HorizontalMenuNavLink from \"./HorizontalMenuNavLink\";\nimport AuthorityCheck from \"@/components/shared/AuthorityCheck\";\nimport classNames from \"@/utils/classNames\";\nimport {\n NAV_ITEM_TYPE_COLLAPSE,\n NAV_ITEM_TYPE_ITEM,\n} from \"@/constants/navigation.constant\";\nimport navigationIcon from \"@/configs/navigation-icon.config\";\nimport { TbCircle } from \"react-icons/tb\";\nimport type { CommonProps, TraslationFn } from \"@/@types/common\";\nimport type { NavigationTree, HorizontalMenuMeta } from \"@/@types/navigation\";\nimport type { ReactNode, HTMLProps } from \"react\";\n\ninterface LayoutProps extends CommonProps {\n navigationTree: NavigationTree[];\n t: TraslationFn;\n onDropdownClose: () => void;\n routeKey: string;\n routeParentKey?: string;\n userAuthority: string[];\n}\n\ninterface HorizontalMenuDropdownContentProps extends LayoutProps {\n layoutMeta?: HorizontalMenuMeta;\n}\n\nconst gridClasses = {\n 1: {\n grid: \"grid-cols-1\",\n width: \"w-[150px]\",\n },\n 2: {\n grid: \"grid-cols-2\",\n width: \"w-[350px]\",\n },\n 3: {\n grid: \"grid-cols-3\",\n width: \"w-[750px]\",\n },\n 4: {\n grid: \"grid-cols-4\",\n width: \"w-[950px]\",\n },\n 5: {\n grid: \"grid-cols-5\",\n width: \"w-[1150px]\",\n },\n};\n\nconst MenuItem = ({\n children,\n className,\n active,\n ...rest\n}: CommonProps & { active?: boolean } & HTMLProps<HTMLDivElement>) => {\n return (\n <div\n className={classNames(\n \"cursor-pointer font-semibold px-3 rounded-lg flex items-center w-full whitespace-nowrap gap-x-2 transition-colors duration-150 hover:text-gray-900 hover:bg-gray-100 dark:hover:text-gray-100 dark:hover:bg-gray-800\",\n active && \"bg-gray-100 dark:bg-gray-800\",\n className\n )}\n role=\"menuitem\"\n {...rest}\n >\n {children}\n </div>\n );\n};\n\nconst MenuIcon = ({ icon }: { icon: string }) => {\n if (typeof icon !== \"string\" && !icon) {\n return <></>;\n }\n\n return (\n <>\n {navigationIcon[icon] && (\n <span className={`text-xl`}>\n {navigationIcon[icon] || <TbCircle />}\n </span>\n )}\n </>\n );\n};\n\nconst MenuLink = ({\n path,\n isExternalLink,\n onClick,\n icon,\n title,\n description,\n active,\n}: {\n path: string;\n isExternalLink?: boolean;\n onClick: () => void;\n icon: ReactNode;\n title: string;\n description: string;\n active?: boolean;\n}) => (\n <HorizontalMenuNavLink\n path={path}\n isExternalLink={isExternalLink}\n className=\"gap-2 block\"\n onClick={onClick}\n >\n <MenuItem className=\"py-2 px-2 gap-3\" active={active}>\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n active ? \"text-primary\" : \"heading-text\"\n )}\n size={40}\n icon={icon}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">{title}</div>\n <div className=\"text-xs truncate\">{description}</div>\n </div>\n </MenuItem>\n </HorizontalMenuNavLink>\n);\n\nconst ColumnsLayout = (\n props: LayoutProps & {\n columns: 1 | 2 | 3 | 4 | 5;\n showColumnTitle?: boolean;\n }\n) => {\n const {\n navigationTree,\n t,\n onDropdownClose,\n columns = 1,\n showColumnTitle = true,\n routeKey,\n userAuthority,\n } = props;\n\n return (\n <div className=\"flex max-w-[1400px] w-full\">\n <div\n className={classNames(\n \"grid gap-y-6 gap-x-8 p-6 flex-1\",\n gridClasses[columns]?.grid\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"max-w-[250px]\">\n {showColumnTitle && (\n <div className=\"heading-text font-bold mb-2\">\n {t(nav.translateKey, nav.title)}\n </div>\n )}\n {nav.subMenu.map((subNav) => (\n <AuthorityCheck\n key={subNav.key}\n userAuthority={userAuthority}\n authority={subNav.authority}\n >\n <div key={subNav.key}>\n <MenuLink\n path={subNav.path}\n isExternalLink={subNav.isExternalLink}\n icon={navigationIcon[subNav.icon] || <TbCircle />}\n title={t(subNav.translateKey, subNav.title)}\n description={t(\n subNav.meta?.description?.translateKey || \"\",\n subNav.meta?.description?.label || \"\"\n )}\n active={subNav.key === routeKey}\n onClick={onDropdownClose}\n />\n </div>\n </AuthorityCheck>\n ))}\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some((nav) => nav.type === NAV_ITEM_TYPE_ITEM) && (\n <div\n className={classNames(\n \"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 min-w-[280px] p-4 flex flex-col\"\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length === 0 && nav.type === NAV_ITEM_TYPE_ITEM) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <MenuLink\n key={nav.key}\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n title={t(nav.translateKey, nav.title)}\n description={t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n active={nav.key === routeKey}\n onClick={onDropdownClose}\n />\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n )}\n </div>\n );\n};\n\nconst DefaultLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n routeKey,\n userAuthority,\n}: LayoutProps) => {\n const renderNavigation = (navTree: NavigationTree[], cascade: number) => {\n const nextCascade = cascade + 1;\n\n return (\n <div className={classNames(cascade === 0 && \"p-3\")}>\n {navTree.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <ul>\n {nav.type === NAV_ITEM_TYPE_ITEM && (\n <Dropdown.Item active={routeKey === nav.key}>\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 h-full\"\n onClick={onDropdownClose}\n >\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </HorizontalMenuNavLink>\n </Dropdown.Item>\n )}\n {nav.type === NAV_ITEM_TYPE_COLLAPSE && (\n <Dropdown\n renderTitle={\n <span className=\"flex items-center gap-2\">\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </span>\n }\n >\n {nav.subMenu &&\n nav.subMenu.length > 0 &&\n renderNavigation(nav.subMenu, nextCascade)}\n </Dropdown>\n )}\n </ul>\n </AuthorityCheck>\n ))}\n </div>\n );\n };\n\n return <>{renderNavigation(navigationTree, 0)}</>;\n};\n\nconst TabLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n columns,\n routeKey,\n userAuthority,\n routeParentKey,\n}: LayoutProps & { columns: 1 | 2 | 3 | 4 | 5 }) => {\n const [activeKey, setActiveKey] = useState(\n navigationTree.some((nav) => nav.key === routeParentKey)\n ? routeParentKey\n : navigationTree[0]?.key || \"\"\n );\n\n return (\n <div className=\"flex\">\n <div className=\"p-4\">\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"min-w-[250px]\">\n <div key={nav.key}>\n <MenuItem\n className=\"py-2 px-2 gap-3\"\n active={nav.key === activeKey}\n onClick={() => setActiveKey(nav.key)}\n >\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n nav.key === routeKey\n ? \"text-primary\"\n : \"heading-text\"\n )}\n size={40}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">\n {t(nav.translateKey, nav.title)}\n </div>\n <div className=\"text-xs truncate\">\n {t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n </div>\n </div>\n </MenuItem>\n </div>\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some(\n (nav) => nav.key === activeKey && nav.type === NAV_ITEM_TYPE_COLLAPSE\n ) && (\n <div className=\"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 p-6\">\n <div\n className={classNames(\n \"grid gap-x-8 flex-1\",\n gridClasses[columns]?.grid,\n gridClasses[columns]?.width\n )}\n >\n {navigationTree\n .find((nav) => nav.key === activeKey)\n ?.subMenu.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 group\"\n onClick={() => onDropdownClose()}\n >\n <div\n className={classNames(\n \"flex items-center gap-2 h-[42px] heading-text group-hover:text-primary\",\n routeKey === nav.key && \"text-primary\"\n )}\n >\n <span className=\"text-xl\">\n {navigationIcon[nav.icon] || <TbCircle />}\n </span>\n <span>{t(nav.translateKey, nav.title)}</span>\n </div>\n </HorizontalMenuNavLink>\n </AuthorityCheck>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nconst HorizontalMenuDropdownContent = (\n props: HorizontalMenuDropdownContentProps\n) => {\n const { style, navigationTree, layoutMeta, ...rest } = props;\n\n return (\n <div\n className=\"rounded-2xl bg-white dark:bg-gray-900 ring-0 shadow-[0px_48px_64px_-16px_rgba(0,0,0,0.25)] border border-gray-100 dark:border-gray-800 focus:outline-none min-w-[180px]\"\n style={style}\n >\n {layoutMeta?.layout === \"default\" && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n {layoutMeta?.layout === \"columns\" && (\n <ColumnsLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n showColumnTitle={layoutMeta.showColumnTitle}\n {...rest}\n />\n )}\n {layoutMeta?.layout === \"tabs\" && (\n <TabLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n {...rest}\n />\n )}\n {!layoutMeta && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n </div>\n );\n};\n\nexport default HorizontalMenuDropdownContent;\n"],"names":["gridClasses","MenuItem","children","className","active","rest","jsx","classNames","MenuIcon","icon","Fragment","navigationIcon","TbCircle","MenuLink","path","isExternalLink","onClick","title","description","HorizontalMenuNavLink","jsxs","Avatar","ColumnsLayout","props","navigationTree","t","onDropdownClose","columns","showColumnTitle","routeKey","userAuthority","nav","AuthorityCheck","subNav","NAV_ITEM_TYPE_ITEM","DefaultLayout","renderNavigation","navTree","cascade","nextCascade","Dropdown","NAV_ITEM_TYPE_COLLAPSE","TabLayout","routeParentKey","activeKey","setActiveKey","useState","HorizontalMenuDropdownContent","style","layoutMeta"],"mappings":"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"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { jsx as t, jsxs as l } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as
|
|
2
|
+
import { useMemo as u } from "react";
|
|
3
3
|
import { Avatar as a } from "../ui/Avatar/index.js";
|
|
4
4
|
import { Dropdown as s } from "../ui/Dropdown/index.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { useLocaleStore as
|
|
8
|
-
import { HiCheck as
|
|
5
|
+
import p from "classnames";
|
|
6
|
+
import g from "../../utils/hoc/withHeaderItem.js";
|
|
7
|
+
import { useLocaleStore as f } from "../../store/localeStore.js";
|
|
8
|
+
import { HiCheck as d } from "react-icons/hi";
|
|
9
9
|
const c = [
|
|
10
10
|
{ label: "English", value: "en", flag: "US" },
|
|
11
11
|
{ label: "Português", value: "ptBR", flag: "BR" }
|
|
12
|
-
],
|
|
13
|
-
const { currentLang: r, setLang: m } =
|
|
14
|
-
var e;
|
|
15
|
-
return (e = c.find((u) => u.value === r)) == null ? void 0 : e.flag;
|
|
16
|
-
}, [r]), i = /* @__PURE__ */ t("div", { className: g(o, "flex items-center"), children: /* @__PURE__ */ t(
|
|
12
|
+
], h = ({ className: o }) => {
|
|
13
|
+
const { currentLang: r, setLang: m } = f((e) => e), n = u(() => c.find((e) => e.value === r)?.flag, [r]), i = /* @__PURE__ */ t("div", { className: p(o, "flex items-center"), children: /* @__PURE__ */ t(
|
|
17
14
|
a,
|
|
18
15
|
{
|
|
19
16
|
size: 24,
|
|
@@ -39,13 +36,13 @@ const c = [
|
|
|
39
36
|
),
|
|
40
37
|
/* @__PURE__ */ t("span", { className: "ltr:ml-2 rtl:mr-2", children: e.label })
|
|
41
38
|
] }),
|
|
42
|
-
r === e.value && /* @__PURE__ */ t(
|
|
39
|
+
r === e.value && /* @__PURE__ */ t(d, { className: "text-lg text-emerald-500" })
|
|
43
40
|
]
|
|
44
41
|
},
|
|
45
42
|
e.label
|
|
46
43
|
)) });
|
|
47
|
-
},
|
|
44
|
+
}, k = g(h);
|
|
48
45
|
export {
|
|
49
|
-
|
|
46
|
+
k as default
|
|
50
47
|
};
|
|
51
48
|
//# sourceMappingURL=LanguageSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSelector.js","sources":["../../../../lib/@ecme/components/template/LanguageSelector.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Dropdown from '@/components/ui/Dropdown'\nimport classNames from 'classnames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport { useLocaleStore } from '@/store/localeStore'\nimport { HiCheck } from 'react-icons/hi'\nimport type { CommonProps } from '@/@types/common'\n\nconst languageList = [\n { label: 'English', value: 'en', flag: 'US' },\n { label: 'Português', value: 'ptBR', flag: 'BR' },\n]\n\nconst _LanguageSelector = ({ className }: CommonProps) => {\n const { currentLang: locale, setLang } = useLocaleStore((state) => state)\n\n const selectLangFlag = useMemo(() => {\n return languageList.find((lang) => lang.value === locale)?.flag\n }, [locale])\n\n const selectedLanguage = (\n <div className={classNames(className, 'flex items-center')}>\n <Avatar\n size={24}\n shape=\"circle\"\n src={`/img/countries/${selectLangFlag}.png`}\n />\n </div>\n )\n\n return (\n <Dropdown renderTitle={selectedLanguage} placement=\"bottom-end\">\n {languageList.map((lang) => (\n <Dropdown.Item\n key={lang.label}\n className=\"justify-between\"\n eventKey={lang.label}\n onClick={() => setLang(lang.value)}\n >\n <span className=\"flex items-center\">\n <Avatar\n size={18}\n shape=\"circle\"\n src={`/img/countries/${lang.flag}.png`}\n />\n <span className=\"ltr:ml-2 rtl:mr-2\">{lang.label}</span>\n </span>\n {locale === lang.value && (\n <HiCheck className=\"text-lg text-emerald-500\" />\n )}\n </Dropdown.Item>\n ))}\n </Dropdown>\n )\n}\n\nconst LanguageSelector = withHeaderItem(_LanguageSelector)\n\nexport default LanguageSelector\n"],"names":["languageList","_LanguageSelector","className","locale","setLang","useLocaleStore","state","selectLangFlag","useMemo","
|
|
1
|
+
{"version":3,"file":"LanguageSelector.js","sources":["../../../../lib/@ecme/components/template/LanguageSelector.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Dropdown from '@/components/ui/Dropdown'\nimport classNames from 'classnames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport { useLocaleStore } from '@/store/localeStore'\nimport { HiCheck } from 'react-icons/hi'\nimport type { CommonProps } from '@/@types/common'\n\nconst languageList = [\n { label: 'English', value: 'en', flag: 'US' },\n { label: 'Português', value: 'ptBR', flag: 'BR' },\n]\n\nconst _LanguageSelector = ({ className }: CommonProps) => {\n const { currentLang: locale, setLang } = useLocaleStore((state) => state)\n\n const selectLangFlag = useMemo(() => {\n return languageList.find((lang) => lang.value === locale)?.flag\n }, [locale])\n\n const selectedLanguage = (\n <div className={classNames(className, 'flex items-center')}>\n <Avatar\n size={24}\n shape=\"circle\"\n src={`/img/countries/${selectLangFlag}.png`}\n />\n </div>\n )\n\n return (\n <Dropdown renderTitle={selectedLanguage} placement=\"bottom-end\">\n {languageList.map((lang) => (\n <Dropdown.Item\n key={lang.label}\n className=\"justify-between\"\n eventKey={lang.label}\n onClick={() => setLang(lang.value)}\n >\n <span className=\"flex items-center\">\n <Avatar\n size={18}\n shape=\"circle\"\n src={`/img/countries/${lang.flag}.png`}\n />\n <span className=\"ltr:ml-2 rtl:mr-2\">{lang.label}</span>\n </span>\n {locale === lang.value && (\n <HiCheck className=\"text-lg text-emerald-500\" />\n )}\n </Dropdown.Item>\n ))}\n </Dropdown>\n )\n}\n\nconst LanguageSelector = withHeaderItem(_LanguageSelector)\n\nexport default LanguageSelector\n"],"names":["languageList","_LanguageSelector","className","locale","setLang","useLocaleStore","state","selectLangFlag","useMemo","lang","selectedLanguage","jsx","classNames","Avatar","Dropdown","jsxs","HiCheck","LanguageSelector","withHeaderItem"],"mappings":";;;;;;;;AASA,MAAMA,IAAe;AAAA,EACjB,EAAE,OAAO,WAAW,OAAO,MAAM,MAAM,KAAA;AAAA,EACvC,EAAE,OAAO,aAAa,OAAO,QAAQ,MAAM,KAAA;AAC/C,GAEMC,IAAoB,CAAC,EAAE,WAAAC,QAA6B;AACtD,QAAM,EAAE,aAAaC,GAAQ,SAAAC,EAAA,IAAYC,EAAe,CAACC,MAAUA,CAAK,GAElEC,IAAiBC,EAAQ,MACpBR,EAAa,KAAK,CAACS,MAASA,EAAK,UAAUN,CAAM,GAAG,MAC5D,CAACA,CAAM,CAAC,GAELO,IACF,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAWV,GAAW,mBAAmB,GACrD,UAAA,gBAAAS;AAAA,IAACE;AAAA,IAAA;AAAA,MACG,MAAM;AAAA,MACN,OAAM;AAAA,MACN,KAAK,kBAAkBN,CAAc;AAAA,IAAA;AAAA,EAAA,GAE7C;AAGJ,SACI,gBAAAI,EAACG,KAAS,aAAaJ,GAAkB,WAAU,cAC9C,UAAAV,EAAa,IAAI,CAACS,MACf,gBAAAM;AAAA,IAACD,EAAS;AAAA,IAAT;AAAA,MAEG,WAAU;AAAA,MACV,UAAUL,EAAK;AAAA,MACf,SAAS,MAAML,EAAQK,EAAK,KAAK;AAAA,MAEjC,UAAA;AAAA,QAAA,gBAAAM,EAAC,QAAA,EAAK,WAAU,qBACZ,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAACE;AAAA,YAAA;AAAA,cACG,MAAM;AAAA,cACN,OAAM;AAAA,cACN,KAAK,kBAAkBJ,EAAK,IAAI;AAAA,YAAA;AAAA,UAAA;AAAA,UAEpC,gBAAAE,EAAC,QAAA,EAAK,WAAU,qBAAqB,YAAK,MAAA,CAAM;AAAA,QAAA,GACpD;AAAA,QACCR,MAAWM,EAAK,SACb,gBAAAE,EAACK,GAAA,EAAQ,WAAU,2BAAA,CAA2B;AAAA,MAAA;AAAA,IAAA;AAAA,IAd7CP,EAAK;AAAA,EAAA,CAiBjB,GACL;AAER,GAEMQ,IAAmBC,EAAejB,CAAiB;"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as e, jsxs as s, Fragment as N } from "react/jsx-runtime";
|
|
2
2
|
import "../ui/Button/index.js";
|
|
3
3
|
import "../ui/Dialog/index.js";
|
|
4
4
|
import "../ui/ScrollBar/index.js";
|
|
5
|
-
import
|
|
6
|
-
import { NAV_ITEM_TYPE_ITEM as
|
|
5
|
+
import k from "../../configs/navigation.config/index.js";
|
|
6
|
+
import { NAV_ITEM_TYPE_ITEM as D } from "../../constants/navigation.constant.js";
|
|
7
7
|
import g from "../../utils/classNames.js";
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { useState as p, useRef as
|
|
11
|
-
import
|
|
12
|
-
import { useTranslation as
|
|
13
|
-
import { HiChevronRight as
|
|
14
|
-
import { PiMagnifyingGlassDuotone as
|
|
15
|
-
import { Link as
|
|
8
|
+
import H from "../../utils/hoc/withHeaderItem.js";
|
|
9
|
+
import O from "lodash/debounce";
|
|
10
|
+
import { useState as p, useRef as I, useMemo as _, useEffect as A } from "react";
|
|
11
|
+
import B from "react-highlight-words";
|
|
12
|
+
import { useTranslation as K } from "react-i18next";
|
|
13
|
+
import { HiChevronRight as L, HiOutlineSearch as W } from "react-icons/hi";
|
|
14
|
+
import { PiMagnifyingGlassDuotone as z } from "react-icons/pi";
|
|
15
|
+
import { Link as P } from "react-router-dom";
|
|
16
16
|
import "../ui/index.js";
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
const
|
|
17
|
+
import U from "../ui/Dialog/Dialog.js";
|
|
18
|
+
import G from "../ui/Button/Button.js";
|
|
19
|
+
import V from "../ui/Spinner/Spinner.js";
|
|
20
|
+
import Y from "../ui/ScrollBar/ScrollBar.js";
|
|
21
|
+
const q = (b) => {
|
|
22
22
|
const { icon: y, label: u, url: c = "", keyWord: m, onNavigate: h, breadcrumbs: l } = b, d = (i) => i.join(" / ");
|
|
23
|
-
return /* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ e(P, { to: c, onClick: h, children: /* @__PURE__ */ s(
|
|
24
24
|
"div",
|
|
25
25
|
{
|
|
26
26
|
className: g(
|
|
@@ -28,8 +28,8 @@ const J = (b) => {
|
|
|
28
28
|
"hover:bg-gray-100 dark:hover:bg-gray-700"
|
|
29
29
|
),
|
|
30
30
|
children: [
|
|
31
|
-
/* @__PURE__ */
|
|
32
|
-
|
|
31
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ e("div", { className: "text-gray-900 dark:text-gray-300", children: /* @__PURE__ */ e(
|
|
32
|
+
B,
|
|
33
33
|
{
|
|
34
34
|
autoEscape: !0,
|
|
35
35
|
highlightClassName: g(
|
|
@@ -40,37 +40,36 @@ const J = (b) => {
|
|
|
40
40
|
textToHighlight: d(l)
|
|
41
41
|
}
|
|
42
42
|
) }) }),
|
|
43
|
-
/* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ e(L, { className: "text-lg" })
|
|
44
44
|
]
|
|
45
45
|
}
|
|
46
46
|
) });
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
const [y, u] = p(!1), [c, m] = p(!1), [h, l] = p([]), [d, i] = p(!1), f = _(null), S = () => {
|
|
47
|
+
}, J = ({ className: b }) => {
|
|
48
|
+
const [y, u] = p(!1), [c, m] = p(!1), [h, l] = p([]), [d, i] = p(!1), f = I(null), T = () => {
|
|
50
49
|
i(!1), l([]);
|
|
51
|
-
},
|
|
50
|
+
}, S = () => {
|
|
52
51
|
m(!0);
|
|
53
52
|
}, x = () => {
|
|
54
|
-
m(!1),
|
|
55
|
-
},
|
|
56
|
-
const
|
|
53
|
+
m(!1), T();
|
|
54
|
+
}, C = O(w, 750), { t: o } = K(), R = _(() => {
|
|
55
|
+
const t = [], r = (a, n) => {
|
|
57
56
|
Array.isArray(a.subMenu) && a.subMenu.length > 0 && a.subMenu.forEach(
|
|
58
|
-
(
|
|
59
|
-
),
|
|
57
|
+
(v) => r(v, [...n, o(v.translateKey)])
|
|
58
|
+
), t.push({ ...a, parents: n });
|
|
60
59
|
};
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
}),
|
|
64
|
-
}, [
|
|
65
|
-
(
|
|
60
|
+
return k.forEach(function(n) {
|
|
61
|
+
r(n, [o(n.translateKey)]);
|
|
62
|
+
}), t;
|
|
63
|
+
}, [k, o]), E = (t, r) => r.filter(
|
|
64
|
+
(n) => n.type === D && n.parents.join().toUpperCase().includes(t.toUpperCase())
|
|
66
65
|
);
|
|
67
|
-
function
|
|
68
|
-
const
|
|
66
|
+
function j(t) {
|
|
67
|
+
const r = {
|
|
69
68
|
title: o("base.layout.search.results.navTree"),
|
|
70
69
|
data: []
|
|
71
70
|
};
|
|
72
|
-
return
|
|
73
|
-
|
|
71
|
+
return t.forEach((a) => {
|
|
72
|
+
r.data.push({
|
|
74
73
|
category: a.path,
|
|
75
74
|
categoryTitle: a.title,
|
|
76
75
|
icon: a.icon,
|
|
@@ -79,107 +78,101 @@ const J = (b) => {
|
|
|
79
78
|
title: o(a.translateKey, a.title),
|
|
80
79
|
breadcrumbs: a.parents
|
|
81
80
|
});
|
|
82
|
-
}), [
|
|
81
|
+
}), [r];
|
|
83
82
|
}
|
|
84
|
-
async function
|
|
85
|
-
if (!
|
|
83
|
+
async function w(t) {
|
|
84
|
+
if (!t) {
|
|
86
85
|
u(!1), l([]);
|
|
87
86
|
return;
|
|
88
87
|
}
|
|
89
88
|
d && i(!1);
|
|
90
|
-
const
|
|
91
|
-
|
|
89
|
+
const r = await E(t, R);
|
|
90
|
+
r && (r.length === 0 ? (i(!0), l([])) : l(j(r))), u(!1);
|
|
92
91
|
}
|
|
93
|
-
const
|
|
94
|
-
u(!0),
|
|
92
|
+
const M = (t) => {
|
|
93
|
+
u(!0), C(t.target.value);
|
|
95
94
|
};
|
|
96
|
-
|
|
95
|
+
A(() => {
|
|
97
96
|
if (c) {
|
|
98
|
-
const
|
|
99
|
-
var e;
|
|
100
|
-
return (e = f.current) == null ? void 0 : e.focus();
|
|
101
|
-
}, 100);
|
|
97
|
+
const t = setTimeout(() => f.current?.focus(), 100);
|
|
102
98
|
return () => {
|
|
103
|
-
clearTimeout(
|
|
99
|
+
clearTimeout(t);
|
|
104
100
|
};
|
|
105
101
|
}
|
|
106
102
|
}, [c]);
|
|
107
|
-
const
|
|
103
|
+
const F = () => {
|
|
108
104
|
x();
|
|
109
105
|
};
|
|
110
|
-
return /* @__PURE__ */
|
|
111
|
-
/* @__PURE__ */
|
|
106
|
+
return /* @__PURE__ */ s(N, { children: [
|
|
107
|
+
/* @__PURE__ */ e(
|
|
112
108
|
"div",
|
|
113
109
|
{
|
|
114
110
|
className: g(b, "text-2xl"),
|
|
115
|
-
onClick:
|
|
116
|
-
children: /* @__PURE__ */
|
|
111
|
+
onClick: S,
|
|
112
|
+
children: /* @__PURE__ */ e(z, {})
|
|
117
113
|
}
|
|
118
114
|
),
|
|
119
|
-
/* @__PURE__ */
|
|
120
|
-
|
|
115
|
+
/* @__PURE__ */ e(
|
|
116
|
+
U,
|
|
121
117
|
{
|
|
122
118
|
contentClassName: "p-0",
|
|
123
119
|
isOpen: c,
|
|
124
120
|
closable: !1,
|
|
125
121
|
onRequestClose: x,
|
|
126
|
-
children: /* @__PURE__ */
|
|
127
|
-
/* @__PURE__ */
|
|
128
|
-
/* @__PURE__ */
|
|
129
|
-
/* @__PURE__ */
|
|
130
|
-
/* @__PURE__ */
|
|
122
|
+
children: /* @__PURE__ */ s("div", { children: [
|
|
123
|
+
/* @__PURE__ */ s("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-600", children: [
|
|
124
|
+
/* @__PURE__ */ s("div", { className: "flex items-center", children: [
|
|
125
|
+
/* @__PURE__ */ e(W, { className: "text-xl" }),
|
|
126
|
+
/* @__PURE__ */ e(
|
|
131
127
|
"input",
|
|
132
128
|
{
|
|
133
129
|
ref: f,
|
|
134
130
|
className: "block w-full bg-transparent p-4 text-base text-gray-900 outline-none ring-0 dark:text-gray-100",
|
|
135
131
|
placeholder: o("common.input.placeholder.search"),
|
|
136
|
-
onChange:
|
|
132
|
+
onChange: M
|
|
137
133
|
}
|
|
138
134
|
)
|
|
139
135
|
] }),
|
|
140
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ e(G, { size: "xs", onClick: x, children: "Esc" })
|
|
141
137
|
] }),
|
|
142
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ e("div", { className: "px-5 py-6", children: y ? /* @__PURE__ */ e(
|
|
143
139
|
"div",
|
|
144
140
|
{
|
|
145
141
|
className: g(
|
|
146
142
|
"flex items-center justify-center"
|
|
147
143
|
),
|
|
148
|
-
children: /* @__PURE__ */
|
|
144
|
+
children: /* @__PURE__ */ e(V, { size: 40 })
|
|
149
145
|
}
|
|
150
|
-
) : /* @__PURE__ */
|
|
151
|
-
h.map((
|
|
146
|
+
) : /* @__PURE__ */ e(N, { children: /* @__PURE__ */ s(Y, { className: "max-h-[350px] overflow-y-auto", children: [
|
|
147
|
+
h.map((t) => /* @__PURE__ */ s(
|
|
152
148
|
"div",
|
|
153
149
|
{
|
|
154
150
|
className: "mb-4",
|
|
155
151
|
children: [
|
|
156
|
-
/* @__PURE__ */
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
e.title + a
|
|
170
|
-
);
|
|
171
|
-
})
|
|
152
|
+
/* @__PURE__ */ e("h6", { className: "mb-3", children: t.title }),
|
|
153
|
+
t.data.map((r, a) => /* @__PURE__ */ e(
|
|
154
|
+
q,
|
|
155
|
+
{
|
|
156
|
+
icon: r.icon,
|
|
157
|
+
breadcrumbs: r.breadcrumbs,
|
|
158
|
+
label: r.title,
|
|
159
|
+
url: r.path,
|
|
160
|
+
keyWord: f.current?.value || "",
|
|
161
|
+
onNavigate: F
|
|
162
|
+
},
|
|
163
|
+
r.title + a
|
|
164
|
+
))
|
|
172
165
|
]
|
|
173
166
|
},
|
|
174
|
-
|
|
167
|
+
t.title
|
|
175
168
|
)),
|
|
176
|
-
h.length === 0 && d && /* @__PURE__ */
|
|
177
|
-
/* @__PURE__ */
|
|
169
|
+
h.length === 0 && d && /* @__PURE__ */ s("div", { className: "my-10 text-center text-lg", children: [
|
|
170
|
+
/* @__PURE__ */ e("span", { className: "pr-1", children: o(
|
|
178
171
|
"common.status.noResultsFor"
|
|
179
172
|
) }),
|
|
180
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ s("span", { className: "heading-text", children: [
|
|
181
174
|
"'",
|
|
182
|
-
|
|
175
|
+
f.current?.value,
|
|
183
176
|
"'"
|
|
184
177
|
] })
|
|
185
178
|
] })
|
|
@@ -188,8 +181,8 @@ const J = (b) => {
|
|
|
188
181
|
}
|
|
189
182
|
)
|
|
190
183
|
] });
|
|
191
|
-
},
|
|
184
|
+
}, ge = H(J);
|
|
192
185
|
export {
|
|
193
|
-
|
|
186
|
+
ge as default
|
|
194
187
|
};
|
|
195
188
|
//# sourceMappingURL=Search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sources":["../../../../lib/@ecme/components/template/Search.tsx"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport navigationIcon from '@/configs/navigation-icon.config'\nimport navigationConfig from '@/configs/navigation.config'\nimport { NAV_ITEM_TYPE_ITEM } from '@/constants/navigation.constant'\nimport {\n GUIDE_PREFIX_PATH,\n UI_COMPONENTS_PREFIX_PATH,\n} from '@/constants/route.constant'\nimport classNames from '@/utils/classNames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport {\n filterDeep,\n findDeep,\n findPathDeep,\n findValueDeep,\n} from 'deepdash-es/standalone'\nimport { flatten, flattenDeep } from 'lodash'\nimport debounce from 'lodash/debounce'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport Highlighter from 'react-highlight-words'\nimport { useTranslation } from 'react-i18next'\nimport { HiChevronRight, HiOutlineSearch } from 'react-icons/hi'\nimport { PiMagnifyingGlassDuotone } from 'react-icons/pi'\nimport { Link } from 'react-router-dom'\nimport { Spinner } from '../ui'\n\ntype SearchData = {\n key: string\n path: string\n title: string\n icon: string\n category: string\n categoryTitle: string\n breadcrumbs: string[]\n}\n\ntype SearchResult = {\n title: string\n data: SearchData[]\n}\n\nconst ListItem = (props: {\n icon: string\n label: string\n url: string\n isLast?: boolean\n keyWord: string\n breadcrumbs: string[]\n onNavigate: () => void\n}) => {\n const { icon, label, url = '', keyWord, onNavigate, breadcrumbs } = props\n\n const makeBreadcrumbs = (breadcrumbs: string[]) => {\n return breadcrumbs.join(' / ')\n }\n\n return (\n <Link to={url} onClick={onNavigate}>\n <div\n className={classNames(\n 'flex items-center justify-between rounded-xl p-3 cursor-pointer user-select',\n 'hover:bg-gray-100 dark:hover:bg-gray-700',\n )}\n >\n <div className=\"flex items-center gap-2\">\n {/* <div\n className={classNames(\n 'rounded-lg border-2 border-gray-200 shadow-sm text-xl group-hover:shadow h-10 w-10 flex items-center justify-center bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100',\n )}\n >\n {icon && navigationIcon[icon]}\n </div> */}\n <div className=\"text-gray-900 dark:text-gray-300\">\n <Highlighter\n autoEscape\n highlightClassName={classNames(\n 'text-primary',\n 'underline bg-transparent font-semibold dark:text-white',\n )}\n searchWords={[keyWord]}\n textToHighlight={makeBreadcrumbs(breadcrumbs)}\n />\n </div>\n </div>\n <HiChevronRight className=\"text-lg\" />\n </div>\n </Link>\n )\n}\n\ntype NavigationTreeFlat = NavigationTree & { parents: string[] }\n\nconst _Search = ({ className }: { className?: string }) => {\n const [loading, setLoading] = useState(false)\n const [searchDialogOpen, setSearchDialogOpen] = useState(false)\n const [searchResult, setSearchResult] = useState<SearchResult[]>([])\n const [noResult, setNoResult] = useState(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleReset = () => {\n setNoResult(false)\n setSearchResult([])\n }\n\n const handleSearchOpen = () => {\n setSearchDialogOpen(true)\n }\n\n const handleSearchClose = () => {\n setSearchDialogOpen(false)\n handleReset()\n }\n\n const debounceFn = debounce(handleDebounceFn, 750)\n\n const { t } = useTranslation()\n\n const flatNavTree = useMemo(() => {\n const arr: NavigationTreeFlat[] = []\n\n const makeflat = (item: NavigationTree, parents: string[]) => {\n if (Array.isArray(item.subMenu) && item.subMenu.length > 0) {\n item.subMenu.forEach((item) =>\n makeflat(item, [...parents, t(item.translateKey)]),\n )\n }\n arr.push({ ...item, parents })\n }\n\n navigationConfig.forEach(function f(item) {\n makeflat(item, [t(item.translateKey)])\n })\n return arr\n }, [navigationConfig, t])\n\n const filterNavigationTreeFlat = (\n text: string,\n tree: NavigationTreeFlat[],\n ): NavigationTreeFlat[] => {\n const results = tree.filter(\n (item) =>\n item.type === NAV_ITEM_TYPE_ITEM &&\n item.parents.join().toUpperCase().includes(text.toUpperCase()),\n )\n\n return results\n }\n\n function navTreeFlatToSearchResult(\n tree: NavigationTreeFlat[],\n ): SearchResult[] {\n const navTreeSearchResult: SearchResult = {\n title: t('base.layout.search.results.navTree'),\n data: [],\n }\n tree.forEach((item) => {\n navTreeSearchResult.data.push({\n category: item.path,\n categoryTitle: item.title,\n icon: item.icon,\n key: item.key,\n path: item.path,\n title: t(item.translateKey, item.title),\n breadcrumbs: item.parents,\n })\n })\n return [navTreeSearchResult]\n }\n\n async function handleDebounceFn(query: string) {\n if (!query) {\n setLoading(false)\n setSearchResult([])\n return\n }\n\n if (noResult) {\n setNoResult(false)\n }\n\n const res = await filterNavigationTreeFlat(query, flatNavTree)\n\n if (res) {\n if (res.length === 0) {\n setNoResult(true)\n setSearchResult([])\n } else {\n setSearchResult(navTreeFlatToSearchResult(res))\n }\n }\n\n setLoading(false)\n }\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setLoading(true)\n debounceFn(e.target.value)\n }\n\n useEffect(() => {\n if (searchDialogOpen) {\n const timeout = setTimeout(() => inputRef.current?.focus(), 100)\n return () => {\n clearTimeout(timeout)\n }\n }\n }, [searchDialogOpen])\n\n const handleNavigate = () => {\n handleSearchClose()\n }\n\n return (\n <>\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleSearchOpen}\n >\n <PiMagnifyingGlassDuotone />\n </div>\n <Dialog\n contentClassName=\"p-0\"\n isOpen={searchDialogOpen}\n closable={false}\n onRequestClose={handleSearchClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-600\">\n <div className=\"flex items-center\">\n <HiOutlineSearch className=\"text-xl\" />\n <input\n ref={inputRef}\n className=\"block w-full bg-transparent p-4 text-base text-gray-900 outline-none ring-0 dark:text-gray-100\"\n placeholder={t('common.input.placeholder.search')}\n onChange={handleSearch}\n />\n </div>\n <Button size=\"xs\" onClick={handleSearchClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {loading ? (\n <div\n className={classNames(\n 'flex items-center justify-center',\n )}\n >\n <Spinner size={40} />\n </div>\n ) : (\n <>\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {searchResult.map((result) => (\n <div\n key={result.title}\n className=\"mb-4\"\n >\n <h6 className=\"mb-3\">\n {result.title}\n </h6>\n {result.data.map((data, index) => (\n <ListItem\n key={data.title + index}\n icon={data.icon}\n breadcrumbs={\n data.breadcrumbs\n }\n label={data.title}\n url={data.path}\n keyWord={\n inputRef.current\n ?.value || ''\n }\n onNavigate={handleNavigate}\n />\n ))}\n </div>\n ))}\n {searchResult.length === 0 && noResult && (\n <div className=\"my-10 text-center text-lg\">\n <span className=\"pr-1\">\n {t(\n 'common.status.noResultsFor',\n )}\n </span>\n <span className=\"heading-text\">\n {`'`}\n {inputRef.current?.value}\n {`'`}\n </span>\n </div>\n )}\n </ScrollBar>\n </>\n )}\n </div>\n </div>\n </Dialog>\n </>\n )\n}\n\nconst Search = withHeaderItem(_Search)\n\nexport default Search\n"],"names":["ListItem","props","icon","label","url","keyWord","onNavigate","breadcrumbs","makeBreadcrumbs","jsx","Link","jsxs","classNames","Highlighter","HiChevronRight","_Search","className","loading","setLoading","useState","searchDialogOpen","setSearchDialogOpen","searchResult","setSearchResult","noResult","setNoResult","inputRef","useRef","handleReset","handleSearchOpen","handleSearchClose","debounceFn","debounce","handleDebounceFn","t","useTranslation","flatNavTree","useMemo","arr","makeflat","item","parents","navigationConfig","filterNavigationTreeFlat","text","tree","NAV_ITEM_TYPE_ITEM","navTreeFlatToSearchResult","navTreeSearchResult","query","res","handleSearch","e","useEffect","timeout","_a","handleNavigate","Fragment","PiMagnifyingGlassDuotone","Dialog","HiOutlineSearch","Button","Spinner","ScrollBar","result","data","index","Search","withHeaderItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Search.js","sources":["../../../../lib/@ecme/components/template/Search.tsx"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport navigationIcon from '@/configs/navigation-icon.config'\nimport navigationConfig from '@/configs/navigation.config'\nimport { NAV_ITEM_TYPE_ITEM } from '@/constants/navigation.constant'\nimport {\n GUIDE_PREFIX_PATH,\n UI_COMPONENTS_PREFIX_PATH,\n} from '@/constants/route.constant'\nimport classNames from '@/utils/classNames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport {\n filterDeep,\n findDeep,\n findPathDeep,\n findValueDeep,\n} from 'deepdash-es/standalone'\nimport { flatten, flattenDeep } from 'lodash'\nimport debounce from 'lodash/debounce'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport Highlighter from 'react-highlight-words'\nimport { useTranslation } from 'react-i18next'\nimport { HiChevronRight, HiOutlineSearch } from 'react-icons/hi'\nimport { PiMagnifyingGlassDuotone } from 'react-icons/pi'\nimport { Link } from 'react-router-dom'\nimport { Spinner } from '../ui'\n\ntype SearchData = {\n key: string\n path: string\n title: string\n icon: string\n category: string\n categoryTitle: string\n breadcrumbs: string[]\n}\n\ntype SearchResult = {\n title: string\n data: SearchData[]\n}\n\nconst ListItem = (props: {\n icon: string\n label: string\n url: string\n isLast?: boolean\n keyWord: string\n breadcrumbs: string[]\n onNavigate: () => void\n}) => {\n const { icon, label, url = '', keyWord, onNavigate, breadcrumbs } = props\n\n const makeBreadcrumbs = (breadcrumbs: string[]) => {\n return breadcrumbs.join(' / ')\n }\n\n return (\n <Link to={url} onClick={onNavigate}>\n <div\n className={classNames(\n 'flex items-center justify-between rounded-xl p-3 cursor-pointer user-select',\n 'hover:bg-gray-100 dark:hover:bg-gray-700',\n )}\n >\n <div className=\"flex items-center gap-2\">\n {/* <div\n className={classNames(\n 'rounded-lg border-2 border-gray-200 shadow-sm text-xl group-hover:shadow h-10 w-10 flex items-center justify-center bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100',\n )}\n >\n {icon && navigationIcon[icon]}\n </div> */}\n <div className=\"text-gray-900 dark:text-gray-300\">\n <Highlighter\n autoEscape\n highlightClassName={classNames(\n 'text-primary',\n 'underline bg-transparent font-semibold dark:text-white',\n )}\n searchWords={[keyWord]}\n textToHighlight={makeBreadcrumbs(breadcrumbs)}\n />\n </div>\n </div>\n <HiChevronRight className=\"text-lg\" />\n </div>\n </Link>\n )\n}\n\ntype NavigationTreeFlat = NavigationTree & { parents: string[] }\n\nconst _Search = ({ className }: { className?: string }) => {\n const [loading, setLoading] = useState(false)\n const [searchDialogOpen, setSearchDialogOpen] = useState(false)\n const [searchResult, setSearchResult] = useState<SearchResult[]>([])\n const [noResult, setNoResult] = useState(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleReset = () => {\n setNoResult(false)\n setSearchResult([])\n }\n\n const handleSearchOpen = () => {\n setSearchDialogOpen(true)\n }\n\n const handleSearchClose = () => {\n setSearchDialogOpen(false)\n handleReset()\n }\n\n const debounceFn = debounce(handleDebounceFn, 750)\n\n const { t } = useTranslation()\n\n const flatNavTree = useMemo(() => {\n const arr: NavigationTreeFlat[] = []\n\n const makeflat = (item: NavigationTree, parents: string[]) => {\n if (Array.isArray(item.subMenu) && item.subMenu.length > 0) {\n item.subMenu.forEach((item) =>\n makeflat(item, [...parents, t(item.translateKey)]),\n )\n }\n arr.push({ ...item, parents })\n }\n\n navigationConfig.forEach(function f(item) {\n makeflat(item, [t(item.translateKey)])\n })\n return arr\n }, [navigationConfig, t])\n\n const filterNavigationTreeFlat = (\n text: string,\n tree: NavigationTreeFlat[],\n ): NavigationTreeFlat[] => {\n const results = tree.filter(\n (item) =>\n item.type === NAV_ITEM_TYPE_ITEM &&\n item.parents.join().toUpperCase().includes(text.toUpperCase()),\n )\n\n return results\n }\n\n function navTreeFlatToSearchResult(\n tree: NavigationTreeFlat[],\n ): SearchResult[] {\n const navTreeSearchResult: SearchResult = {\n title: t('base.layout.search.results.navTree'),\n data: [],\n }\n tree.forEach((item) => {\n navTreeSearchResult.data.push({\n category: item.path,\n categoryTitle: item.title,\n icon: item.icon,\n key: item.key,\n path: item.path,\n title: t(item.translateKey, item.title),\n breadcrumbs: item.parents,\n })\n })\n return [navTreeSearchResult]\n }\n\n async function handleDebounceFn(query: string) {\n if (!query) {\n setLoading(false)\n setSearchResult([])\n return\n }\n\n if (noResult) {\n setNoResult(false)\n }\n\n const res = await filterNavigationTreeFlat(query, flatNavTree)\n\n if (res) {\n if (res.length === 0) {\n setNoResult(true)\n setSearchResult([])\n } else {\n setSearchResult(navTreeFlatToSearchResult(res))\n }\n }\n\n setLoading(false)\n }\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setLoading(true)\n debounceFn(e.target.value)\n }\n\n useEffect(() => {\n if (searchDialogOpen) {\n const timeout = setTimeout(() => inputRef.current?.focus(), 100)\n return () => {\n clearTimeout(timeout)\n }\n }\n }, [searchDialogOpen])\n\n const handleNavigate = () => {\n handleSearchClose()\n }\n\n return (\n <>\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleSearchOpen}\n >\n <PiMagnifyingGlassDuotone />\n </div>\n <Dialog\n contentClassName=\"p-0\"\n isOpen={searchDialogOpen}\n closable={false}\n onRequestClose={handleSearchClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-600\">\n <div className=\"flex items-center\">\n <HiOutlineSearch className=\"text-xl\" />\n <input\n ref={inputRef}\n className=\"block w-full bg-transparent p-4 text-base text-gray-900 outline-none ring-0 dark:text-gray-100\"\n placeholder={t('common.input.placeholder.search')}\n onChange={handleSearch}\n />\n </div>\n <Button size=\"xs\" onClick={handleSearchClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {loading ? (\n <div\n className={classNames(\n 'flex items-center justify-center',\n )}\n >\n <Spinner size={40} />\n </div>\n ) : (\n <>\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {searchResult.map((result) => (\n <div\n key={result.title}\n className=\"mb-4\"\n >\n <h6 className=\"mb-3\">\n {result.title}\n </h6>\n {result.data.map((data, index) => (\n <ListItem\n key={data.title + index}\n icon={data.icon}\n breadcrumbs={\n data.breadcrumbs\n }\n label={data.title}\n url={data.path}\n keyWord={\n inputRef.current\n ?.value || ''\n }\n onNavigate={handleNavigate}\n />\n ))}\n </div>\n ))}\n {searchResult.length === 0 && noResult && (\n <div className=\"my-10 text-center text-lg\">\n <span className=\"pr-1\">\n {t(\n 'common.status.noResultsFor',\n )}\n </span>\n <span className=\"heading-text\">\n {`'`}\n {inputRef.current?.value}\n {`'`}\n </span>\n </div>\n )}\n </ScrollBar>\n </>\n )}\n </div>\n </div>\n </Dialog>\n </>\n )\n}\n\nconst Search = withHeaderItem(_Search)\n\nexport default Search\n"],"names":["ListItem","props","icon","label","url","keyWord","onNavigate","breadcrumbs","makeBreadcrumbs","jsx","Link","jsxs","classNames","Highlighter","HiChevronRight","_Search","className","loading","setLoading","useState","searchDialogOpen","setSearchDialogOpen","searchResult","setSearchResult","noResult","setNoResult","inputRef","useRef","handleReset","handleSearchOpen","handleSearchClose","debounceFn","debounce","handleDebounceFn","t","useTranslation","flatNavTree","useMemo","arr","makeflat","item","parents","navigationConfig","filterNavigationTreeFlat","text","tree","NAV_ITEM_TYPE_ITEM","navTreeFlatToSearchResult","navTreeSearchResult","query","res","handleSearch","e","useEffect","timeout","handleNavigate","Fragment","PiMagnifyingGlassDuotone","Dialog","HiOutlineSearch","Button","Spinner","ScrollBar","result","data","index","Search","withHeaderItem"],"mappings":"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"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import "../../ui/Button/index.js";
|
|
3
|
-
import { InputGroup as
|
|
4
|
-
import
|
|
5
|
-
import { THEME_ENUM as
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
{ value:
|
|
9
|
-
{ value:
|
|
10
|
-
],
|
|
3
|
+
import { InputGroup as a } from "../../ui/InputGroup/index.js";
|
|
4
|
+
import c from "../../../utils/hooks/useDirection.js";
|
|
5
|
+
import { THEME_ENUM as e } from "../../../constants/theme.constant.js";
|
|
6
|
+
import m from "../../ui/Button/Button.js";
|
|
7
|
+
const s = [
|
|
8
|
+
{ value: e.DIR_LTR, label: "LTR" },
|
|
9
|
+
{ value: e.DIR_RTL, label: "RTL" }
|
|
10
|
+
], L = ({
|
|
11
11
|
callBackClose: r
|
|
12
12
|
}) => {
|
|
13
|
-
const [
|
|
14
|
-
n(
|
|
13
|
+
const [i, n] = c(), l = (o) => {
|
|
14
|
+
n(o), r?.();
|
|
15
15
|
};
|
|
16
|
-
return /* @__PURE__ */
|
|
17
|
-
|
|
16
|
+
return /* @__PURE__ */ t(a, { size: "sm", children: s.map((o) => /* @__PURE__ */ t(
|
|
17
|
+
m,
|
|
18
18
|
{
|
|
19
|
-
active:
|
|
20
|
-
onClick: () =>
|
|
21
|
-
children:
|
|
19
|
+
active: i === o.value,
|
|
20
|
+
onClick: () => l(o.value),
|
|
21
|
+
children: o.label
|
|
22
22
|
},
|
|
23
|
-
|
|
23
|
+
o.value
|
|
24
24
|
)) });
|
|
25
25
|
};
|
|
26
26
|
export {
|
|
27
|
-
|
|
27
|
+
L as default
|
|
28
28
|
};
|
|
29
29
|
//# sourceMappingURL=DirectionSwitcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionSwitcher.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.tsx"],"sourcesContent":["import Button from '@/components/ui/Button'\nimport InputGroup from '@/components/ui/InputGroup'\nimport useDirection from '@/utils/hooks/useDirection'\nimport { THEME_ENUM } from '@/constants/theme.constant'\nimport type { Direction } from '@/@types/theme'\n\nconst dirList = [\n { value: THEME_ENUM.DIR_LTR, label: 'LTR' },\n { value: THEME_ENUM.DIR_RTL, label: 'RTL' },\n]\n\nconst DirectionSwitcher = ({\n callBackClose,\n}: {\n callBackClose?: () => void\n}) => {\n const [direction, setDirection] = useDirection()\n\n const onDirChange = (val: Direction) => {\n setDirection(val)\n callBackClose?.()\n }\n\n return (\n <InputGroup size=\"sm\">\n {dirList.map((dir) => (\n <Button\n key={dir.value}\n active={direction === dir.value}\n onClick={() => onDirChange(dir.value)}\n >\n {dir.label}\n </Button>\n ))}\n </InputGroup>\n )\n}\n\nexport default DirectionSwitcher\n"],"names":["dirList","THEME_ENUM","DirectionSwitcher","callBackClose","direction","setDirection","useDirection","onDirChange","val","InputGroup","dir","jsx","Button"],"mappings":";;;;;;AAMA,MAAMA,IAAU;AAAA,EACZ,EAAE,OAAOC,EAAW,SAAS,OAAO,MAAA;AAAA,EACpC,EAAE,OAAOA,EAAW,SAAS,OAAO,MAAA;AACxC,GAEMC,IAAoB,CAAC;AAAA,EACvB,eAAAC;AACJ,MAEM;AACF,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAA,GAE5BC,IAAc,CAACC,MAAmB;AACpC,IAAAH,EAAaG,CAAG,GAChBL,
|
|
1
|
+
{"version":3,"file":"DirectionSwitcher.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.tsx"],"sourcesContent":["import Button from '@/components/ui/Button'\nimport InputGroup from '@/components/ui/InputGroup'\nimport useDirection from '@/utils/hooks/useDirection'\nimport { THEME_ENUM } from '@/constants/theme.constant'\nimport type { Direction } from '@/@types/theme'\n\nconst dirList = [\n { value: THEME_ENUM.DIR_LTR, label: 'LTR' },\n { value: THEME_ENUM.DIR_RTL, label: 'RTL' },\n]\n\nconst DirectionSwitcher = ({\n callBackClose,\n}: {\n callBackClose?: () => void\n}) => {\n const [direction, setDirection] = useDirection()\n\n const onDirChange = (val: Direction) => {\n setDirection(val)\n callBackClose?.()\n }\n\n return (\n <InputGroup size=\"sm\">\n {dirList.map((dir) => (\n <Button\n key={dir.value}\n active={direction === dir.value}\n onClick={() => onDirChange(dir.value)}\n >\n {dir.label}\n </Button>\n ))}\n </InputGroup>\n )\n}\n\nexport default DirectionSwitcher\n"],"names":["dirList","THEME_ENUM","DirectionSwitcher","callBackClose","direction","setDirection","useDirection","onDirChange","val","InputGroup","dir","jsx","Button"],"mappings":";;;;;;AAMA,MAAMA,IAAU;AAAA,EACZ,EAAE,OAAOC,EAAW,SAAS,OAAO,MAAA;AAAA,EACpC,EAAE,OAAOA,EAAW,SAAS,OAAO,MAAA;AACxC,GAEMC,IAAoB,CAAC;AAAA,EACvB,eAAAC;AACJ,MAEM;AACF,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAA,GAE5BC,IAAc,CAACC,MAAmB;AACpC,IAAAH,EAAaG,CAAG,GAChBL,IAAA;AAAA,EACJ;AAEA,2BACKM,GAAA,EAAW,MAAK,MACZ,UAAAT,EAAQ,IAAI,CAACU,MACV,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MAEG,QAAQR,MAAcM,EAAI;AAAA,MAC1B,SAAS,MAAMH,EAAYG,EAAI,KAAK;AAAA,MAEnC,UAAAA,EAAI;AAAA,IAAA;AAAA,IAJAA,EAAI;AAAA,EAAA,CAMhB,GACL;AAER;"}
|