@antscorp/antsomi-ui 1.3.7-beta.7 → 1.3.7-beta.71
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/README.md +70 -0
- package/es/components/atoms/Input/Input.js +3 -1
- package/es/components/atoms/InputDynamic/InputDynamic.js +3 -3
- package/es/components/atoms/Tag/Tag.js +1 -1
- package/es/components/icons/LazyIcon/LazyIcon.d.ts +2 -0
- package/es/components/icons/LazyIcon/LazyIcon.js +2 -0
- package/es/components/icons/QRCodeManagementIcon.d.ts +3 -0
- package/es/components/icons/QRCodeManagementIcon.js +7 -0
- package/es/components/icons/QRSetDashboardIcon.d.ts +3 -0
- package/es/components/icons/QRSetDashboardIcon.js +7 -0
- package/es/components/icons/index.d.ts +2 -0
- package/es/components/icons/index.js +2 -0
- package/es/components/molecules/AddDynamicContent/AddDynamicContent.js +28 -2
- package/es/components/molecules/AddDynamicContent/components/DisplayFormat/DisplayFormat.d.ts +1 -0
- package/es/components/molecules/AddDynamicContent/constants.d.ts +2 -0
- package/es/components/molecules/AddDynamicContent/constants.js +2 -0
- package/es/components/molecules/ColorPicker/index.d.ts +2 -0
- package/es/components/molecules/ColorPicker/index.js +8 -3
- package/es/components/molecules/EmojiPopover/EmojiPopover.d.ts +1 -0
- package/es/components/molecules/EmojiPopover/EmojiPopover.js +2 -2
- package/es/components/molecules/EmojiPopover/styled.d.ts +2 -2
- package/es/components/molecules/EmojiPopover/styled.js +1 -1
- package/es/components/molecules/EmptyData/EmptyData.d.ts +1 -1
- package/es/components/molecules/EmptyData/EmptyData.js +4 -2
- package/es/components/molecules/HeaderV2/HeaderV2.d.ts +1 -1
- package/es/components/molecules/InputSearch/index.d.ts +1 -1
- package/es/components/molecules/InputSearch/index.js +2 -1
- package/es/components/molecules/Modal/Modal.js +7 -1
- package/es/components/molecules/ModalV2/ModalV2.js +2 -1
- package/es/components/molecules/SearchPopover/SearchPopover.js +2 -2
- package/es/components/molecules/SearchPopover/styled.d.ts +12 -1
- package/es/components/molecules/SearchPopover/styled.js +1 -2
- package/es/components/molecules/SearchPopover/types.d.ts +4 -3
- package/es/components/molecules/Select/Select.js +3 -3
- package/es/components/molecules/Select/styled.d.ts +3 -1
- package/es/components/molecules/Select/styled.js +50 -6
- package/es/components/molecules/ShareAccess/ShareAccess.d.ts +2 -1
- package/es/components/molecules/ShareAccess/ShareAccess.js +12 -9
- package/es/components/molecules/ShareAccess/components/LayoutContent/LayoutContent.js +5 -5
- package/es/components/molecules/ShareAccess/components/PeopleAccess/PeopleAccess.js +2 -2
- package/es/components/molecules/ShareAccess/hooks/useShareAccess.d.ts +2 -1
- package/es/components/molecules/ShareAccess/index.d.ts +1 -0
- package/es/components/molecules/ShareAccess/reducer.d.ts +1 -1
- package/es/components/molecules/ShareAccess/reducer.js +7 -4
- package/es/components/molecules/ShareAccess/types.d.ts +22 -0
- package/es/components/molecules/ShareAccess/utils.d.ts +3 -1
- package/es/components/molecules/ShareAccess/utils.js +35 -2
- package/es/components/molecules/TagifyInput/TagifyInput.js +48 -27
- package/es/components/molecules/TagifyInput/types.d.ts +14 -8
- package/es/components/molecules/TagifyInput/utils.d.ts +6 -1
- package/es/components/molecules/TagifyInput/utils.js +19 -0
- package/es/components/molecules/VirtualizedMenu/VirtualizedMenu.d.ts +1 -0
- package/es/components/molecules/VirtualizedMenu/components/Item/Item.js +3 -7
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.d.ts +10 -10
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.js +46 -327
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/index.d.ts +9 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/index.js +5 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useFocusManagement.d.ts +23 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useFocusManagement.js +81 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useItemInteraction.d.ts +24 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useItemInteraction.js +32 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useKeyboardNavigation.d.ts +26 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useKeyboardNavigation.js +93 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useTreeState.d.ts +24 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useTreeState.js +94 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useVisibleItems.d.ts +7 -0
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/hooks/useVisibleItems.js +132 -0
- package/es/components/molecules/VirtualizedMenu/styled.js +14 -3
- package/es/components/molecules/VirtualizedMenu/types.d.ts +1 -0
- package/es/components/molecules/VirtualizedMenu/utils.d.ts +1 -0
- package/es/components/molecules/VirtualizedMenu/utils.js +1 -0
- package/es/components/molecules/index.d.ts +1 -0
- package/es/components/organism/AccountSharing/AccountSharing.d.ts +1 -0
- package/es/components/organism/AccountSharing/AccountSharing.js +17 -33
- package/es/components/organism/AccountSharing/styled.js +1 -1
- package/es/components/organism/ActivityTimeline/ActivityTimeline.js +3 -3
- package/es/components/organism/ActivityTimeline/constants.d.ts +9 -9
- package/es/components/organism/ActivityTimeline/constants.js +3 -3
- package/es/components/organism/ActivityTimeline/index.d.ts +530 -1
- package/es/components/organism/ActivityTimeline/index.js +9 -1
- package/es/components/organism/ActivityTimeline/utils.js +186 -15
- package/es/components/organism/LeftMenu/LeftMenu.js +6 -6
- package/es/components/organism/LeftMenu/hooks/usePermission.js +1 -1
- package/es/components/organism/LeftMenu/styled.js +2 -0
- package/es/components/organism/LeftMenu/types/index.d.ts +7 -0
- package/es/components/organism/LeftMenu/utils/index.js +1 -1
- package/es/components/organism/Login/Login.js +19 -36
- package/es/components/organism/Login/components/IconInfo/IconInfo.js +1 -1
- package/es/components/organism/Login/components/LoginSelectPortal/LoginSelectPortal.js +1 -1
- package/es/components/organism/Login/components/SignIn/SignIn.js +2 -2
- package/es/components/organism/Login/types/index.d.ts +2 -0
- package/es/components/organism/LoginV2/LoginV2.d.ts +3 -0
- package/es/components/organism/LoginV2/LoginV2.js +957 -0
- package/es/components/organism/LoginV2/components/Avatar/Avatar.d.ts +8 -0
- package/es/components/organism/LoginV2/components/Avatar/Avatar.js +11 -0
- package/es/components/organism/LoginV2/components/Avatar/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/Avatar/index.js +1 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/ChooseMethod.d.ts +9 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/ChooseMethod.js +54 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/Method.d.ts +10 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/Method.js +13 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/index.js +1 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/styled.d.ts +10 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/styled.js +24 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/utils.d.ts +1 -0
- package/es/components/organism/LoginV2/components/ChooseMethod/utils.js +1 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/ForgotPassword.d.ts +14 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/ForgotPassword.js +195 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/index.d.ts +2 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/index.js +2 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/styled.d.ts +1 -0
- package/es/components/organism/LoginV2/components/ForgotPassword/styled.js +10 -0
- package/es/components/organism/LoginV2/components/IconInfo/IconInfo.d.ts +7 -0
- package/es/components/organism/LoginV2/components/IconInfo/IconInfo.js +18 -0
- package/es/components/organism/LoginV2/components/IconInfo/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/IconInfo/index.js +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/Item.d.ts +10 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/Item.js +12 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/index.js +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/styled.d.ts +2 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/styled.js +34 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/LoginSelectPortal.d.ts +19 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/LoginSelectPortal.js +194 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/index.js +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/styled.d.ts +1 -0
- package/es/components/organism/LoginV2/components/LoginSelectPortal/styled.js +5 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/LoginWithEmail.d.ts +15 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/LoginWithEmail.js +211 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/index.js +1 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/styled.d.ts +3 -0
- package/es/components/organism/LoginV2/components/LoginWithEmail/styled.js +5 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/LoginWithGG.d.ts +14 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/LoginWithGG.js +116 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/index.js +1 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/styled.d.ts +3 -0
- package/es/components/organism/LoginV2/components/LoginWithGG/styled.js +5 -0
- package/es/components/organism/LoginV2/components/Logo/Logo.d.ts +6 -0
- package/es/components/organism/LoginV2/components/Logo/Logo.js +9 -0
- package/es/components/organism/LoginV2/components/Logo/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/Logo/index.js +1 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryAuthLayout.d.ts +9 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryAuthLayout.js +4 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryConsent.d.ts +17 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryConsent.js +204 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryThemeProvider.d.ts +8 -0
- package/es/components/organism/LoginV2/components/OryConsent/OryThemeProvider.js +10 -0
- package/es/components/organism/LoginV2/components/OryConsent/PortalSelect.d.ts +15 -0
- package/es/components/organism/LoginV2/components/OryConsent/PortalSelect.js +30 -0
- package/es/components/organism/LoginV2/components/OryConsent/ScopeConsent.d.ts +20 -0
- package/es/components/organism/LoginV2/components/OryConsent/ScopeConsent.js +29 -0
- package/es/components/organism/LoginV2/components/OryConsent/index.d.ts +2 -0
- package/es/components/organism/LoginV2/components/OryConsent/index.js +2 -0
- package/es/components/organism/LoginV2/components/OryConsent/styled.d.ts +31 -0
- package/es/components/organism/LoginV2/components/OryConsent/styled.js +292 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryFormShell.d.ts +9 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryFormShell.js +36 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryMfa.d.ts +11 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryMfa.js +144 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryRecovery.d.ts +9 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryRecovery.js +128 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryStatus.d.ts +17 -0
- package/es/components/organism/LoginV2/components/OrySignIn/OryStatus.js +33 -0
- package/es/components/organism/LoginV2/components/OrySignIn/index.d.ts +3 -0
- package/es/components/organism/LoginV2/components/OrySignIn/index.js +3 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/SetupGGAuthenticator.d.ts +14 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/SetupGGAuthenticator.js +100 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/index.d.ts +2 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/index.js +2 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/styled.d.ts +4 -0
- package/es/components/organism/LoginV2/components/SetupGGAuthenticator/styled.js +10 -0
- package/es/components/organism/LoginV2/components/SignIn/SignIn.d.ts +22 -0
- package/es/components/organism/LoginV2/components/SignIn/SignIn.js +107 -0
- package/es/components/organism/LoginV2/components/SignIn/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/SignIn/index.js +1 -0
- package/es/components/organism/LoginV2/components/SignIn/styled.d.ts +3 -0
- package/es/components/organism/LoginV2/components/SignIn/styled.js +10 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/VerifyAccount.d.ts +25 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/VerifyAccount.js +42 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/index.js +1 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/styled.d.ts +22 -0
- package/es/components/organism/LoginV2/components/VerifyAccount/styled.js +17 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/WidgetLayout.d.ts +13 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/WidgetLayout.js +18 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/index.d.ts +1 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/index.js +1 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/styled.d.ts +5 -0
- package/es/components/organism/LoginV2/components/WidgetLayout/styled.js +22 -0
- package/es/components/organism/LoginV2/components/index.d.ts +11 -0
- package/es/components/organism/LoginV2/components/index.js +11 -0
- package/es/components/organism/LoginV2/constants/index.d.ts +48 -0
- package/es/components/organism/LoginV2/constants/index.js +48 -0
- package/es/components/organism/LoginV2/hooks/index.d.ts +1 -0
- package/es/components/organism/LoginV2/hooks/index.js +1 -0
- package/es/components/organism/LoginV2/hooks/useResize.d.ts +7 -0
- package/es/components/organism/LoginV2/hooks/useResize.js +21 -0
- package/es/components/organism/LoginV2/index.d.ts +6 -0
- package/es/components/organism/LoginV2/index.js +4 -0
- package/es/components/organism/LoginV2/styled.d.ts +51 -0
- package/es/components/organism/LoginV2/styled.js +129 -0
- package/es/components/organism/LoginV2/types/index.d.ts +79 -0
- package/es/components/organism/LoginV2/types/index.js +1 -0
- package/es/components/organism/LoginV2/types/ory.d.ts +52 -0
- package/es/components/organism/LoginV2/types/ory.js +1 -0
- package/es/components/organism/LoginV2/utils/index.d.ts +14 -0
- package/es/components/organism/LoginV2/utils/index.js +49 -0
- package/es/components/organism/LoginV2/utils/ory.d.ts +138 -0
- package/es/components/organism/LoginV2/utils/ory.js +408 -0
- package/es/components/organism/LoginV2/utils/oryConsent.d.ts +52 -0
- package/es/components/organism/LoginV2/utils/oryConsent.js +174 -0
- package/es/components/organism/LoginV2/utils/oryFlows.d.ts +100 -0
- package/es/components/organism/LoginV2/utils/oryFlows.js +319 -0
- package/es/components/organism/TextEditor/TextEditor.d.ts +9 -2
- package/es/components/organism/TextEditor/TextEditor.js +203 -42
- package/es/components/organism/TextEditor/constants.d.ts +9 -0
- package/es/components/organism/TextEditor/constants.js +66 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.d.ts +6 -128
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.js +7 -292
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.d.ts +1 -1
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.js +4 -0
- package/es/components/organism/TextEditor/extensions/Link.js +33 -14
- package/es/components/organism/TextEditor/extensions/ListItem.d.ts +10 -0
- package/es/components/organism/TextEditor/extensions/ListItem.js +93 -0
- package/es/components/organism/TextEditor/extensions/SmartTag.d.ts +5 -6
- package/es/components/organism/TextEditor/extensions/SmartTag.js +96 -4
- package/es/components/organism/TextEditor/hooks/useColorSet.js +7 -0
- package/es/components/organism/TextEditor/hooks/useMarkTracking.js +2 -1
- package/es/components/organism/TextEditor/index.d.ts +7 -5
- package/es/components/organism/TextEditor/index.scss +4 -7
- package/es/components/organism/TextEditor/provider.d.ts +1 -0
- package/es/components/organism/TextEditor/provider.js +6 -3
- package/es/components/organism/TextEditor/store.d.ts +11 -4
- package/es/components/organism/TextEditor/store.js +22 -2
- package/es/components/organism/TextEditor/stories/WithOldDynAndLink/froala-legacy-format.settings.json +95 -0
- package/es/components/organism/TextEditor/stories/WithOldDynAndLink/shared.d.ts +111 -0
- package/es/components/organism/TextEditor/stories/WithOldDynAndLink/shared.js +82 -0
- package/es/components/organism/TextEditor/stories/shared.d.ts +64 -0
- package/es/components/organism/TextEditor/stories/shared.js +57 -0
- package/es/components/organism/TextEditor/styled.d.ts +1 -1
- package/es/components/organism/TextEditor/styled.js +1 -0
- package/es/components/organism/TextEditor/types.d.ts +161 -11
- package/es/components/organism/TextEditor/types.js +1 -0
- package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.d.ts +2 -1
- package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.js +80 -51
- package/es/components/organism/TextEditor/ui/Emoji/EmojiList.js +1 -1
- package/es/components/organism/TextEditor/ui/Emoji/suggestion.d.ts +1 -1
- package/es/components/organism/TextEditor/ui/Emoji/suggestion.js +2 -2
- package/es/components/organism/TextEditor/ui/FontPopover/FontPopover.js +12 -2
- package/es/components/organism/TextEditor/ui/LinkInsertForm/LinkInsertForm.d.ts +16 -0
- package/es/components/organism/TextEditor/ui/LinkInsertForm/LinkInsertForm.js +61 -0
- package/es/components/organism/TextEditor/ui/LinkInsertForm/index.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/LinkInsertForm/index.js +1 -0
- package/es/components/organism/TextEditor/ui/LinkPopover/LinkPopover.d.ts +9 -0
- package/es/components/organism/TextEditor/ui/LinkPopover/LinkPopover.js +126 -0
- package/es/components/organism/TextEditor/ui/LinkPopover/index.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/LinkPopover/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Popover/Popover.js +1 -1
- package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.js +1 -3
- package/es/components/organism/TextEditor/ui/Toolbar/{Toolbar.d.ts → FormattingToolbar.d.ts} +3 -4
- package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.js +90 -0
- package/es/components/organism/TextEditor/ui/Toolbar/LinkPreviewToolbar.d.ts +10 -0
- package/es/components/organism/TextEditor/ui/Toolbar/LinkPreviewToolbar.js +39 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/EmojiAction.js +4 -3
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.js +2 -2
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.js +6 -1
- package/es/components/organism/TextEditor/ui/Toolbar/index.d.ts +2 -1
- package/es/components/organism/TextEditor/ui/Toolbar/index.js +2 -1
- package/es/components/organism/TextEditor/utils/documentState.d.ts +14 -0
- package/es/components/organism/TextEditor/utils/documentState.js +25 -0
- package/es/components/organism/TextEditor/utils/htmlProcessing.js +60 -0
- package/es/components/organism/TextEditor/utils/link.d.ts +10 -1
- package/es/components/organism/TextEditor/utils/link.js +161 -7
- package/es/components/organism/TextEditor/utils/menu.js +2 -1
- package/es/components/organism/TextEditor/utils/selection.js +3 -2
- package/es/components/organism/TextEditor/utils/smartTag.js +2 -1
- package/es/components/organism/index.d.ts +3 -1
- package/es/components/organism/index.js +1 -0
- package/es/components/template/TemplateListing/Loadable.d.ts +1 -0
- package/es/hooks/index.d.ts +1 -1
- package/es/hooks/index.js +1 -1
- package/es/providers/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/es/providers/ConfigProvider/ConfigProvider.js +2 -3
- package/es/providers/ConfigProvider/GlobalStyle.d.ts +2 -2
- package/es/providers/ConfigProvider/GlobalStyle.js +67 -64
- package/es/services/MediaTemplateDesign/UploadFile/index.js +4 -4
- package/es/utils/common.d.ts +1 -1
- package/es/utils/common.js +3 -3
- package/es/utils/cookie.js +2 -1
- package/es/utils/crossSubdomainCookieOptions.d.ts +14 -0
- package/es/utils/crossSubdomainCookieOptions.js +12 -0
- package/package.json +26 -30
- package/es/components/organism/TextEditor/ui/BubbleToolbar/BubbleToolbar.d.ts +0 -1
- package/es/components/organism/TextEditor/ui/BubbleToolbar/BubbleToolbar.js +0 -1
- package/es/components/organism/TextEditor/ui/BubbleToolbar/index.d.ts +0 -0
- package/es/components/organism/TextEditor/ui/BubbleToolbar/index.js +0 -1
- package/es/components/organism/TextEditor/ui/Toolbar/Toolbar.js +0 -39
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-underscore-dangle */
|
|
2
2
|
import { DATA_EVENT, mapTranslateCode } from './constants';
|
|
3
3
|
import { get } from 'lodash';
|
|
4
|
-
import { translate, translations } from '@antscorp/antsomi-
|
|
4
|
+
import { translate, translations } from '@antscorp/antsomi-locales';
|
|
5
5
|
import { safeParse } from '@antscorp/antsomi-ui/es/utils';
|
|
6
6
|
import { formatDate, formatUTCDateTZ } from '@antscorp/antsomi-ui/es/utils/date';
|
|
7
7
|
import { getPortalFormatDateTimeLong, getPortalTimeZone, } from '@antscorp/antsomi-ui/es/utils/portal';
|
|
@@ -163,9 +163,9 @@ const handlePageEvent = (itemEvent, data) => {
|
|
|
163
163
|
if (itemEvent.pageType === 'view') {
|
|
164
164
|
const validateExtra = itemEvent.extra || {};
|
|
165
165
|
const locationUrl = safeParse(validateExtra.location_url, '');
|
|
166
|
-
const
|
|
166
|
+
const pageType = safeParse(validateExtra.page_type, '');
|
|
167
167
|
// Use page_title if available, otherwise fallback to location_url
|
|
168
|
-
const pageTypeText =
|
|
168
|
+
const pageTypeText = pageType.length > 0 ? pageType : locationUrl;
|
|
169
169
|
// Build clickable link to location_url
|
|
170
170
|
if (locationUrl.length > 0 && pageTypeText.length > 0) {
|
|
171
171
|
data.page_type = `<a class="title-have-url" href="${encodeURI(locationUrl)}" target="_blank">${pageTypeText}</a>`;
|
|
@@ -222,22 +222,191 @@ const handleStoreEvent = (itemEvent, data) => {
|
|
|
222
222
|
}
|
|
223
223
|
};
|
|
224
224
|
const handleScreenviewEvent = (itemEvent, validateExtra, data) => {
|
|
225
|
-
if (itemEvent.pageType === 'view'
|
|
226
|
-
data.screen_type = validateExtra.screen_type;
|
|
227
|
-
// Add event_source_name from insightPropertyName
|
|
225
|
+
if (itemEvent.pageType === 'view') {
|
|
228
226
|
data.event_source_name = safeParse(itemEvent.insightPropertyName, 'N/A');
|
|
227
|
+
if (validateExtra.screen_type) {
|
|
228
|
+
data.screen_type = validateExtra.screen_type;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
const handleLeadFormEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
233
|
+
delete valuesReplace.event_name;
|
|
234
|
+
if (validateExtra.form_name && validateExtra.lead_source) {
|
|
235
|
+
valuesReplace.form_name = validateExtra.form_name;
|
|
236
|
+
valuesReplace.lead_source = validateExtra.lead_source;
|
|
237
|
+
infoEvent.translateCode = translations._EVENT_DES_LEAD_3_INFO;
|
|
238
|
+
}
|
|
239
|
+
else if (validateExtra.lead_source) {
|
|
240
|
+
valuesReplace.lead_source = validateExtra.lead_source;
|
|
241
|
+
infoEvent.translateCode = translations._EVENT_DES_LEAD_2_INFO;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
infoEvent.translateCode = translations._EVENT_DES_LEAD_0_INFO;
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
const handleQrScanEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
248
|
+
delete valuesReplace.event_name;
|
|
249
|
+
valuesReplace.qr_code_id = validateExtra.qr_code?.id || 'N/A';
|
|
250
|
+
valuesReplace.status = validateExtra.status || 'N/A';
|
|
251
|
+
if (validateExtra.message_content) {
|
|
252
|
+
valuesReplace.message_content = validateExtra.message_content;
|
|
253
|
+
infoEvent.translateCode = translations._EVENT_DES_SCAN_FULL;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
infoEvent.translateCode = translations._EVENT_DES_SCAN_NO_ERR;
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
const handleClickBannerEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
260
|
+
delete valuesReplace.event_name;
|
|
261
|
+
valuesReplace.position = validateExtra.position || 'N/A';
|
|
262
|
+
infoEvent.translateCode = translations._EVENT_DES_CLICK_BANNER;
|
|
263
|
+
};
|
|
264
|
+
const handleClickButtonEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
265
|
+
delete valuesReplace.event_name;
|
|
266
|
+
valuesReplace.button_label = validateExtra.button_label || 'N/A';
|
|
267
|
+
valuesReplace.page_cate = validateExtra.page_cate || 'N/A';
|
|
268
|
+
infoEvent.translateCode = translations._EVENT_DES_CLICK_BUTTON;
|
|
269
|
+
};
|
|
270
|
+
const handleViewSchemeEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
271
|
+
delete valuesReplace.event_name;
|
|
272
|
+
valuesReplace.scheme_code =
|
|
273
|
+
validateExtra.scheme_marketing?.scheme_code ||
|
|
274
|
+
validateExtra.scheme_code ||
|
|
275
|
+
validateExtra.scheme_marketing?.id ||
|
|
276
|
+
'N/A';
|
|
277
|
+
infoEvent.translateCode = translations._EVENT_DES_VIEW_SCHEME_DETAILS;
|
|
278
|
+
};
|
|
279
|
+
const handleRedeemPointEvent = (validateExtra, valuesReplace, infoEvent, isSuccess) => {
|
|
280
|
+
delete valuesReplace.event_name;
|
|
281
|
+
valuesReplace.scheme_code =
|
|
282
|
+
validateExtra.scheme_marketing?.scheme_code ||
|
|
283
|
+
validateExtra.scheme_code ||
|
|
284
|
+
validateExtra.scheme_marketing?.id ||
|
|
285
|
+
'N/A';
|
|
286
|
+
if (isSuccess) {
|
|
287
|
+
infoEvent.translateCode = translations._EVENT_DES_REDEEM_SUCCESS;
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
valuesReplace.reason_fail = validateExtra.reason_fail || 'N/A';
|
|
291
|
+
infoEvent.translateCode = translations._EVENT_DES_REDEEM_FAIL;
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
const handleUpdateRoleEvent = (validateExtra, valuesReplace, infoEvent, isVisitorProfile) => {
|
|
295
|
+
delete valuesReplace.event_name;
|
|
296
|
+
valuesReplace.visitor_name = isVisitorProfile
|
|
297
|
+
? translate(translations._THIS_PERSON_UPPERCASE, 'This user')
|
|
298
|
+
: validateExtra.users?.name || valuesReplace.customer_name;
|
|
299
|
+
valuesReplace.name = validateExtra.user_update_name || 'N/A';
|
|
300
|
+
valuesReplace.role = validateExtra.user_update_role || 'N/A';
|
|
301
|
+
infoEvent.translateCode = translations._EVENT_DES_UPDATE_ROLE;
|
|
302
|
+
};
|
|
303
|
+
const handleApproveRequestEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
304
|
+
delete valuesReplace.event_name;
|
|
305
|
+
valuesReplace.visitor_name = validateExtra.users?.name || valuesReplace.customer_name;
|
|
306
|
+
valuesReplace.name = validateExtra.user_update_name || 'N/A';
|
|
307
|
+
valuesReplace.reason_fail = validateExtra.reason_fail || 'N/A';
|
|
308
|
+
infoEvent.translateCode = translations._EVENT_DES_APPROVE_REQ;
|
|
309
|
+
};
|
|
310
|
+
const handleAddMemberEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
311
|
+
delete valuesReplace.event_name;
|
|
312
|
+
valuesReplace.visitor_name = valuesReplace.customer_name;
|
|
313
|
+
valuesReplace.customer_name =
|
|
314
|
+
validateExtra.customers?.name || validateExtra.customer_name || 'N/A';
|
|
315
|
+
infoEvent.translateCode = translations._EVENT_DES_ADD_MEM;
|
|
316
|
+
};
|
|
317
|
+
const handleRemoveMemberEvent = (validateExtra, valuesReplace, infoEvent) => {
|
|
318
|
+
delete valuesReplace.event_name;
|
|
319
|
+
valuesReplace.name = validateExtra.user_update_name || 'N/A';
|
|
320
|
+
infoEvent.translateCode = translations._EVENT_DES_REMOVE_MEM;
|
|
321
|
+
};
|
|
322
|
+
const handleRequestAccessEvent = (validateExtra, valuesReplace, infoEvent, isVisitorProfile) => {
|
|
323
|
+
delete valuesReplace.event_name;
|
|
324
|
+
// Visitor page: "This user requested to join {customer_name}"
|
|
325
|
+
// Customer page: "{requester_name} requested to join {customer_name}"
|
|
326
|
+
valuesReplace.visitor_name = isVisitorProfile
|
|
327
|
+
? valuesReplace.customer_name
|
|
328
|
+
: validateExtra.users?.name || 'A user';
|
|
329
|
+
valuesReplace.customer_name =
|
|
330
|
+
validateExtra.customer_name || validateExtra.customers?.name || valuesReplace.customer_name;
|
|
331
|
+
infoEvent.translateCode = translations._EVENT_DES_REQ_ACCESS;
|
|
332
|
+
};
|
|
333
|
+
const handleShareProgramEvent = (valuesReplace, infoEvent) => {
|
|
334
|
+
delete valuesReplace.event_name;
|
|
335
|
+
infoEvent.translateCode = translations._EVENT_DES_SHARE_PROGRAM;
|
|
336
|
+
};
|
|
337
|
+
const handleEarnRewardEvent = (validateExtra, valuesReplace, infoEvent, isReferrer) => {
|
|
338
|
+
delete valuesReplace.event_name;
|
|
339
|
+
valuesReplace.reward_value = validateExtra.reward_value || 'N/A';
|
|
340
|
+
valuesReplace.reward_type = validateExtra.reward_type || 'N/A';
|
|
341
|
+
if (isReferrer) {
|
|
342
|
+
infoEvent.translateCode = translations._EVENT_DES_EARN_REWARD_REFERRER;
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
infoEvent.translateCode = translations._EVENT_DES_EARN_REWARD_REFEREE;
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
const handleCustomEventByEcEa = (eType, pageType, validateExtra, valuesReplace, infoEvent, isVisitorProfile) => {
|
|
349
|
+
if ((eType === 'lead_formated' && pageType === 'sync') ||
|
|
350
|
+
(eType === 'lead_form' && pageType === 'submit')) {
|
|
351
|
+
handleLeadFormEvent(validateExtra, valuesReplace, infoEvent);
|
|
352
|
+
}
|
|
353
|
+
else if (eType === 'qr_code' && pageType === 'scan') {
|
|
354
|
+
handleQrScanEvent(validateExtra, valuesReplace, infoEvent);
|
|
355
|
+
}
|
|
356
|
+
else if (eType === 'banner' && pageType === 'click') {
|
|
357
|
+
handleClickBannerEvent(validateExtra, valuesReplace, infoEvent);
|
|
358
|
+
}
|
|
359
|
+
else if (eType === 'button' && pageType === 'click') {
|
|
360
|
+
handleClickButtonEvent(validateExtra, valuesReplace, infoEvent);
|
|
361
|
+
}
|
|
362
|
+
else if (eType === 'scheme_marketing' && pageType === 'view') {
|
|
363
|
+
handleViewSchemeEvent(validateExtra, valuesReplace, infoEvent);
|
|
364
|
+
}
|
|
365
|
+
else if (eType === 'point' && pageType === 'redeem_point') {
|
|
366
|
+
handleRedeemPointEvent(validateExtra, valuesReplace, infoEvent, true);
|
|
367
|
+
}
|
|
368
|
+
else if (eType === 'point' && pageType === 'redeem_point_fail') {
|
|
369
|
+
handleRedeemPointEvent(validateExtra, valuesReplace, infoEvent, false);
|
|
370
|
+
}
|
|
371
|
+
else if (eType === 'role' && pageType === 'update') {
|
|
372
|
+
handleUpdateRoleEvent(validateExtra, valuesReplace, infoEvent, isVisitorProfile);
|
|
373
|
+
}
|
|
374
|
+
else if (eType === 'request' && pageType === 'approve') {
|
|
375
|
+
handleApproveRequestEvent(validateExtra, valuesReplace, infoEvent);
|
|
376
|
+
}
|
|
377
|
+
else if (eType === 'member' && pageType.toLowerCase() === 'add') {
|
|
378
|
+
handleAddMemberEvent(validateExtra, valuesReplace, infoEvent);
|
|
379
|
+
}
|
|
380
|
+
else if (eType === 'member' && pageType.toLowerCase() === 'remove') {
|
|
381
|
+
handleRemoveMemberEvent(validateExtra, valuesReplace, infoEvent);
|
|
382
|
+
}
|
|
383
|
+
else if (eType === 'access' && pageType === 'request') {
|
|
384
|
+
handleRequestAccessEvent(validateExtra, valuesReplace, infoEvent, isVisitorProfile);
|
|
385
|
+
}
|
|
386
|
+
else if (eType === 'program' && pageType === 'share') {
|
|
387
|
+
handleShareProgramEvent(valuesReplace, infoEvent);
|
|
388
|
+
}
|
|
389
|
+
else if (eType === 'referrer' && pageType === 'earn_reward') {
|
|
390
|
+
handleEarnRewardEvent(validateExtra, valuesReplace, infoEvent, true);
|
|
391
|
+
}
|
|
392
|
+
else if (eType === 'referee' && pageType === 'earn_reward') {
|
|
393
|
+
handleEarnRewardEvent(validateExtra, valuesReplace, infoEvent, false);
|
|
229
394
|
}
|
|
230
395
|
};
|
|
231
396
|
const handleEventTrackingCode = (eventTracking, keyTitleEvent, validateExtra, valuesReplace, infoEvent, config) => {
|
|
232
397
|
const { story = {} } = validateExtra;
|
|
233
398
|
if (eventTracking.map[keyTitleEvent]?.eventTrackingCode === 'promotion_code_sent_tracking') {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
399
|
+
const sentTranslation = validateExtra.channel &&
|
|
400
|
+
mapTranslateCode.promotion_code_sent_tracking[parseInt(validateExtra.channel.id, 10)];
|
|
401
|
+
if (sentTranslation && story.storyName) {
|
|
402
|
+
valuesReplace.promotion_code = valuesReplace.event_name;
|
|
403
|
+
delete valuesReplace.event_name;
|
|
404
|
+
valuesReplace.journey_name = `<a class="title-have-url" href=${urlJourney(validateExtra, config)} target="_blank">${story.storyName}</a>`;
|
|
405
|
+
infoEvent.translateCode = sentTranslation.translateLabel;
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
infoEvent.translateCode = translations._EVENT_DES_PERFORM_EVENT;
|
|
409
|
+
valuesReplace.event_name = `${eventTracking.map[keyTitleEvent].translateLabel || 'Promotion code sent'}: ${valuesReplace.event_name}`;
|
|
241
410
|
}
|
|
242
411
|
}
|
|
243
412
|
else if (eventTracking.map[keyTitleEvent]?.eventTrackingCode === 'promotion_code_used_tracking') {
|
|
@@ -352,7 +521,7 @@ const processEventByType = (eType, itemEvent, validateExtra, data) => {
|
|
|
352
521
|
handleScreenviewEvent(itemEvent, validateExtra, data);
|
|
353
522
|
}
|
|
354
523
|
};
|
|
355
|
-
const buildInfoEvent = (infoEvent, eventTracking, keyTitleEvent, validateExtra, data, config) => {
|
|
524
|
+
const buildInfoEvent = (infoEvent, eventTracking, keyTitleEvent, validateExtra, data, config, eType, pageType, isVisitorProfile) => {
|
|
356
525
|
let valuesReplace = {};
|
|
357
526
|
if (infoEvent) {
|
|
358
527
|
infoEvent.iconName = get(eventTracking, `map.${keyTitleEvent}.iconUrl`);
|
|
@@ -374,6 +543,7 @@ const buildInfoEvent = (infoEvent, eventTracking, keyTitleEvent, validateExtra,
|
|
|
374
543
|
valuesReplace = getValuesReplace(infoEvent.objectReplace, data);
|
|
375
544
|
handleEventTrackingCode(eventTracking, keyTitleEvent, validateExtra, valuesReplace, infoEvent, config);
|
|
376
545
|
}
|
|
546
|
+
handleCustomEventByEcEa(eType, pageType, validateExtra, valuesReplace, infoEvent, isVisitorProfile);
|
|
377
547
|
return { infoEvent, valuesReplace };
|
|
378
548
|
};
|
|
379
549
|
const buildFullContentEvent = (infoEvent, titleEvent, valuesReplace, data) => {
|
|
@@ -402,6 +572,7 @@ const calculateSlideSettings = (itemEvent, infoEvent) => {
|
|
|
402
572
|
export const getInfoEvent = (params) => {
|
|
403
573
|
const { eType, itemEvent, eventTracking, config, customerName: customerNameParam } = params;
|
|
404
574
|
const customerName = customerNameParam || '_THIS_PERSON_UPPERCASE';
|
|
575
|
+
const isVisitorProfile = customerName === '_THIS_PERSON_UPPERCASE';
|
|
405
576
|
// Step 1: Prepare initial data and extract common fields
|
|
406
577
|
const { keyTitleEvent, validateExtra, titleEvent: initialTitleEvent, data, } = prepareInitialData(itemEvent, eType, eventTracking, customerName);
|
|
407
578
|
// Step 2: Update titleEvent if eventTracking has a mapping
|
|
@@ -413,7 +584,7 @@ export const getInfoEvent = (params) => {
|
|
|
413
584
|
processEventByType(eType, itemEvent, validateExtra, data);
|
|
414
585
|
// Step 4: Build infoEvent and valuesReplace
|
|
415
586
|
let infoEvent = DATA_EVENT.map[`${itemEvent.pageType} ${eType}`];
|
|
416
|
-
const { infoEvent: processedInfoEvent, valuesReplace } = buildInfoEvent(infoEvent, eventTracking, keyTitleEvent, validateExtra, data, config);
|
|
587
|
+
const { infoEvent: processedInfoEvent, valuesReplace } = buildInfoEvent(infoEvent, eventTracking, keyTitleEvent, validateExtra, data, config, eType, itemEvent.pageType, isVisitorProfile);
|
|
417
588
|
infoEvent = processedInfoEvent;
|
|
418
589
|
// Step 5: Build full content event text
|
|
419
590
|
const fullContentEvent = buildFullContentEvent(infoEvent, titleEvent, valuesReplace, data);
|
|
@@ -20,7 +20,7 @@ import { renderMenuIcon } from './utils';
|
|
|
20
20
|
const SubLogoAntsomi = 'https://st-media-template.antsomi.com/icons/antsomi/antsomi.png';
|
|
21
21
|
const homePermissionCode = 'DASHBOARD';
|
|
22
22
|
export const LeftMenuComponent = memo(props => {
|
|
23
|
-
const { show = true, style, className, customization, showLogo = true, onClickLogo } = props;
|
|
23
|
+
const { show = true, style, className, customization, showLogo = true, footer, onClickLogo, } = props;
|
|
24
24
|
const { showMenuPopover = true, showButtonExpand = true, type, items = [], onMenuItemClick, } = customization || {};
|
|
25
25
|
const appHoverMenuChildren = useLeftMenuContext(store => store.appHoverMenuChildren);
|
|
26
26
|
const customHoverMenuChildren = useLeftMenuContext(store => store.customHoverMenuChildren);
|
|
@@ -59,21 +59,21 @@ export const LeftMenuComponent = memo(props => {
|
|
|
59
59
|
const isActive = activeAppCode === menu_item_code;
|
|
60
60
|
const isHover = state.hoverItem === menu_item_code;
|
|
61
61
|
let Label = null;
|
|
62
|
-
Label = (_jsxs("li", { role: "menuitem", className: classNames({ isActive, isHover }), children: [renderMenuIcon(component_icon_name || icon_name || ''), _jsx(Typography.Text, { children: menu_item_name }), showMenuPopover && _jsx("div", { className: "popup-triangle" })] }));
|
|
62
|
+
Label = (_jsxs("li", { role: "menuitem", className: classNames('menu_item', { isActive, isHover }), children: [renderMenuIcon(component_icon_name || icon_name || ''), _jsx(Typography.Text, { ellipsis: { tooltip: menu_item_name }, children: menu_item_name }), showMenuPopover && _jsx("div", { className: "popup-triangle" })] }));
|
|
63
63
|
return (_jsx(FeatureMenuItem, { onClick: () => onClickFeatureMenuItem(item), onMouseEnter: () => onMouseEnter(menu_item_code), children: Label }, menu_item));
|
|
64
64
|
}, [activeAppCode, state.hoverItem, showMenuPopover, onMouseEnter, onClickFeatureMenuItem]);
|
|
65
65
|
const renderRecommendationMenuItem = useCallback((item) => {
|
|
66
66
|
const { menu_item_name, menu_item, component_icon_name, icon_name, permission_code } = item;
|
|
67
67
|
const isActive = customActiveAppKey === permission_code;
|
|
68
68
|
const isHover = state.hoverItem === permission_code;
|
|
69
|
-
const renderLabel = () => (_jsxs("li", { role: "menuitem", className: classNames({ isActive, isHover }), onClick: () => onMenuItemClick?.(permission_code || 'null', [permission_code || 'null']), children: [renderMenuIcon(component_icon_name || icon_name || ''), _jsx(Typography.Text, { children: menu_item_name })] }));
|
|
69
|
+
const renderLabel = () => (_jsxs("li", { role: "menuitem", className: classNames('menu_item', { isActive, isHover }), onClick: () => onMenuItemClick?.(permission_code || 'null', [permission_code || 'null']), children: [renderMenuIcon(component_icon_name || icon_name || ''), _jsx(Typography.Text, { ellipsis: { tooltip: menu_item_name }, children: menu_item_name })] }));
|
|
70
70
|
return (_jsx(FeatureMenuItem, { onMouseEnter: () => onMouseEnter(permission_code || 'null'), children: renderLabel() }, menu_item));
|
|
71
71
|
}, [customActiveAppKey, onMenuItemClick, onMouseEnter, state.hoverItem]);
|
|
72
72
|
const renderCustomizedMenuItems = useCallback((items) => items?.map(item => {
|
|
73
73
|
const { key, icon, label } = item;
|
|
74
74
|
const isActive = key === customActiveAppKey;
|
|
75
75
|
const isHover = key === state.hoverItem;
|
|
76
|
-
return (_jsx(FeatureMenuItem, { onClick: () => onMenuItemClick?.(key, [key]), onMouseEnter: () => onMouseEnter(key), children: _jsxs("li", { role: "menuitem", className: classNames({ isActive, isHover }), children: [renderMenuIcon(icon || ''), _jsx(Typography.Text, { children: label }), showMenuPopover && _jsx("div", { className: "popup-triangle" })] }) }, key));
|
|
76
|
+
return (_jsx(FeatureMenuItem, { onClick: () => onMenuItemClick?.(key, [key]), onMouseEnter: () => onMouseEnter(key), children: _jsxs("li", { role: "menuitem", className: classNames('menu_item', { isActive, isHover }), children: [renderMenuIcon(icon || ''), _jsx(Typography.Text, { ellipsis: { tooltip: label }, children: label }), showMenuPopover && _jsx("div", { className: "popup-triangle" })] }) }, key));
|
|
77
77
|
}), [customActiveAppKey, state.hoverItem, showMenuPopover, onMenuItemClick, onMouseEnter]);
|
|
78
78
|
const renderAppMenuItems = useCallback(() => type === 'customization'
|
|
79
79
|
? renderCustomizedMenuItems(items)
|
|
@@ -99,9 +99,9 @@ export const LeftMenuComponent = memo(props => {
|
|
|
99
99
|
}
|
|
100
100
|
return null;
|
|
101
101
|
};
|
|
102
|
-
return (_jsxs(LeftMenuNavWrapper, { "$show": show, style: style, "$isExpandMenu": state.isExpandMenu, className: className, children: [_jsxs(LeftMenuNav, { className: "left-menu-nav", children: [_jsxs(FeatureMenuWrapper, { vertical: true, onMouseEnter: () => onShowPopover(), onMouseLeave: onMouseLeave, children: [showLogo && (_jsx(NavLogoWrapper, { align: "center", justify: "center", onMouseEnter: onHoverMenuBar, onClick: onClickLogo, children: _jsx("div", { className: "image-wrapper", children: _jsx("img", { src: SubLogoAntsomi, alt: "Antsomi sub logo" }) }) })), _jsxs(FeatureMenu, { role: "menu", className: "antsomi-scroll-box", children: [_jsx("div", { className: "menu-content scroll-content", children: renderAppMenuItems() }), _jsx("div", { className: "nav-blank", onMouseEnter: onHoverMenuBar }), showMenuPopover && (_jsx(PopoverWrapper, { show: state.isShowPopover && !isEmpty(hoverMenuChildren), hasMarginTop: type !== 'recommendation', className: "antsomi-scroll-box antsomi-child-menu-popover", children: _jsx("div", { className: "scroll-content", style: { width: '200px', maxHeight: '100%' }, children: childHoverMenu }) }))] }), _jsx("div", { style: { flexShrink: 0 }, children: renderSettings() })] }), showButtonExpand
|
|
102
|
+
return (_jsxs(LeftMenuNavWrapper, { "$show": show, style: style, "$isExpandMenu": state.isExpandMenu, className: className, children: [_jsxs(LeftMenuNav, { className: "left-menu-nav", children: [_jsxs(FeatureMenuWrapper, { vertical: true, onMouseEnter: () => onShowPopover(), onMouseLeave: onMouseLeave, children: [showLogo && (_jsx(NavLogoWrapper, { align: "center", justify: "center", onMouseEnter: onHoverMenuBar, onClick: onClickLogo, children: _jsx("div", { className: "image-wrapper", children: _jsx("img", { src: SubLogoAntsomi, alt: "Antsomi sub logo" }) }) })), _jsxs(FeatureMenu, { role: "menu", className: "antsomi-scroll-box", children: [_jsx("div", { className: "menu-content scroll-content", children: renderAppMenuItems() }), _jsx("div", { className: "nav-blank", onMouseEnter: onHoverMenuBar }), showMenuPopover && (_jsx(PopoverWrapper, { show: state.isShowPopover && !isEmpty(hoverMenuChildren), hasMarginTop: type !== 'recommendation', className: "antsomi-scroll-box antsomi-child-menu-popover", children: _jsx("div", { className: "scroll-content", style: { width: '200px', maxHeight: '100%' }, children: childHoverMenu }) }))] }), footer === undefined && _jsx("div", { style: { flexShrink: 0 }, children: renderSettings() })] }), footer !== undefined ? (_jsx("div", { style: { flexShrink: 0 }, children: footer })) : showButtonExpand ? (_jsx(ExpandWrapper, { onMouseEnter: onMouseLeave, children: _jsx(Icon, { type: "icon-ants-expand-more", style: {
|
|
103
103
|
cursor: 'pointer',
|
|
104
104
|
fontSize: '20px',
|
|
105
105
|
transform: `rotate(${state.isExpandMenu ? '90deg' : '270deg'})`,
|
|
106
|
-
}, onClick: onToggleChildMenu }) }))] }), _jsx(ChildMenuWrapper, { isExpand: state.isExpandMenu, isMarginTop: showLogo, className: "antsomi-scroll-box", children: _jsx("div", { className: "scroll-content", style: { width: '200px', maxHeight: '100%' }, children: childActiveMenu }) })] }));
|
|
106
|
+
}, onClick: onToggleChildMenu }) })) : null] }), _jsx(ChildMenuWrapper, { isExpand: state.isExpandMenu, isMarginTop: showLogo, className: "antsomi-scroll-box", children: _jsx("div", { className: "scroll-content", style: { width: '200px', maxHeight: '100%' }, children: childActiveMenu }) })] }));
|
|
107
107
|
}, (prevProps, nextProps) => isEqual(prevProps, nextProps));
|
|
@@ -115,7 +115,7 @@ export const usePermission = () => {
|
|
|
115
115
|
},
|
|
116
116
|
});
|
|
117
117
|
const flattenMenuPermission = flattenMenuArray(menuListPermission || [], 'childs');
|
|
118
|
-
const permissionMenu = useMemo(() => recursivePermissionMenu(sortBy(menuList?.rows || [], [
|
|
118
|
+
const permissionMenu = useMemo(() => recursivePermissionMenu(sortBy(menuList?.rows || [], [item => Number(item?.level_position)]), flattenMenuPermission), [menuList?.rows, flattenMenuPermission]);
|
|
119
119
|
const mappingChildrenMenu = useMemo(() => getMappingAppChildren({
|
|
120
120
|
menuList: permissionMenu,
|
|
121
121
|
auth,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { AppConfigProviderProps } from '@antscorp/antsomi-ui/es/providers';
|
|
2
3
|
import { FeatureMenuPermission, TFeatureMenu } from '@antscorp/antsomi-ui/es/models/LeftMenu';
|
|
3
4
|
export type TMenuItem = Omit<Partial<TFeatureMenu>, 'children' | keyof TRequireMenuItemKey> & {
|
|
@@ -37,6 +38,12 @@ export interface LeftMenuProps {
|
|
|
37
38
|
style?: React.CSSProperties;
|
|
38
39
|
className?: string;
|
|
39
40
|
showLogo?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Custom content rendered at the bottom of the primary menu rail.
|
|
43
|
+
* When provided, it replaces the default Settings item and Expand button.
|
|
44
|
+
* Pass `null` to hide the default footer without rendering a replacement.
|
|
45
|
+
*/
|
|
46
|
+
footer?: ReactNode;
|
|
40
47
|
customization?: {
|
|
41
48
|
type?: TLeftMenuType;
|
|
42
49
|
showButtonExpand?: boolean;
|
|
@@ -84,7 +84,7 @@ export const recursivePermissionMenu = (menuItems, menuPermissions) => {
|
|
|
84
84
|
...item,
|
|
85
85
|
...(isArray(item.children)
|
|
86
86
|
? {
|
|
87
|
-
children: recursivePermissionMenu(sortBy(item.children || [], [
|
|
87
|
+
children: recursivePermissionMenu(sortBy(item.children || [], [item => Number(item.level_position)]), menuPermissions),
|
|
88
88
|
}
|
|
89
89
|
: {}),
|
|
90
90
|
}))
|
|
@@ -17,6 +17,7 @@ import { LoginSelectPortal, LoginWithGG, SignIn, VerifyAccount, SetupGGAuthentic
|
|
|
17
17
|
import { useContainerDimensions } from './hooks';
|
|
18
18
|
// Utils
|
|
19
19
|
import { checkURL, navigateTo } from './utils';
|
|
20
|
+
import { createCrossSubdomainCookieOptions } from '@antscorp/antsomi-ui/es/utils/crossSubdomainCookieOptions';
|
|
20
21
|
import { LOGIN_METHODS, STEPS } from './constants';
|
|
21
22
|
import { LoginBannerZone, LoginMain, WrapperLogin } from './styled';
|
|
22
23
|
export const Login = props => {
|
|
@@ -208,7 +209,10 @@ export const Login = props => {
|
|
|
208
209
|
if (menus && menus.length) {
|
|
209
210
|
handleLoginData(dataLogin, !isCallbackUrl && !isHomePageUrl, selectedNetworkRef.current && selectedNetworkRef.current.networkId);
|
|
210
211
|
if (onLoginSuccess && typeof onLoginSuccess === 'function') {
|
|
211
|
-
onLoginSuccess(
|
|
212
|
+
onLoginSuccess({
|
|
213
|
+
...dataLogin,
|
|
214
|
+
networkId: selectedNetworkRef.current?.networkId ?? networkId,
|
|
215
|
+
});
|
|
212
216
|
setLoadingSkip(false);
|
|
213
217
|
}
|
|
214
218
|
else if (isCallbackUrl && callbackUrl) {
|
|
@@ -242,7 +246,10 @@ export const Login = props => {
|
|
|
242
246
|
handleLoginData(dataLogin, !isCallbackUrl && !isHomePageUrl, selectedNetworkRef.current && selectedNetworkRef.current.networkId);
|
|
243
247
|
setLoadingSkip(false);
|
|
244
248
|
if (onLoginSuccess && typeof onLoginSuccess === 'function') {
|
|
245
|
-
onLoginSuccess(
|
|
249
|
+
onLoginSuccess({
|
|
250
|
+
...dataLogin,
|
|
251
|
+
networkId: selectedNetworkRef.current?.networkId ?? networkId,
|
|
252
|
+
});
|
|
246
253
|
}
|
|
247
254
|
else if (isCallbackUrl && callbackUrl) {
|
|
248
255
|
navigateTo(callbackUrl);
|
|
@@ -263,7 +270,10 @@ export const Login = props => {
|
|
|
263
270
|
setLoadingSkip(false);
|
|
264
271
|
handleLoginData(dataLogin, !isCallbackUrl && !isHomePageUrl, selectedNetworkRef.current && selectedNetworkRef.current.networkId);
|
|
265
272
|
if (onLoginSuccess && typeof onLoginSuccess === 'function') {
|
|
266
|
-
onLoginSuccess(
|
|
273
|
+
onLoginSuccess({
|
|
274
|
+
...dataLogin,
|
|
275
|
+
networkId: selectedNetworkRef.current?.networkId ?? networkId,
|
|
276
|
+
});
|
|
267
277
|
}
|
|
268
278
|
else if (isCallbackUrl && callbackUrl) {
|
|
269
279
|
navigateTo(callbackUrl);
|
|
@@ -430,7 +440,6 @@ export const Login = props => {
|
|
|
430
440
|
if (postParam.error && postParam.error !== '') {
|
|
431
441
|
}
|
|
432
442
|
else {
|
|
433
|
-
const arrTmp = window.location.hostname.split('.');
|
|
434
443
|
if (postParam.action === 'ogs-authenticate') {
|
|
435
444
|
const loginData = { ...postParam, type: 'all_account' };
|
|
436
445
|
if (loginData.hasOwnProperty('full_name')) {
|
|
@@ -454,38 +463,12 @@ export const Login = props => {
|
|
|
454
463
|
? u_ogs
|
|
455
464
|
: `${u_ogs}_${selectedNetworkRef.current?.networkId}`;
|
|
456
465
|
const maxAge = 30 * 24 * 3600;
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
});
|
|
464
|
-
}
|
|
465
|
-
else {
|
|
466
|
-
setCookie(cookieKey, JSON.stringify(loginData), {
|
|
467
|
-
domain: arrTmp.slice(-3).join('.'),
|
|
468
|
-
path: '/; samesite=None',
|
|
469
|
-
maxAge,
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
if (arrTmp.length < 4) {
|
|
475
|
-
setCookie(cookieKey, JSON.stringify(loginData), {
|
|
476
|
-
domain: arrTmp.slice(-2).join('.'),
|
|
477
|
-
path: '/; samesite=None; secure',
|
|
478
|
-
maxAge,
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
|
-
else {
|
|
482
|
-
setCookie(cookieKey, JSON.stringify(loginData), {
|
|
483
|
-
domain: arrTmp.slice(-3).join('.'),
|
|
484
|
-
path: '/; samesite=None; secure',
|
|
485
|
-
maxAge,
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
}
|
|
466
|
+
const cookieOptions = createCrossSubdomainCookieOptions({
|
|
467
|
+
hostname: window.location.hostname,
|
|
468
|
+
protocol: window.location.protocol,
|
|
469
|
+
maxAge,
|
|
470
|
+
});
|
|
471
|
+
setCookie(cookieKey, JSON.stringify(loginData), cookieOptions);
|
|
489
472
|
}
|
|
490
473
|
}
|
|
491
474
|
if (doPostEvent) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { ModalV2 } from '@antscorp/antsomi-ui/es/components/molecules';
|
|
2
|
+
import { ModalV2 } from '@antscorp/antsomi-ui/es/components/molecules/ModalV2';
|
|
3
3
|
import Icon from '@antscorp/icons';
|
|
4
4
|
import { Flex, Tooltip, Typography } from 'antd';
|
|
5
5
|
import { useState } from 'react';
|
|
@@ -10,7 +10,7 @@ import { get, isEmpty } from 'lodash';
|
|
|
10
10
|
import { WidgetLayout } from '../WidgetLayout';
|
|
11
11
|
import { Item } from './Item';
|
|
12
12
|
import { Avatar } from '../Avatar';
|
|
13
|
-
import { Scrollbars } from '@antscorp/antsomi-ui/es/components/atoms';
|
|
13
|
+
import { Scrollbars } from '@antscorp/antsomi-ui/es/components/atoms/Scrollbars';
|
|
14
14
|
import NoData from '../../../../../assets/images/components/Login/NoData.png';
|
|
15
15
|
// Styled
|
|
16
16
|
import { WrapperList } from './styled';
|
|
@@ -72,10 +72,10 @@ export const SignIn = props => {
|
|
|
72
72
|
message: 'Please enter your email',
|
|
73
73
|
pattern: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
|
|
74
74
|
},
|
|
75
|
-
], children: _jsx(StyleInput, { isMobile: isMobile, placeholder: "Email" }) }), _jsx(Form.Item, { name: "password", rules: [
|
|
75
|
+
], children: _jsx(StyleInput, { autoComplete: "username", name: "email", type: "text", isMobile: isMobile, placeholder: "Email" }) }), _jsx(Form.Item, { name: "password", rules: [
|
|
76
76
|
{ required: true, message: 'Please enter your password' },
|
|
77
77
|
{ min: 6, message: 'Password must be at least 6 characters long' },
|
|
78
|
-
], style: { marginTop: 15 }, children: _jsx(StyleInput.Password, { placeholder: "Password", iconRender: visible => visible ? (_jsx(Icon, { type: "icon-ants-eye", style: {
|
|
78
|
+
], style: { marginTop: 15 }, children: _jsx(StyleInput.Password, { name: "password", autoComplete: "current-password", placeholder: "Password", iconRender: visible => visible ? (_jsx(Icon, { type: "icon-ants-eye", style: {
|
|
79
79
|
color: '#595959',
|
|
80
80
|
} })) : (_jsx(Icon, { type: "icon-ants-invisible", style: {
|
|
81
81
|
color: '#595959',
|