@solidxai/core-ui 0.1.12-beta.0 → 0.1.12-beta.2

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 (241) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +15 -19
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +26 -20
  5. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  6. package/dist/components/auth/SolidLogin.js +6 -3
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +16 -2
  9. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  10. package/dist/components/auth/SolidRegister.js +7 -4
  11. package/dist/components/auth/SolidRegister.js.map +1 -1
  12. package/dist/components/auth/SolidRegister.tsx +16 -2
  13. package/dist/components/common/BackButton.js +1 -1
  14. package/dist/components/common/BackButton.js.map +1 -1
  15. package/dist/components/common/BackButton.tsx +1 -1
  16. package/dist/components/common/CancelButton.js +1 -1
  17. package/dist/components/common/CancelButton.js.map +1 -1
  18. package/dist/components/common/CancelButton.tsx +1 -1
  19. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  20. package/dist/components/common/GeneralSettings.js +6 -33
  21. package/dist/components/common/GeneralSettings.js.map +1 -1
  22. package/dist/components/common/GeneralSettings.tsx +20 -57
  23. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  24. package/dist/components/common/SettingsComponent.js +1 -9
  25. package/dist/components/common/SettingsComponent.js.map +1 -1
  26. package/dist/components/common/SettingsComponent.tsx +1 -8
  27. package/dist/components/common/SolidBreadcrumb.js +1 -1
  28. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  29. package/dist/components/common/SolidBreadcrumb.tsx +2 -2
  30. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
  31. package/dist/components/common/SolidFaviconProvider.js +1 -8
  32. package/dist/components/common/SolidFaviconProvider.js.map +1 -1
  33. package/dist/components/common/SolidFaviconProvider.tsx +1 -7
  34. package/dist/components/common/SolidLoadingState.d.ts +10 -0
  35. package/dist/components/common/SolidLoadingState.d.ts.map +1 -0
  36. package/dist/components/common/SolidLoadingState.js +8 -0
  37. package/dist/components/common/SolidLoadingState.js.map +1 -0
  38. package/dist/components/common/SolidLoadingState.module.css +56 -0
  39. package/dist/components/common/SolidLoadingState.tsx +28 -0
  40. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  41. package/dist/components/core/card/CardItem.js +3 -4
  42. package/dist/components/core/card/CardItem.js.map +1 -1
  43. package/dist/components/core/card/CardItem.tsx +3 -4
  44. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  45. package/dist/components/core/card/SolidCardView.js +6 -1
  46. package/dist/components/core/card/SolidCardView.js.map +1 -1
  47. package/dist/components/core/card/SolidCardView.tsx +6 -1
  48. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  49. package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
  50. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  51. package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
  52. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  53. package/dist/components/core/common/SolidCreateButton.js +2 -13
  54. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  55. package/dist/components/core/common/SolidCreateButton.tsx +2 -15
  56. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  57. package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
  58. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  59. package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
  60. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
  61. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  62. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
  63. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
  64. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  65. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
  66. package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
  67. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  68. package/dist/components/core/form/SolidFormFooter.js +48 -14
  69. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  70. package/dist/components/core/form/SolidFormFooter.tsx +50 -4
  71. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  72. package/dist/components/core/form/SolidFormView.js +52 -50
  73. package/dist/components/core/form/SolidFormView.js.map +1 -1
  74. package/dist/components/core/form/SolidFormView.tsx +16 -9
  75. package/dist/components/core/json/SolidJsonEditor.css +195 -0
  76. package/dist/components/core/json/SolidJsonEditor.d.ts +19 -0
  77. package/dist/components/core/json/SolidJsonEditor.d.ts.map +1 -0
  78. package/dist/components/core/json/SolidJsonEditor.js +109 -0
  79. package/dist/components/core/json/SolidJsonEditor.js.map +1 -0
  80. package/dist/components/core/json/SolidJsonEditor.tsx +150 -0
  81. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  82. package/dist/components/core/kanban/KanbanCard.js +2 -10
  83. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  84. package/dist/components/core/kanban/KanbanCard.tsx +2 -10
  85. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  86. package/dist/components/core/kanban/SolidKanbanView.js +11 -4
  87. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  88. package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
  89. package/dist/components/core/list/SolidListView.d.ts +2 -0
  90. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  91. package/dist/components/core/list/SolidListView.js +195 -111
  92. package/dist/components/core/list/SolidListView.js.map +1 -1
  93. package/dist/components/core/list/SolidListView.tsx +136 -39
  94. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  95. package/dist/components/core/list/SolidListViewConfigure.js +2 -0
  96. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  97. package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
  98. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  99. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
  100. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  101. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
  102. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  103. package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
  104. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  105. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
  106. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  107. package/dist/components/core/locales/SolidLocale.js +1 -2
  108. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  109. package/dist/components/core/locales/SolidLocale.tsx +1 -2
  110. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  111. package/dist/components/core/model/CreateModel.js +1 -1
  112. package/dist/components/core/model/CreateModel.js.map +1 -1
  113. package/dist/components/core/model/CreateModel.tsx +0 -1
  114. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  115. package/dist/components/core/model/ModelMetaData.js +1 -2
  116. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  117. package/dist/components/core/model/ModelMetaData.tsx +1 -3
  118. package/dist/components/core/module/CreateModule.css +70 -2
  119. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  120. package/dist/components/core/module/CreateModule.js +2 -2
  121. package/dist/components/core/module/CreateModule.js.map +1 -1
  122. package/dist/components/core/module/CreateModule.tsx +13 -1
  123. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  124. package/dist/components/core/tree/SolidTreeView.js +47 -26
  125. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  126. package/dist/components/core/tree/SolidTreeView.tsx +55 -23
  127. package/dist/components/layout/AdminTopHeader.js +2 -3
  128. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  129. package/dist/components/layout/AdminTopHeader.tsx +2 -2
  130. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  131. package/dist/components/layout/AppSidebar.js +5 -2
  132. package/dist/components/layout/AppSidebar.js.map +1 -1
  133. package/dist/components/layout/AppSidebar.tsx +7 -4
  134. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  135. package/dist/components/layout/navbar-two-menu.js +6 -4
  136. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  137. package/dist/components/layout/navbar-two-menu.tsx +4 -2
  138. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  139. package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
  140. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  141. package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -0
  142. package/dist/constants/error-messages.d.ts +1 -0
  143. package/dist/constants/error-messages.d.ts.map +1 -1
  144. package/dist/constants/error-messages.js +1 -0
  145. package/dist/constants/error-messages.js.map +1 -1
  146. package/dist/constants/error-messages.ts +1 -0
  147. package/dist/helpers/assetUrl.d.ts +3 -0
  148. package/dist/helpers/assetUrl.d.ts.map +1 -0
  149. package/dist/helpers/assetUrl.js +22 -0
  150. package/dist/helpers/assetUrl.js.map +1 -0
  151. package/dist/helpers/assetUrl.ts +26 -0
  152. package/dist/helpers/modelViewPersistence.d.ts +5 -0
  153. package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
  154. package/dist/helpers/modelViewPersistence.js +168 -0
  155. package/dist/helpers/modelViewPersistence.js.map +1 -0
  156. package/dist/helpers/modelViewPersistence.ts +201 -0
  157. package/dist/helpers/routePaths.d.ts +6 -0
  158. package/dist/helpers/routePaths.d.ts.map +1 -1
  159. package/dist/helpers/routePaths.js +13 -0
  160. package/dist/helpers/routePaths.js.map +1 -1
  161. package/dist/helpers/routePaths.ts +25 -0
  162. package/dist/index.d.ts +3 -0
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +3 -0
  165. package/dist/index.js.map +1 -1
  166. package/dist/index.ts +14 -0
  167. package/dist/redux/api/datasourceIntrospectionApi.d.ts +203 -0
  168. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -0
  169. package/dist/redux/api/datasourceIntrospectionApi.js +71 -0
  170. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -0
  171. package/dist/redux/api/datasourceIntrospectionApi.ts +261 -0
  172. package/dist/redux/api/datasourceManagementApi.d.ts +46 -0
  173. package/dist/redux/api/datasourceManagementApi.d.ts.map +1 -0
  174. package/dist/redux/api/datasourceManagementApi.js +35 -0
  175. package/dist/redux/api/datasourceManagementApi.js.map +1 -0
  176. package/dist/redux/api/datasourceManagementApi.ts +86 -0
  177. package/dist/redux/api/solidServiceApi.d.ts +10 -2
  178. package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
  179. package/dist/redux/api/solidServiceApi.js +2 -4
  180. package/dist/redux/api/solidServiceApi.js.map +1 -1
  181. package/dist/redux/api/solidServiceApi.ts +4 -6
  182. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  183. package/dist/redux/store/StoreProvider.js +4 -2
  184. package/dist/redux/store/StoreProvider.js.map +1 -1
  185. package/dist/redux/store/StoreProvider.tsx +9 -1
  186. package/dist/redux/store/defaultStoreConfig.d.ts +28 -1
  187. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  188. package/dist/redux/store/defaultStoreConfig.js +4 -0
  189. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  190. package/dist/redux/store/defaultStoreConfig.ts +4 -0
  191. package/dist/resources/solid-custom.css +73 -16
  192. package/dist/routes/guards/AdminGuard.d.ts.map +1 -1
  193. package/dist/routes/guards/AdminGuard.js +2 -1
  194. package/dist/routes/guards/AdminGuard.js.map +1 -1
  195. package/dist/routes/guards/AdminGuard.tsx +7 -1
  196. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  197. package/dist/routes/guards/AuthGuard.js +2 -1
  198. package/dist/routes/guards/AuthGuard.js.map +1 -1
  199. package/dist/routes/guards/AuthGuard.tsx +8 -2
  200. package/dist/routes/guards/GuestGuard.d.ts.map +1 -1
  201. package/dist/routes/guards/GuestGuard.js +2 -1
  202. package/dist/routes/guards/GuestGuard.js.map +1 -1
  203. package/dist/routes/guards/GuestGuard.tsx +8 -2
  204. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  205. package/dist/routes/pages/admin/core/CardPage.js +11 -0
  206. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  207. package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
  208. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  209. package/dist/routes/pages/admin/core/DashboardPage.js +7 -5
  210. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  211. package/dist/routes/pages/admin/core/DashboardPage.module.css +18 -0
  212. package/dist/routes/pages/admin/core/DashboardPage.tsx +50 -32
  213. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +828 -0
  214. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts +3 -0
  215. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -0
  216. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +947 -0
  217. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -0
  218. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1719 -0
  219. package/dist/routes/pages/admin/core/DatasourcesPage.css +337 -0
  220. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts +3 -0
  221. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -0
  222. package/dist/routes/pages/admin/core/DatasourcesPage.js +221 -0
  223. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -0
  224. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +540 -0
  225. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  226. package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
  227. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  228. package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
  229. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  230. package/dist/routes/pages/admin/core/ListPage.js +25 -2
  231. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  232. package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
  233. package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
  234. package/dist/routes/pages/admin/core/TreePage.js +10 -2
  235. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  236. package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
  237. package/dist/routes/solidRoutes.d.ts.map +1 -1
  238. package/dist/routes/solidRoutes.js +5 -1
  239. package/dist/routes/solidRoutes.js.map +1 -1
  240. package/dist/routes/solidRoutes.tsx +4 -0
  241. package/package.json +1 -1
