@antscorp/antsomi-ui 1.3.7-beta.70 → 1.3.7-beta.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +148 -78
  2. package/es/__mocks__/1000_city.json +802 -802
  3. package/es/__mocks__/sql-query.json +56 -56
  4. package/es/assets/css/main.scss +8 -8
  5. package/es/assets/images/feedback.svg +3 -3
  6. package/es/assets/svg/mobile-frame.svg +3 -3
  7. package/es/assets/svg/warning-icon.svg +5 -5
  8. package/es/components/atoms/Alert/Alert.js +28 -28
  9. package/es/components/atoms/ContentEditable/styled.js +16 -16
  10. package/es/components/atoms/DividerPure/styled.js +35 -35
  11. package/es/components/atoms/Eyedropper/styled.js +39 -39
  12. package/es/components/atoms/Icon/index.js +19 -19
  13. package/es/components/atoms/Iframe/Iframe.js +18 -18
  14. package/es/components/atoms/Input/styled.js +104 -104
  15. package/es/components/atoms/InputDynamic/styled.js +284 -284
  16. package/es/components/atoms/MobileBrandingBar/styled.js +21 -21
  17. package/es/components/atoms/MobileFrame/styled.js +30 -30
  18. package/es/components/atoms/MobileFrameV2/styled.js +42 -42
  19. package/es/components/atoms/MobileFrameV3/styled.js +31 -31
  20. package/es/components/atoms/NotificationStatus/styled.js +10 -10
  21. package/es/components/atoms/PreviewTabs/styled.js +69 -69
  22. package/es/components/atoms/Radio/index.js +16 -16
  23. package/es/components/atoms/ReactIframe/ReactIframe.js +5 -5
  24. package/es/components/atoms/ReactIframe/styled.js +9 -9
  25. package/es/components/atoms/RequiredLabel/styled.js +3 -3
  26. package/es/components/atoms/ScrollBox/index.js +5 -5
  27. package/es/components/atoms/Scrollbars/styled.js +21 -21
  28. package/es/components/atoms/SelectAssociatedTag/styled.js +51 -51
  29. package/es/components/atoms/SlideBar/styled.js +194 -194
  30. package/es/components/atoms/Slider/styled.js +31 -31
  31. package/es/components/atoms/Space/Space.js +4 -4
  32. package/es/components/atoms/Spin/styled.js +11 -11
  33. package/es/components/atoms/Steps/styled.js +244 -244
  34. package/es/components/atoms/Switch/styled.js +56 -56
  35. package/es/components/atoms/Tag/Tag.js +11 -11
  36. package/es/components/atoms/Text/styled.js +34 -34
  37. package/es/components/icons/DomainManagementIcon.js +1 -1
  38. package/es/components/icons/LoadingIcon.js +33 -33
  39. package/es/components/icons/document/styled.js +43 -43
  40. package/es/components/index.scss +2 -2
  41. package/es/components/molecules/AccessDenied/styled.js +28 -28
  42. package/es/components/molecules/AccountSelection/styled.js +110 -110
  43. package/es/components/molecules/AddDynamicContent/styled.js +23 -23
  44. package/es/components/molecules/AlignSetting/styled.js +4 -4
  45. package/es/components/molecules/ApplyPopupContent/styled.js +32 -32
  46. package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/styled.js +8 -8
  47. package/es/components/molecules/CalendarSelection/components/CustomPicker/styled.js +79 -79
  48. package/es/components/molecules/CalendarSelection/components/Footer/styled.js +4 -4
  49. package/es/components/molecules/CalendarSelection/components/RangePicker/styled.js +21 -21
  50. package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/Option.js +26 -26
  51. package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/styled.js +30 -30
  52. package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/styled.js +26 -26
  53. package/es/components/molecules/CalendarSelection/styled.js +8 -8
  54. package/es/components/molecules/CaptureScreen/components/CommentBox/styled.js +119 -119
  55. package/es/components/molecules/CaptureScreen/components/Cursor/styled.js +67 -67
  56. package/es/components/molecules/CaptureScreen/styled.js +240 -240
  57. package/es/components/molecules/ChartTab/components/styled.js +24 -24
  58. package/es/components/molecules/ChartTab/styled.js +20 -20
  59. package/es/components/molecules/ChatBox/AntsomiAI.js +8 -8
  60. package/es/components/molecules/ChatBox/ChatBoxInsight/QuestionItem.js +9 -9
  61. package/es/components/molecules/ChatBox/ChatBoxInsight/styled.js +365 -365
  62. package/es/components/molecules/ChatBox/styled.js +324 -324
  63. package/es/components/molecules/CodeStructure/styled.js +5 -5
  64. package/es/components/molecules/ColorPicker/ChromePicker/styled.js +10 -10
  65. package/es/components/molecules/ColorPicker/CustomPicker/styled.js +89 -89
  66. package/es/components/molecules/ColorPicker/SketchPicker/styled.js +5 -5
  67. package/es/components/molecules/ColorPicker/styled.js +7 -7
  68. package/es/components/molecules/ColorSetting/styled.js +39 -39
  69. package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.js +110 -110
  70. package/es/components/molecules/DatePickerV2/styled.js +6 -6
  71. package/es/components/molecules/DisplayFormat/styled.js +12 -12
  72. package/es/components/molecules/DrawerDetail/components/ToggleDrawerSizeButton.js +24 -24
  73. package/es/components/molecules/DrawerDetail/styled.js +109 -109
  74. package/es/components/molecules/Dropdown/style.scss +11 -11
  75. package/es/components/molecules/Dropdown/styled.js +28 -28
  76. package/es/components/molecules/EdgeSetting/styled.js +10 -10
  77. package/es/components/molecules/EditableName/styled.js +70 -70
  78. package/es/components/molecules/EditingList/styled.js +29 -29
  79. package/es/components/molecules/EditingListV2/components/List/List.js +9 -9
  80. package/es/components/molecules/EditorTab/styled.js +156 -156
  81. package/es/components/molecules/EmojiCollections/styled.js +22 -22
  82. package/es/components/molecules/EmojiPopover/styled.js +4 -4
  83. package/es/components/molecules/EmptyData/EmptyData.d.ts +1 -1
  84. package/es/components/molecules/EmptyData/EmptyData.js +4 -2
  85. package/es/components/molecules/EmptyData/styled.js +53 -53
  86. package/es/components/molecules/EyedropperButton/styled.js +19 -19
  87. package/es/components/molecules/FontSizeInput/index.scss +15 -15
  88. package/es/components/molecules/FontSizeInput/styled.js +31 -31
  89. package/es/components/molecules/GradientSetting/styled.js +57 -57
  90. package/es/components/molecules/HeaderV2/styled.js +70 -70
  91. package/es/components/molecules/IconSelection/styled.js +69 -69
  92. package/es/components/molecules/ImageEditor/components/ModalShortcut.js +21 -21
  93. package/es/components/molecules/ImageEditor/styled.js +5 -5
  94. package/es/components/molecules/ImagePreview/styled.js +3 -3
  95. package/es/components/molecules/InputNumberWithUnit/styled.js +14 -14
  96. package/es/components/molecules/InputSearch/index.d.ts +1 -1
  97. package/es/components/molecules/InputSearch/index.js +2 -1
  98. package/es/components/molecules/InputSearch/styled.js +41 -41
  99. package/es/components/molecules/InputSelectAttribute/styled.js +22 -22
  100. package/es/components/molecules/ItemNotFound/styled.js +26 -26
  101. package/es/components/molecules/MatchAnySelect/components/ExtendValuePopup.js +8 -8
  102. package/es/components/molecules/MatchAnySelect/styled.js +247 -247
  103. package/es/components/molecules/Modal/styled.js +63 -63
  104. package/es/components/molecules/ModalSelect/styled.js +152 -152
  105. package/es/components/molecules/ModalV2/ModalV2.js +2 -1
  106. package/es/components/molecules/ModalV2/styled.js +27 -27
  107. package/es/components/molecules/PopupDraggable/styled.js +57 -57
  108. package/es/components/molecules/PreviewModal/styled.js +26 -26
  109. package/es/components/molecules/ProcessLoading/styled.js +2 -2
  110. package/es/components/molecules/QuillEditor/CustomToolbar.js +3165 -3165
  111. package/es/components/molecules/QuillEditor/EditorToolbar.js +7 -7
  112. package/es/components/molecules/QuillEditor/styled.js +25 -25
  113. package/es/components/molecules/RadioGroup/styled.js +9 -9
  114. package/es/components/molecules/RequestAccess/styled.js +38 -38
  115. package/es/components/molecules/ResizeGrid/components/Cell/styled.js +77 -77
  116. package/es/components/molecules/ResizeGrid/styled.js +50 -50
  117. package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuCell/styled.js +118 -118
  118. package/es/components/molecules/RichMenu/RichMenuBlock/styled.js +13 -13
  119. package/es/components/molecules/RichMenu/RichMenuChatBar/TypingChat/styled.js +40 -40
  120. package/es/components/molecules/RichMenu/RichMenuChatBar/styled.js +27 -27
  121. package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.js +2 -2
  122. package/es/components/molecules/RichMenu/RichMenuMobileView/styled.js +38 -38
  123. package/es/components/molecules/SearchPopover/components/PopoverSelect/styled.js +36 -36
  124. package/es/components/molecules/SearchPopover/components/PopoverSelect/styles.scss +7 -7
  125. package/es/components/molecules/SearchPopover/styled.js +32 -32
  126. package/es/components/molecules/Select/styled.js +74 -74
  127. package/es/components/molecules/SelectAccount/styled.js +147 -147
  128. package/es/components/molecules/SelectEventAttribute/styled.js +8 -8
  129. package/es/components/molecules/SelectMulti/styled.js +62 -62
  130. package/es/components/molecules/SelectV2/styled.js +124 -124
  131. package/es/components/molecules/SettingWrapper/styled.js +12 -12
  132. package/es/components/molecules/ShareAccess/components/GeneralAccess/styled.js +56 -56
  133. package/es/components/molecules/ShareAccess/components/LayoutContent/styled.js +5 -5
  134. package/es/components/molecules/ShareAccess/components/ModalTransferOwnerShip/styled.js +15 -15
  135. package/es/components/molecules/ShareAccess/components/PeopleAccess/styled.js +63 -63
  136. package/es/components/molecules/ShareAccess/components/SearchUser/styled.js +31 -31
  137. package/es/components/molecules/SliderWithInputNumber/styled.js +2 -2
  138. package/es/components/molecules/Tabs/Tabs.js +11 -11
  139. package/es/components/molecules/TagifyInput/TagifyInput.js +50 -50
  140. package/es/components/molecules/TagifyInput/styled.js +37 -37
  141. package/es/components/molecules/TagifyInput/utils.js +13 -13
  142. package/es/components/molecules/TagifyInput/utils.style.js +208 -208
  143. package/es/components/molecules/TemplateSaveAs/components/Category/Category.js +5 -5
  144. package/es/components/molecules/TemplateSaveAs/components/ImageSlider/styled.js +276 -276
  145. package/es/components/molecules/TemplateSaveAs/styled.js +134 -134
  146. package/es/components/molecules/ThumbnailCard/styled.js +92 -92
  147. package/es/components/molecules/Tree/styled.js +38 -38
  148. package/es/components/molecules/UnsubscribePreferences/styled.js +7 -7
  149. package/es/components/molecules/UnsubscribePreview/components/styled.js +53 -53
  150. package/es/components/molecules/UnsubscribePreview/styled.js +48 -48
  151. package/es/components/molecules/UploadImage/styled.js +114 -114
  152. package/es/components/molecules/VirtualizedMenu/styled.js +103 -103
  153. package/es/components/molecules/index.scss +1 -1
  154. package/es/components/organism/AccountProfile/components/AccountSetting/components/EditableInput/styles.js +98 -98
  155. package/es/components/organism/AccountProfile/components/AccountSetting/components/LanguageSelector/styles.js +18 -18
  156. package/es/components/organism/AccountProfile/components/AccountSetting/styled.js +543 -543
  157. package/es/components/organism/AccountProfile/components/AccountSetting/styles.scss +39 -39
  158. package/es/components/organism/AccountSharing/styled.js +346 -346
  159. package/es/components/organism/ActivityTimeline/__mocks__/event_tracking.json +1290 -1290
  160. package/es/components/organism/ActivityTimeline/__mocks__/timeline.json +1896 -1896
  161. package/es/components/organism/ActivityTimeline/components/ActionHistory/styled.js +28 -28
  162. package/es/components/organism/ActivityTimeline/components/CardMember/styled.js +60 -60
  163. package/es/components/organism/ActivityTimeline/components/ItemGroupEvent/styled.js +4 -4
  164. package/es/components/organism/ActivityTimeline/components/List/styled.js +77 -77
  165. package/es/components/organism/ActivityTimeline/components/ListItem/styled.js +37 -37
  166. package/es/components/organism/ActivityTimeline/components/ProductCard/styled.js +92 -92
  167. package/es/components/organism/ActivityTimeline/components/Redeem/styled.js +7 -7
  168. package/es/components/organism/ActivityTimeline/components/Slide/styled.js +20 -20
  169. package/es/components/organism/ActivityTimeline/components/TimeLineTitle/styled.js +7 -7
  170. package/es/components/organism/ActivityTimeline/components/TimelineSection/styled.js +69 -69
  171. package/es/components/organism/ActivityTimeline/styled.js +43 -43
  172. package/es/components/organism/AlgorithmsSetting/styled.js +35 -35
  173. package/es/components/organism/BasicLogin/components/ChooseMethod/styled.js +19 -19
  174. package/es/components/organism/BasicLogin/components/LoginWithEmail/styled.js +3 -3
  175. package/es/components/organism/BasicLogin/components/LoginWithGG/styled.js +3 -3
  176. package/es/components/organism/BasicLogin/components/SignIn/styled.js +8 -8
  177. package/es/components/organism/BasicLogin/components/WidgetLayout/styled.js +18 -18
  178. package/es/components/organism/BasicLogin/styled.js +107 -107
  179. package/es/components/organism/ContentSources/styled.js +50 -50
  180. package/es/components/organism/DataTable/components/AddButton/index.js +8 -8
  181. package/es/components/organism/DataTable/components/ModifyColumn/styled.js +18 -18
  182. package/es/components/organism/DataTable/components/Pagination/styled.js +26 -26
  183. package/es/components/organism/DataTable/components/Table/styled.js +135 -135
  184. package/es/components/organism/DataTable/components/Toolbar/SearchPopover.js +17 -17
  185. package/es/components/organism/DataTable/components/Toolbar/styled.js +70 -70
  186. package/es/components/organism/DataTable/styled/index.js +84 -84
  187. package/es/components/organism/Filter/components/FilterCondition/styled.js +34 -34
  188. package/es/components/organism/Filter/styled.js +109 -109
  189. package/es/components/organism/FilterSetting/components/common/InputArray/styled.js +5 -5
  190. package/es/components/organism/FilterSetting/components/common/InputOrSelect/index.js +63 -63
  191. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/ColumnSuggestion/index.js +31 -31
  192. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/Tree/index.js +22 -22
  193. package/es/components/organism/FilterSetting/components/common/InputSelectMulti/index.js +55 -55
  194. package/es/components/organism/FilterSetting/styled.js +19 -19
  195. package/es/components/organism/GenerativeInsights/styled.js +55 -55
  196. package/es/components/organism/Help/styled.js +267 -267
  197. package/es/components/organism/LeftMenu/components/HomeMenu/styled.js +39 -39
  198. package/es/components/organism/LeftMenu/components/common/ChildMenu/components/MenuItemImage/styled.js +16 -16
  199. package/es/components/organism/LeftMenu/components/common/ChildMenu/styled.js +156 -156
  200. package/es/components/organism/LeftMenu/styled.js +216 -216
  201. package/es/components/organism/Login/components/ChooseMethod/styled.js +19 -19
  202. package/es/components/organism/Login/components/ForgotPassword/styled.js +8 -8
  203. package/es/components/organism/Login/components/IconInfo/IconInfo.js +1 -1
  204. package/es/components/organism/Login/components/LoginSelectPortal/Item/styled.js +31 -31
  205. package/es/components/organism/Login/components/LoginSelectPortal/LoginSelectPortal.js +1 -1
  206. package/es/components/organism/Login/components/LoginSelectPortal/styled.js +3 -3
  207. package/es/components/organism/Login/components/LoginWithEmail/styled.js +3 -3
  208. package/es/components/organism/Login/components/LoginWithGG/styled.js +3 -3
  209. package/es/components/organism/Login/components/SetupGGAuthenticator/styled.js +7 -7
  210. package/es/components/organism/Login/components/SignIn/styled.js +8 -8
  211. package/es/components/organism/Login/components/VerifyAccount/styled.js +13 -13
  212. package/es/components/organism/Login/components/WidgetLayout/styled.js +18 -18
  213. package/es/components/organism/Login/styled.js +115 -115
  214. package/es/components/organism/LoginV2/LoginV2.d.ts +3 -0
  215. package/es/components/organism/LoginV2/LoginV2.js +957 -0
  216. package/es/components/organism/LoginV2/components/Avatar/Avatar.d.ts +8 -0
  217. package/es/components/organism/LoginV2/components/Avatar/Avatar.js +11 -0
  218. package/es/components/organism/LoginV2/components/Avatar/index.d.ts +1 -0
  219. package/es/components/organism/LoginV2/components/Avatar/index.js +1 -0
  220. package/es/components/organism/LoginV2/components/ChooseMethod/ChooseMethod.d.ts +9 -0
  221. package/es/components/organism/LoginV2/components/ChooseMethod/ChooseMethod.js +54 -0
  222. package/es/components/organism/LoginV2/components/ChooseMethod/Method.d.ts +10 -0
  223. package/es/components/organism/LoginV2/components/ChooseMethod/Method.js +13 -0
  224. package/es/components/organism/LoginV2/components/ChooseMethod/index.d.ts +1 -0
  225. package/es/components/organism/LoginV2/components/ChooseMethod/index.js +1 -0
  226. package/es/components/organism/LoginV2/components/ChooseMethod/styled.d.ts +10 -0
  227. package/es/components/organism/LoginV2/components/ChooseMethod/styled.js +24 -0
  228. package/es/components/organism/LoginV2/components/ChooseMethod/utils.d.ts +1 -0
  229. package/es/components/organism/LoginV2/components/ChooseMethod/utils.js +1 -0
  230. package/es/components/organism/LoginV2/components/ForgotPassword/ForgotPassword.d.ts +14 -0
  231. package/es/components/organism/LoginV2/components/ForgotPassword/ForgotPassword.js +195 -0
  232. package/es/components/organism/LoginV2/components/ForgotPassword/index.d.ts +2 -0
  233. package/es/components/organism/LoginV2/components/ForgotPassword/index.js +2 -0
  234. package/es/components/organism/LoginV2/components/ForgotPassword/styled.d.ts +1 -0
  235. package/es/components/organism/LoginV2/components/ForgotPassword/styled.js +10 -0
  236. package/es/components/organism/LoginV2/components/IconInfo/IconInfo.d.ts +7 -0
  237. package/es/components/organism/LoginV2/components/IconInfo/IconInfo.js +18 -0
  238. package/es/components/organism/LoginV2/components/IconInfo/index.d.ts +1 -0
  239. package/es/components/organism/LoginV2/components/IconInfo/index.js +1 -0
  240. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/Item.d.ts +10 -0
  241. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/Item.js +12 -0
  242. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/index.d.ts +1 -0
  243. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/index.js +1 -0
  244. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/styled.d.ts +2 -0
  245. package/es/components/organism/LoginV2/components/LoginSelectPortal/Item/styled.js +34 -0
  246. package/es/components/organism/LoginV2/components/LoginSelectPortal/LoginSelectPortal.d.ts +19 -0
  247. package/es/components/organism/LoginV2/components/LoginSelectPortal/LoginSelectPortal.js +194 -0
  248. package/es/components/organism/LoginV2/components/LoginSelectPortal/index.d.ts +1 -0
  249. package/es/components/organism/LoginV2/components/LoginSelectPortal/index.js +1 -0
  250. package/es/components/organism/LoginV2/components/LoginSelectPortal/styled.d.ts +1 -0
  251. package/es/components/organism/LoginV2/components/LoginSelectPortal/styled.js +5 -0
  252. package/es/components/organism/LoginV2/components/LoginWithEmail/LoginWithEmail.d.ts +15 -0
  253. package/es/components/organism/LoginV2/components/LoginWithEmail/LoginWithEmail.js +211 -0
  254. package/es/components/organism/LoginV2/components/LoginWithEmail/index.d.ts +1 -0
  255. package/es/components/organism/LoginV2/components/LoginWithEmail/index.js +1 -0
  256. package/es/components/organism/LoginV2/components/LoginWithEmail/styled.d.ts +3 -0
  257. package/es/components/organism/LoginV2/components/LoginWithEmail/styled.js +5 -0
  258. package/es/components/organism/LoginV2/components/LoginWithGG/LoginWithGG.d.ts +14 -0
  259. package/es/components/organism/LoginV2/components/LoginWithGG/LoginWithGG.js +116 -0
  260. package/es/components/organism/LoginV2/components/LoginWithGG/index.d.ts +1 -0
  261. package/es/components/organism/LoginV2/components/LoginWithGG/index.js +1 -0
  262. package/es/components/organism/LoginV2/components/LoginWithGG/styled.d.ts +3 -0
  263. package/es/components/organism/LoginV2/components/LoginWithGG/styled.js +5 -0
  264. package/es/components/organism/LoginV2/components/Logo/Logo.d.ts +6 -0
  265. package/es/components/organism/LoginV2/components/Logo/Logo.js +9 -0
  266. package/es/components/organism/LoginV2/components/Logo/index.d.ts +1 -0
  267. package/es/components/organism/LoginV2/components/Logo/index.js +1 -0
  268. package/es/components/organism/LoginV2/components/OryConsent/OryAuthLayout.d.ts +9 -0
  269. package/es/components/organism/LoginV2/components/OryConsent/OryAuthLayout.js +4 -0
  270. package/es/components/organism/LoginV2/components/OryConsent/OryConsent.d.ts +17 -0
  271. package/es/components/organism/LoginV2/components/OryConsent/OryConsent.js +204 -0
  272. package/es/components/organism/LoginV2/components/OryConsent/OryThemeProvider.d.ts +8 -0
  273. package/es/components/organism/LoginV2/components/OryConsent/OryThemeProvider.js +10 -0
  274. package/es/components/organism/LoginV2/components/OryConsent/PortalSelect.d.ts +15 -0
  275. package/es/components/organism/LoginV2/components/OryConsent/PortalSelect.js +30 -0
  276. package/es/components/organism/LoginV2/components/OryConsent/ScopeConsent.d.ts +20 -0
  277. package/es/components/organism/LoginV2/components/OryConsent/ScopeConsent.js +29 -0
  278. package/es/components/organism/LoginV2/components/OryConsent/index.d.ts +2 -0
  279. package/es/components/organism/LoginV2/components/OryConsent/index.js +2 -0
  280. package/es/components/organism/LoginV2/components/OryConsent/styled.d.ts +31 -0
  281. package/es/components/organism/LoginV2/components/OryConsent/styled.js +292 -0
  282. package/es/components/organism/LoginV2/components/OrySignIn/OryFormShell.d.ts +9 -0
  283. package/es/components/organism/LoginV2/components/OrySignIn/OryFormShell.js +36 -0
  284. package/es/components/organism/LoginV2/components/OrySignIn/OryMfa.d.ts +11 -0
  285. package/es/components/organism/LoginV2/components/OrySignIn/OryMfa.js +144 -0
  286. package/es/components/organism/LoginV2/components/OrySignIn/OryRecovery.d.ts +9 -0
  287. package/es/components/organism/LoginV2/components/OrySignIn/OryRecovery.js +128 -0
  288. package/es/components/organism/LoginV2/components/OrySignIn/OryStatus.d.ts +17 -0
  289. package/es/components/organism/LoginV2/components/OrySignIn/OryStatus.js +33 -0
  290. package/es/components/organism/LoginV2/components/OrySignIn/index.d.ts +3 -0
  291. package/es/components/organism/LoginV2/components/OrySignIn/index.js +3 -0
  292. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/SetupGGAuthenticator.d.ts +14 -0
  293. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/SetupGGAuthenticator.js +100 -0
  294. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/index.d.ts +2 -0
  295. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/index.js +2 -0
  296. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/styled.d.ts +4 -0
  297. package/es/components/organism/LoginV2/components/SetupGGAuthenticator/styled.js +10 -0
  298. package/es/components/organism/LoginV2/components/SignIn/SignIn.d.ts +22 -0
  299. package/es/components/organism/LoginV2/components/SignIn/SignIn.js +107 -0
  300. package/es/components/organism/LoginV2/components/SignIn/index.d.ts +1 -0
  301. package/es/components/organism/LoginV2/components/SignIn/index.js +1 -0
  302. package/es/components/organism/LoginV2/components/SignIn/styled.d.ts +3 -0
  303. package/es/components/organism/LoginV2/components/SignIn/styled.js +10 -0
  304. package/es/components/organism/LoginV2/components/VerifyAccount/VerifyAccount.d.ts +25 -0
  305. package/es/components/organism/LoginV2/components/VerifyAccount/VerifyAccount.js +42 -0
  306. package/es/components/organism/LoginV2/components/VerifyAccount/index.d.ts +1 -0
  307. package/es/components/organism/LoginV2/components/VerifyAccount/index.js +1 -0
  308. package/es/components/organism/LoginV2/components/VerifyAccount/styled.d.ts +22 -0
  309. package/es/components/organism/LoginV2/components/VerifyAccount/styled.js +17 -0
  310. package/es/components/organism/LoginV2/components/WidgetLayout/WidgetLayout.d.ts +13 -0
  311. package/es/components/organism/LoginV2/components/WidgetLayout/WidgetLayout.js +18 -0
  312. package/es/components/organism/LoginV2/components/WidgetLayout/index.d.ts +1 -0
  313. package/es/components/organism/LoginV2/components/WidgetLayout/index.js +1 -0
  314. package/es/components/organism/LoginV2/components/WidgetLayout/styled.d.ts +5 -0
  315. package/es/components/organism/LoginV2/components/WidgetLayout/styled.js +22 -0
  316. package/es/components/organism/LoginV2/components/index.d.ts +11 -0
  317. package/es/components/organism/LoginV2/components/index.js +11 -0
  318. package/es/components/organism/LoginV2/constants/index.d.ts +48 -0
  319. package/es/components/organism/LoginV2/constants/index.js +48 -0
  320. package/es/components/organism/LoginV2/hooks/index.d.ts +1 -0
  321. package/es/components/organism/LoginV2/hooks/index.js +1 -0
  322. package/es/components/organism/LoginV2/hooks/useResize.d.ts +7 -0
  323. package/es/components/organism/LoginV2/hooks/useResize.js +21 -0
  324. package/es/components/organism/LoginV2/index.d.ts +6 -0
  325. package/es/components/organism/LoginV2/index.js +4 -0
  326. package/es/components/organism/LoginV2/styled.d.ts +51 -0
  327. package/es/components/organism/LoginV2/styled.js +129 -0
  328. package/es/components/organism/LoginV2/types/index.d.ts +79 -0
  329. package/es/components/organism/LoginV2/types/index.js +1 -0
  330. package/es/components/organism/LoginV2/types/ory.d.ts +52 -0
  331. package/es/components/organism/LoginV2/types/ory.js +1 -0
  332. package/es/components/organism/LoginV2/utils/index.d.ts +14 -0
  333. package/es/components/organism/LoginV2/utils/index.js +49 -0
  334. package/es/components/organism/LoginV2/utils/ory.d.ts +138 -0
  335. package/es/components/organism/LoginV2/utils/ory.js +408 -0
  336. package/es/components/organism/LoginV2/utils/oryConsent.d.ts +52 -0
  337. package/es/components/organism/LoginV2/utils/oryConsent.js +174 -0
  338. package/es/components/organism/LoginV2/utils/oryFlows.d.ts +100 -0
  339. package/es/components/organism/LoginV2/utils/oryFlows.js +319 -0
  340. package/es/components/organism/Menu/styled.js +6 -6
  341. package/es/components/organism/ModifyColumnModal/styled.js +132 -132
  342. package/es/components/organism/Notification/styled.js +155 -155
  343. package/es/components/organism/PreviewCollections/Messages/SkeletonMessage/styled.js +14 -14
  344. package/es/components/organism/PreviewCollections/WhatsappMessage/CarouselMessage/styled.js +63 -63
  345. package/es/components/organism/PreviewCollections/constants.js +50 -50
  346. package/es/components/organism/PreviewCollections/styled.js +16 -16
  347. package/es/components/organism/PreviewTemplateModal/components/Banner/styled.js +78 -78
  348. package/es/components/organism/PreviewTemplateModal/components/Information/styled.js +52 -52
  349. package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/styled.js +18 -18
  350. package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/styled.js +77 -77
  351. package/es/components/organism/PreviewTemplateModal/styled.js +21 -21
  352. package/es/components/organism/SQLGeneration/components/styled.js +354 -354
  353. package/es/components/organism/SQLGeneration/index.scss +1 -1
  354. package/es/components/organism/SQLGeneration/integrations/AceEditor/index.scss +4 -4
  355. package/es/components/organism/Table/CrossTabTable/components/CustomCell/styled.js +11 -11
  356. package/es/components/organism/Table/CrossTabTable/styled.js +11 -11
  357. package/es/components/organism/Table/ExplorePivotTable/components/CustomCell/styled.js +17 -17
  358. package/es/components/organism/Table/ExplorePivotTable/styled.js +11 -11
  359. package/es/components/organism/TextEditor/__mocks__/text-contennt.js +44 -44
  360. package/es/components/organism/TextEditor/index.scss +65 -65
  361. package/es/components/organism/TextEditor/stories/WithOldDynAndLink/froala-legacy-format.settings.json +95 -95
  362. package/es/components/organism/TextEditor/styled.js +54 -54
  363. package/es/components/organism/TextEditor/ui/Button/Button.js +22 -22
  364. package/es/components/organism/TextEditor/ui/DropdownButton/DropdownButton.js +13 -13
  365. package/es/components/organism/TextEditor/ui/FontPopover/styled.js +32 -32
  366. package/es/components/organism/TextEditor/ui/SplitButtonDropdown/styled.js +54 -54
  367. package/es/components/organism/TextEditor/ui/TextAlignSelect/TextAlignSelect.js +9 -9
  368. package/es/components/organism/TextEditor/ui/Toolbar/actions/FontSizeAction.js +11 -11
  369. package/es/components/organism/TicketEditor/styled.js +860 -860
  370. package/es/components/organism/TicketEditorV2/styled.js +839 -839
  371. package/es/components/organism/index.d.ts +2 -0
  372. package/es/components/organism/index.js +1 -0
  373. package/es/components/organism/index.scss +2 -2
  374. package/es/components/template/Layout/Layout.js +10 -10
  375. package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/components/OldLeftMenu/styled.js +73 -73
  376. package/es/components/template/Layout/components/RecommendationWorkspace/components/MenuMapping/styled.js +39 -39
  377. package/es/components/template/Layout/components/RecommendationWorkspace/components/RecommendationImage/styled.js +61 -61
  378. package/es/components/template/Layout/components/RecommendationWorkspace/styled.js +16 -16
  379. package/es/components/template/Layout/styled.js +84 -84
  380. package/es/components/template/TemplateListing/components/BlankTemplate/styled.js +21 -21
  381. package/es/components/template/TemplateListing/components/CategoryListing/styled.js +123 -123
  382. package/es/components/template/TemplateListing/components/Empty/styled.js +20 -20
  383. package/es/components/template/TemplateListing/stories/demo/styled.js +4 -4
  384. package/es/components/template/TemplateListing/styled/index.js +40 -40
  385. package/es/providers/ConfigProvider/GlobalStyle.js +1251 -1251
  386. package/es/styled/common.js +51 -51
  387. package/es/tests/styled.js +4 -4
  388. package/es/utils/variables.js +7 -7
  389. package/package.json +282 -282
