@antscorp/antsomi-ui 2.0.120 → 2.0.122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +78 -78
  3. package/es/__mocks__/1000_city.json +802 -802
  4. package/es/__mocks__/sql-query.json +56 -56
  5. package/es/assets/css/main.scss +8 -8
  6. package/es/assets/images/feedback.svg +3 -3
  7. package/es/assets/svg/mobile-frame.svg +3 -3
  8. package/es/assets/svg/warning-icon.svg +5 -5
  9. package/es/components/atoms/Alert/Alert.js +28 -28
  10. package/es/components/atoms/ContentEditable/styled.js +16 -16
  11. package/es/components/atoms/DividerPure/styled.js +35 -35
  12. package/es/components/atoms/Eyedropper/styled.js +39 -39
  13. package/es/components/atoms/Icon/index.js +19 -19
  14. package/es/components/atoms/Iframe/Iframe.js +18 -18
  15. package/es/components/atoms/Input/styled.js +104 -104
  16. package/es/components/atoms/InputDynamic/styled.js +284 -284
  17. package/es/components/atoms/MobileBrandingBar/styled.js +21 -21
  18. package/es/components/atoms/MobileFrame/styled.js +30 -30
  19. package/es/components/atoms/MobileFrameV2/styled.js +42 -42
  20. package/es/components/atoms/MobileFrameV3/styled.js +31 -31
  21. package/es/components/atoms/NotificationStatus/styled.js +10 -10
  22. package/es/components/atoms/PreviewTabs/styled.js +69 -69
  23. package/es/components/atoms/Radio/index.js +16 -16
  24. package/es/components/atoms/ReactIframe/ReactIframe.js +5 -5
  25. package/es/components/atoms/ReactIframe/styled.js +9 -9
  26. package/es/components/atoms/RequiredLabel/styled.js +3 -3
  27. package/es/components/atoms/ScrollBox/index.js +5 -5
  28. package/es/components/atoms/Scrollbars/styled.js +21 -21
  29. package/es/components/atoms/SelectAssociatedTag/styled.js +51 -51
  30. package/es/components/atoms/SlideBar/styled.js +194 -194
  31. package/es/components/atoms/Slider/styled.js +31 -31
  32. package/es/components/atoms/Space/Space.js +4 -4
  33. package/es/components/atoms/Spin/styled.js +11 -11
  34. package/es/components/atoms/Steps/styled.js +244 -244
  35. package/es/components/atoms/Switch/styled.js +56 -56
  36. package/es/components/atoms/Tag/Tag.js +10 -10
  37. package/es/components/atoms/Text/styled.js +34 -34
  38. package/es/components/icons/DomainManagementIcon.js +1 -1
  39. package/es/components/icons/LoadingIcon.js +33 -33
  40. package/es/components/icons/document/styled.js +43 -43
  41. package/es/components/index.scss +2 -2
  42. package/es/components/molecules/AccessDenied/styled.js +28 -28
  43. package/es/components/molecules/AccountSelection/styled.js +110 -110
  44. package/es/components/molecules/AddDynamicContent/styled.js +23 -23
  45. package/es/components/molecules/AlignSetting/styled.js +4 -4
  46. package/es/components/molecules/ApplyPopupContent/styled.js +32 -32
  47. package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/styled.js +8 -8
  48. package/es/components/molecules/CalendarSelection/components/CustomPicker/styled.js +79 -79
  49. package/es/components/molecules/CalendarSelection/components/Footer/styled.js +4 -4
  50. package/es/components/molecules/CalendarSelection/components/RangePicker/styled.js +21 -21
  51. package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/Option.js +26 -26
  52. package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/styled.js +30 -30
  53. package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/styled.js +26 -26
  54. package/es/components/molecules/CalendarSelection/styled.js +8 -8
  55. package/es/components/molecules/CaptureScreen/components/CommentBox/styled.js +119 -119
  56. package/es/components/molecules/CaptureScreen/components/Cursor/styled.js +67 -67
  57. package/es/components/molecules/CaptureScreen/styled.js +240 -240
  58. package/es/components/molecules/ChartTab/components/styled.js +24 -24
  59. package/es/components/molecules/ChartTab/styled.js +20 -20
  60. package/es/components/molecules/ChatBox/AntsomiAI.js +8 -8
  61. package/es/components/molecules/ChatBox/ChatBoxInsight/QuestionItem.js +9 -9
  62. package/es/components/molecules/ChatBox/ChatBoxInsight/styled.js +365 -365
  63. package/es/components/molecules/ChatBox/styled.js +324 -324
  64. package/es/components/molecules/CodeStructure/styled.js +5 -5
  65. package/es/components/molecules/ColorPicker/ChromePicker/styled.js +10 -10
  66. package/es/components/molecules/ColorPicker/CustomPicker/styled.js +89 -89
  67. package/es/components/molecules/ColorPicker/SketchPicker/styled.js +5 -5
  68. package/es/components/molecules/ColorPicker/styled.js +7 -7
  69. package/es/components/molecules/ColorSetting/styled.js +39 -39
  70. package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.js +110 -110
  71. package/es/components/molecules/DatePickerV2/styled.js +6 -6
  72. package/es/components/molecules/DisplayFormat/styled.js +12 -12
  73. package/es/components/molecules/DrawerDetail/components/ToggleDrawerSizeButton.js +24 -24
  74. package/es/components/molecules/DrawerDetail/styled.js +109 -109
  75. package/es/components/molecules/Dropdown/style.scss +11 -11
  76. package/es/components/molecules/Dropdown/styled.js +28 -28
  77. package/es/components/molecules/EdgeSetting/styled.js +10 -10
  78. package/es/components/molecules/EditableName/styled.js +70 -70
  79. package/es/components/molecules/EditingList/styled.js +29 -29
  80. package/es/components/molecules/EditingListV2/components/List/List.js +9 -9
  81. package/es/components/molecules/EditorTab/styled.js +156 -156
  82. package/es/components/molecules/EmojiCollections/styled.js +22 -22
  83. package/es/components/molecules/EmojiPopover/styled.js +4 -4
  84. package/es/components/molecules/EmptyData/styled.js +53 -53
  85. package/es/components/molecules/EyedropperButton/styled.js +19 -19
  86. package/es/components/molecules/FontSizeInput/index.scss +15 -15
  87. package/es/components/molecules/FontSizeInput/styled.js +31 -31
  88. package/es/components/molecules/GradientSetting/styled.js +57 -57
  89. package/es/components/molecules/HeaderV2/styled.js +70 -70
  90. package/es/components/molecules/IconSelection/styled.js +69 -69
  91. package/es/components/molecules/ImageEditor/components/ModalShortcut.js +21 -21
  92. package/es/components/molecules/ImageEditor/styled.js +5 -5
  93. package/es/components/molecules/ImagePreview/styled.js +3 -3
  94. package/es/components/molecules/InputNumberWithUnit/styled.js +14 -14
  95. package/es/components/molecules/InputSearch/styled.js +41 -41
  96. package/es/components/molecules/InputSelectAttribute/styled.js +22 -22
  97. package/es/components/molecules/ItemNotFound/styled.js +26 -26
  98. package/es/components/molecules/MatchAnySelect/components/ExtendValuePopup.js +8 -8
  99. package/es/components/molecules/MatchAnySelect/styled.js +247 -247
  100. package/es/components/molecules/Modal/styled.js +63 -63
  101. package/es/components/molecules/ModalSelect/styled.js +152 -152
  102. package/es/components/molecules/ModalV2/styled.js +27 -27
  103. package/es/components/molecules/PopupDraggable/styled.js +57 -57
  104. package/es/components/molecules/PreviewModal/styled.js +26 -26
  105. package/es/components/molecules/ProcessLoading/styled.js +2 -2
  106. package/es/components/molecules/QuillEditor/CustomToolbar.js +3165 -3165
  107. package/es/components/molecules/QuillEditor/EditorToolbar.js +7 -7
  108. package/es/components/molecules/QuillEditor/styled.js +25 -25
  109. package/es/components/molecules/RadioGroup/styled.js +9 -9
  110. package/es/components/molecules/RequestAccess/styled.js +38 -38
  111. package/es/components/molecules/ResizeGrid/components/Cell/styled.js +77 -77
  112. package/es/components/molecules/ResizeGrid/styled.js +50 -50
  113. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/styled.js +118 -118
  114. package/es/components/molecules/RichMenu/RichMenuBlock/styled.js +13 -13
  115. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/styled.js +40 -40
  116. package/es/components/molecules/RichMenu/RichMenuChatBar/styled.js +27 -27
  117. package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.js +2 -2
  118. package/es/components/molecules/RichMenu/RichMenuMobileView/styled.js +38 -38
  119. package/es/components/molecules/SearchPopover/components/PopoverSelect/styled.js +36 -36
  120. package/es/components/molecules/SearchPopover/components/PopoverSelect/styles.scss +7 -7
  121. package/es/components/molecules/SearchPopover/styled.js +32 -32
  122. package/es/components/molecules/Select/Select.js +2 -2
  123. package/es/components/molecules/Select/styled.d.ts +3 -1
  124. package/es/components/molecules/Select/styled.js +76 -32
  125. package/es/components/molecules/SelectAccount/styled.js +147 -147
  126. package/es/components/molecules/SelectEventAttribute/styled.js +8 -8
  127. package/es/components/molecules/SelectMulti/styled.js +62 -62
  128. package/es/components/molecules/SelectV2/styled.js +124 -124
  129. package/es/components/molecules/SettingWrapper/styled.js +12 -12
  130. package/es/components/molecules/ShareAccess/components/GeneralAccess/styled.js +56 -56
  131. package/es/components/molecules/ShareAccess/components/LayoutContent/styled.js +5 -5
  132. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/styled.js +15 -15
  133. package/es/components/molecules/ShareAccess/components/PeopleAccess/styled.js +63 -63
  134. package/es/components/molecules/ShareAccess/components/SearchUser/styled.js +31 -31
  135. package/es/components/molecules/SliderWithInputNumber/styled.js +2 -2
  136. package/es/components/molecules/Tabs/Tabs.js +11 -11
  137. package/es/components/molecules/TagifyInput/TagifyInput.js +50 -50
  138. package/es/components/molecules/TagifyInput/styled.js +37 -37
  139. package/es/components/molecules/TagifyInput/utils.js +13 -13
  140. package/es/components/molecules/TagifyInput/utils.style.js +208 -208
  141. package/es/components/molecules/TemplateSaveAs/components/Category/Category.js +5 -5
  142. package/es/components/molecules/TemplateSaveAs/components/ImageSlider/styled.js +276 -276
  143. package/es/components/molecules/TemplateSaveAs/styled.js +134 -134
  144. package/es/components/molecules/ThumbnailCard/styled.js +92 -92
  145. package/es/components/molecules/Tree/styled.js +38 -38
  146. package/es/components/molecules/UnsubscribePreferences/styled.js +7 -7
  147. package/es/components/molecules/UnsubscribePreview/components/styled.js +53 -53
  148. package/es/components/molecules/UnsubscribePreview/styled.js +48 -48
  149. package/es/components/molecules/UploadImage/styled.js +114 -114
  150. package/es/components/molecules/VirtualizedMenu/styled.js +103 -103
  151. package/es/components/molecules/index.scss +1 -1
  152. package/es/components/organism/AccountProfile/components/AccountSetting/components/EditableInput/styles.js +98 -98
  153. package/es/components/organism/AccountProfile/components/AccountSetting/components/LanguageSelector/styles.js +18 -18
  154. package/es/components/organism/AccountProfile/components/AccountSetting/styled.js +543 -543
  155. package/es/components/organism/AccountProfile/components/AccountSetting/styles.scss +39 -39
  156. package/es/components/organism/AccountSharing/styled.js +336 -336
  157. package/es/components/organism/ActivityTimeline/__mocks__/event_tracking.json +1290 -1290
  158. package/es/components/organism/ActivityTimeline/__mocks__/timeline.json +1896 -1896
  159. package/es/components/organism/ActivityTimeline/components/ActionHistory/styled.js +28 -28
  160. package/es/components/organism/ActivityTimeline/components/CardMember/styled.js +60 -60
  161. package/es/components/organism/ActivityTimeline/components/ItemGroupEvent/styled.js +4 -4
  162. package/es/components/organism/ActivityTimeline/components/List/styled.js +77 -77
  163. package/es/components/organism/ActivityTimeline/components/ListItem/styled.js +37 -37
  164. package/es/components/organism/ActivityTimeline/components/ProductCard/styled.js +92 -92
  165. package/es/components/organism/ActivityTimeline/components/Redeem/styled.js +7 -7
  166. package/es/components/organism/ActivityTimeline/components/Slide/styled.js +20 -20
  167. package/es/components/organism/ActivityTimeline/components/TimeLineTitle/styled.js +7 -7
  168. package/es/components/organism/ActivityTimeline/components/TimelineSection/styled.js +69 -69
  169. package/es/components/organism/ActivityTimeline/styled.js +43 -43
  170. package/es/components/organism/ActivityTimeline/utils.js +11 -7
  171. package/es/components/organism/AlgorithmsSetting/styled.js +35 -35
  172. package/es/components/organism/BasicLogin/components/ChooseMethod/styled.js +19 -19
  173. package/es/components/organism/BasicLogin/components/LoginWithEmail/styled.js +3 -3
  174. package/es/components/organism/BasicLogin/components/LoginWithGG/styled.js +3 -3
  175. package/es/components/organism/BasicLogin/components/SignIn/styled.js +8 -8
  176. package/es/components/organism/BasicLogin/components/WidgetLayout/styled.js +18 -18
  177. package/es/components/organism/BasicLogin/styled.js +107 -107
  178. package/es/components/organism/ContentSources/styled.js +50 -50
  179. package/es/components/organism/DataTable/components/AddButton/index.js +8 -8
  180. package/es/components/organism/DataTable/components/ModifyColumn/styled.js +18 -18
  181. package/es/components/organism/DataTable/components/Pagination/styled.js +26 -26
  182. package/es/components/organism/DataTable/components/Table/styled.js +135 -135
  183. package/es/components/organism/DataTable/components/Toolbar/SearchPopover.js +17 -17
  184. package/es/components/organism/DataTable/components/Toolbar/styled.js +70 -70
  185. package/es/components/organism/DataTable/styled/index.js +84 -84
  186. package/es/components/organism/Filter/components/FilterCondition/styled.js +34 -34
  187. package/es/components/organism/Filter/styled.js +109 -109
  188. package/es/components/organism/FilterSetting/components/common/InputArray/styled.js +5 -5
  189. package/es/components/organism/FilterSetting/components/common/InputOrSelect/index.js +63 -63
  190. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/ColumnSuggestion/index.js +31 -31
  191. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/Tree/index.js +22 -22
  192. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/index.js +55 -55
  193. package/es/components/organism/FilterSetting/styled.js +19 -19
  194. package/es/components/organism/Help/styled.js +267 -267
  195. package/es/components/organism/LeftMenu/components/HomeMenu/styled.js +39 -39
  196. package/es/components/organism/LeftMenu/components/common/ChildMenu/components/MenuItemImage/styled.js +16 -16
  197. package/es/components/organism/LeftMenu/components/common/ChildMenu/styled.js +156 -156
  198. package/es/components/organism/LeftMenu/styled.js +214 -214
  199. package/es/components/organism/Login/components/ChooseMethod/styled.js +19 -19
  200. package/es/components/organism/Login/components/ForgotPassword/styled.js +8 -8
  201. package/es/components/organism/Login/components/LoginSelectPortal/Item/styled.js +31 -31
  202. package/es/components/organism/Login/components/LoginSelectPortal/styled.js +3 -3
  203. package/es/components/organism/Login/components/LoginWithEmail/styled.js +3 -3
  204. package/es/components/organism/Login/components/LoginWithGG/styled.js +3 -3
  205. package/es/components/organism/Login/components/SetupGGAuthenticator/styled.js +7 -7
  206. package/es/components/organism/Login/components/SignIn/styled.js +8 -8
  207. package/es/components/organism/Login/components/VerifyAccount/styled.js +13 -13
  208. package/es/components/organism/Login/components/WidgetLayout/styled.js +18 -18
  209. package/es/components/organism/Login/styled.js +115 -115
  210. package/es/components/organism/Menu/styled.js +6 -6
  211. package/es/components/organism/ModifyColumnModal/styled.js +132 -132
  212. package/es/components/organism/Notification/styled.js +155 -155
  213. package/es/components/organism/PreviewCollections/Messages/SkeletonMessage/styled.js +14 -14
  214. package/es/components/organism/PreviewCollections/WhatsappMessage/CarouselMessage/styled.js +63 -63
  215. package/es/components/organism/PreviewCollections/constants.js +50 -50
  216. package/es/components/organism/PreviewCollections/styled.js +16 -16
  217. package/es/components/organism/PreviewTemplateModal/components/Banner/styled.js +78 -78
  218. package/es/components/organism/PreviewTemplateModal/components/Information/styled.js +52 -52
  219. package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/styled.js +18 -18
  220. package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/styled.js +77 -77
  221. package/es/components/organism/PreviewTemplateModal/styled.js +21 -21
  222. package/es/components/organism/SQLGeneration/components/styled.js +354 -354
  223. package/es/components/organism/SQLGeneration/index.scss +1 -1
  224. package/es/components/organism/SQLGeneration/integrations/AceEditor/index.scss +4 -4
  225. package/es/components/organism/Table/CrossTabTable/components/CustomCell/styled.js +11 -11
  226. package/es/components/organism/Table/CrossTabTable/styled.js +11 -11
  227. package/es/components/organism/Table/ExplorePivotTable/components/CustomCell/styled.js +17 -17
  228. package/es/components/organism/Table/ExplorePivotTable/styled.js +11 -11
  229. package/es/components/organism/TextEditor/__mocks__/text-contennt.js +44 -44
  230. package/es/components/organism/TextEditor/index.scss +65 -65
  231. package/es/components/organism/TextEditor/stories/WithOldDynAndLink/froala-legacy-format.settings.json +95 -95
  232. package/es/components/organism/TextEditor/styled.js +54 -54
  233. package/es/components/organism/TextEditor/ui/Button/Button.js +22 -22
  234. package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.js +13 -13
  235. package/es/components/organism/TextEditor/ui/FontPopover/styled.js +32 -32
  236. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.js +54 -54
  237. package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.js +9 -9
  238. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.js +11 -11
  239. package/es/components/organism/TicketEditor/Content.js +74 -35
  240. package/es/components/organism/TicketEditor/styled.js +850 -850
  241. package/es/components/organism/TicketEditor/util.d.ts +1 -0
  242. package/es/components/organism/TicketEditor/util.js +1 -0
  243. package/es/components/organism/TicketEditorV2/Content.js +62 -28
  244. package/es/components/organism/TicketEditorV2/styled.js +839 -839
  245. package/es/components/organism/TicketEditorV2/util.d.ts +1 -0
  246. package/es/components/organism/TicketEditorV2/util.js +1 -0
  247. package/es/components/organism/index.scss +2 -2
  248. package/es/components/template/Layout/Layout.js +10 -10
  249. package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/components/OldLeftMenu/styled.js +73 -73
  250. package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/styled.js +39 -39
  251. package/es/components/template/Layout/components/RecommendationWorkspace/components/RecommendationImage/styled.js +61 -61
  252. package/es/components/template/Layout/components/RecommendationWorkspace/styled.js +16 -16
  253. package/es/components/template/Layout/styled.js +84 -84
  254. package/es/components/template/TemplateListing/components/BlankTemplate/styled.js +21 -21
  255. package/es/components/template/TemplateListing/components/CategoryListing/styled.js +123 -123
  256. package/es/components/template/TemplateListing/components/Empty/styled.js +20 -20
  257. package/es/components/template/TemplateListing/stories/demo/styled.js +4 -4
  258. package/es/components/template/TemplateListing/styled/index.js +40 -40
  259. package/es/providers/ConfigProvider/GlobalStyle.js +1251 -1251
  260. package/es/styled/common.js +51 -51
  261. package/es/tests/styled.js +4 -4
  262. package/es/utils/uploadEmbeddedImages.d.ts +7 -0
  263. package/es/utils/uploadEmbeddedImages.js +65 -0
  264. package/es/utils/variables.js +7 -7
  265. package/package.json +277 -276