@@ -65,14 +65,14 @@ var SolidRegister = function () {
65
65
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
66
66
  var envPasswordHelperText = env("NEXT_PUBLIC_PASSWORD_COMPLEXITY_DESC");
67
67
  var _q = useState(0), activeIndex = _q[0], setActiveIndex = _q[1];
68
- var solidSettingsData = useAuthSettings().solidSettingsData;
69
- var _r = useState(false), showOverlay = _r[0], setShowOverlay = _r[1];
68
+ var _r = useAuthSettings(), solidSettingsData = _r.solidSettingsData, isLoadingAuthSettings = _r.isLoadingAuthSettings;
69
+ var _s = useState(false), showOverlay = _s[0], setShowOverlay = _s[1];
70
70
  var dispatch = useDispatch();
71
71
  var router = useRouter();
72
72
  var isFormFieldValid = function (formik, fieldName) {
73
73
  return formik.touched[fieldName] && formik.errors[fieldName];
74
74
  };
75
- var _s = useRegisterMutation(), register = _s[0], _t = _s[1], isLoading = _t.isLoading, error = _t.error, isSuccess = _t.isSuccess, data = _t.data;
75
+ var _t = useRegisterMutation(), register = _t[0], _u = _t[1], isLoading = _u.isLoading, error = _u.error, isSuccess = _u.isSuccess, data = _u.data;
76
76
  var initiateRegister = useInitateRegisterMutation()[0];
77
77
  var showError = function () {
78
78
  var _a, _b, _c;
@@ -290,6 +290,9 @@ var SolidRegister = function () {
290
290
  };
291
291
  var RenderAuthModes = function (_a) {
292
292
  var passwordBasedAuth = _a.passwordBasedAuth, passwordLessAuth = _a.passwordLessAuth, showNameFieldsForRegistration = _a.showNameFieldsForRegistration;
293
+ if (isLoadingAuthSettings) {
294
+ return (_jsxs("div", { className: "solid-auth-empty-state is-loading", "aria-live": "polite", children: [_jsx("p", { className: "solid-auth-empty-title", children: "Loading registration options..." }), _jsx("p", { className: "solid-auth-empty-copy", children: "We're fetching the authentication settings for this workspace." })] }));
295
+ }
293
296
  if (passwordBasedAuth && passwordLessAuth) {
294
297
  return (_jsx(AuthTabs, { activeIndex: activeIndex, onChange: setActiveIndex, tabs: [
295
298
  {
@@ -307,7 +310,7 @@ var SolidRegister = function () {
307
310
  return _jsx(PasswordLessSignup, {});
308
311
  }
309
312
  else {
310
- return _jsx("p", { children: "No authentication method available" });
313
+ return (_jsxs("div", { className: "solid-auth-empty-state", role: "status", children: [_jsx("p", { className: "solid-auth-empty-title", children: "No authentication method available" }), _jsx("p", { className: "solid-auth-empty-copy", children: "Ask your administrator to enable a password or passwordless authentication option." })] }));
311
314
  }
312
315
  };
313
316
  var isAnyOAuthEnabled = !!(((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.iamGoogleOAuthEnabled) ||
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRegister.js","sourceRoot":"","sources":["../../../src/components/auth/SolidRegister.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitateRegisterMutation, useRegisterMutation } from \"../../redux/api/authApi\";\nimport { FetchBaseQueryError } from \"@reduxjs/toolkit/query/react\";\nimport { Form, Formik } from \"formik\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { AuthTabs } from \"./AuthTabs\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidDivider, SolidInput, SolidMessage, SolidPasswordInput, SolidSpinner } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\ninterface AuthModesProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n showNameFieldsForRegistration?: boolean;\n}\n\nconst SolidRegister = () => {\n const envPasswordHelperText = env(\"NEXT_PUBLIC_PASSWORD_COMPLEXITY_DESC\");\n const [activeIndex, setActiveIndex] = useState(0);\n const { solidSettingsData } = useAuthSettings();\n\n const [showOverlay, setShowOverlay] = useState(false);\n\n const dispatch = useDispatch();\n\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const [register, { isLoading, error, isSuccess, data }] = useRegisterMutation();\n\n const [initiateRegister] = useInitateRegisterMutation();\n\n const showError = () => {\n if (error) {\n if (\"data\" in error) {\n const apiError = error as FetchBaseQueryError;\n // @ts-ignore\n const errorMessages = Array.isArray(apiError.data?.message) ? apiError.data?.message : [apiError.data?.message];\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.ERROR,\n detail: errorMessages.join(\", \"),\n life: 10000\n }));\n } else {\n const serializedError = error as Error;\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.ERROR,\n detail: serializedError.message || ERROR_MESSAGES.ERROR_OCCURED,\n life: 10000\n }));\n }\n }\n };\n\n useEffect(() => {\n if (error) {\n showError();\n }\n }, [error]);\n\n // useEffect(() => {\n // if (isSuccess) {\n // router.replace(\"/auth/login\");\n // }\n // }, [isSuccess])\n\n const PasswordSignup = ({ showNameFieldsForRegistration }: { showNameFieldsForRegistration?: boolean }) => {\n console.log(\"showNameFieldsForRegistration\", showNameFieldsForRegistration);\n return (\n <Formik\n initialValues={{\n username: \"\",\n email: \"\",\n password: \"\",\n firstName: \"\",\n lastName: \"\"\n }}\n\n validationSchema={Yup.object({\n username: showNameFieldsForRegistration\n ? Yup.string().notRequired()\n : Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('User Name')),\n\n firstName: showNameFieldsForRegistration\n ? Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('First Name'))\n : Yup.string().notRequired(),\n\n lastName: showNameFieldsForRegistration\n ? Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Last Name '))\n : Yup.string().notRequired(),\n\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n password: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Password'))\n .min(8, ERROR_MESSAGES.PASSWORD_CHARACTER(8))\n .matches(/[a-z]/, ERROR_MESSAGES.PASSWORD_CONTAIN('lowercase'))\n .matches(/[A-Z]/, ERROR_MESSAGES.PASSWORD_CONTAIN('uppercase'))\n .matches(/\\d/, ERROR_MESSAGES.PASSWORD_CONTAIN('one', 'number'))\n .matches(/[@$!%*?&#^(){}[\\]|\\\\/~`+=<>:;'\"_,.-]/, ERROR_MESSAGES.PASSWORD_CONTAIN('special', 'character')),\n })}\n\n onSubmit={async (values, { setSubmitting }) => {\n try {\n let userData: any = {\n email: values.email,\n password: values.password,\n };\n if (showNameFieldsForRegistration) {\n const fullName = `${values.firstName || \"\"} ${values.lastName || \"\"}`.trim();\n const username = `${values.firstName || \"\"}${values.lastName || \"\"}`.trim().toLowerCase();\n console.log(\"fullName, username\", fullName, username);\n userData = {\n ...userData,\n fullName,\n username\n };\n } else {\n userData = {\n ...userData,\n username: values.username,\n };\n }\n const response = await register(userData).unwrap();\n\n if (response?.statusCode === 200) {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.USER_REGISTER, detail: response?.data?.message }));\n setShowOverlay(true);\n setTimeout(() => {\n router.push(`/auth/login`);\n }, 3000);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.EMAIL_ALREADY_TAKEN, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {showNameFieldsForRegistration ? (\n <>\n {/* first + last name inline */}\n <div className=\"flex gap-2 mt-4\">\n <div className=\"flex flex-col w-full gap-2\">\n <label className=\"solid-auth-input-label\">First Name</label>\n <SolidInput\n id=\"firstName\"\n name=\"firstName\"\n placeholder=\"First Name\"\n onChange={formik.handleChange}\n value={formik.values.firstName}\n aria-invalid={!!formik.errors.firstName}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"firstName\") && (\n <SolidMessage severity=\"error\" text={formik.errors.firstName?.toString()} />\n )}\n </div>\n\n <div className=\"flex flex-col w-full gap-2\">\n <label className=\"solid-auth-input-label\">Last Name</label>\n <SolidInput\n id=\"lastName\"\n name=\"lastName\"\n placeholder=\"Last Name\"\n onChange={formik.handleChange}\n value={formik.values.lastName}\n aria-invalid={!!formik.errors.lastName}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"lastName\") && (\n <SolidMessage severity=\"error\" text={formik.errors.lastName?.toString()} />\n )}\n </div>\n </div>\n </>\n ) : (\n <>\n {/* username (only if name fields not shown) */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Username</label>\n <SolidInput\n id=\"username\"\n name=\"username\"\n placeholder=\"username\"\n onChange={formik.handleChange}\n value={formik.values.username}\n aria-invalid={!!formik.errors.username}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"username\") &&\n <SolidMessage severity=\"error\" text={formik.errors.username?.toString()} />}\n </div>\n </>\n )}\n\n {/* Email */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Email</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder=\"Yourgmail@123.com\"\n onChange={formik.handleChange}\n value={formik.values.email}\n aria-invalid={!!formik.errors.email}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"email\") &&\n <SolidMessage severity=\"error\" text={formik.errors.email?.toString()} />}\n </div>\n\n {/* Password */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Password</label>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggle\n className=\"w-full\"\n aria-invalid={!!formik.errors.password}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"password\") &&\n <SolidMessage severity=\"error\" text={formik.errors.password?.toString()} />}\n </div>\n {/* <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} /> */}\n <div className=\"mt-6\">\n <SolidButton className=\"w-full font-light auth-submit-button\" label=\"Sign Up\" disabled={formik.isSubmitting} loading={formik.isSubmitting} type=\"submit\" />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessSignup = () => {\n const registrationValidationSource: \"email\" | \"mobile\" =\n solidSettingsData?.data?.passwordlessRegistrationValidateWhat === \"mobile\" ? \"mobile\" : \"email\";\n const isMobile = registrationValidationSource === \"mobile\";\n\n return (\n <Formik\n initialValues={{\n username: \"\",\n email: \"\",\n mobile: \"\",\n }}\n validationSchema={Yup.object({\n username: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('User Name')),\n email: isMobile\n ? Yup.string().notRequired()\n : Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n mobile: isMobile\n ? Yup.string()\n .matches(/^[+0-9][0-9\\s-]{6,}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile'))\n : Yup.string().notRequired(),\n })}\n onSubmit={async (values, { setSubmitting }) => {\n try {\n const identifier = isMobile ? values.mobile : values.email;\n const RESEND_OTP_KEY = `resendOtpRegister_${identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const payload: Record<string, any> = {\n username: values.username,\n validationSources: [registrationValidationSource],\n };\n if (isMobile) {\n payload.mobile = values.mobile;\n } else {\n payload.email = values.email;\n }\n const storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);\n const now = Date.now();\n if (storedTimeStr) {\n const lastSent = parseInt(storedTimeStr, 10);\n const elapsed = Math.floor((now - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n const formatted = formatTimeLeft(remaining);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.PLEASE_WAIT, detail: ERROR_MESSAGES.OPT_FORMAT(formatted) }));\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateRegister(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_SEND, detail: response?.data?.message }));\n localStorage.setItem(`resendOtpRegister_${identifier}`, Date.now().toString());\n const params = new URLSearchParams({\n username: values.username,\n type: registrationValidationSource,\n identifier,\n });\n if (isMobile) {\n params.set(\"mobile\", values.mobile);\n } else {\n params.set(\"email\", values.email);\n }\n router.push(`/auth/initiate-register?${params.toString()}`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"username\" className=\"solid-auth-input-label\">Username</label>\n <SolidInput\n id=\"username\"\n name=\"username\"\n placeholder=\"username\"\n onChange={formik.handleChange}\n value={formik.values.username}\n aria-invalid={!!formik.errors.username}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"username\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.username?.toString()}\n />}\n </div>\n {isMobile ? (\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"mobile\" className=\"solid-auth-input-label\">Mobile</label>\n <SolidInput\n id=\"mobile\"\n name=\"mobile\"\n placeholder=\"+1 555 123 4567\"\n onChange={formik.handleChange}\n value={formik.values.mobile}\n aria-invalid={!!formik.errors.mobile}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"mobile\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.mobile?.toString()}\n />}\n </div>\n ) : (\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">Email</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder=\"Yourgmail@123.com\"\n onChange={formik.handleChange}\n value={formik.values.email}\n aria-invalid={!!formik.errors.email}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"email\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.email?.toString()}\n />}\n </div>\n )}\n <div className=\"mt-6\">\n <SolidButton className=\"w-full font-light auth-submit-button\" label=\"Sign Up\" disabled={formik.isSubmitting} loading={formik.isSubmitting} type=\"submit\" />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth, showNameFieldsForRegistration }) => {\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <AuthTabs\n activeIndex={activeIndex}\n onChange={setActiveIndex}\n tabs={[\n {\n key: \"with-password\",\n label: \"With Password\",\n content: <PasswordSignup showNameFieldsForRegistration={showNameFieldsForRegistration} />,\n },\n { key: \"without-password\", label: \"Without Password\", content: <PasswordLessSignup /> },\n ]}\n />\n );\n } else if (passwordBasedAuth) {\n return <PasswordSignup showNameFieldsForRegistration={showNameFieldsForRegistration} />;\n } else if (passwordLessAuth) {\n return <PasswordLessSignup />;\n } else {\n return <p>No authentication method available</p>;\n }\n };\n const isAnyOAuthEnabled = !!(\n solidSettingsData?.data?.iamGoogleOAuthEnabled ||\n solidSettingsData?.data?.iamFacebookOAuthEnabled ||\n solidSettingsData?.data?.iamAppleOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled\n );\n return (\n <div className=\"\">\n {/* Overlay UI */}\n <div className={`auth-container position-relative ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n {showOverlay && (\n <div className=\"absolute top-0 left-0 w-full h-full flex items-center justify-center register-success-popup\">\n <div className=\"register-success-card\">\n <div className=\"register-success-badge\">Account created</div>\n <SolidSpinner className=\"auth-success-spinner\" size={32} />\n <div className=\"register-success-copy\">\n <h3 className=\"register-success-title\">Preparing your sign-in</h3>\n <p className=\"register-success-text\">\n Your profile has been created successfully. We&apos;re taking you to the login screen now.\n </p>\n </div>\n <div className=\"register-success-progress\" aria-hidden=\"true\">\n <span className=\"register-success-progress-bar\" />\n </div>\n </div>\n </div>\n )}\n <h2 className=\"solid-auth-title\">Create your account</h2>\n <p className=\"solid-auth-helper\">Enter your details below to create your account</p>\n {/* <p className=\"solid-auth-subtitle text-sm\">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}\n <RenderAuthModes passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} showNameFieldsForRegistration={solidSettingsData?.data?.showNameFieldsForRegistration} />\n {isAnyOAuthEnabled && (\n <>\n <div className=\"solid-auth-divider flex items-center gap-2 my-6\">\n <SolidDivider className=\"flex-1\" />\n <span className=\"text-sm text-500\">Or continue with</span>\n <SolidDivider className=\"flex-1\" />\n </div>\n <SocialMediaLogin\n googleEnabled={solidSettingsData?.data?.iamGoogleOAuthEnabled}\n facebookEnabled={solidSettingsData?.data?.iamFacebookOAuthEnabled}\n appleEnabled={solidSettingsData?.data?.iamAppleOAuthEnabled}\n microsoftEnabled={solidSettingsData?.data?.iamMicrosoftOAuthEnabled}\n microsoftActiveDirectoryEnabled={solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled}\n />\n </>\n )}\n </div>\n <div className=\"text-center mt-4 md:mt-6\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n Already have an account? <Link className=\"font-bold\" href=\"/auth/login\" tabIndex={-1}>Sign In</Link>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SolidRegister;\n"]}
1
+ {"version":3,"file":"SolidRegister.js","sourceRoot":"","sources":["../../../src/components/auth/SolidRegister.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,IAAM,aAAa,GAAG;;IAClB,IAAM,qBAAqB,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpE,IAAA,KAAgC,QAAQ,CAAC,CAAC,CAAC,EAA1C,WAAW,QAAA,EAAE,cAAc,QAAe,CAAC;IAC5C,IAAA,KAA+C,eAAe,EAAE,EAA9D,iBAAiB,uBAAA,EAAE,qBAAqB,2BAAsB,CAAC;IAEjE,IAAA,KAAgC,QAAQ,CAAC,KAAK,CAAC,EAA9C,WAAW,QAAA,EAAE,cAAc,QAAmB,CAAC;IAEtD,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAM,gBAAgB,GAAG,UAAC,MAAW,EAAE,SAAiB;QACpD,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAArD,CAAqD,CAAC;IAEpD,IAAA,KAAoD,mBAAmB,EAAE,EAAxE,QAAQ,QAAA,EAAE,UAAqC,EAAnC,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAA2B,CAAC;IAEzE,IAAA,gBAAgB,GAAI,0BAA0B,EAAE,GAAhC,CAAiC;IAExD,IAAM,SAAS,GAAG;;QACd,IAAI,KAAK,EAAE;YACP,IAAI,MAAM,IAAI,KAAK,EAAE;gBACjB,IAAM,QAAQ,GAAG,KAA4B,CAAC;gBAC9C,aAAa;gBACb,IAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC,CAAC;gBAChH,QAAQ,CAAC,SAAS,CAAC;oBACf,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,cAAc,CAAC,KAAK;oBAC7B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAChC,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC,CAAC;aACP;iBAAM;gBACH,IAAM,eAAe,GAAG,KAAc,CAAC;gBACvC,QAAQ,CAAC,SAAS,CAAC;oBACf,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,cAAc,CAAC,KAAK;oBAC7B,MAAM,EAAE,eAAe,CAAC,OAAO,IAAI,cAAc,CAAC,aAAa;oBAC/D,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC,CAAC;aACP;SACJ;IACL,CAAC,CAAC;IAEF,SAAS,CAAC;QACN,IAAI,KAAK,EAAE;YACP,SAAS,EAAE,CAAC;SACf;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,oBAAoB;IACpB,uBAAuB;IACvB,6CAA6C;IAC7C,QAAQ;IACR,kBAAkB;IAElB,IAAM,cAAc,GAAG,UAAC,EAA8E;YAA5E,6BAA6B,mCAAA;QACnD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,6BAA6B,CAAC,CAAC;QAC5E,OAAO,CACH,KAAC,MAAM,IACH,aAAa,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;aACf,EAED,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;gBACzB,QAAQ,EAAE,6BAA6B;oBACnC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;oBAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAEvE,SAAS,EAAE,6BAA6B;oBACpC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBACpE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;gBAEhC,QAAQ,EAAE,6BAA6B;oBACnC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBACpE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;gBAEhC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;qBACd,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;qBACpD,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACrD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;qBACjB,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;qBACnD,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;qBAC5C,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;qBAC9D,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;qBAC9D,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;qBAC/D,OAAO,CAAC,sCAAsC,EAAE,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAChH,CAAC,EAEF,QAAQ,EAAE,UAAO,MAAM,EAAE,EAAiB;oBAAf,aAAa,mBAAA;;;;;;;;gCAE5B,QAAQ,GAAQ;oCAChB,KAAK,EAAE,MAAM,CAAC,KAAK;oCACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iCAC5B,CAAC;gCACF,IAAI,6BAA6B,EAAE;oCACzB,QAAQ,GAAG,UAAG,MAAM,CAAC,SAAS,IAAI,EAAE,cAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAE,CAAC,IAAI,EAAE,CAAC;oCACvE,QAAQ,GAAG,UAAG,MAAM,CAAC,SAAS,IAAI,EAAE,SAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oCAC1F,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oCACtD,QAAQ,yBACD,QAAQ,KACX,QAAQ,UAAA,EACR,QAAQ,UAAA,GACX,CAAC;iCACL;qCAAM;oCACH,QAAQ,yBACD,QAAQ,KACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC5B,CAAC;iCACL;gCACgB,qBAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAA;;gCAA5C,QAAQ,GAAG,SAAiC;gCAElD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;oCAC9B,wHAAwH;oCACxH,cAAc,CAAC,IAAI,CAAC,CAAC;oCACrB,UAAU,CAAC;wCACP,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oCAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;iCACZ;qCAAM;oCACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iCAC3G;;;;gCAED,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,EAAC,CAAC,CAAC,MAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;;;gCAEjK,aAAa,CAAC,KAAK,CAAC,CAAC;;;;;;aAE5B,YAEA,UAAC,MAAM;;gBAAK,OAAA,CACT,MAAC,IAAI,eACA,6BAA6B,CAAC,CAAC,CAAC,CAC7B,4BAEI,eAAK,SAAS,EAAC,iBAAiB,aAC5B,eAAK,SAAS,EAAC,4BAA4B,aACvC,gBAAO,SAAS,EAAC,wBAAwB,2BAAmB,EAC5D,KAAC,UAAU,IACP,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,WAAW,EAChB,WAAW,EAAC,YAAY,EACxB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,kBAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EACvC,YAAY,EAAC,KAAK,GACpB,EACD,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CACtC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,0CAAE,QAAQ,EAAE,GAAI,CAC/E,IACC,EAEN,eAAK,SAAS,EAAC,4BAA4B,aACvC,gBAAO,SAAS,EAAC,wBAAwB,0BAAkB,EAC3D,KAAC,UAAU,IACP,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,WAAW,EAAC,WAAW,EACvB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,kBACf,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtC,YAAY,EAAC,KAAK,GACpB,EACD,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CACrC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,QAAQ,EAAE,GAAI,CAC9E,IACC,IACJ,GACP,CACN,CAAC,CAAC,CAAC,CACA,4BAEI,0BACI,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,wBAAwB,yBAAiB,EAC1D,KAAC,UAAU,IACP,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,WAAW,EAAC,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,kBACf,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtC,YAAY,EAAC,KAAK,GACpB,IACA,EACL,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;wCACjC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,QAAQ,EAAE,GAAI,IAC7E,GACP,CACN,EAGD,0BACI,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,wBAAwB,sBAAc,EACvD,KAAC,UAAU,IACP,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,OAAO,EACZ,WAAW,EAAC,mBAAmB,EAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,kBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EACnC,YAAY,EAAC,KAAK,GACpB,IACA,EACL,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;oCAC9B,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,KAAK,0CAAE,QAAQ,EAAE,GAAI,IAC1E,EAGN,0BACI,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,wBAAwB,yBAAiB,EAC1D,KAAC,kBAAkB,IACf,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,QACN,SAAS,EAAC,QAAQ,kBACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtC,YAAY,EAAC,KAAK,GACpB,IACA,EACL,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;oCACjC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,QAAQ,EAAE,GAAI,IAC7E,EAEN,cAAK,SAAS,EAAC,MAAM,YACjB,KAAC,WAAW,IAAC,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAC,QAAQ,GAAG,GACzJ,IACH,CACV,CAAA;aAAA,GACI,CACZ,CAAA;IACL,CAAC,CAAA;IAED,IAAM,kBAAkB,GAAG;;QACvB,IAAM,4BAA4B,GAC9B,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,oCAAoC,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QACpG,IAAM,QAAQ,GAAG,4BAA4B,KAAK,QAAQ,CAAC;QAE3D,OAAO,CACH,KAAC,MAAM,IACH,aAAa,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACb,EACD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;gBACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC3E,KAAK,EAAE,QAAQ;oBACX,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;oBAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;yBACT,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;yBACpD,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,EAAE,QAAQ;oBACZ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;yBACT,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;yBAC9E,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACtD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,EACF,QAAQ,EAAE,UAAO,MAAM,EAAE,EAAiB;oBAAf,aAAa,mBAAA;;;;;;;;gCAE1B,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCACrD,cAAc,GAAG,4BAAqB,UAAU,CAAE,CAAC;gCACnD,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,KAAK,CAAC,CAAC;gCAChF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;gCACzD,OAAO,GAAwB;oCACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,iBAAiB,EAAE,CAAC,4BAA4B,CAAC;iCACpD,CAAC;gCACF,IAAI,QAAQ,EAAE;oCACV,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAClC;qCAAM;oCACH,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;iCAChC;gCACK,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gCACrD,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gCACvB,IAAI,aAAa,EAAE;oCACT,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oCACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;oCAC9C,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC;oCAE7C,IAAI,SAAS,GAAG,CAAC,EAAE;wCACT,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;wCAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;wCAC9H,aAAa,CAAC,KAAK,CAAC,CAAC;wCACrB,sBAAO,CAAC,mBAAmB;qCAC9B;iCACJ;gCACgB,qBAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAA;;gCAAnD,QAAQ,GAAG,SAAwC;gCAEzD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;oCAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oCAChH,YAAY,CAAC,OAAO,CAAC,4BAAqB,UAAU,CAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oCACzE,MAAM,GAAG,IAAI,eAAe,CAAC;wCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;wCACzB,IAAI,EAAE,4BAA4B;wCAClC,UAAU,YAAA;qCACb,CAAC,CAAC;oCACH,IAAI,QAAQ,EAAE;wCACV,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;qCACvC;yCAAM;wCACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;qCACrC;oCACD,MAAM,CAAC,IAAI,CAAC,kCAA2B,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAC;iCAC/D;qCAAM;oCACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iCAC3G;;;;gCAED,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,EAAC,CAAC,CAAC,MAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;;;gCAEzJ,aAAa,CAAC,KAAK,CAAC,CAAC;;;;;;aAE5B,YAEA,UAAC,MAAM;;gBAAK,OAAA,CACT,MAAC,IAAI,eACD,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,wBAAwB,yBAAiB,EAC7E,KAAC,UAAU,IACP,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,WAAW,EAAC,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,kBACf,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtC,YAAY,EAAC,KAAK,GACpB,EACD,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,KAAC,YAAY,IAClD,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,QAAQ,0CAAE,QAAQ,EAAE,GAC5C,IACA,EACL,QAAQ,CAAC,CAAC,CAAC,CACR,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,uBAAe,EACzE,KAAC,UAAU,IACP,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,kBACb,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EACpC,YAAY,EAAC,KAAK,GACpB,EACD,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAC,YAAY,IAChD,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,MAAM,0CAAE,QAAQ,EAAE,GAC1C,IACA,CACT,CAAC,CAAC,CAAC,CACA,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,wBAAwB,sBAAc,EACvE,KAAC,UAAU,IACP,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,OAAO,EACZ,WAAW,EAAC,mBAAmB,EAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,kBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EACnC,YAAY,EAAC,KAAK,GACpB,EACD,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAC,YAAY,IAC/C,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,KAAK,0CAAE,QAAQ,EAAE,GACzC,IACA,CACT,EACD,cAAK,SAAS,EAAC,MAAM,YACjB,KAAC,WAAW,IAAC,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAC,QAAQ,GAAG,GACzJ,IACH,CACV,CAAA;aAAA,GACI,CACZ,CAAA;IACL,CAAC,CAAA;IAED,IAAM,eAAe,GAA6B,UAAC,EAAsE;YAApE,iBAAiB,uBAAA,EAAE,gBAAgB,sBAAA,EAAE,6BAA6B,mCAAA;QACnH,IAAI,qBAAqB,EAAE;YACvB,OAAO,CACH,eAAK,SAAS,EAAC,mCAAmC,eAAW,QAAQ,aACjE,YAAG,SAAS,EAAC,wBAAwB,gDAAoC,EACzE,YAAG,SAAS,EAAC,uBAAuB,+EAAwE,IAC1G,CACT,CAAC;SACL;QAED,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;YACvC,OAAO,CACH,KAAC,QAAQ,IACL,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE;oBACF;wBACI,GAAG,EAAE,eAAe;wBACpB,KAAK,EAAE,eAAe;wBACtB,OAAO,EAAE,KAAC,cAAc,IAAC,6BAA6B,EAAE,6BAA6B,GAAI;qBAC5F;oBACD,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAC,kBAAkB,KAAG,EAAE;iBAC1F,GACH,CACL,CAAC;SACL;aAAM,IAAI,iBAAiB,EAAE;YAC1B,OAAO,KAAC,cAAc,IAAC,6BAA6B,EAAE,6BAA6B,GAAI,CAAC;SAC3F;aAAM,IAAI,gBAAgB,EAAE;YACzB,OAAO,KAAC,kBAAkB,KAAG,CAAC;SACjC;aAAM;YACH,OAAO,CACH,eAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,QAAQ,aACjD,YAAG,SAAS,EAAC,wBAAwB,mDAAuC,EAC5E,YAAG,SAAS,EAAC,uBAAuB,mGAAuF,IACzH,CACT,CAAC;SACL;IACL,CAAC,CAAC;IACF,IAAM,iBAAiB,GAAG,CAAC,CAAC,CACxB,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,qBAAqB;SAC9C,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uBAAuB,CAAA;SAChD,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,oBAAoB,CAAA;SAC7C,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,wBAAwB,CAAA;SACjD,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uCAAuC,CAAA,CACnE,CAAC;IACF,OAAO,CACH,eAAK,SAAS,EAAC,EAAE,aAEb,eAAK,SAAS,EAAE,2CAAoC,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,aAC1H,WAAW,IAAI,CACZ,cAAK,SAAS,EAAC,6FAA6F,YACxG,eAAK,SAAS,EAAC,uBAAuB,aAClC,cAAK,SAAS,EAAC,wBAAwB,gCAAsB,EAC7D,KAAC,YAAY,IAAC,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAE,EAAE,GAAI,EAC3D,eAAK,SAAS,EAAC,uBAAuB,aAClC,aAAI,SAAS,EAAC,wBAAwB,uCAA4B,EAClE,YAAG,SAAS,EAAC,uBAAuB,sGAEhC,IACF,EACN,cAAK,SAAS,EAAC,2BAA2B,iBAAa,MAAM,YACzD,eAAM,SAAS,EAAC,+BAA+B,GAAG,GAChD,IACJ,GACJ,CACT,EACD,aAAI,SAAS,EAAC,kBAAkB,oCAAyB,EACzD,YAAG,SAAS,EAAC,mBAAmB,gEAAoD,EAEpF,KAAC,eAAe,IAAC,iBAAiB,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,6BAA6B,GAAI,EACrO,iBAAiB,IAAI,CAClB,8BACI,eAAK,SAAS,EAAC,iDAAiD,aAC5D,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,GAAG,EACnC,eAAM,SAAS,EAAC,kBAAkB,iCAAwB,EAC1D,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,GAAG,IACjC,EACN,KAAC,gBAAgB,IACb,aAAa,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,qBAAqB,EAC7D,eAAe,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uBAAuB,EACjE,YAAY,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,oBAAoB,EAC3D,gBAAgB,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,wBAAwB,EACnE,+BAA+B,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uCAAuC,GACnG,IACH,CACN,IACC,EACN,cAAK,SAAS,EAAC,0BAA0B,YACrC,eAAK,SAAS,EAAC,uCAAuC,0CACzB,KAAC,IAAI,IAAC,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,aAAa,EAAC,QAAQ,EAAE,CAAC,CAAC,wBAAgB,IAClG,GACJ,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { useInitateRegisterMutation, useRegisterMutation } from \"../../redux/api/authApi\";\nimport { FetchBaseQueryError } from \"@reduxjs/toolkit/query/react\";\nimport { Form, Formik } from \"formik\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { AuthTabs } from \"./AuthTabs\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidDivider, SolidInput, SolidMessage, SolidPasswordInput, SolidSpinner } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\ninterface AuthModesProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n showNameFieldsForRegistration?: boolean;\n}\n\nconst SolidRegister = () => {\n const envPasswordHelperText = env(\"NEXT_PUBLIC_PASSWORD_COMPLEXITY_DESC\");\n const [activeIndex, setActiveIndex] = useState(0);\n const { solidSettingsData, isLoadingAuthSettings } = useAuthSettings();\n\n const [showOverlay, setShowOverlay] = useState(false);\n\n const dispatch = useDispatch();\n\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const [register, { isLoading, error, isSuccess, data }] = useRegisterMutation();\n\n const [initiateRegister] = useInitateRegisterMutation();\n\n const showError = () => {\n if (error) {\n if (\"data\" in error) {\n const apiError = error as FetchBaseQueryError;\n // @ts-ignore\n const errorMessages = Array.isArray(apiError.data?.message) ? apiError.data?.message : [apiError.data?.message];\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.ERROR,\n detail: errorMessages.join(\", \"),\n life: 10000\n }));\n } else {\n const serializedError = error as Error;\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.ERROR,\n detail: serializedError.message || ERROR_MESSAGES.ERROR_OCCURED,\n life: 10000\n }));\n }\n }\n };\n\n useEffect(() => {\n if (error) {\n showError();\n }\n }, [error]);\n\n // useEffect(() => {\n // if (isSuccess) {\n // router.replace(\"/auth/login\");\n // }\n // }, [isSuccess])\n\n const PasswordSignup = ({ showNameFieldsForRegistration }: { showNameFieldsForRegistration?: boolean }) => {\n console.log(\"showNameFieldsForRegistration\", showNameFieldsForRegistration);\n return (\n <Formik\n initialValues={{\n username: \"\",\n email: \"\",\n password: \"\",\n firstName: \"\",\n lastName: \"\"\n }}\n\n validationSchema={Yup.object({\n username: showNameFieldsForRegistration\n ? Yup.string().notRequired()\n : Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('User Name')),\n\n firstName: showNameFieldsForRegistration\n ? Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('First Name'))\n : Yup.string().notRequired(),\n\n lastName: showNameFieldsForRegistration\n ? Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Last Name '))\n : Yup.string().notRequired(),\n\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n password: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Password'))\n .min(8, ERROR_MESSAGES.PASSWORD_CHARACTER(8))\n .matches(/[a-z]/, ERROR_MESSAGES.PASSWORD_CONTAIN('lowercase'))\n .matches(/[A-Z]/, ERROR_MESSAGES.PASSWORD_CONTAIN('uppercase'))\n .matches(/\\d/, ERROR_MESSAGES.PASSWORD_CONTAIN('one', 'number'))\n .matches(/[@$!%*?&#^(){}[\\]|\\\\/~`+=<>:;'\"_,.-]/, ERROR_MESSAGES.PASSWORD_CONTAIN('special', 'character')),\n })}\n\n onSubmit={async (values, { setSubmitting }) => {\n try {\n let userData: any = {\n email: values.email,\n password: values.password,\n };\n if (showNameFieldsForRegistration) {\n const fullName = `${values.firstName || \"\"} ${values.lastName || \"\"}`.trim();\n const username = `${values.firstName || \"\"}${values.lastName || \"\"}`.trim().toLowerCase();\n console.log(\"fullName, username\", fullName, username);\n userData = {\n ...userData,\n fullName,\n username\n };\n } else {\n userData = {\n ...userData,\n username: values.username,\n };\n }\n const response = await register(userData).unwrap();\n\n if (response?.statusCode === 200) {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.USER_REGISTER, detail: response?.data?.message }));\n setShowOverlay(true);\n setTimeout(() => {\n router.push(`/auth/login`);\n }, 3000);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.EMAIL_ALREADY_TAKEN, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {showNameFieldsForRegistration ? (\n <>\n {/* first + last name inline */}\n <div className=\"flex gap-2 mt-4\">\n <div className=\"flex flex-col w-full gap-2\">\n <label className=\"solid-auth-input-label\">First Name</label>\n <SolidInput\n id=\"firstName\"\n name=\"firstName\"\n placeholder=\"First Name\"\n onChange={formik.handleChange}\n value={formik.values.firstName}\n aria-invalid={!!formik.errors.firstName}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"firstName\") && (\n <SolidMessage severity=\"error\" text={formik.errors.firstName?.toString()} />\n )}\n </div>\n\n <div className=\"flex flex-col w-full gap-2\">\n <label className=\"solid-auth-input-label\">Last Name</label>\n <SolidInput\n id=\"lastName\"\n name=\"lastName\"\n placeholder=\"Last Name\"\n onChange={formik.handleChange}\n value={formik.values.lastName}\n aria-invalid={!!formik.errors.lastName}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"lastName\") && (\n <SolidMessage severity=\"error\" text={formik.errors.lastName?.toString()} />\n )}\n </div>\n </div>\n </>\n ) : (\n <>\n {/* username (only if name fields not shown) */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Username</label>\n <SolidInput\n id=\"username\"\n name=\"username\"\n placeholder=\"username\"\n onChange={formik.handleChange}\n value={formik.values.username}\n aria-invalid={!!formik.errors.username}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"username\") &&\n <SolidMessage severity=\"error\" text={formik.errors.username?.toString()} />}\n </div>\n </>\n )}\n\n {/* Email */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Email</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder=\"Yourgmail@123.com\"\n onChange={formik.handleChange}\n value={formik.values.email}\n aria-invalid={!!formik.errors.email}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"email\") &&\n <SolidMessage severity=\"error\" text={formik.errors.email?.toString()} />}\n </div>\n\n {/* Password */}\n <div>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label className=\"solid-auth-input-label\">Password</label>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggle\n className=\"w-full\"\n aria-invalid={!!formik.errors.password}\n autoComplete=\"off\"\n />\n </div>\n {isFormFieldValid(formik, \"password\") &&\n <SolidMessage severity=\"error\" text={formik.errors.password?.toString()} />}\n </div>\n {/* <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} /> */}\n <div className=\"mt-6\">\n <SolidButton className=\"w-full font-light auth-submit-button\" label=\"Sign Up\" disabled={formik.isSubmitting} loading={formik.isSubmitting} type=\"submit\" />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessSignup = () => {\n const registrationValidationSource: \"email\" | \"mobile\" =\n solidSettingsData?.data?.passwordlessRegistrationValidateWhat === \"mobile\" ? \"mobile\" : \"email\";\n const isMobile = registrationValidationSource === \"mobile\";\n\n return (\n <Formik\n initialValues={{\n username: \"\",\n email: \"\",\n mobile: \"\",\n }}\n validationSchema={Yup.object({\n username: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('User Name')),\n email: isMobile\n ? Yup.string().notRequired()\n : Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n mobile: isMobile\n ? Yup.string()\n .matches(/^[+0-9][0-9\\s-]{6,}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile'))\n : Yup.string().notRequired(),\n })}\n onSubmit={async (values, { setSubmitting }) => {\n try {\n const identifier = isMobile ? values.mobile : values.email;\n const RESEND_OTP_KEY = `resendOtpRegister_${identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const payload: Record<string, any> = {\n username: values.username,\n validationSources: [registrationValidationSource],\n };\n if (isMobile) {\n payload.mobile = values.mobile;\n } else {\n payload.email = values.email;\n }\n const storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);\n const now = Date.now();\n if (storedTimeStr) {\n const lastSent = parseInt(storedTimeStr, 10);\n const elapsed = Math.floor((now - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n const formatted = formatTimeLeft(remaining);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.PLEASE_WAIT, detail: ERROR_MESSAGES.OPT_FORMAT(formatted) }));\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateRegister(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_SEND, detail: response?.data?.message }));\n localStorage.setItem(`resendOtpRegister_${identifier}`, Date.now().toString());\n const params = new URLSearchParams({\n username: values.username,\n type: registrationValidationSource,\n identifier,\n });\n if (isMobile) {\n params.set(\"mobile\", values.mobile);\n } else {\n params.set(\"email\", values.email);\n }\n router.push(`/auth/initiate-register?${params.toString()}`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"username\" className=\"solid-auth-input-label\">Username</label>\n <SolidInput\n id=\"username\"\n name=\"username\"\n placeholder=\"username\"\n onChange={formik.handleChange}\n value={formik.values.username}\n aria-invalid={!!formik.errors.username}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"username\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.username?.toString()}\n />}\n </div>\n {isMobile ? (\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"mobile\" className=\"solid-auth-input-label\">Mobile</label>\n <SolidInput\n id=\"mobile\"\n name=\"mobile\"\n placeholder=\"+1 555 123 4567\"\n onChange={formik.handleChange}\n value={formik.values.mobile}\n aria-invalid={!!formik.errors.mobile}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"mobile\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.mobile?.toString()}\n />}\n </div>\n ) : (\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">Email</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder=\"Yourgmail@123.com\"\n onChange={formik.handleChange}\n value={formik.values.email}\n aria-invalid={!!formik.errors.email}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"email\") && <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.email?.toString()}\n />}\n </div>\n )}\n <div className=\"mt-6\">\n <SolidButton className=\"w-full font-light auth-submit-button\" label=\"Sign Up\" disabled={formik.isSubmitting} loading={formik.isSubmitting} type=\"submit\" />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth, showNameFieldsForRegistration }) => {\n if (isLoadingAuthSettings) {\n return (\n <div className=\"solid-auth-empty-state is-loading\" aria-live=\"polite\">\n <p className=\"solid-auth-empty-title\">Loading registration options...</p>\n <p className=\"solid-auth-empty-copy\">We&apos;re fetching the authentication settings for this workspace.</p>\n </div>\n );\n }\n\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <AuthTabs\n activeIndex={activeIndex}\n onChange={setActiveIndex}\n tabs={[\n {\n key: \"with-password\",\n label: \"With Password\",\n content: <PasswordSignup showNameFieldsForRegistration={showNameFieldsForRegistration} />,\n },\n { key: \"without-password\", label: \"Without Password\", content: <PasswordLessSignup /> },\n ]}\n />\n );\n } else if (passwordBasedAuth) {\n return <PasswordSignup showNameFieldsForRegistration={showNameFieldsForRegistration} />;\n } else if (passwordLessAuth) {\n return <PasswordLessSignup />;\n } else {\n return (\n <div className=\"solid-auth-empty-state\" role=\"status\">\n <p className=\"solid-auth-empty-title\">No authentication method available</p>\n <p className=\"solid-auth-empty-copy\">Ask your administrator to enable a password or passwordless authentication option.</p>\n </div>\n );\n }\n };\n const isAnyOAuthEnabled = !!(\n solidSettingsData?.data?.iamGoogleOAuthEnabled ||\n solidSettingsData?.data?.iamFacebookOAuthEnabled ||\n solidSettingsData?.data?.iamAppleOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled\n );\n return (\n <div className=\"\">\n {/* Overlay UI */}\n <div className={`auth-container position-relative ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n {showOverlay && (\n <div className=\"absolute top-0 left-0 w-full h-full flex items-center justify-center register-success-popup\">\n <div className=\"register-success-card\">\n <div className=\"register-success-badge\">Account created</div>\n <SolidSpinner className=\"auth-success-spinner\" size={32} />\n <div className=\"register-success-copy\">\n <h3 className=\"register-success-title\">Preparing your sign-in</h3>\n <p className=\"register-success-text\">\n Your profile has been created successfully. We&apos;re taking you to the login screen now.\n </p>\n </div>\n <div className=\"register-success-progress\" aria-hidden=\"true\">\n <span className=\"register-success-progress-bar\" />\n </div>\n </div>\n </div>\n )}\n <h2 className=\"solid-auth-title\">Create your account</h2>\n <p className=\"solid-auth-helper\">Enter your details below to create your account</p>\n {/* <p className=\"solid-auth-subtitle text-sm\">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}\n <RenderAuthModes passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} showNameFieldsForRegistration={solidSettingsData?.data?.showNameFieldsForRegistration} />\n {isAnyOAuthEnabled && (\n <>\n <div className=\"solid-auth-divider flex items-center gap-2 my-6\">\n <SolidDivider className=\"flex-1\" />\n <span className=\"text-sm text-500\">Or continue with</span>\n <SolidDivider className=\"flex-1\" />\n </div>\n <SocialMediaLogin\n googleEnabled={solidSettingsData?.data?.iamGoogleOAuthEnabled}\n facebookEnabled={solidSettingsData?.data?.iamFacebookOAuthEnabled}\n appleEnabled={solidSettingsData?.data?.iamAppleOAuthEnabled}\n microsoftEnabled={solidSettingsData?.data?.iamMicrosoftOAuthEnabled}\n microsoftActiveDirectoryEnabled={solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled}\n />\n </>\n )}\n </div>\n <div className=\"text-center mt-4 md:mt-6\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n Already have an account? <Link className=\"font-bold\" href=\"/auth/login\" tabIndex={-1}>Sign In</Link>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SolidRegister;\n"]}
@@ -24,7 +24,7 @@ interface AuthModesProps {
24
24
  const SolidRegister = () => {
25
25
  const envPasswordHelperText = env("NEXT_PUBLIC_PASSWORD_COMPLEXITY_DESC");
26
26
  const [activeIndex, setActiveIndex] = useState(0);
27
- const { solidSettingsData } = useAuthSettings();
27
+ const { solidSettingsData, isLoadingAuthSettings } = useAuthSettings();
28
28
 
29
29
  const [showOverlay, setShowOverlay] = useState(false);
30
30
 
@@ -404,6 +404,15 @@ const SolidRegister = () => {
404
404
  }
405
405
 
406
406
  const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth, showNameFieldsForRegistration }) => {
407
+ if (isLoadingAuthSettings) {
408
+ return (
409
+ <div className="solid-auth-empty-state is-loading" aria-live="polite">
410
+ <p className="solid-auth-empty-title">Loading registration options...</p>
411
+ <p className="solid-auth-empty-copy">We&apos;re fetching the authentication settings for this workspace.</p>
412
+ </div>
413
+ );
414
+ }
415
+
407
416
  if (passwordBasedAuth && passwordLessAuth) {
408
417
  return (
409
418
  <AuthTabs
@@ -424,7 +433,12 @@ const SolidRegister = () => {
424
433
  } else if (passwordLessAuth) {
425
434
  return <PasswordLessSignup />;
426
435
  } else {
427
- return <p>No authentication method available</p>;
436
+ return (
437
+ <div className="solid-auth-empty-state" role="status">
438
+ <p className="solid-auth-empty-title">No authentication method available</p>
439
+ <p className="solid-auth-empty-copy">Ask your administrator to enable a password or passwordless authentication option.</p>
440
+ </div>
441
+ );
428
442
  }
429
443
  };
430
444
  const isAnyOAuthEnabled = !!(
@@ -40,7 +40,7 @@ export var BackButton = function () {
40
40
  }
41
41
  var storedView = sessionStorage.getItem("fromView");
42
42
  var fromView = "list";
43
- if (storedView === "list" || storedView === "kanban" || storedView === "card") {
43
+ if (storedView === "list" || storedView === "kanban" || storedView === "card" || storedView === "tree") {
44
44
  fromView = storedView;
45
45
  }
46
46
  var targetView = fromView || "list";
@@ -1 +1 @@
1
- {"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../src/components/common/BackButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,+BAA+B;IAC/B,0CAA0C;IAC1C,qDAAqD;IACrD,sBAAsB;IACtB,iCAAiC;IACjC,eAAe;IACf,6CAA6C;IAC7C,yBAAyB;IACzB,QAAQ;IACR,KAAK;IAGL,4EAA4E;IAE5E,oBAAoB;IACpB,2CAA2C;IAC3C,iEAAiE;IACjE,kEAAkE;IAClE,uCAAuC;IACvC,YAAY;IACZ,QAAQ;IACR,UAAU;IAEV,IAAM,YAAY,GAAG;QACjB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3E,IAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,+FAA+F;YAC/F,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAC/B,IAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC5D,IAAI,aAAa,EAAE;oBACf,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC3B,OAAO;iBACV;aACJ;YAED,IAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,QAAQ,GAAG,MAAM,CAAA;YACrB,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE;gBAC3E,QAAQ,GAAG,UAAU,CAAC;aACzB;YACD,IAAM,UAAU,GAAG,QAAQ,IAAI,MAAM,CAAC;YACtC,IAAM,SAAS,GAAG,sBAAe,UAAU,cAAI,SAAS,cAAI,UAAU,CAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;aAAM;YACH,kCAAkC;YAClC,MAAM,CAAC,IAAI,EAAE,CAAC;SACjB;IACL,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,WAAW,IACR,OAAO,EAAC,OAAO,EACf,QAAQ,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,EACjC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,gBACF,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,wEAAwE,GACpF,CACL,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { ArrowLeft } from \"lucide-react\";\nimport { SolidButton } from \"../shad-cn-ui\";\nexport const BackButton = () => {\n const router = useRouter();\n const pathname = usePathname();\n const segments = pathname.split(\"/\").filter(Boolean);\n\n // const handleGoBack = () => {\n // let fromView: string | null = null;\n // fromView = sessionStorage.getItem(\"fromView\");\n // if (fromView) {\n // router.push(fromView);\n // } else {\n // // fallback if path is not matched\n // router.back();\n // }\n // };\n\n\n // const [fromView, setFromView] = useState<\"list\" | \"kanban\" | null>(null);\n\n // useEffect(() => {\n // if (typeof window !== \"undefined\") {\n // const storedView = sessionStorage.getItem(\"fromView\");\n // if (storedView === \"list\" || storedView === \"kanban\") {\n // setFromView(storedView);\n // }\n // }\n // }, []);\n\n const handleGoBack = () => {\n if (segments.length >= 4 && segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n // Prefer a fully qualified stored return URL (preserves query params like actionId/actionName)\n if (typeof window !== \"undefined\") {\n const storedFullUrl = sessionStorage.getItem(\"fromViewUrl\");\n if (storedFullUrl) {\n router.push(storedFullUrl);\n return;\n }\n }\n\n const storedView = sessionStorage.getItem(\"fromView\");\n let fromView = \"list\"\n if (storedView === \"list\" || storedView === \"kanban\" || storedView === \"card\") {\n fromView = storedView;\n }\n const targetView = fromView || \"list\";\n const targetUrl = `/admin/core/${moduleName}/${modelName}/${targetView}`;\n router.push(targetUrl);\n } else {\n // fallback if path is not matched\n router.back();\n }\n };\n\n return (\n <SolidButton\n variant=\"ghost\"\n leftIcon={<ArrowLeft size={14} />}\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n onClick={handleGoBack}\n className='max-w-2rem bg-[var(--primary-color-text)] text-color solid-icon-button'\n />\n )\n}\n"]}
1
+ {"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../src/components/common/BackButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,+BAA+B;IAC/B,0CAA0C;IAC1C,qDAAqD;IACrD,sBAAsB;IACtB,iCAAiC;IACjC,eAAe;IACf,6CAA6C;IAC7C,yBAAyB;IACzB,QAAQ;IACR,KAAK;IAGL,4EAA4E;IAE5E,oBAAoB;IACpB,2CAA2C;IAC3C,iEAAiE;IACjE,kEAAkE;IAClE,uCAAuC;IACvC,YAAY;IACZ,QAAQ;IACR,UAAU;IAEV,IAAM,YAAY,GAAG;QACjB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3E,IAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,+FAA+F;YAC/F,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAC/B,IAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC5D,IAAI,aAAa,EAAE;oBACf,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC3B,OAAO;iBACV;aACJ;YAED,IAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,QAAQ,GAAG,MAAM,CAAA;YACrB,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE;gBACpG,QAAQ,GAAG,UAAU,CAAC;aACzB;YACD,IAAM,UAAU,GAAG,QAAQ,IAAI,MAAM,CAAC;YACtC,IAAM,SAAS,GAAG,sBAAe,UAAU,cAAI,SAAS,cAAI,UAAU,CAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;aAAM;YACH,kCAAkC;YAClC,MAAM,CAAC,IAAI,EAAE,CAAC;SACjB;IACL,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,WAAW,IACR,OAAO,EAAC,OAAO,EACf,QAAQ,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,EACjC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,gBACF,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,wEAAwE,GACpF,CACL,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { ArrowLeft } from \"lucide-react\";\nimport { SolidButton } from \"../shad-cn-ui\";\nexport const BackButton = () => {\n const router = useRouter();\n const pathname = usePathname();\n const segments = pathname.split(\"/\").filter(Boolean);\n\n // const handleGoBack = () => {\n // let fromView: string | null = null;\n // fromView = sessionStorage.getItem(\"fromView\");\n // if (fromView) {\n // router.push(fromView);\n // } else {\n // // fallback if path is not matched\n // router.back();\n // }\n // };\n\n\n // const [fromView, setFromView] = useState<\"list\" | \"kanban\" | null>(null);\n\n // useEffect(() => {\n // if (typeof window !== \"undefined\") {\n // const storedView = sessionStorage.getItem(\"fromView\");\n // if (storedView === \"list\" || storedView === \"kanban\") {\n // setFromView(storedView);\n // }\n // }\n // }, []);\n\n const handleGoBack = () => {\n if (segments.length >= 4 && segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n // Prefer a fully qualified stored return URL (preserves query params like actionId/actionName)\n if (typeof window !== \"undefined\") {\n const storedFullUrl = sessionStorage.getItem(\"fromViewUrl\");\n if (storedFullUrl) {\n router.push(storedFullUrl);\n return;\n }\n }\n\n const storedView = sessionStorage.getItem(\"fromView\");\n let fromView = \"list\"\n if (storedView === \"list\" || storedView === \"kanban\" || storedView === \"card\" || storedView === \"tree\") {\n fromView = storedView;\n }\n const targetView = fromView || \"list\";\n const targetUrl = `/admin/core/${moduleName}/${modelName}/${targetView}`;\n router.push(targetUrl);\n } else {\n // fallback if path is not matched\n router.back();\n }\n };\n\n return (\n <SolidButton\n variant=\"ghost\"\n leftIcon={<ArrowLeft size={14} />}\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n onClick={handleGoBack}\n className='max-w-2rem bg-[var(--primary-color-text)] text-color solid-icon-button'\n />\n )\n}\n"]}
@@ -47,7 +47,7 @@ export const BackButton = () => {
47
47
 
48
48
  const storedView = sessionStorage.getItem("fromView");
49
49
  let fromView = "list"
50
- if (storedView === "list" || storedView === "kanban" || storedView === "card") {
50
+ if (storedView === "list" || storedView === "kanban" || storedView === "card" || storedView === "tree") {
51
51
  fromView = storedView;
52
52
  }
53
53
  const targetView = fromView || "list";
@@ -25,7 +25,7 @@ export var SolidCancelButton = function () {
25
25
  fromView = sessionStorage.getItem("fromView");
26
26
  }
27
27
  // Default to 'list' if not available
28
- var view = fromView === "kanban" || fromView === "card" ? fromView : "list";
28
+ var view = fromView === "kanban" || fromView === "card" || fromView === "tree" ? fromView : "list";
29
29
  // Navigate back to the previous path with the appropriate view type
30
30
  var newPath = pathname.replace(/\/form\/[^/]+$/, "/".concat(view));
31
31
  router.push(newPath);
@@ -1 +1 @@
1
- {"version":3,"file":"CancelButton.js","sourceRoot":"","sources":["../../../src/components/common/CancelButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,CAAC,IAAM,YAAY,GAAG;IACxB,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,uBAAuB;IAEvD,IAAM,YAAY,GAAG;QACjB,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;QACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,wGAAwG;YACxG,gFAAgF;YAChF,MAAM,CAAC,IAAI,EAAE,CAAA;SAChB;IACL,CAAC,CAAC;IACF,OAAO,CACH,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,sBAErI,GACZ,CACT,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC7B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,uBAAuB;IAEvD,IAAM,YAAY,GAAG;QACjB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACjD;QAED,qCAAqC;QACrC,IAAM,IAAI,GAAG,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9E,oEAAoE;QACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAI,IAAI,CAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,iDAAiD;QACjD,kBAAkB;QAClB,6BAA6B;QAC7B,WAAW;QACX,yCAAyC;QACzC,qBAAqB;QACrB,IAAI;IACR,CAAC,CAAC;IACF,OAAO,CACH,8BAGI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,+CAA+C,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,sBAEpJ,EAGd,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,iEAAiE,GAAG,IACzK,CACN,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { X } from \"lucide-react\";\nimport { SolidButton } from \"../shad-cn-ui\";\n\n\nexport const CancelButton = () => {\n const router = useRouter();\n const pathname = usePathname(); // Get the current path\n\n const handleGoBack = () => {\n const segments = pathname.split('/').filter(Boolean); // Split and filter empty segments\n if (segments.length > 1) {\n // const newPath = '/' + segments.slice(0, -1).join('/') + '/all'; // Remove last segment and add \"/all\"\n // router.push(newPath); // Navigate to the parent route with \"/all\" \n router.back()\n }\n };\n return (\n <div>\n <SolidButton variant=\"outline\" size=\"small\" type=\"button\" onClick={handleGoBack} className='bg-[var(--primary-color-text)]' style={{ minWidth: 66 }}>\n Close\n </SolidButton>\n </div>\n )\n}\n\nexport const SolidCancelButton = () => {\n const router = useRouter();\n const pathname = usePathname(); // Get the current path\n\n const handleGoBack = () => {\n let fromView: string | null = null;\n if (typeof window !== \"undefined\") {\n fromView = sessionStorage.getItem(\"fromView\");\n }\n\n // Default to 'list' if not available\n const view = fromView === \"kanban\" || fromView === \"card\" ? fromView : \"list\";\n\n // Navigate back to the previous path with the appropriate view type\n const newPath = pathname.replace(/\\/form\\/[^/]+$/, `/${view}`);\n router.push(newPath);\n // fromView = sessionStorage.getItem(\"fromView\");\n // if (fromView) {\n // router.push(fromView);\n // } else {\n // // fallback if path is not matched\n // router.back();\n // }\n };\n return (\n <>\n {/* <div className=\"hidden lg:flex\"> */}\n {/* <div> */}\n <SolidButton variant=\"outline\" size=\"small\" type=\"button\" onClick={handleGoBack} className='hidden bg-[var(--primary-color-text)] lg:flex' style={{ minWidth: 66 }}>\n Close\n </SolidButton>\n {/* </div> */}\n {/* </div> */}\n <SolidButton size=\"small\" type=\"button\" leftIcon={<X size={14} />} onClick={handleGoBack} className='solid-icon-button flex bg-[var(--primary-color-text)] lg:hidden' />\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"CancelButton.js","sourceRoot":"","sources":["../../../src/components/common/CancelButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,CAAC,IAAM,YAAY,GAAG;IACxB,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,uBAAuB;IAEvD,IAAM,YAAY,GAAG;QACjB,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;QACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,wGAAwG;YACxG,gFAAgF;YAChF,MAAM,CAAC,IAAI,EAAE,CAAA;SAChB;IACL,CAAC,CAAC;IACF,OAAO,CACH,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,sBAErI,GACZ,CACT,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC7B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,uBAAuB;IAEvD,IAAM,YAAY,GAAG;QACjB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACjD;QAED,qCAAqC;QACrC,IAAM,IAAI,GAAG,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC;QAEpG,oEAAoE;QACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAI,IAAI,CAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,iDAAiD;QACjD,kBAAkB;QAClB,6BAA6B;QAC7B,WAAW;QACX,yCAAyC;QACzC,qBAAqB;QACrB,IAAI;IACR,CAAC,CAAC;IACF,OAAO,CACH,8BAGI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,+CAA+C,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,sBAEpJ,EAGd,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,iEAAiE,GAAG,IACzK,CACN,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { X } from \"lucide-react\";\nimport { SolidButton } from \"../shad-cn-ui\";\n\n\nexport const CancelButton = () => {\n const router = useRouter();\n const pathname = usePathname(); // Get the current path\n\n const handleGoBack = () => {\n const segments = pathname.split('/').filter(Boolean); // Split and filter empty segments\n if (segments.length > 1) {\n // const newPath = '/' + segments.slice(0, -1).join('/') + '/all'; // Remove last segment and add \"/all\"\n // router.push(newPath); // Navigate to the parent route with \"/all\" \n router.back()\n }\n };\n return (\n <div>\n <SolidButton variant=\"outline\" size=\"small\" type=\"button\" onClick={handleGoBack} className='bg-[var(--primary-color-text)]' style={{ minWidth: 66 }}>\n Close\n </SolidButton>\n </div>\n )\n}\n\nexport const SolidCancelButton = () => {\n const router = useRouter();\n const pathname = usePathname(); // Get the current path\n\n const handleGoBack = () => {\n let fromView: string | null = null;\n if (typeof window !== \"undefined\") {\n fromView = sessionStorage.getItem(\"fromView\");\n }\n\n // Default to 'list' if not available\n const view = fromView === \"kanban\" || fromView === \"card\" || fromView === \"tree\" ? fromView: \"list\";\n\n // Navigate back to the previous path with the appropriate view type\n const newPath = pathname.replace(/\\/form\\/[^/]+$/, `/${view}`);\n router.push(newPath);\n // fromView = sessionStorage.getItem(\"fromView\");\n // if (fromView) {\n // router.push(fromView);\n // } else {\n // // fallback if path is not matched\n // router.back();\n // }\n };\n return (\n <>\n {/* <div className=\"hidden lg:flex\"> */}\n {/* <div> */}\n <SolidButton variant=\"outline\" size=\"small\" type=\"button\" onClick={handleGoBack} className='hidden bg-[var(--primary-color-text)] lg:flex' style={{ minWidth: 66 }}>\n Close\n </SolidButton>\n {/* </div> */}\n {/* </div> */}\n <SolidButton size=\"small\" type=\"button\" leftIcon={<X size={14} />} onClick={handleGoBack} className='solid-icon-button flex bg-[var(--primary-color-text)] lg:hidden' />\n </>\n )\n}\n"]}
@@ -38,7 +38,7 @@ export const SolidCancelButton = () => {
38
38
  }
39
39
 
40
40
  // Default to 'list' if not available
41
- const view = fromView === "kanban" || fromView === "card" ? fromView : "list";
41
+ const view = fromView === "kanban" || fromView === "card" || fromView === "tree" ? fromView: "list";
42
42
 
43
43
  // Navigate back to the previous path with the appropriate view type
44
44
  const newPath = pathname.replace(/\/form\/[^/]+$/, `/${view}`);
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../src/components/common/GeneralSettings.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,eAAe,+CA4zC3B,CAAA"}
1
+ {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../src/components/common/GeneralSettings.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,eAAe,+CAuxC3B,CAAA"}
@@ -63,8 +63,8 @@ import { SettingsImageRemoveButton } from './SolidSettings/SettingsImageRemoveBu
63
63
  import { ModelConfigTab, ProvidersTab, ensureBuiltInProviders } from './SolidSettings/LlmSettings/AiModelConfigTab';
64
64
  import { useDispatch } from 'react-redux';
65
65
  import { ERROR_MESSAGES } from '../../constants/error-messages';
66
+ import { normalizeAssetUrl } from '../../helpers/assetUrl';
66
67
  import { useBulkUpdateSolidSettingsMutation, useLazyGetSolidSettingsQuery } from '../../redux/api/solidSettingsApi';
67
- import { env } from "../../adapters/env";
68
68
  import { showToast } from "../../redux/features/toastSlice";
69
69
  export var GeneralSettings = function () {
70
70
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50;
@@ -417,12 +417,7 @@ export var GeneralSettings = function () {
417
417
  : formik.values.appLogo
418
418
  ? formik.values.appLogo
419
419
  : logoSrc;
420
- var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) ||
421
- (src === null || src === void 0 ? void 0 : src.startsWith("http"));
422
- if (!isBlobOrAbsolute && !src.startsWith("/")) {
423
- src = "".concat(env("API_URL"), "/").concat(src);
424
- }
425
- return (_jsx(SolidUploadedImage, { src: src, className: "solid-app-logo" }));
420
+ return (_jsx(SolidUploadedImage, { src: normalizeAssetUrl(src), className: "solid-app-logo" }));
426
421
  })() }), formik.values.appLogo && (_jsx(SettingsImageRemoveButton, { onClick: removeAppLogo }))] })] }), _jsxs("div", { className: "w-full md:w-1/2 px-2 pt-2", children: [_jsx("p", { className: "solid-settings-subheading", children: "Company Logo" }), _jsxs("div", { children: [_jsxs("div", __assign({}, getCompanyLogoRootProps(), { className: "solid-dropzone-wrapper", style: { borderRadius: 8 }, children: [_jsx("input", __assign({}, getCompanyLogoInputProps())), _jsx(SettingDropzoneActivePlaceholder, {})] })), _jsx("div", { className: "mt-2", children: (function () {
427
422
  var logoSrc = SolidLogo.src || SolidLogo;
428
423
  var src = companyLogoPreview
@@ -430,12 +425,7 @@ export var GeneralSettings = function () {
430
425
  : formik.values.companylogo
431
426
  ? formik.values.companylogo
432
427
  : logoSrc;
433
- var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) ||
434
- (src === null || src === void 0 ? void 0 : src.startsWith("http"));
435
- if (!isBlobOrAbsolute && !src.startsWith("/")) {
436
- src = "".concat(env("API_URL"), "/").concat(src);
437
- }
438
- return (_jsx(SolidUploadedImage, { src: src, className: "solid-compony-logo" }));
428
+ return (_jsx(SolidUploadedImage, { src: normalizeAssetUrl(src), className: "solid-compony-logo" }));
439
429
  })() }), formik.values.companylogo && (_jsx(SettingsImageRemoveButton, { onClick: removeCompanyLogo }))] })] })] }) }) }), _jsx("p", { className: "solid-settings-heading", children: "App Logo Position" }), _jsx("div", { className: "flex flex-wrap -mx-2 -mt-2", children: _jsx("div", { className: "w-full lg:w-[83.333333%] xl:w-[66.666667%] px-2 pt-2", children: _jsx("div", { className: "flex", children: _jsx(SolidSegmentedControl, { className: "solid-settings-segmented", value: formik.values.appLogoPosition, options: [
440
430
  { value: "in_form_view", label: "In Form View" },
441
431
  { value: "in_image_view", label: "In Image View" },
@@ -494,13 +484,7 @@ export var GeneralSettings = function () {
494
484
  ? formik.values
495
485
  .authScreenLeftBackgroundImage
496
486
  : logoSrc;
497
- var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) ||
498
- (src === null || src === void 0 ? void 0 : src.startsWith("http"));
499
- if (!isBlobOrAbsolute &&
500
- !src.startsWith("/")) {
501
- src = "".concat(env("API_URL"), "/").concat(src);
502
- }
503
- return (_jsx(SolidUploadedImage, { src: src, height: 400, width: 400, maxHeight: 400 }));
487
+ return (_jsx(SolidUploadedImage, { src: normalizeAssetUrl(src), height: 400, width: 400, maxHeight: 400 }));
504
488
  })() }), formik.values.authScreenLeftBackgroundImage && (_jsx(SettingsImageRemoveButton, { onClick: removeAuthScreenLeftBackgroundImage }))] })), formik.values.authPagesLayout === "right" && (_jsxs("div", { children: [_jsxs("div", __assign({}, getAuthScreenRightBackgroundImageRootProps(), { className: "solid-dropzone-wrapper", style: { borderRadius: 8 }, children: [_jsx("input", __assign({}, getAuthScreenRightBackgroundImageInputProps())), _jsx(SettingDropzoneActivePlaceholder, { note: "Recommended: 724×724px | Aspect ratio: 1:1" })] })), _jsx("div", { className: "mt-2", children: (function () {
505
489
  var logoSrc = AuthScreenRightBackgroundImage
506
490
  .src || AuthScreenRightBackgroundImage;
@@ -511,13 +495,7 @@ export var GeneralSettings = function () {
511
495
  ? formik.values
512
496
  .authScreenRightBackgroundImage
513
497
  : logoSrc;
514
- var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) ||
515
- (src === null || src === void 0 ? void 0 : src.startsWith("http"));
516
- if (!isBlobOrAbsolute &&
517
- !src.startsWith("/")) {
518
- src = "".concat(env("API_URL"), "/").concat(src);
519
- }
520
- return (_jsx(SolidUploadedImage, { src: src, height: 400, width: 400, maxHeight: 400 }));
498
+ return (_jsx(SolidUploadedImage, { src: normalizeAssetUrl(src), height: 400, width: 400, maxHeight: 400 }));
521
499
  })() }), formik.values.authScreenRightBackgroundImage && (_jsx(SettingsImageRemoveButton, { onClick: removeAuthScreenRightBackgroundImage }))] })), formik.values.authPagesLayout === "center" && (_jsxs("div", { children: [_jsxs("div", __assign({}, getAuthScreenCenterBackgroundImageRootProps(), { className: "solid-dropzone-wrapper", style: { borderRadius: 8 }, children: [_jsx("input", __assign({}, getAuthScreenCenterBackgroundImageInputProps())), _jsx(SettingDropzoneActivePlaceholder, { note: "Recommended: 1440px × 724px | Aspect ratio: 2:1" })] })), _jsx("div", { className: "mt-2", children: (function () {
522
500
  var logoSrc = AuthScreenCenterBackgroundImage
523
501
  .src || AuthScreenCenterBackgroundImage;
@@ -528,12 +506,7 @@ export var GeneralSettings = function () {
528
506
  ? formik.values
529
507
  .authScreenCenterBackgroundImage
530
508
  : logoSrc;
531
- var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) ||
532
- (src === null || src === void 0 ? void 0 : src.startsWith("http"));
533
- if (!isBlobOrAbsolute && !src.startsWith("/")) {
534
- src = "".concat(env("API_URL"), "/").concat(src);
535
- }
536
- return (_jsx(SolidUploadedImage, { src: src, height: 300, width: 600, maxHeight: 300 }));
509
+ return (_jsx(SolidUploadedImage, { src: normalizeAssetUrl(src), height: 300, width: 600, maxHeight: 300 }));
537
510
  })() }), formik.values.authScreenCenterBackgroundImage && (_jsx(SettingsImageRemoveButton, { onClick: removeAuthScreenCenterBackgroundImage }))] }))] }) }) }) }), _jsx(SolidDivider, { className: "my-6" })] })), pathname.includes("misc-settings") && (_jsxs(_Fragment, { children: [_jsx("p", { className: "solid-settings-heading", children: "Contact Support" }), _jsx("div", { className: 'flex flex-wrap -mx-2 -mt-2', children: _jsx("div", { className: "w-full lg:w-[83.333333%] xl:w-[66.666667%] px-2 pt-2", children: _jsxs("div", { className: 'flex flex-wrap -mx-2 -mt-2', children: [_jsx("div", { className: "w-full md:w-1/2 px-2 pt-2 pb-4 md:pb-0", children: _jsxs("div", { className: "flex flex-wrap items-center -mx-2 -mt-2", children: [_jsx("div", { className: "w-full md:w-[41.666667%] px-2 pt-2 pb-2 md:pb-0", children: _jsx("label", { className: "form-field-label", children: "Contact Support Email" }) }), _jsx("div", { className: "w-full md:w-[58.333333%] px-2 pt-2", children: _jsx(SolidInput, { type: "text", id: "contactSupportEmail", name: "contactSupportEmail", onChange: formik.handleChange, value: (_46 = formik.values.contactSupportEmail) !== null && _46 !== void 0 ? _46 : '', className: 'w-full' }) })] }) }), _jsx("div", { className: "w-full md:w-1/2 px-2 pt-2", children: _jsxs("div", { className: "flex flex-wrap items-center -mx-2 -mt-2", children: [_jsx("div", { className: "w-full md:w-[41.666667%] px-2 pt-2 pb-2 md:pb-0", children: _jsx("label", { className: "form-field-label", children: "Display Name" }) }), _jsx("div", { className: "w-full md:w-[58.333333%] px-2 pt-2", children: _jsx(SolidInput, { type: "text", id: "contactSupportDisplayName", name: "contactSupportDisplayName", onChange: formik.handleChange, value: (_47 = formik.values.contactSupportDisplayName) !== null && _47 !== void 0 ? _47 : '', className: 'w-full' }) })] }) })] }) }) })] })), pathname.includes("ai-settings") &&
538
511
  _jsx(AiSettingsSection, { aiConfig: formik.values.solidXGenAiCodeBuilderConfig, onAiConfigChange: handleAiConfigChange }), pathname.includes("api-keys") && ((_48 = session === null || session === void 0 ? void 0 : session.user) === null || _48 === void 0 ? void 0 : _48.id) &&
539
512
  _jsx(ApiKeysTab, { userId: session.user.id, canCreate: (_50 = (_49 = session === null || session === void 0 ? void 0 : session.user) === null || _49 === void 0 ? void 0 : _49.isAllowedToGenerateApiKeys) !== null && _50 !== void 0 ? _50 : false })] })] }) }) }) }));