@antscorp/antsomi-ui 2.0.109 → 2.0.111
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 +78 -78
- package/es/__mocks__/1000_city.json +802 -802
- package/es/__mocks__/sql-query.json +56 -56
- package/es/assets/css/main.scss +8 -6
- package/es/assets/images/feedback.svg +3 -3
- package/es/assets/svg/mobile-frame.svg +3 -3
- package/es/assets/svg/warning-icon.svg +5 -5
- package/es/components/atoms/Alert/Alert.js +28 -28
- package/es/components/atoms/ContentEditable/styled.js +16 -16
- package/es/components/atoms/DividerPure/styled.js +35 -35
- package/es/components/atoms/Eyedropper/Eyedropper.d.ts +2 -0
- package/es/components/atoms/Eyedropper/Eyedropper.js +53 -0
- package/es/components/atoms/Eyedropper/index.d.ts +0 -0
- package/es/components/atoms/Eyedropper/index.js +1 -0
- package/es/components/atoms/Eyedropper/styled.d.ts +9 -0
- package/es/components/atoms/Eyedropper/styled.js +45 -0
- package/es/components/atoms/Eyedropper/types.d.ts +5 -0
- package/es/components/atoms/Eyedropper/types.js +1 -0
- package/es/components/atoms/Icon/index.js +19 -19
- package/es/components/atoms/Iframe/Iframe.js +18 -18
- package/es/components/atoms/Input/styled.js +104 -104
- package/es/components/atoms/InputDynamic/styled.js +284 -284
- package/es/components/atoms/MobileBrandingBar/styled.js +21 -21
- package/es/components/atoms/MobileFrame/styled.js +30 -30
- package/es/components/atoms/MobileFrameV2/styled.js +42 -42
- package/es/components/atoms/MobileFrameV3/styled.js +31 -31
- package/es/components/atoms/NotificationStatus/styled.js +10 -10
- package/es/components/atoms/PreviewTabs/styled.js +69 -69
- package/es/components/atoms/Radio/index.js +16 -16
- package/es/components/atoms/ReactIframe/ReactIframe.js +5 -5
- package/es/components/atoms/ReactIframe/styled.js +9 -9
- package/es/components/atoms/RequiredLabel/styled.js +3 -3
- package/es/components/atoms/ScrollBox/index.js +5 -5
- package/es/components/atoms/Scrollbars/styled.js +21 -21
- package/es/components/atoms/SlideBar/styled.js +194 -194
- package/es/components/atoms/Slider/styled.js +31 -31
- package/es/components/atoms/Space/Space.js +4 -4
- package/es/components/atoms/Spin/styled.js +11 -11
- package/es/components/atoms/Steps/styled.js +244 -244
- package/es/components/atoms/Switch/styled.js +56 -56
- package/es/components/atoms/Tag/Tag.js +10 -10
- package/es/components/atoms/Text/styled.js +34 -34
- package/es/components/icons/ALignRightIcon.d.ts +3 -0
- package/es/components/icons/ALignRightIcon.js +7 -0
- package/es/components/icons/AlignCenterIcon.d.ts +3 -0
- package/es/components/icons/AlignCenterIcon.js +7 -0
- package/es/components/icons/AlignJustifyIcon.d.ts +3 -0
- package/es/components/icons/AlignJustifyIcon.js +7 -0
- package/es/components/icons/AlignLeftIcon.d.ts +3 -0
- package/es/components/icons/AlignLeftIcon.js +7 -0
- package/es/components/icons/ArrowDropDownIcon.d.ts +3 -0
- package/es/components/icons/ArrowDropDownIcon.js +7 -0
- package/es/components/icons/ChevronRightIcon.d.ts +3 -0
- package/es/components/icons/ChevronRightIcon.js +7 -0
- package/es/components/icons/ColorizeIcon.d.ts +3 -0
- package/es/components/icons/ColorizeIcon.js +7 -0
- package/es/components/icons/DomainManagementIcon.js +1 -1
- package/es/components/icons/LazyIcon/LazyIcon.d.ts +9 -0
- package/es/components/icons/LazyIcon/LazyIcon.js +9 -0
- package/es/components/icons/LinkOffIcon.d.ts +3 -0
- package/es/components/icons/LinkOffIcon.js +7 -0
- package/es/components/icons/LoadingIcon.js +33 -33
- package/es/components/icons/MinusIcon.d.ts +3 -0
- package/es/components/icons/MinusIcon.js +7 -0
- package/es/components/icons/document/styled.js +43 -43
- package/es/components/icons/index.d.ts +9 -0
- package/es/components/icons/index.js +9 -0
- package/es/components/index.scss +2 -1
- package/es/components/molecules/AccessDenied/styled.js +28 -28
- package/es/components/molecules/AccountSelection/styled.js +110 -110
- package/es/components/molecules/AddDynamicContent/styled.js +23 -23
- package/es/components/molecules/AlignSetting/styled.js +4 -4
- package/es/components/molecules/ApplyPopupContent/styled.js +32 -32
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/styled.js +8 -8
- package/es/components/molecules/CalendarSelection/components/CustomPicker/styled.js +79 -79
- package/es/components/molecules/CalendarSelection/components/Footer/styled.js +4 -4
- package/es/components/molecules/CalendarSelection/components/RangePicker/styled.js +21 -21
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/Option.js +26 -26
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/styled.js +30 -30
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/styled.js +26 -26
- package/es/components/molecules/CalendarSelection/styled.js +8 -8
- package/es/components/molecules/CaptureScreen/components/CommentBox/styled.js +119 -119
- package/es/components/molecules/CaptureScreen/components/Cursor/styled.js +67 -67
- package/es/components/molecules/CaptureScreen/styled.js +240 -240
- package/es/components/molecules/ChartTab/components/styled.js +24 -24
- package/es/components/molecules/ChartTab/styled.js +20 -20
- package/es/components/molecules/ChatBox/AntsomiAI.js +8 -8
- package/es/components/molecules/ChatBox/ChatBoxInsight/QuestionItem.js +9 -9
- package/es/components/molecules/ChatBox/ChatBoxInsight/styled.js +365 -365
- package/es/components/molecules/ChatBox/styled.js +324 -324
- package/es/components/molecules/CodeStructure/styled.js +5 -5
- package/es/components/molecules/ColorPicker/ChromePicker/styled.js +10 -10
- package/es/components/molecules/ColorPicker/CustomPicker/styled.js +89 -89
- package/es/components/molecules/ColorPicker/SketchPicker/styled.js +5 -5
- package/es/components/molecules/ColorPicker/styled.js +7 -7
- package/es/components/molecules/ColorSetting/styled.js +39 -39
- package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.js +110 -110
- package/es/components/molecules/DatePickerV2/styled.js +6 -6
- package/es/components/molecules/DisplayFormat/styled.js +12 -12
- package/es/components/molecules/DrawerDetail/components/ToggleDrawerSizeButton.js +24 -24
- package/es/components/molecules/DrawerDetail/styled.js +109 -109
- package/es/components/molecules/Dropdown/style.scss +11 -11
- package/es/components/molecules/Dropdown/styled.js +28 -28
- package/es/components/molecules/EdgeSetting/styled.js +10 -10
- package/es/components/molecules/EditableName/styled.js +70 -70
- package/es/components/molecules/EditingList/styled.js +29 -29
- package/es/components/molecules/EditingListV2/components/List/List.js +9 -9
- package/es/components/molecules/EditorTab/styled.js +156 -156
- package/es/components/molecules/EmojiCollections/CommonCollection/index.js +2 -2
- package/es/components/molecules/EmojiCollections/styled.js +22 -22
- package/es/components/molecules/EmojiCollections/types.d.ts +1 -0
- package/es/components/molecules/EmojiPopover/EmojiPopover.d.ts +2 -0
- package/es/components/molecules/EmojiPopover/EmojiPopover.js +10 -6
- package/es/components/molecules/EmojiPopover/styled.js +5 -5
- package/es/components/molecules/EmptyData/styled.js +53 -53
- package/es/components/molecules/EyedropperButton/EyedropperButton.d.ts +11 -0
- package/es/components/molecules/EyedropperButton/EyedropperButton.js +34 -0
- package/es/components/molecules/EyedropperButton/index.d.ts +0 -0
- package/es/components/molecules/EyedropperButton/index.js +1 -0
- package/es/components/molecules/EyedropperButton/styled.d.ts +7 -0
- package/es/components/molecules/EyedropperButton/styled.js +23 -0
- package/es/components/molecules/FontSizeInput/FontSizeInput.d.ts +3 -0
- package/es/components/molecules/FontSizeInput/FontSizeInput.js +134 -0
- package/es/components/molecules/FontSizeInput/components/FontSizeControl.d.ts +8 -0
- package/es/components/molecules/FontSizeInput/components/FontSizeControl.js +14 -0
- package/es/components/molecules/FontSizeInput/components/FontSizeDropdown.d.ts +21 -0
- package/es/components/molecules/FontSizeInput/components/FontSizeDropdown.js +19 -0
- package/es/components/molecules/FontSizeInput/constants.d.ts +2 -0
- package/es/components/molecules/FontSizeInput/constants.js +5 -0
- package/es/components/molecules/FontSizeInput/index.d.ts +2 -0
- package/es/components/molecules/FontSizeInput/index.js +1 -0
- package/es/components/molecules/FontSizeInput/index.scss +15 -15
- package/es/components/molecules/FontSizeInput/styled.d.ts +7 -0
- package/es/components/molecules/FontSizeInput/styled.js +39 -0
- package/es/components/molecules/FontSizeInput/types.d.ts +23 -0
- package/es/components/molecules/FontSizeInput/types.js +1 -0
- package/es/components/molecules/FontSizeInput/utils.d.ts +7 -0
- package/es/components/molecules/FontSizeInput/utils.js +9 -0
- package/es/components/molecules/GradientSetting/styled.js +57 -57
- package/es/components/molecules/HeaderV2/styled.js +70 -70
- package/es/components/molecules/IconSelection/styled.js +69 -69
- package/es/components/molecules/ImageEditor/components/ModalShortcut.js +21 -21
- package/es/components/molecules/ImageEditor/styled.js +5 -5
- package/es/components/molecules/ImagePreview/styled.js +3 -3
- package/es/components/molecules/InputNumberWithUnit/styled.js +14 -14
- package/es/components/molecules/InputSearch/styled.js +41 -41
- package/es/components/molecules/ItemNotFound/styled.js +26 -26
- package/es/components/molecules/MatchAnySelect/components/ExtendValuePopup.js +8 -8
- package/es/components/molecules/MatchAnySelect/styled.js +247 -247
- package/es/components/molecules/Modal/styled.js +63 -63
- package/es/components/molecules/ModalSelect/styled.js +152 -152
- package/es/components/molecules/ModalV2/styled.js +27 -27
- package/es/components/molecules/PopupDraggable/styled.js +57 -57
- package/es/components/molecules/PreviewModal/styled.js +26 -26
- package/es/components/molecules/ProcessLoading/styled.js +2 -2
- package/es/components/molecules/QuillEditor/CustomToolbar.js +3165 -3165
- package/es/components/molecules/QuillEditor/EditorToolbar.js +7 -7
- package/es/components/molecules/QuillEditor/styled.js +25 -25
- package/es/components/molecules/RadioGroup/styled.js +9 -9
- package/es/components/molecules/RequestAccess/styled.js +38 -38
- package/es/components/molecules/ResizeGrid/components/Cell/styled.js +77 -77
- package/es/components/molecules/ResizeGrid/styled.js +50 -50
- package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/styled.js +118 -118
- package/es/components/molecules/RichMenu/RichMenuBlock/styled.js +13 -13
- package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/styled.js +40 -40
- package/es/components/molecules/RichMenu/RichMenuChatBar/styled.js +27 -27
- package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.js +2 -2
- package/es/components/molecules/RichMenu/RichMenuMobileView/styled.js +38 -38
- package/es/components/molecules/SearchPopover/SearchPopover.d.ts +2 -1
- package/es/components/molecules/SearchPopover/SearchPopover.js +3 -3
- package/es/components/molecules/SearchPopover/components/PopoverSelect/styled.js +36 -36
- package/es/components/molecules/SearchPopover/components/PopoverSelect/styles.scss +7 -7
- package/es/components/molecules/SearchPopover/styled.d.ts +12 -1
- package/es/components/molecules/SearchPopover/styled.js +32 -33
- package/es/components/molecules/SearchPopover/types.d.ts +4 -3
- package/es/components/molecules/Select/styled.js +32 -32
- package/es/components/molecules/SelectAccount/styled.js +147 -147
- package/es/components/molecules/SelectEventAttribute/styled.js +8 -8
- package/es/components/molecules/SelectMulti/styled.js +62 -62
- package/es/components/molecules/SelectV2/styled.js +124 -124
- package/es/components/molecules/SettingWrapper/styled.js +12 -12
- package/es/components/molecules/ShareAccess/components/GeneralAccess/styled.js +56 -56
- package/es/components/molecules/ShareAccess/components/LayoutContent/styled.js +5 -5
- package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/styled.js +15 -15
- package/es/components/molecules/ShareAccess/components/PeopleAccess/styled.js +63 -63
- package/es/components/molecules/ShareAccess/components/SearchUser/styled.js +31 -31
- package/es/components/molecules/SliderWithInputNumber/styled.js +2 -2
- package/es/components/molecules/Tabs/Tabs.js +11 -11
- package/es/components/molecules/TagifyInput/TagifyInput.js +50 -50
- package/es/components/molecules/TagifyInput/styled.js +37 -37
- package/es/components/molecules/TagifyInput/utils.js +13 -13
- package/es/components/molecules/TagifyInput/utils.style.js +218 -218
- package/es/components/molecules/TemplateSaveAs/components/Category/Category.js +5 -5
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/styled.js +276 -276
- package/es/components/molecules/TemplateSaveAs/styled.js +134 -134
- package/es/components/molecules/ThumbnailCard/styled.js +92 -92
- package/es/components/molecules/Tree/styled.js +38 -38
- package/es/components/molecules/UnsubscribePreferences/styled.js +7 -7
- package/es/components/molecules/UnsubscribePreview/components/styled.js +53 -53
- package/es/components/molecules/UnsubscribePreview/styled.js +48 -48
- package/es/components/molecules/UploadImage/styled.js +114 -114
- package/es/components/molecules/VirtualizedMenu/VirtualizedMenu.d.ts +1 -0
- package/es/components/molecules/VirtualizedMenu/components/Item/Item.js +6 -8
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.d.ts +10 -10
- package/es/components/molecules/VirtualizedMenu/components/MenuInline/MenuInline.js +49 -289
- 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 +103 -82
- package/es/components/molecules/VirtualizedMenu/types.d.ts +2 -0
- package/es/components/molecules/VirtualizedMenu/utils.d.ts +2 -0
- package/es/components/molecules/VirtualizedMenu/utils.js +2 -0
- package/es/components/molecules/index.d.ts +1 -0
- package/es/components/molecules/index.js +1 -0
- package/es/components/molecules/index.scss +1 -0
- package/es/components/organism/AccountProfile/components/AccountSetting/components/EditableInput/styles.js +98 -98
- package/es/components/organism/AccountProfile/components/AccountSetting/components/LanguageSelector/styles.js +18 -18
- package/es/components/organism/AccountProfile/components/AccountSetting/styled.js +543 -543
- package/es/components/organism/AccountProfile/components/AccountSetting/styles.scss +39 -39
- package/es/components/organism/AccountSharing/styled.js +336 -336
- package/es/components/organism/ActivityTimeline/ActivityTimeline.js +3 -3
- package/es/components/organism/ActivityTimeline/__mocks__/event_tracking.json +1290 -1290
- package/es/components/organism/ActivityTimeline/__mocks__/timeline.json +1896 -3059
- package/es/components/organism/ActivityTimeline/components/ActionHistory/styled.js +28 -28
- package/es/components/organism/ActivityTimeline/components/CardMember/styled.js +60 -60
- package/es/components/organism/ActivityTimeline/components/ItemEvent/ItemEvent.js +7 -1
- package/es/components/organism/ActivityTimeline/components/ItemGroupEvent/ItemGroupEvent.js +14 -2
- package/es/components/organism/ActivityTimeline/components/ItemGroupEvent/styled.js +4 -4
- package/es/components/organism/ActivityTimeline/components/List/styled.js +77 -77
- package/es/components/organism/ActivityTimeline/components/ListItem/styled.js +37 -37
- package/es/components/organism/ActivityTimeline/components/ProductCard/styled.js +92 -92
- package/es/components/organism/ActivityTimeline/components/Redeem/styled.js +7 -7
- package/es/components/organism/ActivityTimeline/components/Slide/styled.js +20 -20
- package/es/components/organism/ActivityTimeline/components/TimeLineTitle/styled.js +7 -7
- package/es/components/organism/ActivityTimeline/components/TimelineSection/styled.js +69 -69
- package/es/components/organism/ActivityTimeline/constants.d.ts +18 -18
- package/es/components/organism/ActivityTimeline/constants.js +7 -8
- package/es/components/organism/ActivityTimeline/index.d.ts +530 -1
- package/es/components/organism/ActivityTimeline/index.js +9 -1
- package/es/components/organism/ActivityTimeline/styled.js +43 -39
- package/es/components/organism/ActivityTimeline/utils.d.ts +7 -1
- package/es/components/organism/ActivityTimeline/utils.js +224 -162
- package/es/components/organism/AlgorithmsSetting/styled.js +35 -35
- package/es/components/organism/BasicLogin/components/ChooseMethod/styled.js +19 -19
- package/es/components/organism/BasicLogin/components/LoginWithEmail/styled.js +3 -3
- package/es/components/organism/BasicLogin/components/LoginWithGG/styled.js +3 -3
- package/es/components/organism/BasicLogin/components/SignIn/styled.js +8 -8
- package/es/components/organism/BasicLogin/components/WidgetLayout/styled.js +18 -18
- package/es/components/organism/BasicLogin/styled.js +107 -107
- package/es/components/organism/ContentSources/styled.js +50 -50
- package/es/components/organism/DataTable/components/AddButton/index.js +8 -8
- package/es/components/organism/DataTable/components/ModifyColumn/styled.js +18 -18
- package/es/components/organism/DataTable/components/Pagination/styled.js +26 -26
- package/es/components/organism/DataTable/components/Table/styled.js +135 -135
- package/es/components/organism/DataTable/components/Toolbar/SearchPopover.js +17 -17
- package/es/components/organism/DataTable/components/Toolbar/styled.js +70 -70
- package/es/components/organism/DataTable/styled/index.js +84 -84
- package/es/components/organism/Filter/components/FilterCondition/styled.js +34 -34
- package/es/components/organism/Filter/styled.js +109 -109
- package/es/components/organism/FilterSetting/components/common/InputArray/styled.js +5 -5
- package/es/components/organism/FilterSetting/components/common/InputOrSelect/index.js +63 -63
- package/es/components/organism/FilterSetting/components/common/InputSelectMulti/ColumnSuggestion/index.js +31 -31
- package/es/components/organism/FilterSetting/components/common/InputSelectMulti/Tree/index.js +22 -22
- package/es/components/organism/FilterSetting/components/common/InputSelectMulti/index.js +55 -55
- package/es/components/organism/FilterSetting/styled.js +19 -19
- package/es/components/organism/Help/styled.js +267 -267
- package/es/components/organism/LeftMenu/components/HomeMenu/styled.js +39 -39
- package/es/components/organism/LeftMenu/components/common/ChildMenu/components/MenuItemImage/styled.js +16 -16
- package/es/components/organism/LeftMenu/components/common/ChildMenu/styled.js +156 -156
- package/es/components/organism/LeftMenu/styled.js +214 -214
- package/es/components/organism/Login/components/ChooseMethod/styled.js +19 -19
- package/es/components/organism/Login/components/ForgotPassword/styled.js +8 -8
- package/es/components/organism/Login/components/LoginSelectPortal/Item/styled.js +31 -31
- package/es/components/organism/Login/components/LoginSelectPortal/styled.js +3 -3
- package/es/components/organism/Login/components/LoginWithEmail/styled.js +3 -3
- package/es/components/organism/Login/components/LoginWithGG/styled.js +3 -3
- package/es/components/organism/Login/components/SetupGGAuthenticator/styled.js +7 -7
- package/es/components/organism/Login/components/SignIn/styled.js +8 -8
- package/es/components/organism/Login/components/VerifyAccount/styled.js +13 -13
- package/es/components/organism/Login/components/WidgetLayout/styled.js +18 -18
- package/es/components/organism/Login/styled.js +115 -115
- package/es/components/organism/Menu/styled.js +6 -6
- package/es/components/organism/ModifyColumnModal/styled.js +132 -132
- package/es/components/organism/Notification/styled.js +155 -155
- package/es/components/organism/PreviewCollections/Messages/SkeletonMessage/styled.js +14 -14
- package/es/components/organism/PreviewCollections/WhatsappMessage/CarouselMessage/styled.js +63 -63
- package/es/components/organism/PreviewCollections/constants.js +50 -50
- package/es/components/organism/PreviewCollections/styled.js +16 -16
- package/es/components/organism/PreviewTemplateModal/components/Banner/styled.js +78 -78
- package/es/components/organism/PreviewTemplateModal/components/Information/styled.js +52 -52
- package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/styled.js +18 -18
- package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/styled.js +77 -77
- package/es/components/organism/PreviewTemplateModal/styled.js +21 -21
- package/es/components/organism/SQLGeneration/components/styled.js +354 -354
- package/es/components/organism/SQLGeneration/index.scss +1 -1
- package/es/components/organism/SQLGeneration/integrations/AceEditor/index.scss +4 -4
- package/es/components/organism/Table/CrossTabTable/components/CustomCell/styled.js +11 -11
- package/es/components/organism/Table/CrossTabTable/styled.js +11 -11
- package/es/components/organism/Table/ExplorePivotTable/components/CustomCell/styled.js +17 -17
- package/es/components/organism/Table/ExplorePivotTable/styled.js +11 -11
- package/es/components/organism/TextEditor/TextEditor.d.ts +10 -0
- package/es/components/organism/TextEditor/TextEditor.js +388 -0
- package/es/components/organism/TextEditor/__mocks__/text-block.settings.json +320 -0
- package/es/components/organism/TextEditor/__mocks__/text-contennt.d.ts +1 -0
- package/es/components/organism/TextEditor/__mocks__/text-contennt.js +47 -0
- package/es/components/organism/TextEditor/constants.d.ts +196 -0
- package/es/components/organism/TextEditor/constants.js +398 -0
- package/es/components/organism/TextEditor/extensions/BackgroundColor.d.ts +25 -0
- package/es/components/organism/TextEditor/extensions/BackgroundColor.js +43 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.d.ts +18 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu-plugin.js +81 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.d.ts +15 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/bubble-menu.js +35 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/index.d.ts +2 -0
- package/es/components/organism/TextEditor/extensions/BubbleMenu/index.js +2 -0
- package/es/components/organism/TextEditor/extensions/ClearFormatting.d.ts +16 -0
- package/es/components/organism/TextEditor/extensions/ClearFormatting.js +30 -0
- package/es/components/organism/TextEditor/extensions/Color.d.ts +6 -0
- package/es/components/organism/TextEditor/extensions/Color.js +34 -0
- package/es/components/organism/TextEditor/extensions/Emoji.d.ts +57 -0
- package/es/components/organism/TextEditor/extensions/Emoji.js +184 -0
- package/es/components/organism/TextEditor/extensions/FontFamily.d.ts +6 -0
- package/es/components/organism/TextEditor/extensions/FontFamily.js +36 -0
- package/es/components/organism/TextEditor/extensions/FontSize.d.ts +31 -0
- package/es/components/organism/TextEditor/extensions/FontSize.js +46 -0
- package/es/components/organism/TextEditor/extensions/FontWeight.d.ts +23 -0
- package/es/components/organism/TextEditor/extensions/FontWeight.js +41 -0
- package/es/components/organism/TextEditor/extensions/Indent.d.ts +21 -0
- package/es/components/organism/TextEditor/extensions/Indent.js +63 -0
- package/es/components/organism/TextEditor/extensions/LetterSpacing.d.ts +32 -0
- package/es/components/organism/TextEditor/extensions/LetterSpacing.js +48 -0
- package/es/components/organism/TextEditor/extensions/LineHeight.d.ts +20 -0
- package/es/components/organism/TextEditor/extensions/LineHeight.js +101 -0
- package/es/components/organism/TextEditor/extensions/Link.d.ts +22 -0
- package/es/components/organism/TextEditor/extensions/Link.js +178 -0
- 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/ListItemMarker.d.ts +13 -0
- package/es/components/organism/TextEditor/extensions/ListItemMarker.js +174 -0
- package/es/components/organism/TextEditor/extensions/OrderedList.d.ts +56 -0
- package/es/components/organism/TextEditor/extensions/OrderedList.js +187 -0
- package/es/components/organism/TextEditor/extensions/SmartTag.d.ts +28 -0
- package/es/components/organism/TextEditor/extensions/SmartTag.js +103 -0
- package/es/components/organism/TextEditor/extensions/StyleMemory.d.ts +36 -0
- package/es/components/organism/TextEditor/extensions/StyleMemory.js +163 -0
- package/es/components/organism/TextEditor/extensions/TextTransform.d.ts +30 -0
- package/es/components/organism/TextEditor/extensions/TextTransform.js +36 -0
- package/es/components/organism/TextEditor/extensions/UnorderedList.d.ts +55 -0
- package/es/components/organism/TextEditor/extensions/UnorderedList.js +176 -0
- package/es/components/organism/TextEditor/hooks/index.d.ts +6 -0
- package/es/components/organism/TextEditor/hooks/index.js +6 -0
- package/es/components/organism/TextEditor/hooks/useColorSet.d.ts +4 -0
- package/es/components/organism/TextEditor/hooks/useColorSet.js +29 -0
- package/es/components/organism/TextEditor/hooks/useDocumentState.d.ts +18 -0
- package/es/components/organism/TextEditor/hooks/useDocumentState.js +42 -0
- package/es/components/organism/TextEditor/hooks/useMarkTracking.d.ts +26 -0
- package/es/components/organism/TextEditor/hooks/useMarkTracking.js +69 -0
- package/es/components/organism/TextEditor/hooks/usePersistence.d.ts +31 -0
- package/es/components/organism/TextEditor/hooks/usePersistence.js +169 -0
- package/es/components/organism/TextEditor/hooks/useStyleMemory.d.ts +6 -0
- package/es/components/organism/TextEditor/hooks/useStyleMemory.js +42 -0
- package/es/components/organism/TextEditor/hooks/useStylePresets.d.ts +34 -0
- package/es/components/organism/TextEditor/hooks/useStylePresets.js +83 -0
- package/es/components/organism/TextEditor/index.d.ts +18 -0
- package/es/components/organism/TextEditor/index.js +8 -0
- package/es/components/organism/TextEditor/index.scss +65 -0
- package/es/components/organism/TextEditor/provider.d.ts +15 -0
- package/es/components/organism/TextEditor/provider.js +36 -0
- package/es/components/organism/TextEditor/store.d.ts +20 -0
- package/es/components/organism/TextEditor/store.js +40 -0
- 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 +9 -0
- package/es/components/organism/TextEditor/styled.js +61 -0
- package/es/components/organism/TextEditor/types.d.ts +311 -0
- package/es/components/organism/TextEditor/types.js +6 -0
- package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.d.ts +3 -0
- package/es/components/organism/TextEditor/ui/BubbleMenu/BubbleMenu.js +114 -0
- package/es/components/organism/TextEditor/ui/BubbleMenu/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/BubbleMenu/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Button/Button.d.ts +9 -0
- package/es/components/organism/TextEditor/ui/Button/Button.js +35 -0
- package/es/components/organism/TextEditor/ui/Button/index.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/Button/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Button/types.d.ts +10 -0
- package/es/components/organism/TextEditor/ui/Button/types.js +1 -0
- package/es/components/organism/TextEditor/ui/ColorPicker/ColorPicker.d.ts +39 -0
- package/es/components/organism/TextEditor/ui/ColorPicker/ColorPicker.js +131 -0
- package/es/components/organism/TextEditor/ui/ColorPicker/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/ColorPicker/index.js +1 -0
- package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.d.ts +17 -0
- package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.js +51 -0
- package/es/components/organism/TextEditor/ui/DropdownButton/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/DropdownButton/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Emoji/EmojiList.d.ts +11 -0
- package/es/components/organism/TextEditor/ui/Emoji/EmojiList.js +66 -0
- package/es/components/organism/TextEditor/ui/Emoji/index.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/Emoji/index.js +2 -0
- package/es/components/organism/TextEditor/ui/Emoji/suggestion.d.ts +4 -0
- package/es/components/organism/TextEditor/ui/Emoji/suggestion.js +71 -0
- package/es/components/organism/TextEditor/ui/FontPopover/FontItem.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/FontPopover/FontItem.js +27 -0
- package/es/components/organism/TextEditor/ui/FontPopover/FontPopover.d.ts +16 -0
- package/es/components/organism/TextEditor/ui/FontPopover/FontPopover.js +102 -0
- package/es/components/organism/TextEditor/ui/FontPopover/styled.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/FontPopover/styled.js +36 -0
- package/es/components/organism/TextEditor/ui/FontPopover/types.d.ts +35 -0
- package/es/components/organism/TextEditor/ui/FontPopover/types.js +1 -0
- 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.d.ts +6 -0
- package/es/components/organism/TextEditor/ui/Popover/Popover.js +9 -0
- package/es/components/organism/TextEditor/ui/Popover/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/Popover/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Select/Select.d.ts +4 -0
- package/es/components/organism/TextEditor/ui/Select/Select.js +7 -0
- package/es/components/organism/TextEditor/ui/Select/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/Select/index.js +1 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/SplitButtonDropdown.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/SplitButtonDropdown.js +44 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/index.js +1 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.js +58 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/types.d.ts +19 -0
- package/es/components/organism/TextEditor/ui/SplitButtonDropdown/types.js +1 -0
- package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.d.ts +30 -0
- package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.js +75 -0
- package/es/components/organism/TextEditor/ui/TextAlignSelect/index.d.ts +1 -0
- package/es/components/organism/TextEditor/ui/TextAlignSelect/index.js +1 -0
- package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.d.ts +19 -0
- package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.js +85 -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/BoldAction.d.ts +6 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/BoldAction.js +19 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/BulletListAction.d.ts +6 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/BulletListAction.js +93 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/ClearFormattingAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/ClearFormattingAction.js +20 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/EmojiAction.d.ts +4 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/EmojiAction.js +32 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.d.ts +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontFamilyAction.js +41 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.d.ts +8 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.js +51 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/HistoryAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/HistoryAction.js +21 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/IndentAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/IndentAction.js +17 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/ItalicAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/ItalicAction.js +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LetterSpacing.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LetterSpacing.js +28 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LineSpacingAction.d.ts +10 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LineSpacingAction.js +45 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LinkAction.d.ts +6 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/LinkAction.js +17 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/OrderedListAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/OrderedListAction.js +67 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/OutdentAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/OutdentAction.js +17 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SmartTagAction.d.ts +7 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SmartTagAction.js +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/StrikeAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/StrikeAction.js +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SubscriptAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SubscriptAction.js +26 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SuperscriptAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/SuperscriptAction.js +26 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextAlignAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextAlignAction.js +3 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextBackgroundColorAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextBackgroundColorAction.js +29 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextColorAction.d.ts +14 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextColorAction.js +22 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextTransformAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/TextTransformAction.js +36 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/UnderlineAction.d.ts +5 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/UnderlineAction.js +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/UnsetLink.d.ts +7 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/UnsetLink.js +18 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/index.d.ts +24 -0
- package/es/components/organism/TextEditor/ui/Toolbar/actions/index.js +24 -0
- package/es/components/organism/TextEditor/ui/Toolbar/index.d.ts +2 -0
- package/es/components/organism/TextEditor/ui/Toolbar/index.js +2 -0
- package/es/components/organism/TextEditor/utils/documentState.d.ts +73 -0
- package/es/components/organism/TextEditor/utils/documentState.js +149 -0
- package/es/components/organism/TextEditor/utils/font.d.ts +74 -0
- package/es/components/organism/TextEditor/utils/font.js +147 -0
- package/es/components/organism/TextEditor/utils/htmlProcessing.d.ts +87 -0
- package/es/components/organism/TextEditor/utils/htmlProcessing.js +460 -0
- package/es/components/organism/TextEditor/utils/indent.d.ts +11 -0
- package/es/components/organism/TextEditor/utils/indent.js +56 -0
- package/es/components/organism/TextEditor/utils/index.d.ts +8 -0
- package/es/components/organism/TextEditor/utils/index.js +16 -0
- package/es/components/organism/TextEditor/utils/link.d.ts +116 -0
- package/es/components/organism/TextEditor/utils/link.js +304 -0
- package/es/components/organism/TextEditor/utils/menu.d.ts +134 -0
- package/es/components/organism/TextEditor/utils/menu.js +321 -0
- package/es/components/organism/TextEditor/utils/selection.d.ts +25 -0
- package/es/components/organism/TextEditor/utils/selection.js +58 -0
- package/es/components/organism/TextEditor/utils/shared.d.ts +13 -0
- package/es/components/organism/TextEditor/utils/shared.js +52 -0
- package/es/components/organism/TextEditor/utils/smartTag.d.ts +49 -0
- package/es/components/organism/TextEditor/utils/smartTag.js +90 -0
- package/es/components/organism/TextEditor/utils/style.d.ts +78 -0
- package/es/components/organism/TextEditor/utils/style.js +193 -0
- package/es/components/organism/TicketEditor/styled.js +850 -850
- package/es/components/organism/TicketEditorV2/styled.js +839 -839
- package/es/components/organism/index.d.ts +1 -0
- package/es/components/organism/index.js +1 -0
- package/es/components/organism/index.scss +2 -1
- package/es/components/template/Layout/Layout.js +10 -10
- package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/components/OldLeftMenu/styled.js +73 -73
- package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/styled.js +39 -39
- package/es/components/template/Layout/components/RecommendationWorkspace/components/RecommendationImage/styled.js +61 -61
- package/es/components/template/Layout/components/RecommendationWorkspace/styled.js +16 -16
- package/es/components/template/Layout/styled.js +84 -84
- package/es/components/template/TemplateListing/components/BlankTemplate/styled.js +21 -21
- package/es/components/template/TemplateListing/components/CategoryListing/styled.js +123 -123
- package/es/components/template/TemplateListing/components/Empty/styled.js +20 -20
- package/es/components/template/TemplateListing/stories/demo/styled.js +4 -4
- package/es/components/template/TemplateListing/styled/index.js +40 -40
- package/es/constants/index.d.ts +1 -0
- package/es/constants/index.js +1 -0
- package/es/constants/web.d.ts +8 -0
- package/es/constants/web.js +57 -0
- package/es/hooks/index.d.ts +4 -0
- package/es/hooks/index.js +4 -0
- package/es/hooks/useBroadcastedLocalStorage.d.ts +5 -0
- package/es/hooks/useBroadcastedLocalStorage.js +71 -0
- package/es/hooks/useElementSize.d.ts +7 -0
- package/es/hooks/useElementSize.js +56 -0
- package/es/hooks/useEyedropper/attach.d.ts +4 -0
- package/es/hooks/useEyedropper/attach.js +9 -0
- package/es/hooks/useEyedropper/eyedropper.d.ts +69 -0
- package/es/hooks/useEyedropper/eyedropper.js +205 -0
- package/es/hooks/useEyedropper/index.d.ts +2 -0
- package/es/hooks/useEyedropper/index.js +7 -0
- package/es/hooks/useEyedropper/support.d.ts +1 -0
- package/es/hooks/useEyedropper/support.js +3 -0
- package/es/hooks/useEyedropper/types.d.ts +9 -0
- package/es/hooks/useEyedropper/types.js +1 -0
- package/es/hooks/useEyedropper/useEyedropper.d.ts +8 -0
- package/es/hooks/useEyedropper/useEyedropper.js +50 -0
- package/es/hooks/useEyedropper/utils.d.ts +11 -0
- package/es/hooks/useEyedropper/utils.js +17 -0
- package/es/hooks/useIsMounted.d.ts +1 -0
- package/es/hooks/useIsMounted.js +11 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/locales/en/google-sheet.json +109 -8
- package/es/locales/i18n.d.ts +307 -4
- package/es/locales/ja/google-sheet.json +301 -200
- package/es/locales/vi/google-sheet.json +118 -17
- package/es/providers/ConfigProvider/GlobalStyle.js +1249 -1249
- package/es/styled/common.js +51 -51
- package/es/tests/styled.js +4 -4
- package/es/types/index.d.ts +9 -0
- package/es/utils/common.d.ts +15 -9
- package/es/utils/common.js +62 -24
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.js +1 -0
- package/es/utils/variables.js +7 -7
- package/es/utils/web.d.ts +80 -0
- package/es/utils/web.js +226 -0
- package/package.json +276 -266
- package/CHANGELOG.md +0 -63
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { TextSelection } from '@tiptap/pm/state';
|
|
2
|
+
import { getMarkRange, getMarksBetween, isMarkActive } from '@tiptap/core';
|
|
3
|
+
import { isNoSelection } from './selection';
|
|
4
|
+
import { isEmpty } from 'lodash';
|
|
5
|
+
import { isLinkMarkRange } from '../types';
|
|
6
|
+
import { CUSTOM_LINK_EXTENSION_NAME } from '../constants';
|
|
7
|
+
import { textBetween } from './documentState';
|
|
8
|
+
/**
|
|
9
|
+
* Kiểm tra xem cursor có đang nằm trong một đoạn text có mark là link hay không
|
|
10
|
+
* @param state EditorState của Tiptap/ProseMirror
|
|
11
|
+
* @returns true nếu cursor đang nằm trong link, false nếu không
|
|
12
|
+
*/
|
|
13
|
+
export const isCursorInLink = (state) => isMarkActive(state, CUSTOM_LINK_EXTENSION_NAME);
|
|
14
|
+
/**
|
|
15
|
+
* Gets all link mark ranges within a specified range
|
|
16
|
+
* @param params Object containing state, from and to positions
|
|
17
|
+
* @returns Array of MarkRange objects for links
|
|
18
|
+
*/
|
|
19
|
+
export const getLinkMarkRanges = (params) => {
|
|
20
|
+
const { state } = params;
|
|
21
|
+
const from = params.from ?? state.selection.from;
|
|
22
|
+
const to = params.to ?? state.selection.to;
|
|
23
|
+
return getMarksBetween(from, to, state.doc).filter(isLinkMarkRange);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Gets the range of a link mark at a specific position
|
|
27
|
+
* @param params Object containing state and optional position
|
|
28
|
+
* @returns Link mark range or undefined
|
|
29
|
+
*/
|
|
30
|
+
export const getLinkRange = (params) => {
|
|
31
|
+
const { state } = params;
|
|
32
|
+
const { schema } = state;
|
|
33
|
+
const $pos = state.doc.resolve(params?.pos || state.selection.from);
|
|
34
|
+
return getMarkRange($pos, schema.marks[CUSTOM_LINK_EXTENSION_NAME]);
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Gets the first link mark in a range
|
|
38
|
+
* @param params Object containing state, optional from and to positions
|
|
39
|
+
* @returns Link mark or undefined
|
|
40
|
+
*/
|
|
41
|
+
export const getLinkMark = (params) => {
|
|
42
|
+
const { state } = params;
|
|
43
|
+
const from = params.from ?? state.selection.from;
|
|
44
|
+
const to = params.to ?? state.selection.to;
|
|
45
|
+
return getLinkMarkRanges({ state, from, to }).at(0)?.mark;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Gets all link marks in a range
|
|
49
|
+
* @param params Object containing state, from and to positions
|
|
50
|
+
* @returns Array of link marks
|
|
51
|
+
*/
|
|
52
|
+
export const getLinkMarks = (params) => {
|
|
53
|
+
const { state, from, to } = params;
|
|
54
|
+
return getMarksBetween(from, to, state.doc)
|
|
55
|
+
.filter(isLinkMarkRange)
|
|
56
|
+
.map(range => range.mark);
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Gets all link attrs from a range
|
|
60
|
+
* @param params Object containing state, optional from and to positions
|
|
61
|
+
* @returns Array of link attrs
|
|
62
|
+
*/
|
|
63
|
+
export const getLinkAttrsFromRange = (params) => {
|
|
64
|
+
const { state } = params;
|
|
65
|
+
const from = params.from ?? state.selection.from;
|
|
66
|
+
const to = params.to ?? state.selection.to;
|
|
67
|
+
return getLinkMarkRanges({ state, from, to }).map(r => r.mark.attrs);
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Gets the active link attrs and inactive links from a range
|
|
71
|
+
* @param params Object containing state, optional from and to positions
|
|
72
|
+
* @returns Object with active link Attrs and inactiveLink Attrs or undefined
|
|
73
|
+
*/
|
|
74
|
+
export const getActiveLinkAttrsFromRange = (params) => {
|
|
75
|
+
const { state } = params;
|
|
76
|
+
const from = params.from ?? state.selection.from;
|
|
77
|
+
const to = params.to ?? state.selection.to;
|
|
78
|
+
const linkAttrs = getLinkAttrsFromRange({ state, from, to });
|
|
79
|
+
if (linkAttrs.length === 0)
|
|
80
|
+
return undefined;
|
|
81
|
+
const [activeAttrs, ...inactiveLinks] = linkAttrs;
|
|
82
|
+
return {
|
|
83
|
+
activeAttrs,
|
|
84
|
+
inactiveLinks,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Builds lookup maps for adjacent link search by position
|
|
89
|
+
* @param allLinks All link ranges in document
|
|
90
|
+
* @returns Maps of links indexed by their start/end positions
|
|
91
|
+
*/
|
|
92
|
+
const buildLinkLookupMaps = (allLinks) => {
|
|
93
|
+
const linkEndingAt = new Map();
|
|
94
|
+
const linkStartingAt = new Map();
|
|
95
|
+
allLinks.forEach(link => {
|
|
96
|
+
if (!linkEndingAt.has(link.to)) {
|
|
97
|
+
linkEndingAt.set(link.to, []);
|
|
98
|
+
}
|
|
99
|
+
linkEndingAt.get(link.to).push(link);
|
|
100
|
+
if (!linkStartingAt.has(link.from)) {
|
|
101
|
+
linkStartingAt.set(link.from, []);
|
|
102
|
+
}
|
|
103
|
+
linkStartingAt.get(link.from).push(link);
|
|
104
|
+
});
|
|
105
|
+
return { linkEndingAt, linkStartingAt };
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Finds all adjacent link ranges with the same href
|
|
109
|
+
* @param linkRange Current link range to check
|
|
110
|
+
* @param targetHref Target href to match
|
|
111
|
+
* @param linkEndingAt Map of links ending at each position
|
|
112
|
+
* @param linkStartingAt Map of links starting at each position
|
|
113
|
+
* @param doc Document node
|
|
114
|
+
* @returns Array of adjacent link ranges with same href (includes the input linkRange)
|
|
115
|
+
*/
|
|
116
|
+
const findAdjacentLinksWithSameHref = (linkRange, targetHref, linkEndingAt, linkStartingAt, doc) => {
|
|
117
|
+
const adjacentLinks = [linkRange];
|
|
118
|
+
// Find adjacent links before (links ending where current link starts)
|
|
119
|
+
let currentFrom = linkRange.from;
|
|
120
|
+
while (currentFrom > 0) {
|
|
121
|
+
const linksEndingHere = linkEndingAt.get(currentFrom) || [];
|
|
122
|
+
const adjacentBefore = linksEndingHere.find(range => range.mark.attrs.href === targetHref);
|
|
123
|
+
if (!adjacentBefore)
|
|
124
|
+
break;
|
|
125
|
+
adjacentLinks.unshift(adjacentBefore);
|
|
126
|
+
currentFrom = adjacentBefore.from;
|
|
127
|
+
}
|
|
128
|
+
// Find adjacent links after (links starting where current link ends)
|
|
129
|
+
let currentTo = linkRange.to;
|
|
130
|
+
while (currentTo < doc.content.size) {
|
|
131
|
+
const linksStartingHere = linkStartingAt.get(currentTo) || [];
|
|
132
|
+
const adjacentAfter = linksStartingHere.find(range => range.mark.attrs.href === targetHref);
|
|
133
|
+
if (!adjacentAfter)
|
|
134
|
+
break;
|
|
135
|
+
adjacentLinks.push(adjacentAfter);
|
|
136
|
+
currentTo = adjacentAfter.to;
|
|
137
|
+
}
|
|
138
|
+
return adjacentLinks;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Extends selection to include full link marks and adjacent links with same href
|
|
142
|
+
* @param state EditorState
|
|
143
|
+
* @param from Start position
|
|
144
|
+
* @param to End position
|
|
145
|
+
* @returns Object with extended from, to positions and link attrs
|
|
146
|
+
*/
|
|
147
|
+
export const extendSelectionToFullLinks = (state, from, to) => {
|
|
148
|
+
const { activeAttrs } = getActiveLinkAttrsFromRange({ state, from, to }) || {};
|
|
149
|
+
const linkMarkRanges = getLinkMarkRanges({ state, from, to });
|
|
150
|
+
if (linkMarkRanges.length === 0 || isEmpty(activeAttrs)) {
|
|
151
|
+
return { from, to };
|
|
152
|
+
}
|
|
153
|
+
// Get all document links and build lookup maps for adjacent search
|
|
154
|
+
const allDocLinks = getLinkMarkRanges({
|
|
155
|
+
state,
|
|
156
|
+
from: 0,
|
|
157
|
+
to: state.doc.content.size,
|
|
158
|
+
});
|
|
159
|
+
const { linkEndingAt, linkStartingAt } = buildLinkLookupMaps(allDocLinks);
|
|
160
|
+
// Check if single link has adjacents with same href
|
|
161
|
+
if (linkMarkRanges.length === 1) {
|
|
162
|
+
const singleLink = linkMarkRanges[0];
|
|
163
|
+
const { href } = singleLink.mark.attrs;
|
|
164
|
+
if (href) {
|
|
165
|
+
const hasAdjacentBefore = linkEndingAt
|
|
166
|
+
.get(singleLink.from)
|
|
167
|
+
?.some(range => range.mark.attrs.href === href);
|
|
168
|
+
const hasAdjacentAfter = linkStartingAt
|
|
169
|
+
.get(singleLink.to)
|
|
170
|
+
?.some(range => range.mark.attrs.href === href);
|
|
171
|
+
if (!hasAdjacentBefore && !hasAdjacentAfter) {
|
|
172
|
+
return {
|
|
173
|
+
from: singleLink.from,
|
|
174
|
+
to: singleLink.to,
|
|
175
|
+
linkAttrs: singleLink.mark.attrs,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Collect all link ranges including adjacent ones with same href
|
|
181
|
+
const allLinkRanges = [];
|
|
182
|
+
const processedRanges = new Set();
|
|
183
|
+
for (const linkRange of linkMarkRanges) {
|
|
184
|
+
const rangeKey = `${linkRange.from}-${linkRange.to}`;
|
|
185
|
+
if (processedRanges.has(rangeKey))
|
|
186
|
+
continue;
|
|
187
|
+
const { href } = linkRange.mark.attrs;
|
|
188
|
+
if (!href) {
|
|
189
|
+
allLinkRanges.push(linkRange);
|
|
190
|
+
processedRanges.add(rangeKey);
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
// Find all adjacent links with same href
|
|
194
|
+
const adjacentLinks = findAdjacentLinksWithSameHref(linkRange, href, linkEndingAt, linkStartingAt, state.doc);
|
|
195
|
+
adjacentLinks.forEach(range => {
|
|
196
|
+
const key = `${range.from}-${range.to}`;
|
|
197
|
+
if (!processedRanges.has(key)) {
|
|
198
|
+
allLinkRanges.push(range);
|
|
199
|
+
processedRanges.add(key);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
// Calculate final range from all collected links
|
|
204
|
+
const newFrom = Math.min(...allLinkRanges.map(range => range.from), from);
|
|
205
|
+
const newTo = Math.max(...allLinkRanges.map(range => range.to), to);
|
|
206
|
+
return {
|
|
207
|
+
from: newFrom,
|
|
208
|
+
to: newTo,
|
|
209
|
+
linkAttrs: activeAttrs,
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Gets all full link groups in the document (adjacent links with same href are grouped)
|
|
214
|
+
* @param state EditorState
|
|
215
|
+
* @returns Array of link groups with attrs and content
|
|
216
|
+
*/
|
|
217
|
+
export const getAllFullLinkGroups = (state) => {
|
|
218
|
+
const { doc } = state;
|
|
219
|
+
// Get all link ranges in document
|
|
220
|
+
const allLinks = getLinkMarkRanges({
|
|
221
|
+
state,
|
|
222
|
+
from: 0,
|
|
223
|
+
to: doc.content.size,
|
|
224
|
+
});
|
|
225
|
+
if (allLinks.length === 0)
|
|
226
|
+
return [];
|
|
227
|
+
// Build lookup maps for adjacent link search
|
|
228
|
+
const { linkEndingAt, linkStartingAt } = buildLinkLookupMaps(allLinks);
|
|
229
|
+
// Track processed ranges to avoid duplicates
|
|
230
|
+
const processedRanges = new Set();
|
|
231
|
+
const linkGroups = [];
|
|
232
|
+
// Process each link and find adjacent links with same href
|
|
233
|
+
for (const link of allLinks) {
|
|
234
|
+
const rangeKey = `${link.from}-${link.to}`;
|
|
235
|
+
if (processedRanges.has(rangeKey))
|
|
236
|
+
continue;
|
|
237
|
+
const { href } = link.mark.attrs;
|
|
238
|
+
if (!href) {
|
|
239
|
+
// Link without href, process individually
|
|
240
|
+
const content = textBetween(state, link.from, link.to);
|
|
241
|
+
linkGroups.push({ attrs: link.mark.attrs, content });
|
|
242
|
+
processedRanges.add(rangeKey);
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
// Find all adjacent links with same href
|
|
246
|
+
const adjacentLinks = findAdjacentLinksWithSameHref(link, href, linkEndingAt, linkStartingAt, doc);
|
|
247
|
+
// Mark all adjacent links as processed
|
|
248
|
+
adjacentLinks.forEach(adjLink => {
|
|
249
|
+
processedRanges.add(`${adjLink.from}-${adjLink.to}`);
|
|
250
|
+
});
|
|
251
|
+
// Calculate full link range
|
|
252
|
+
const fullFrom = adjacentLinks[0].from;
|
|
253
|
+
const fullTo = adjacentLinks[adjacentLinks.length - 1].to;
|
|
254
|
+
// Get content from full link range
|
|
255
|
+
const content = textBetween(state, fullFrom, fullTo);
|
|
256
|
+
// Add link group with attrs from first link and full content
|
|
257
|
+
linkGroups.push({ attrs: adjacentLinks[0].mark.attrs, content });
|
|
258
|
+
}
|
|
259
|
+
return linkGroups;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Handles link actions (create or edit)
|
|
263
|
+
* @param view EditorView instance
|
|
264
|
+
* @param linkHandler Link handler callbacks
|
|
265
|
+
*/
|
|
266
|
+
export function handleLinkAction(view, linkHandler) {
|
|
267
|
+
const { state } = view;
|
|
268
|
+
const { tr } = state;
|
|
269
|
+
const { from, to, empty } = state.selection;
|
|
270
|
+
if (empty && isMarkActive(state, CUSTOM_LINK_EXTENSION_NAME)) {
|
|
271
|
+
const linkRange = getLinkRange({ state, pos: from });
|
|
272
|
+
const linkMark = getLinkMark({ state });
|
|
273
|
+
if (linkRange && linkMark) {
|
|
274
|
+
// Update selection to include full link
|
|
275
|
+
view.dispatch(tr.setSelection(TextSelection.create(tr.doc, linkRange.from, linkRange.to)));
|
|
276
|
+
linkHandler?.edit?.({
|
|
277
|
+
attrs: linkMark.attrs,
|
|
278
|
+
selectionText: textBetween(state, linkRange.from, linkRange.to),
|
|
279
|
+
});
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const { from: newFrom, to: newTo, linkAttrs } = extendSelectionToFullLinks(state, from, to);
|
|
284
|
+
// Update selection to include full links
|
|
285
|
+
view.dispatch(tr.setSelection(TextSelection.create(tr.doc, newFrom, newTo)));
|
|
286
|
+
const selectedText = textBetween(state, newFrom, newTo);
|
|
287
|
+
if (linkAttrs) {
|
|
288
|
+
linkHandler?.edit?.({
|
|
289
|
+
attrs: linkAttrs,
|
|
290
|
+
selectionText: selectedText,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
linkHandler?.setNew?.({
|
|
295
|
+
selectionText: selectedText,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Checks if the link menu should be shown
|
|
301
|
+
* @param state EditorState
|
|
302
|
+
* @returns true if link menu should be shown
|
|
303
|
+
*/
|
|
304
|
+
export const isShowLinkToolbar = (state) => isNoSelection(state) && isCursorInLink(state);
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { EditorState } from '@tiptap/pm/state';
|
|
2
|
+
import { Editor } from '@tiptap/core';
|
|
3
|
+
import { EditorView } from '@tiptap/pm/view';
|
|
4
|
+
/**
|
|
5
|
+
* Default function to determine if bubble menu should be shown
|
|
6
|
+
* @param params Object containing editor state and view information
|
|
7
|
+
* @returns true if bubble menu should be shown
|
|
8
|
+
*/
|
|
9
|
+
export declare const defaultShouldShowBubbleMenu: (params: {
|
|
10
|
+
state: EditorState;
|
|
11
|
+
view: EditorView;
|
|
12
|
+
element: HTMLElement;
|
|
13
|
+
editor: Editor;
|
|
14
|
+
}) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Checks if link menu should be shown
|
|
17
|
+
* @param state EditorState
|
|
18
|
+
* @returns true if link menu should be shown
|
|
19
|
+
*/
|
|
20
|
+
export declare const shouldShowLinkMenu: (state: EditorState) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Calculates optimal menu position relative to selection
|
|
23
|
+
* @param view EditorView instance
|
|
24
|
+
* @param menuElement Menu element to position
|
|
25
|
+
* @returns Position coordinates
|
|
26
|
+
*/
|
|
27
|
+
export declare function calculateMenuPosition(view: EditorView, menuElement: HTMLElement): {
|
|
28
|
+
top: number;
|
|
29
|
+
left: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Checks if menu should be hidden based on editor state
|
|
33
|
+
* @param editor Editor instance
|
|
34
|
+
* @returns true if menu should be hidden
|
|
35
|
+
*/
|
|
36
|
+
export declare function shouldHideMenu(editor: Editor): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the active menu type based on current selection
|
|
39
|
+
* @param state EditorState
|
|
40
|
+
* @returns Menu type identifier
|
|
41
|
+
*/
|
|
42
|
+
export declare function getActiveMenuType(state: EditorState): 'default' | 'link' | 'smartTag' | null;
|
|
43
|
+
/**
|
|
44
|
+
* Menu visibility manager class
|
|
45
|
+
*/
|
|
46
|
+
export declare class MenuVisibilityManager {
|
|
47
|
+
private visibleMenus;
|
|
48
|
+
private callbacks;
|
|
49
|
+
/**
|
|
50
|
+
* Shows a menu with given ID
|
|
51
|
+
* @param menuId Menu identifier
|
|
52
|
+
* @param onShow Optional callback when menu is shown
|
|
53
|
+
*/
|
|
54
|
+
showMenu(menuId: string, onShow?: () => void): void;
|
|
55
|
+
/**
|
|
56
|
+
* Hides a specific menu
|
|
57
|
+
* @param menuId Menu identifier
|
|
58
|
+
*/
|
|
59
|
+
hideMenu(menuId: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Hides all visible menus
|
|
62
|
+
*/
|
|
63
|
+
hideAllMenus(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Checks if a menu is visible
|
|
66
|
+
* @param menuId Menu identifier
|
|
67
|
+
* @returns true if menu is visible
|
|
68
|
+
*/
|
|
69
|
+
isMenuVisible(menuId: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Gets all visible menu IDs
|
|
72
|
+
* @returns Array of visible menu IDs
|
|
73
|
+
*/
|
|
74
|
+
getVisibleMenus(): string[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Menu positioning utilities
|
|
78
|
+
*/
|
|
79
|
+
export declare class MenuPositioner {
|
|
80
|
+
private container;
|
|
81
|
+
constructor(container?: HTMLElement);
|
|
82
|
+
/**
|
|
83
|
+
* Positions menu relative to a DOM element
|
|
84
|
+
* @param menuElement Menu element to position
|
|
85
|
+
* @param targetElement Target element to position relative to
|
|
86
|
+
* @param placement Placement preference
|
|
87
|
+
*/
|
|
88
|
+
positionRelativeToElement(menuElement: HTMLElement, targetElement: HTMLElement, placement?: 'top' | 'bottom' | 'left' | 'right'): void;
|
|
89
|
+
/**
|
|
90
|
+
* Positions menu at specific coordinates
|
|
91
|
+
* @param menuElement Menu element to position
|
|
92
|
+
* @param x X coordinate
|
|
93
|
+
* @param y Y coordinate
|
|
94
|
+
*/
|
|
95
|
+
positionAtCoordinates(menuElement: HTMLElement, x: number, y: number): void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Menu keyboard navigation handler
|
|
99
|
+
*/
|
|
100
|
+
export declare class MenuKeyboardHandler {
|
|
101
|
+
private menuElement;
|
|
102
|
+
private focusableElements;
|
|
103
|
+
private currentIndex;
|
|
104
|
+
constructor(menuElement: HTMLElement);
|
|
105
|
+
/**
|
|
106
|
+
* Updates the list of focusable elements
|
|
107
|
+
*/
|
|
108
|
+
updateFocusableElements(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Handles keyboard events for menu navigation
|
|
111
|
+
* @param event Keyboard event
|
|
112
|
+
*/
|
|
113
|
+
handleKeyDown(event: KeyboardEvent): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Focuses the next focusable element
|
|
116
|
+
*/
|
|
117
|
+
focusNext(): void;
|
|
118
|
+
/**
|
|
119
|
+
* Focuses the previous focusable element
|
|
120
|
+
*/
|
|
121
|
+
focusPrevious(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Focuses the first focusable element
|
|
124
|
+
*/
|
|
125
|
+
focusFirst(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Focuses the last focusable element
|
|
128
|
+
*/
|
|
129
|
+
focusLast(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Removes focus from menu
|
|
132
|
+
*/
|
|
133
|
+
blur(): void;
|
|
134
|
+
}
|