@@ -2,60 +2,60 @@ import { EditorContent } from '@tiptap/react';
2
2
  import styled from 'styled-components';
3
3
  import { Flex } from 'antd';
4
4
  import tinycolor from 'tinycolor2';
5
- export const StyledEditorContent = styled(EditorContent) `
6
- .tiptap {
7
- outline: none;
8
-
9
- p {
10
- margin: 0;
11
- padding: 0;
12
-
13
- // Some apps have global p styles, so we need to override it
14
-
15
- font-size: ${p => p.$textStyle.fontSize};
16
- line-height: ${p => p.$textStyle.lineHeight};
17
- font-family: ${p => p.$textStyle.fontFamily};
18
- color: ${p => p.$textStyle.color};
19
- letter-spacing: ${p => p.$textStyle.letterSpacing};
20
- }
21
-
22
- &:not([contenteditable='false']) {
23
- p {
24
- cursor: text;
25
- }
26
-
27
- .selection {
28
- background-color: #d7cac9;
29
- background-color: color-mix(in lab, var(--text-style-bg-color, transparent), #d7cac9);
30
- }
31
-
32
- .smart-tag {
33
- cursor: pointer;
34
- }
35
- }
36
- }
5
+ export const StyledEditorContent = styled(EditorContent) `
6
+ .tiptap {
7
+ outline: none;
8
+
9
+ p {
10
+ margin: 0;
11
+ padding: 0;
12
+
13
+ // Some apps have global p styles, so we need to override it
14
+
15
+ font-size: ${p => p.$textStyle.fontSize};
16
+ line-height: ${p => p.$textStyle.lineHeight};
17
+ font-family: ${p => p.$textStyle.fontFamily};
18
+ color: ${p => p.$textStyle.color};
19
+ letter-spacing: ${p => p.$textStyle.letterSpacing};
20
+ }
21
+
22
+ &:not([contenteditable='false']) {
23
+ p {
24
+ cursor: text;
25
+ }
26
+
27
+ .selection {
28
+ background-color: #d7cac9;
29
+ background-color: color-mix(in lab, var(--text-style-bg-color, transparent), #d7cac9);
30
+ }
31
+
32
+ .smart-tag {
33
+ cursor: pointer;
34
+ }
35
+ }
36
+ }
37
37
  `;
38
- export const ColorBox = styled.div `
39
- cursor: pointer;
40
- width: 20px;
41
- height: 20px;
42
- border-radius: 50%;
43
- display: flex;
44
- align-items: center;
45
- justify-content: center;
46
- padding: 2px;
47
- transition: box-shadow 0.3s ease-in-out;
48
- border: 1px solid #d9d9d9;
49
- background-color: ${p => p.$color};
50
-
51
- &:hover {
52
- box-shadow: 0 0 5px ${p => tinycolor(p.$color).setAlpha(0.45).toRgbString()};
53
- cursor: pointer;
54
- }
38
+ export const ColorBox = styled.div `
39
+ cursor: pointer;
40
+ width: 20px;
41
+ height: 20px;
42
+ border-radius: 50%;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ padding: 2px;
47
+ transition: box-shadow 0.3s ease-in-out;
48
+ border: 1px solid #d9d9d9;
49
+ background-color: ${p => p.$color};
50
+
51
+ &:hover {
52
+ box-shadow: 0 0 5px ${p => tinycolor(p.$color).setAlpha(0.45).toRgbString()};
53
+ cursor: pointer;
54
+ }
55
55
  `;
56
- export const ToolbarWrapper = styled(Flex) `
57
- .antsomi-divider.toolbar-separator {
58
- height: 28px;
59
- margin: 2px;
60
- }
56
+ export const ToolbarWrapper = styled(Flex) `
57
+ .antsomi-divider.toolbar-separator {
58
+ height: 28px;
59
+ margin: 2px;
60
+ }
61
61
  `;
@@ -4,28 +4,28 @@ import clsx from 'clsx';
4
4
  import styled from 'styled-components';
5
5
  import { forwardRef } from 'react';
6
6
  import { THEME } from '@antscorp/antsomi-ui/es/constants';
7
- const StyledButton = styled(Button) `
8
- &.antsomi-btn.antsomi-btn-text {
9
- height: 24px;
10
- width: 24px;
11
- padding: 0;
12
- flex-shrink: 0;
13
- border-radius: 2px;
14
- color: ${THEME.token?.bw8};
15
-
16
- &.is-active {
17
- color: ${THEME.token?.colorPrimary};
18
- background-color: #e0ebf7;
19
-
20
- &:hover {
21
- background-color: #e0ebf7;
22
- }
23
- }
24
-
25
- &:hover:not(:disabled, .is-active) {
26
- color: ${THEME.token?.colorPrimary};
27
- }
28
- }
7
+ const StyledButton = styled(Button) `
8
+ &.antsomi-btn.antsomi-btn-text {
9
+ height: 24px;
10
+ width: 24px;
11
+ padding: 0;
12
+ flex-shrink: 0;
13
+ border-radius: 2px;
14
+ color: ${THEME.token?.bw8};
15
+
16
+ &.is-active {
17
+ color: ${THEME.token?.colorPrimary};
18
+ background-color: #e0ebf7;
19
+
20
+ &:hover {
21
+ background-color: #e0ebf7;
22
+ }
23
+ }
24
+
25
+ &:hover:not(:disabled, .is-active) {
26
+ color: ${THEME.token?.colorPrimary};
27
+ }
28
+ }
29
29
  `;
30
30
  export const TextEditorButton = forwardRef((props, ref) => {
31
31
  const { children, isActive, tooltipProps, className, disabled, ...restProps } = props;
@@ -5,19 +5,19 @@ import { TextEditorButton } from '../Button';
5
5
  import { ArrowDropDownIcon } from '@antscorp/antsomi-ui/es/components/icons';
6
6
  import styled from 'styled-components';
7
7
  import clsx from 'clsx';
8
- const StyledTriggerButton = styled(TextEditorButton) `
9
- &.antsomi-dropdown-trigger.antsomi-btn {
10
- gap: 0;
11
- padding: 0;
12
- width: 40px;
13
- height: 24px;
14
- }
15
-
16
- &.is-open {
17
- svg.icon-dropdown {
18
- transform: rotate(180deg);
19
- }
20
- }
8
+ const StyledTriggerButton = styled(TextEditorButton) `
9
+ &.antsomi-dropdown-trigger.antsomi-btn {
10
+ gap: 0;
11
+ padding: 0;
12
+ width: 40px;
13
+ height: 24px;
14
+ }
15
+
16
+ &.is-open {
17
+ svg.icon-dropdown {
18
+ transform: rotate(180deg);
19
+ }
20
+ }
21
21
  `;
22
22
  export const DropdownButton = (props) => {
23
23
  const { className, children, disabled, tooltipProps, options = [], value, onClickOption } = props;
@@ -1,36 +1,36 @@
1
1
  import { THEME } from '@antscorp/antsomi-ui/es/constants';
2
2
  import styled from 'styled-components';
3
- export const PopoverTrigger = styled.div `
4
- &.font-popover-trigger {
5
- width: 100px;
6
- height: 30px;
7
- display: flex;
8
- align-items: center;
9
- padding: 0 7px;
10
- cursor: pointer;
11
- overflow: hidden;
12
- white-space: nowrap;
13
- text-overflow: ellipsis;
14
- font-size: ${THEME.token?.fontSize || 12}px;
15
- border-bottom: 1px solid ${THEME.token?.blue1};
16
- flex-shrink: 0;
17
-
18
- &:hover {
19
- background-color: ${THEME.token?.blue};
20
- }
21
- }
3
+ export const PopoverTrigger = styled.div `
4
+ &.font-popover-trigger {
5
+ width: 100px;
6
+ height: 30px;
7
+ display: flex;
8
+ align-items: center;
9
+ padding: 0 7px;
10
+ cursor: pointer;
11
+ overflow: hidden;
12
+ white-space: nowrap;
13
+ text-overflow: ellipsis;
14
+ font-size: ${THEME.token?.fontSize || 12}px;
15
+ border-bottom: 1px solid ${THEME.token?.blue1};
16
+ flex-shrink: 0;
17
+
18
+ &:hover {
19
+ background-color: ${THEME.token?.blue};
20
+ }
21
+ }
22
22
  `;
23
- export const FontGroupTitle = styled.div `
24
- color: ${THEME.token?.bw8};
25
- display: flex;
26
- align-items: center;
27
- font-size: 11px;
28
-
29
- &.font-popover-item {
30
- cursor: default;
31
-
32
- &:hover {
33
- background-color: white;
34
- }
35
- }
23
+ export const FontGroupTitle = styled.div `
24
+ color: ${THEME.token?.bw8};
25
+ display: flex;
26
+ align-items: center;
27
+ font-size: 11px;
28
+
29
+ &.font-popover-item {
30
+ cursor: default;
31
+
32
+ &:hover {
33
+ background-color: white;
34
+ }
35
+ }
36
36
  `;
@@ -1,58 +1,58 @@
1
1
  import { THEME } from '@antscorp/antsomi-ui/es/constants';
2
2
  import { Dropdown } from 'antd';
3
3
  import styled from 'styled-components';
4
- export const StyledDropdownButton = styled(Dropdown.Button) `
5
- &.antsomi-dropdown-button {
6
- width: fit-content;
7
-
8
- .antsomi-btn {
9
- border-radius: 4px;
10
- }
11
-
12
- .antsomi-btn-compact-item:not(.antsomi-btn-compact-last-item).antsomi-btn-compact-first-item {
13
- width: 24px;
14
- height: 24px;
15
- border-start-end-radius: 0;
16
- border-end-end-radius: 0;
17
- padding: 0;
18
- color: ${THEME.token?.bw8};
19
-
20
- &:hover:not(:disabled, .is-active) {
21
- background-color: #ebebeb;
22
- }
23
- }
24
-
25
- .antsomi-btn-compact-item:not(.antsomi-btn-compact-first-item).antsomi-btn-compact-last-item {
26
- width: 16px;
27
- height: 24px;
28
- border-start-start-radius: 0;
29
- border-end-start-radius: 0;
30
- padding: 0;
31
-
32
- &:hover:not(:disabled),
33
- &.antsomi-dropdown-open:not(:disabled) {
34
- background-color: #ebebeb;
35
- }
36
- }
37
-
38
- &.is-active {
39
- .antsomi-btn-compact-item:not(.antsomi-btn-compact-last-item).antsomi-btn-compact-first-item {
40
- :not(:disabled) {
41
- color: ${THEME.token?.colorPrimary};
42
- background-color: #e0ebf7;
43
-
44
- &:hover {
45
- color: ${THEME.token?.colorPrimary};
46
- background-color: #e0ebf7;
47
- }
48
- }
49
- }
50
- }
51
-
52
- &.is-open {
53
- .antsomi-btn-icon svg {
54
- transform: rotate(180deg);
55
- }
56
- }
57
- }
4
+ export const StyledDropdownButton = styled(Dropdown.Button) `
5
+ &.antsomi-dropdown-button {
6
+ width: fit-content;
7
+
8
+ .antsomi-btn {
9
+ border-radius: 4px;
10
+ }
11
+
12
+ .antsomi-btn-compact-item:not(.antsomi-btn-compact-last-item).antsomi-btn-compact-first-item {
13
+ width: 24px;
14
+ height: 24px;
15
+ border-start-end-radius: 0;
16
+ border-end-end-radius: 0;
17
+ padding: 0;
18
+ color: ${THEME.token?.bw8};
19
+
20
+ &:hover:not(:disabled, .is-active) {
21
+ background-color: #ebebeb;
22
+ }
23
+ }
24
+
25
+ .antsomi-btn-compact-item:not(.antsomi-btn-compact-first-item).antsomi-btn-compact-last-item {
26
+ width: 16px;
27
+ height: 24px;
28
+ border-start-start-radius: 0;
29
+ border-end-start-radius: 0;
30
+ padding: 0;
31
+
32
+ &:hover:not(:disabled),
33
+ &.antsomi-dropdown-open:not(:disabled) {
34
+ background-color: #ebebeb;
35
+ }
36
+ }
37
+
38
+ &.is-active {
39
+ .antsomi-btn-compact-item:not(.antsomi-btn-compact-last-item).antsomi-btn-compact-first-item {
40
+ :not(:disabled) {
41
+ color: ${THEME.token?.colorPrimary};
42
+ background-color: #e0ebf7;
43
+
44
+ &:hover {
45
+ color: ${THEME.token?.colorPrimary};
46
+ background-color: #e0ebf7;
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ &.is-open {
53
+ .antsomi-btn-icon svg {
54
+ transform: rotate(180deg);
55
+ }
56
+ }
57
+ }
58
58
  `;
@@ -35,15 +35,15 @@ const textAlignOptions = [
35
35
  icon: AlignJustifyIcon,
36
36
  },
37
37
  ];
38
- const StyledTriggerButton = styled(TextEditorButton) `
39
- &.antsomi-btn.antsomi-btn-text {
40
- width: 40px;
41
- gap: 0;
42
-
43
- &.is-active {
44
- background-color: unset;
45
- }
46
- }
38
+ const StyledTriggerButton = styled(TextEditorButton) `
39
+ &.antsomi-btn.antsomi-btn-text {
40
+ width: 40px;
41
+ gap: 0;
42
+
43
+ &.is-active {
44
+ background-color: unset;
45
+ }
46
+ }
47
47
  `;
48
48
  export const TextAlignSelect = (props) => {
49
49
  const { editor, onChange } = props;
@@ -7,17 +7,17 @@ import { useThrottledCallback } from 'use-debounce';
7
7
  import { useEditorState } from '@tiptap/react';
8
8
  import { toString } from 'lodash';
9
9
  import { DEFAULT_TEXT_STYLE } from '../../../constants';
10
- const StyledFontSizeInput = styled(FontSizeInput) `
11
- &.antsomi-input-number {
12
- width: 36px;
13
-
14
- input.antsomi-input-number-input {
15
- text-align: center;
16
- height: 30px;
17
- padding-inline: 0;
18
- font-size: 12px;
19
- }
20
- }
10
+ const StyledFontSizeInput = styled(FontSizeInput) `
11
+ &.antsomi-input-number {
12
+ width: 36px;
13
+
14
+ input.antsomi-input-number-input {
15
+ text-align: center;
16
+ height: 30px;
17
+ padding-inline: 0;
18
+ font-size: 12px;
19
+ }
20
+ }
21
21
  `;
22
22
  export const FontSizeAction = memo(({ editor, throttled = 100, defaultFontSize = DEFAULT_TEXT_STYLE.fontSize, }) => {
23
23
  const inputRef = useRef(null);
@@ -10,7 +10,7 @@ import { Spin, Tooltip, Icon, Button, EditableName, SelectAccount, QuillEditor,
10
10
  import Service from './Service';
11
11
  import { MESSAGE_TYPE, TICKET_CUSTOM_MESSAGE_KEY } from './constant';
12
12
  import { WrapperContent, WrapperContentInput, WrapperEditor, WrapperIconEditor, WrapperInputFile, WrapperLable, WrapperLeftContent, WrapperLinkItemFiles, WrapperMessageContent, WrapperRightContent, WrapperTextEdit, WrapperTextInput, DrawerHeader, } from './styled';
13
- import { formatAccountId, formatDatarender, formatParams, handleValidateContent, postCustomEvent, } from './util';
13
+ import { formatAccountId, formatDatarender, formatParams, handleValidateContent, postCustomEvent, uploadEmbeddedImages, } from './util';
14
14
  import { TCallBack } from '../../molecules/QuillEditor/QuillEditor';
15
15
  import { isBoolean } from 'lodash';
16
16
  const initValueInput = {
@@ -49,6 +49,7 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
49
49
  isError: false,
50
50
  message: '',
51
51
  });
52
+ const [embeddedImageError, setEmbeddedImageError] = useState('');
52
53
  const isUpdate = action === 'edit' && ticketId;
53
54
  const valueInputRef = useRef(valueInput);
54
55
  valueInputRef.current = valueInput;
@@ -94,20 +95,54 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
94
95
  setIsLoading(false);
95
96
  });
96
97
  };
97
- const handleSubmit = () => {
98
+ const uploadImagesBeforeSubmit = async (message) => {
99
+ setIsLoadingUpload(true);
100
+ setEmbeddedImageError('');
101
+ try {
102
+ const uploadedMessage = await uploadEmbeddedImages(message, Service.tickets.callApi.uploadImg({
103
+ domain: domainUpload,
104
+ token,
105
+ userId,
106
+ }));
107
+ if (uploadedMessage !== message) {
108
+ setTextValue(uploadedMessage);
109
+ updateValueInput({ message: uploadedMessage });
110
+ }
111
+ return uploadedMessage;
112
+ }
113
+ catch (error) {
114
+ setEmbeddedImageError(error instanceof Error && error.message === 'FILE_TOO_LARGE'
115
+ ? '*Maximum upload file size: 10MB'
116
+ : '*Image upload failed. Please try again.');
117
+ throw error;
118
+ }
119
+ finally {
120
+ setIsLoadingUpload(false);
121
+ }
122
+ };
123
+ const handleSubmit = async () => {
98
124
  const { title, ownerId, message } = valueInputRef.current;
99
125
  if (!title || !ownerId.length || !message) {
100
126
  setIsEmptyField(true);
101
127
  }
102
128
  else {
103
129
  if (!errFile.isError) {
104
- const params = formatParams(valueInputRef.current);
105
- const submitterEmail = listUsers?.find(user => user.userId === params.ownerId)?.email;
106
- fetchCreateTicket({
107
- ...params,
108
- submitterId: Number(userId),
109
- submitterEmail: submitterEmail,
110
- });
130
+ try {
131
+ const uploadedMessage = await uploadImagesBeforeSubmit(message);
132
+ const params = formatParams({
133
+ ...valueInputRef.current,
134
+ message: uploadedMessage,
135
+ });
136
+ const submitterEmail = listUsers?.find(user => user.userId === params.ownerId)?.email;
137
+ fetchCreateTicket({
138
+ ...params,
139
+ submitterId: Number(userId),
140
+ submitterEmail,
141
+ });
142
+ }
143
+ catch (error) {
144
+ // The upload error is shown below the editor.
145
+ }
111
146
  }
112
147
  // handleSendData(valueInput)
113
148
  }
@@ -231,6 +266,7 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
231
266
  }
232
267
  }, [isUpdate, openDrawer]);