@@ -0,0 +1,292 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { globalToken } from '@antscorp/antsomi-ui/es/constants';
3
+ const primary = globalToken?.colorPrimary || '#005eb8';
4
+ const border = '#e2e8f0';
5
+ const borderBlue = '#bdd0e0';
6
+ const muted = '#64748b';
7
+ const tint = '#f5fbff';
8
+ export const Page = styled.div `
9
+ display: flex;
10
+ height: 100vh;
11
+ overflow: hidden;
12
+ background: #eaf1fb;
13
+
14
+ @media (max-width: 768px) {
15
+ height: auto;
16
+ min-height: 100vh;
17
+ overflow: visible;
18
+ }
19
+ `;
20
+ export const Panel = styled.main `
21
+ position: relative;
22
+ z-index: 2;
23
+ display: flex;
24
+ flex: none;
25
+ flex-direction: column;
26
+ align-items: center;
27
+ width: 404px;
28
+ height: 100%;
29
+ overflow-y: auto;
30
+ background: #fff;
31
+ box-shadow: 3px 0 9px rgba(15, 23, 42, 0.15);
32
+
33
+ @media (max-width: 768px) {
34
+ width: 100%;
35
+ height: auto;
36
+ min-height: 100vh;
37
+ overflow: visible;
38
+ box-shadow: none;
39
+ }
40
+ `;
41
+ export const Banner = styled.div `
42
+ display: flex;
43
+ flex: 1;
44
+ align-items: flex-end;
45
+ justify-content: flex-end;
46
+ padding: 16px 20px;
47
+ color: ${muted};
48
+ font-size: 11px;
49
+ line-height: 14px;
50
+
51
+ @media (max-width: 768px) {
52
+ display: none;
53
+ }
54
+ `;
55
+ export const Body = styled.div `
56
+ display: flex;
57
+ flex: 1 0 auto;
58
+ flex-direction: column;
59
+ gap: 24px;
60
+ width: 100%;
61
+ padding: 72px 24px 24px;
62
+
63
+ @media (max-width: 768px) {
64
+ padding: 72px 16px 24px;
65
+ }
66
+ `;
67
+ export const AuthHeader = styled.header `
68
+ display: flex;
69
+ flex-direction: column;
70
+ align-items: center;
71
+ gap: 20px;
72
+ text-align: center;
73
+
74
+ h1,
75
+ p {
76
+ margin: 0;
77
+ }
78
+
79
+ h1 {
80
+ font-size: 18px;
81
+ line-height: 24px;
82
+ }
83
+
84
+ p {
85
+ color: #767676;
86
+ font-size: 14px;
87
+ line-height: 20px;
88
+ }
89
+
90
+ p b {
91
+ color: #000;
92
+ font-weight: 500;
93
+ }
94
+
95
+ small {
96
+ font-size: 12px;
97
+ line-height: 18px;
98
+ }
99
+ `;
100
+ export const HeaderLogo = styled.img `
101
+ width: 180px;
102
+ height: 40px;
103
+ object-fit: contain;
104
+ `;
105
+ export const Footer = styled.footer `
106
+ position: sticky;
107
+ bottom: 0;
108
+ z-index: 3;
109
+ display: flex;
110
+ flex: none;
111
+ flex-direction: column;
112
+ gap: 8px;
113
+ width: 100%;
114
+ padding: 16px 24px;
115
+ background: #fff;
116
+ border-top: 1px solid #eaf1fb;
117
+ box-shadow: 0 -8px 14px -10px rgba(15, 23, 42, 0.14);
118
+
119
+ @media (max-width: 768px) {
120
+ padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
121
+ }
122
+ `;
123
+ export const SearchBox = styled.div `
124
+ > div {
125
+ align-items: center;
126
+ }
127
+
128
+ input {
129
+ height: 36px;
130
+ padding-right: 38px;
131
+ border: 1px solid ${borderBlue};
132
+ border-radius: 0;
133
+ }
134
+
135
+ .__icon-search {
136
+ position: absolute;
137
+ top: 50%;
138
+ right: 11px;
139
+ height: auto;
140
+ padding: 0;
141
+ background: transparent !important;
142
+ border: 0 !important;
143
+ transform: translateY(-50%);
144
+ pointer-events: none;
145
+ }
146
+
147
+ @media (max-width: 768px) {
148
+ input {
149
+ height: 44px;
150
+ font-size: 16px;
151
+ }
152
+ }
153
+ `;
154
+ export const List = styled.div `
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: 10px;
158
+ `;
159
+ export const PortalGrid = styled.div `
160
+ display: grid;
161
+ grid-template-columns: repeat(2, minmax(0, 1fr));
162
+ gap: 12px;
163
+ `;
164
+ export const PortalOption = styled.div `
165
+ position: relative;
166
+ display: flex;
167
+ flex-direction: column;
168
+ gap: 10px;
169
+ min-width: 0;
170
+ padding: 12px;
171
+ background: #fff;
172
+ border: 1px solid ${borderBlue};
173
+ border-radius: 10px;
174
+ cursor: pointer;
175
+ transition:
176
+ border-color 0.15s ease,
177
+ background 0.15s ease;
178
+
179
+ &:hover {
180
+ background: ${tint};
181
+ border-color: ${primary};
182
+ }
183
+
184
+ &:focus-visible {
185
+ border-color: ${primary};
186
+ outline: 2px solid ${primary};
187
+ outline-offset: 2px;
188
+ }
189
+
190
+ ${p => p.$selected &&
191
+ css `
192
+ background: ${tint};
193
+ border-color: ${primary};
194
+ box-shadow: 0 0 0 1px ${primary};
195
+ `}
196
+ `;
197
+ export const PortalLogo = styled.span `
198
+ display: grid;
199
+ place-items: center;
200
+ height: 56px;
201
+ color: ${muted};
202
+
203
+ img {
204
+ max-width: 100%;
205
+ max-height: 100%;
206
+ object-fit: contain;
207
+ }
208
+ `;
209
+ export const PortalName = styled.span `
210
+ padding-top: 10px;
211
+ overflow: hidden;
212
+ color: ${p => (p.$selected ? '#000' : '#767676')};
213
+ font-size: 14px;
214
+ line-height: 20px;
215
+ text-align: center;
216
+ text-overflow: ellipsis;
217
+ white-space: nowrap;
218
+ border-top: 1px solid #eaf1fb;
219
+ `;
220
+ export const Indicator = styled.span `
221
+ position: absolute;
222
+ top: 8px;
223
+ right: 8px;
224
+ display: ${p => (p.$selected ? 'grid' : 'none')};
225
+ place-items: center;
226
+ width: 20px;
227
+ height: 20px;
228
+ color: #fff;
229
+ background: ${primary};
230
+ border-radius: 50%;
231
+ `;
232
+ export const SummaryCard = styled.section `
233
+ overflow: hidden;
234
+ background: #fff;
235
+ border: 1px solid ${borderBlue};
236
+ border-radius: 10px;
237
+ `;
238
+ export const SummaryRow = styled.div `
239
+ display: flex;
240
+ align-items: center;
241
+ gap: 12px;
242
+ padding: 12px 14px;
243
+
244
+ & + & {
245
+ border-top: 1px solid #eaf1fb;
246
+ }
247
+ `;
248
+ export const SectionHeader = styled.div `
249
+ display: flex;
250
+ align-items: baseline;
251
+ justify-content: space-between;
252
+ gap: 8px;
253
+ `;
254
+ export const ScopeGroups = styled.div `
255
+ display: flex;
256
+ flex-direction: column;
257
+ gap: 20px;
258
+ `;
259
+ export const ScopeGroup = styled.div `
260
+ display: flex;
261
+ flex-direction: column;
262
+ gap: 10px;
263
+ `;
264
+ export const Caption = styled.span `
265
+ color: ${muted};
266
+ font-size: 12px;
267
+ font-weight: 500;
268
+ line-height: 16px;
269
+ `;
270
+ export const ScopeCard = styled.div `
271
+ padding: 12px 14px;
272
+ background: ${p => (p.$locked ? '#f4f6f8' : '#fff')};
273
+ border: 1px solid ${p => (p.$locked ? border : borderBlue)};
274
+ border-radius: 10px;
275
+ `;
276
+ export const Mono = styled.code `
277
+ align-self: flex-start;
278
+ padding: 1px 6px;
279
+ color: #475569;
280
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
281
+ font-size: 12px;
282
+ line-height: 18px;
283
+ background: #f1f5f9;
284
+ border-radius: 6px;
285
+ `;
286
+ export const Truncate = styled.span `
287
+ display: block;
288
+ min-width: 0;
289
+ overflow: hidden;
290
+ text-overflow: ellipsis;
291
+ white-space: nowrap;
292
+ `;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type OryFormShellProps = {
3
+ title: string;
4
+ description?: React.ReactNode;
5
+ children: React.ReactNode;
6
+ };
7
+ /** Same column and logo as the sign-in form, for the steps that follow or replace it. */
8
+ export declare const OryFormShell: React.FC<OryFormShellProps>;
9
+ export {};
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled from 'styled-components';
3
+ import { Flex } from '../../../../atoms/Flex';
4
+ import { Text } from '../../../../atoms/Text';
5
+ import logoAntsomi from '../../../../../assets/images/logo/antsomi_logo.png';
6
+ const Shell = styled.div `
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 32px;
10
+ width: 100%;
11
+ padding: 100px 50px;
12
+
13
+ @media (max-width: 768px) {
14
+ padding: 100px 30px;
15
+ }
16
+ `;
17
+ const Logo = styled.img `
18
+ width: 180px;
19
+ height: 40px;
20
+ object-fit: contain;
21
+ `;
22
+ const Fields = styled.div `
23
+ input {
24
+ height: 36px;
25
+ font-size: 14px;
26
+ }
27
+
28
+ @media (max-width: 768px) {
29
+ input {
30
+ height: 44px;
31
+ font-size: 16px;
32
+ }
33
+ }
34
+ `;
35
+ /** Same column and logo as the sign-in form, for the steps that follow or replace it. */
36
+ export const OryFormShell = ({ title, description, children }) => (_jsxs(Shell, { children: [_jsxs(Flex, { vertical: true, align: "center", gap: 20, children: [_jsx(Logo, { src: logoAntsomi, alt: "Antsomi" }), _jsxs(Flex, { vertical: true, align: "center", gap: 8, style: { textAlign: 'center' }, children: [_jsx(Text, { bold: true, size: 18, children: title }), description ? _jsx(Text, { type: "secondary", children: description }) : null] })] }), _jsx(Fields, { children: children })] }));
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type OryMfaProps = {
3
+ kratosLoginUrl?: string;
4
+ sessionUrl?: string;
5
+ /** Called once the second factor is verified; usually continues the OAuth flow. */
6
+ onVerified: () => void | Promise<void>;
7
+ onBack: () => void;
8
+ };
9
+ /** Second step of sign-in for accounts with two-step verification. */
10
+ export declare const OryMfa: React.FC<OryMfaProps>;
11
+ export {};
@@ -0,0 +1,144 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Form, Input } from 'antd';
4
+ import { Alert } from '../../../../atoms/Alert';
5
+ import { Button } from '../../../../atoms/Button';
6
+ import { Flex } from '../../../../atoms/Flex';
7
+ import { prepareOryMfa, sendOryEmailMfa, submitOryMfa, submitOryWebauthn, } from '../../utils/oryFlows';
8
+ import { maskEmail } from '../ChooseMethod/utils';
9
+ import { OryFormShell } from './OryFormShell';
10
+ const COPY = {
11
+ totp: {
12
+ description: 'Enter the 6-digit code from your authenticator app.',
13
+ placeholder: '6-digit code',
14
+ rule: /^\d{6}$/,
15
+ hint: 'Enter the 6-digit code',
16
+ },
17
+ lookup_secret: {
18
+ description: 'Enter one of your backup codes. Each code works once.',
19
+ placeholder: 'Backup code',
20
+ rule: /^\S{6,}$/,
21
+ hint: 'Enter a backup code',
22
+ },
23
+ code: {
24
+ description: 'Enter the 6-digit code sent to your login email.',
25
+ placeholder: '6-digit code',
26
+ rule: /^\d{6}$/,
27
+ hint: 'Enter the 6-digit code',
28
+ },
29
+ };
30
+ const METHOD_LABEL = {
31
+ totp: 'Use your authenticator app',
32
+ lookup_secret: 'Use a backup code',
33
+ code: 'Send a code to your email',
34
+ webauthn: 'Use a security key or device',
35
+ };
36
+ /** Second step of sign-in for accounts with two-step verification. */
37
+ export const OryMfa = ({ kratosLoginUrl, sessionUrl, onVerified, onBack, }) => {
38
+ const [form] = Form.useForm();
39
+ const [method, setMethod] = useState();
40
+ const [preparation, setPreparation] = useState();
41
+ const [loading, setLoading] = useState(true);
42
+ const [error, setError] = useState('');
43
+ const copy = method && method !== 'webauthn' ? COPY[method] : COPY.totp;
44
+ useEffect(() => {
45
+ let active = true;
46
+ prepareOryMfa({ location: window.location, kratosLoginUrl })
47
+ .then(result => {
48
+ if (!active)
49
+ return;
50
+ setPreparation(result);
51
+ setMethod(result.methods.includes('totp') ? 'totp' : result.methods[0]);
52
+ })
53
+ .catch(cause => {
54
+ if (active) {
55
+ setError(cause?.userMessage ||
56
+ 'Verification could not be started. Please sign in again.');
57
+ }
58
+ })
59
+ .finally(() => {
60
+ if (active)
61
+ setLoading(false);
62
+ });
63
+ return () => {
64
+ active = false;
65
+ };
66
+ }, [kratosLoginUrl]);
67
+ const switchMethod = async (next) => {
68
+ if (!preparation || next === method)
69
+ return;
70
+ setLoading(true);
71
+ setError('');
72
+ form.resetFields();
73
+ try {
74
+ if (next === 'code' && !preparation.emailSent) {
75
+ await sendOryEmailMfa({
76
+ location: window.location,
77
+ flowId: preparation.flowId,
78
+ kratosLoginUrl,
79
+ });
80
+ setPreparation(current => (current ? { ...current, emailSent: true } : current));
81
+ }
82
+ setMethod(next);
83
+ }
84
+ catch (cause) {
85
+ setError(cause?.userMessage ||
86
+ 'We could not send a verification code. Please try again.');
87
+ }
88
+ finally {
89
+ setLoading(false);
90
+ }
91
+ };
92
+ const onFinish = async ({ code }) => {
93
+ if (!method || method === 'webauthn' || !preparation)
94
+ return;
95
+ setLoading(true);
96
+ setError('');
97
+ try {
98
+ await submitOryMfa({
99
+ location: window.location,
100
+ method,
101
+ code,
102
+ flowId: preparation.flowId,
103
+ kratosLoginUrl,
104
+ sessionUrl,
105
+ });
106
+ await onVerified();
107
+ }
108
+ catch (cause) {
109
+ setError(cause?.userMessage ||
110
+ 'Verification failed. Please try again.');
111
+ setLoading(false);
112
+ }
113
+ };
114
+ const verifyWebauthn = async () => {
115
+ if (!preparation)
116
+ return;
117
+ setLoading(true);
118
+ setError('');
119
+ try {
120
+ await submitOryWebauthn({
121
+ location: window.location,
122
+ flowId: preparation.flowId,
123
+ kratosLoginUrl,
124
+ sessionUrl,
125
+ });
126
+ await onVerified();
127
+ }
128
+ catch (cause) {
129
+ setError(cause?.userMessage ||
130
+ 'Security key verification failed. Please try again.');
131
+ setLoading(false);
132
+ }
133
+ };
134
+ return (_jsx(OryFormShell, { title: "Two-step verification", description: method === 'webauthn'
135
+ ? 'Use your registered security key or this device to verify your identity.'
136
+ : method === 'code' && preparation?.email
137
+ ? `Enter the 6-digit code sent to ${maskEmail(preparation.email)}`
138
+ : copy.description, children: _jsxs(Form, { form: form, name: "ory_mfa_form", onFinish: onFinish, validateTrigger: "onSubmit", children: [method !== 'webauthn' ? _jsx(Form.Item, { name: "code", rules: [
139
+ { required: true, message: copy.hint },
140
+ { pattern: copy.rule, message: copy.hint },
141
+ ], children: _jsx(Input, { autoFocus: true, autoComplete: "one-time-code", inputMode: method === 'lookup_secret' ? 'text' : 'numeric', placeholder: copy.placeholder, disabled: !method || loading }) }) : null, error ? _jsx(Alert, { type: "error", showIcon: true, role: "alert", message: error }) : null, _jsxs(Flex, { vertical: true, gap: 8, style: { marginTop: 24 }, children: [_jsx(Button, { type: "primary", size: "large", htmlType: method === 'webauthn' ? 'button' : 'submit', onClick: method === 'webauthn' ? verifyWebauthn : undefined, block: true, loading: loading, children: method === 'webauthn' ? 'Verify with security key' : 'Verify' }), preparation?.methods
142
+ .filter(available => available !== method)
143
+ .map(available => (_jsx(Button, { type: "text", onClick: () => switchMethod(available), disabled: loading, children: METHOD_LABEL[available] }, available))), _jsx(Button, { type: "text", onClick: onBack, disabled: loading, children: "Back to sign in" })] })] }) }));
144
+ };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type OryRecoveryProps = {
3
+ kratosRecoveryUrl?: string;
4
+ initialFlowId?: string;
5
+ onBack: () => void;
6
+ };
7
+ /** Forgot-password flow: email a code, verify it, set a new password. */
8
+ export declare const OryRecovery: React.FC<OryRecoveryProps>;
9
+ export {};
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Form, Input } from 'antd';
4
+ import { Alert } from '../../../../atoms/Alert';
5
+ import { Button } from '../../../../atoms/Button';
6
+ import { Flex } from '../../../../atoms/Flex';
7
+ import { isOryRecoveryRequest, resumeOryRecovery, setOryRecoveredPassword, startOryRecovery, verifyOryRecoveryCode, } from '../../utils/oryFlows';
8
+ import { OryFormShell } from './OryFormShell';
9
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
10
+ const TITLES = {
11
+ email: 'Reset your password',
12
+ code: 'Check your email',
13
+ password: 'Choose a new password',
14
+ done: 'Password updated',
15
+ };
16
+ /** Forgot-password flow: email a code, verify it, set a new password. */
17
+ export const OryRecovery = ({ kratosRecoveryUrl, initialFlowId, onBack }) => {
18
+ const [step, setStep] = useState('email');
19
+ const [email, setEmail] = useState('');
20
+ const [flowId, setFlowId] = useState('');
21
+ const [settingsFlowId, setSettingsFlowId] = useState('');
22
+ const [loading, setLoading] = useState(Boolean(initialFlowId));
23
+ const [error, setError] = useState('');
24
+ useEffect(() => {
25
+ if (!initialFlowId)
26
+ return;
27
+ let active = true;
28
+ setLoading(true);
29
+ resumeOryRecovery({ location: window.location, flowId: initialFlowId, recoveryUrl: kratosRecoveryUrl })
30
+ .then(result => {
31
+ if (!active)
32
+ return;
33
+ setFlowId(result.flowId);
34
+ setStep(result.step);
35
+ })
36
+ .catch(cause => {
37
+ if (active)
38
+ setError(cause?.userMessage || 'Recovery is unavailable. Please start again.');
39
+ })
40
+ .finally(() => { if (active)
41
+ setLoading(false); });
42
+ return () => { active = false; };
43
+ }, [initialFlowId, kratosRecoveryUrl]);
44
+ const restart = () => {
45
+ setError('');
46
+ setFlowId('');
47
+ setSettingsFlowId('');
48
+ setEmail('');
49
+ setStep('email');
50
+ if (isOryRecoveryRequest(window.location)) {
51
+ const url = new URL(window.location.href);
52
+ url.searchParams.delete('flow');
53
+ window.history.replaceState(null, '', url.toString());
54
+ }
55
+ };
56
+ const run = async (action) => {
57
+ setLoading(true);
58
+ setError('');
59
+ try {
60
+ await action();
61
+ }
62
+ catch (cause) {
63
+ setError(cause?.userMessage ||
64
+ 'Something went wrong. Please try again.');
65
+ }
66
+ finally {
67
+ setLoading(false);
68
+ }
69
+ };
70
+ const sendCode = ({ email: value }) => run(async () => {
71
+ const result = await startOryRecovery({
72
+ location: window.location,
73
+ email: value,
74
+ recoveryUrl: kratosRecoveryUrl,
75
+ });
76
+ setEmail(value);
77
+ if (isOryRecoveryRequest(window.location)) {
78
+ const url = new URL(window.location.href);
79
+ url.searchParams.set('flow', result.flowId);
80
+ window.history.replaceState(null, '', url.toString());
81
+ }
82
+ setFlowId(result.flowId);
83
+ setStep('code');
84
+ });
85
+ const verifyCode = ({ code }) => run(async () => {
86
+ const result = await verifyOryRecoveryCode({
87
+ location: window.location,
88
+ flowId,
89
+ code,
90
+ recoveryUrl: kratosRecoveryUrl,
91
+ });
92
+ setSettingsFlowId(result.settingsFlowId);
93
+ setStep('password');
94
+ });
95
+ const savePassword = ({ password }) => run(async () => {
96
+ await setOryRecoveredPassword({
97
+ location: window.location,
98
+ settingsFlowId,
99
+ password,
100
+ recoveryUrl: kratosRecoveryUrl,
101
+ });
102
+ setStep('done');
103
+ });
104
+ const errorAlert = error ? _jsx(Alert, { type: "error", showIcon: true, role: "alert", message: error }) : null;
105
+ const description = {
106
+ email: "Enter your email and we'll send you a verification code.",
107
+ code: email ? `If an account exists for ${email}, we sent a code to it. Enter it below.` : 'Enter the code from your recovery email.',
108
+ password: 'Use at least 8 characters that you do not use anywhere else.',
109
+ done: 'You can now sign in with your new password.',
110
+ }[step];
111
+ return (_jsxs(OryFormShell, { title: TITLES[step], description: description, children: [step === 'email' ? (_jsxs(Form, { name: "ory_recovery_email", onFinish: sendCode, validateTrigger: "onSubmit", children: [_jsx(Form.Item, { name: "email", rules: [
112
+ { required: true, message: 'Please enter your email' },
113
+ { pattern: EMAIL_PATTERN, message: 'Please enter a valid email' },
114
+ ], children: _jsx(Input, { autoFocus: true, autoComplete: "username", placeholder: "Email" }) }), errorAlert, _jsxs(Flex, { vertical: true, gap: 8, style: { marginTop: 24 }, children: [_jsx(Button, { type: "primary", size: "large", htmlType: "submit", block: true, loading: loading, children: "Send code" }), error ? _jsx(Button, { type: "text", onClick: restart, disabled: loading, children: "Start again" }) : null, _jsx(Button, { type: "text", onClick: onBack, disabled: loading, children: "Back to sign in" })] })] }, "email")) : null, step === 'code' ? (_jsxs(Form, { name: "ory_recovery_code", onFinish: verifyCode, validateTrigger: "onSubmit", children: [_jsx(Form.Item, { name: "code", rules: [
115
+ { required: true, message: 'Enter the 6-digit code' },
116
+ { pattern: /^\d{6}$/, message: 'Enter the 6-digit code' },
117
+ ], children: _jsx(Input, { autoFocus: true, autoComplete: "one-time-code", inputMode: "numeric", placeholder: "6-digit code" }) }), errorAlert, _jsxs(Flex, { vertical: true, gap: 8, style: { marginTop: 24 }, children: [_jsx(Button, { type: "primary", size: "large", htmlType: "submit", block: true, loading: loading, children: "Verify code" }), _jsx(Button, { type: "text", disabled: loading, onClick: restart, children: "Start again" })] })] }, "code")) : null, step === 'password' ? (_jsxs(Form, { name: "ory_recovery_password", onFinish: savePassword, validateTrigger: "onSubmit", children: [_jsx(Form.Item, { name: "password", rules: [
118
+ { required: true, message: 'Please enter a new password' },
119
+ { min: 8, message: 'Password must be at least 8 characters long' },
120
+ ], children: _jsx(Input.Password, { autoFocus: true, autoComplete: "new-password", placeholder: "New password" }) }), _jsx(Form.Item, { name: "confirm", dependencies: ['password'], rules: [
121
+ { required: true, message: 'Please confirm your password' },
122
+ ({ getFieldValue }) => ({
123
+ validator: (_, value) => !value || getFieldValue('password') === value
124
+ ? Promise.resolve()
125
+ : Promise.reject(new Error('Passwords do not match')),
126
+ }),
127
+ ], children: _jsx(Input.Password, { autoComplete: "new-password", placeholder: "Confirm password" }) }), errorAlert, _jsxs(Flex, { vertical: true, gap: 8, style: { marginTop: 24 }, children: [_jsx(Button, { type: "text", onClick: restart, disabled: loading, children: "Start again" }), _jsx(Button, { type: "primary", size: "large", htmlType: "submit", block: true, loading: loading, children: "Update password" })] })] }, "password")) : null, step === 'done' ? (_jsxs(Flex, { vertical: true, gap: 16, children: [_jsx(Alert, { type: "success", showIcon: true, message: "Your password was changed." }), _jsx(Button, { type: "primary", size: "large", block: true, onClick: onBack, children: "Back to sign in" })] })) : null] }));
128
+ };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export type OryStatusError = {
3
+ title: string;
4
+ message: string;
5
+ /** `info` for an outcome the user chose (declined), `warning` for a failure. */
6
+ tone?: 'info' | 'warning';
7
+ retryLabel?: string;
8
+ };
9
+ type OryStatusProps = {
10
+ error?: OryStatusError | null;
11
+ onRetry: () => void;
12
+ };
13
+ /** What to tell the user for an Ory flow failure code. */
14
+ export declare const describeOryFailure: (code: string) => OryStatusError;
15
+ /** Shown while the browser is handed between Kratos, Hydra and the client, or when that fails. */
16
+ export declare const OryStatus: React.FC<OryStatusProps>;
17
+ export {};
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../../../../atoms/Button';
3
+ import { Flex } from '../../../../atoms/Flex';
4
+ import { Spin } from '../../../../atoms/Spin';
5
+ import { Text } from '../../../../atoms/Text';
6
+ import { Result } from '../../../../molecules/Result';
7
+ /** What to tell the user for an Ory flow failure code. */
8
+ export const describeOryFailure = (code) => {
9
+ switch (code) {
10
+ case 'ORY_AUTHORIZATION_DENIED':
11
+ return {
12
+ tone: 'info',
13
+ title: 'Access denied',
14
+ message: 'The request was declined, so no access was granted to the application.',
15
+ retryLabel: 'Start over',
16
+ };
17
+ case 'ORY_STATE_MISSING':
18
+ case 'ORY_STATE_MISMATCH':
19
+ case 'ORY_STATE_INVALID':
20
+ return {
21
+ title: 'This sign-in link is no longer valid',
22
+ message: 'It may have expired or been opened in a different browser. Please start again.',
23
+ retryLabel: 'Start over',
24
+ };
25
+ default:
26
+ return {
27
+ title: "We couldn't sign you in",
28
+ message: 'Unable to continue with secure sign-in. Please try again.',
29
+ };
30
+ }
31
+ };
32
+ /** Shown while the browser is handed between Kratos, Hydra and the client, or when that fails. */
33
+ export const OryStatus = ({ error, onRetry }) => error ? (_jsx("div", { role: "alert", children: _jsx(Result, { status: error.tone || 'warning', title: error.title, subTitle: error.message, extra: _jsx(Button, { type: "primary", onClick: onRetry, children: error.retryLabel || 'Try again' }) }) })) : (_jsxs(Flex, { vertical: true, align: "center", gap: 12, role: "status", "aria-live": "polite", children: [_jsx(Spin, {}), _jsx(Text, { type: "secondary", children: "Redirecting to secure sign-in\u2026" })] }));