233
268
  const handleEditorChange = content => {
269
+ setEmbeddedImageError('');
234
270
  setTextValue(content);
235
271
  updateValueInput({ message: content });
236
272
  // setIsLoadingUpload(content.includes('<img src="data:image/png;base64'));
@@ -244,32 +280,34 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
244
280
  }
245
281
  fetchUpdateFollwers(params);
246
282
  };
247
- const handleUpdateComment = () => {
248
- setIsLoading(true);
249
- const params = {
250
- followers: [],
251
- submitterId: null,
252
- ownerId: null,
253
- submitterEmail: '',
254
- properties: {},
255
- message: '',
256
- attachmentsZendesk: [],
257
- };
258
- if (valueInput?.followers?.length) {
259
- params.followers = formatAccountId(valueInput?.followers);
260
- }
261
- if (valueInput?.files?.length > 0) {
262
- params.properties = {
263
- attachments: valueInput?.files,
283
+ const handleUpdateComment = async () => {
284
+ const currentValueInput = valueInputRef.current;
285
+ try {
286
+ const uploadedMessage = await uploadImagesBeforeSubmit(currentValueInput.message);
287
+ const params = {
288
+ followers: [],
289
+ submitterId: userId,
290
+ ownerId: Number(currentValueInput?.ownerId[0]?.userId),
291
+ submitterEmail: listUsers?.find(user => +user.userId === +userId)?.email,
292
+ properties: {},
293
+ message: uploadedMessage,
294
+ attachmentsZendesk: currentValueInput.fileZendesk.map(file => file.token),
264
295
  };
296
+ if (currentValueInput?.followers?.length) {
297
+ params.followers = formatAccountId(currentValueInput.followers);
298
+ }
299
+ if (currentValueInput?.files?.length > 0) {
300
+ params.properties = {
301
+ attachments: currentValueInput.files,
302
+ };
303
+ }
304
+ setIsLoading(true);
305
+ fetchUpdateComment(params);
306
+ handleUpdateFollowers(currentValueInput?.followers?.map((fol) => fol.userId));
307
+ }
308
+ catch (error) {
309
+ // The upload error is shown below the editor.
265
310
  }
266
- params.submitterId = userId;
267
- params.submitterEmail = listUsers?.find(user => +user.userId === +userId)?.email;
268
- params.ownerId = Number(valueInput?.ownerId[0]?.userId);
269
- params.message = valueInput?.message;
270
- params.attachmentsZendesk = valueInput.fileZendesk.map(file => file.token);
271
- fetchUpdateComment(params);
272
- handleUpdateFollowers(valueInput?.followers?.map((fol) => fol.userId));
273
311
  };
274
312
  const handleUploadFile = async (file) => {
275
313
  setIsLoading(true);
@@ -387,7 +425,8 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
387
425
  isLoadingDetails ||
388
426
  isLoadingDataSouce ||
389
427
  isLoadingFollower ||
390
- isLoadingSelectedAccount, children: [_jsxs(DrawerHeader, { children: [_jsx(EditableName, { value: valueInput.title, onChange: handleOnchangeTitle, readonly: isUpdate, error: isEmptyField && (!valueInput.title || !valueInput.title.trim())
428
+ isLoadingSelectedAccount ||
429
+ isLoadingUpload, children: [_jsxs(DrawerHeader, { children: [_jsx(EditableName, { value: valueInput.title, onChange: handleOnchangeTitle, readonly: isUpdate, error: isEmptyField && (!valueInput.title || !valueInput.title.trim())
391
430
  ? "Title can't be empty"
392
431
  : '' }), _jsx("div", { id: "header-journey-right", className: "right-content", children: !isUpdate && (_jsx(Button, { disabled: isLoadingUpload, type: "primary", onClick: handleSubmit, children: "Save" })) })] }), _jsxs(WrapperContent, { style: { height: '100%' }, children: [_jsxs(WrapperLeftContent, { children: [_jsxs(WrapperContentInput, { style: { alignItems: 'flex-start' }, children: [_jsxs(WrapperLable, { children: ["Owner", _jsx("span", { style: { color: '#ff0000' }, children: "*" })] }), _jsxs("div", { children: [_jsx(SelectAccount, { type: "default", initData: (valueInput?.ownerId || []).map((item) => item.userId), nameKey: "userName", userIdKey: "userId", users: listUsers, isViewMode: isUpdate || !isAllAccount || accountEdit !== 4, onChange: (_, users) => updateValueInput({ ownerId: users }), onlyOne: true }), isEmptyField && !valueInput?.ownerId?.length && (_jsx("div", { className: "error-message", children: "*This field can't be empty" }))] })] }), _jsxs(WrapperContentInput, { style: { marginTop: '15px', alignItems: 'flex-start' }, children: [_jsx(WrapperLable, { children: "Follower(s)" }), _jsx(SelectAccount, { type: "default", initData: [
393
432
  ...accountManage,
@@ -404,7 +443,7 @@ const Content = ({ portalId, token, action, ticketId, listUsers, domainTicket, d
404
443
  background: `${!handleValidateContent(textValue) || isLoadingUpload
405
444
  ? '#ccc'
406
445
  : '#1f5fac'}`,
407
- }, onClick: handleUpdateComment, children: "Reply" }))] })] })] }), errFile.isError ? (_jsx("div", { className: "error-message", children: errFile.message })) : (isEmptyField &&
446
+ }, onClick: handleUpdateComment, children: "Reply" }))] })] })] }), embeddedImageError ? (_jsx("div", { className: "error-message", children: embeddedImageError })) : errFile.isError ? (_jsx("div", { className: "error-message", children: errFile.message })) : (isEmptyField &&
408
447
  !valueInput?.message && (_jsx("div", { className: "error-message", children: "*This field can't be empty" })))] }), isUpdate && (_jsx(Spin, { spinning: isLoadingComment, children: _jsx(WrapperMessageContent, { children: listComment?.map(comment => (_jsx(MessageComponent, { toUser: comment?.toUser, fromUser: comment?.fromUser, followers: comment?.followers, message: comment?.message, date: comment?.createdDate, attachments: comment?.attachments, timeZone: timeZone, submitterEmail: comment?.submitterEmail }, comment?.id))) }) }))] })] })] })] }));
409
448
  };
410
449
  export default Content;