@solidxai/core-ui 0.1.3 → 0.1.4-beta.0

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 (127) hide show
  1. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  2. package/dist/components/auth/SolidInitialLoginOtp.js +0 -5
  3. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  4. package/dist/components/auth/SolidInitialLoginOtp.tsx +0 -5
  5. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  6. package/dist/components/auth/SolidLogin.js +7 -5
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +10 -8
  9. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  10. package/dist/components/common/GeneralSettings.js +48 -47
  11. package/dist/components/common/GeneralSettings.js.map +1 -1
  12. package/dist/components/common/GeneralSettings.tsx +41 -10
  13. package/dist/components/core/common/FilterComponent.js.map +1 -1
  14. package/dist/components/core/common/FilterComponent.tsx +1 -1
  15. package/dist/components/core/common/GroupingComponent.d.ts +54 -0
  16. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -0
  17. package/dist/components/core/common/GroupingComponent.js +196 -0
  18. package/dist/components/core/common/GroupingComponent.js.map +1 -0
  19. package/dist/components/core/common/GroupingComponent.tsx +452 -0
  20. package/dist/components/core/common/SolidGlobalSearchElement.d.ts +18 -1
  21. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  22. package/dist/components/core/common/SolidGlobalSearchElement.js +146 -47
  23. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  24. package/dist/components/core/common/SolidGlobalSearchElement.tsx +191 -18
  25. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts +19 -0
  26. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts.map +1 -0
  27. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js +90 -0
  28. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js.map +1 -0
  29. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.tsx +59 -0
  30. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  31. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +7 -3
  32. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  33. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +45 -40
  34. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +2 -0
  35. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -0
  36. package/dist/components/core/filter/SolidOneToManyFilterElement.js +86 -0
  37. package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -0
  38. package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +62 -0
  39. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -0
  40. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  41. package/dist/components/core/filter/SolidVarInputsFilterElement.js +4 -1
  42. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  43. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +10 -0
  44. package/dist/components/core/filter/fields/SolidRelationField.d.ts.map +1 -1
  45. package/dist/components/core/filter/fields/SolidRelationField.js +4 -2
  46. package/dist/components/core/filter/fields/SolidRelationField.js.map +1 -1
  47. package/dist/components/core/filter/fields/SolidRelationField.tsx +4 -2
  48. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts +4 -0
  49. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -0
  50. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +25 -0
  51. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -0
  52. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +60 -0
  53. package/dist/components/core/form/SolidFormFooter.js +4 -4
  54. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  55. package/dist/components/core/form/SolidFormFooter.tsx +4 -4
  56. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  57. package/dist/components/core/form/fields/SolidBooleanField.js +11 -8
  58. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  59. package/dist/components/core/form/fields/SolidBooleanField.tsx +20 -8
  60. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  61. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +26 -21
  62. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  63. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +27 -17
  64. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts +1 -0
  65. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts.map +1 -1
  66. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js +51 -0
  67. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js.map +1 -1
  68. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +51 -0
  69. package/dist/components/core/kanban/SolidKanbanView.js +5 -5
  70. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  71. package/dist/components/core/kanban/SolidKanbanView.tsx +5 -5
  72. package/dist/components/core/list/SolidListView.d.ts +12 -7
  73. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  74. package/dist/components/core/list/SolidListView.js +138 -150
  75. package/dist/components/core/list/SolidListView.js.map +1 -1
  76. package/dist/components/core/list/SolidListView.tsx +84 -91
  77. package/dist/components/core/list/listViewRegistry.js.map +1 -1
  78. package/dist/components/core/list/listViewRegistry.ts +1 -2
  79. package/dist/components/core/tree/SolidTreeView.d.ts +38 -0
  80. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -0
  81. package/dist/components/core/tree/SolidTreeView.js +1170 -0
  82. package/dist/components/core/tree/SolidTreeView.js.map +1 -0
  83. package/dist/components/core/tree/SolidTreeView.tsx +1603 -0
  84. package/dist/components/core/tree/treeViewRegistry.d.ts +7 -0
  85. package/dist/components/core/tree/treeViewRegistry.d.ts.map +1 -0
  86. package/dist/components/core/tree/treeViewRegistry.js +17 -0
  87. package/dist/components/core/tree/treeViewRegistry.js.map +1 -0
  88. package/dist/components/core/tree/treeViewRegistry.ts +23 -0
  89. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  90. package/dist/components/core/users/CreateUser.js +19 -6
  91. package/dist/components/core/users/CreateUser.js.map +1 -1
  92. package/dist/components/core/users/CreateUser.tsx +39 -0
  93. package/dist/helpers/helpers.d.ts +2 -0
  94. package/dist/helpers/helpers.d.ts.map +1 -1
  95. package/dist/helpers/helpers.js +3 -1
  96. package/dist/helpers/helpers.js.map +1 -1
  97. package/dist/helpers/helpers.ts +4 -1
  98. package/dist/helpers/registry.d.ts.map +1 -1
  99. package/dist/helpers/registry.js +2 -0
  100. package/dist/helpers/registry.js.map +1 -1
  101. package/dist/helpers/registry.ts +3 -1
  102. package/dist/index.d.ts +3 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +2 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.ts +6 -1
  107. package/dist/resources/globals.css +18 -4
  108. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  109. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  110. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  111. package/dist/routes/pages/admin/core/ListPage.tsx +2 -1
  112. package/dist/routes/pages/admin/core/TreePage.d.ts +2 -0
  113. package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -0
  114. package/dist/routes/pages/admin/core/TreePage.js +37 -0
  115. package/dist/routes/pages/admin/core/TreePage.js.map +1 -0
  116. package/dist/routes/pages/admin/core/TreePage.tsx +30 -0
  117. package/dist/routes/solidRoutes.d.ts.map +1 -1
  118. package/dist/routes/solidRoutes.js +2 -0
  119. package/dist/routes/solidRoutes.js.map +1 -1
  120. package/dist/routes/solidRoutes.tsx +3 -1
  121. package/dist/routes/types.d.ts +1 -1
  122. package/dist/routes/types.d.ts.map +1 -1
  123. package/dist/routes/types.js.map +1 -1
  124. package/dist/routes/types.ts +1 -0
  125. package/dist/types/index.d.ts +8 -2
  126. package/dist/types/solid-core.d.ts +40 -0
  127. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitialLoginOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,oBAAoB,+CAiNzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"SolidInitialLoginOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,oBAAoB,+CA4MzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -77,11 +77,6 @@ var SolidInitialLoginOtp = function () {
77
77
  title: "OTP Verification",
78
78
  subtitle: "Please enter the OTP sent to your mobile number to complete verification"
79
79
  };
80
- case "transactional":
81
- return {
82
- title: "OTP Verification",
83
- subtitle: "Please enter the OTP for your transaction to complete verification"
84
- };
85
80
  case "email":
86
81
  default:
87
82
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitialLoginOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport Image from \"../common/Image\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { Button } from \"primereact/button\";\nimport { InputOtp } from \"primereact/inputotp\";\nimport { Message } from \"primereact/message\";\nimport { Toast } from \"primereact/toast\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport { signInWithOtp } from \"../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport showToast from \"../../helpers/showToast\";\n\n\nconst SolidInitialLoginOtp = () => {\n const searchParams = useSearchParams();\n const tempIdentifier = searchParams.get('identifier');\n const type = searchParams.get('type') || 'email';\n const identifier = tempIdentifier ? decodeURIComponent(tempIdentifier) : '';\n\n const RESEND_OTP_KEY = `resendOtpLogin_${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 [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const [initiateResendOTP] = useInitateLoginMutation();\n const toast = useRef<Toast>(null);\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n const getDisplayText = () => {\n switch (type) {\n case \"mobile\":\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your mobile number to complete verification\"\n };\n case \"transactional\":\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP for your transaction to complete verification\"\n };\n case \"email\":\n default:\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your email to complete verification\"\n };\n }\n };\n\n const displayText = getDisplayText();\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [identifier]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n\n const handleResendOtp = async () => {\n try {\n const payload = {\n type: type,\n identifier: identifier,\n };\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.OPT_RESEND, response?.data?.message);\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n };\n\n return (\n <>\n <Toast ref={toast} />\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>\n {solidSettingsData?.data?.authPagesLayout === 'center' &&\n <div className=\"flex justify-content-center\">\n <div className={`solid-logo flex align-items-center ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n </div>\n }\n <h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center mt-2 md:mt-4' : 'text-left'}`}>OTP Verification</h2>\n <p className=\"solid-auth-subtitle text-sm\">\n Please enter the OTP sent to your email to complete verification\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const response = await signInWithOtp({\n type: type,\n identifier: identifier,\n otp: values.otp,\n });\n\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.INAVLID_OTP, response.error);\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n } else {\n localStorage.removeItem(`resendOtpLogin_${identifier}`);\n showToast(toast, \"success\", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, 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-column gap-2\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Enter OTP</label>\n <InputOtp\n value={formik.values.otp}\n onChange={(e) => formik.setFieldValue(\"otp\", e.value)}\n length={6}\n style={{ width: '100%' }}\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <Message className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <div className=\"flex align-items-center justify-content-between\">\n <Button type=\"button\" icon='pi pi-refresh' iconPos=\"left\" link label=\"Resend Code\" className=\"px-0 text-sm font-normal\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n />\n <p className=\"m-0 text-sm text-color\">\n {resendEnabled\n ? \"You can resend now\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n </div>\n <div className=\"mt-4\">\n <Button type=\"submit\" className=\"w-full font-light auth-submit-button\" label=\"Verify\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n <Button type=\"button\" label=\"Back\" className=\"w-full auth-back-button text-center mt-1\" link onClick={() => (window.location.href = '/auth/login')} />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Back</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitialLoginOtp;\n"]}
1
+ {"version":3,"file":"SolidInitialLoginOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport Image from \"../common/Image\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { Button } from \"primereact/button\";\nimport { InputOtp } from \"primereact/inputotp\";\nimport { Message } from \"primereact/message\";\nimport { Toast } from \"primereact/toast\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport { signInWithOtp } from \"../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport showToast from \"../../helpers/showToast\";\n\n\nconst SolidInitialLoginOtp = () => {\n const searchParams = useSearchParams();\n const tempIdentifier = searchParams.get('identifier');\n const type = searchParams.get('type') || 'email';\n const identifier = tempIdentifier ? decodeURIComponent(tempIdentifier) : '';\n\n const RESEND_OTP_KEY = `resendOtpLogin_${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 [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const [initiateResendOTP] = useInitateLoginMutation();\n const toast = useRef<Toast>(null);\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n const getDisplayText = () => {\n switch (type) {\n case \"mobile\":\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your mobile number to complete verification\"\n };\n case \"email\":\n default:\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your email to complete verification\"\n };\n }\n };\n\n const displayText = getDisplayText();\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [identifier]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n\n const handleResendOtp = async () => {\n try {\n const payload = {\n type: type,\n identifier: identifier,\n };\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.OPT_RESEND, response?.data?.message);\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n };\n\n return (\n <>\n <Toast ref={toast} />\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>\n {solidSettingsData?.data?.authPagesLayout === 'center' &&\n <div className=\"flex justify-content-center\">\n <div className={`solid-logo flex align-items-center ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n </div>\n }\n <h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center mt-2 md:mt-4' : 'text-left'}`}>OTP Verification</h2>\n <p className=\"solid-auth-subtitle text-sm\">\n Please enter the OTP sent to your email to complete verification\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const response = await signInWithOtp({\n type: type,\n identifier: identifier,\n otp: values.otp,\n });\n\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.INAVLID_OTP, response.error);\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n } else {\n localStorage.removeItem(`resendOtpLogin_${identifier}`);\n showToast(toast, \"success\", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, 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-column gap-2\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Enter OTP</label>\n <InputOtp\n value={formik.values.otp}\n onChange={(e) => formik.setFieldValue(\"otp\", e.value)}\n length={6}\n style={{ width: '100%' }}\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <Message className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <div className=\"flex align-items-center justify-content-between\">\n <Button type=\"button\" icon='pi pi-refresh' iconPos=\"left\" link label=\"Resend Code\" className=\"px-0 text-sm font-normal\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n />\n <p className=\"m-0 text-sm text-color\">\n {resendEnabled\n ? \"You can resend now\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n </div>\n <div className=\"mt-4\">\n <Button type=\"submit\" className=\"w-full font-light auth-submit-button\" label=\"Verify\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n <Button type=\"button\" label=\"Back\" className=\"w-full auth-back-button text-center mt-1\" link onClick={() => (window.location.href = '/auth/login')} />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Back</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitialLoginOtp;\n"]}
@@ -44,11 +44,6 @@ const SolidInitialLoginOtp = () => {
44
44
  title: "OTP Verification",
45
45
  subtitle: "Please enter the OTP sent to your mobile number to complete verification"
46
46
  };
47
- case "transactional":
48
- return {
49
- title: "OTP Verification",
50
- subtitle: "Please enter the OTP for your transaction to complete verification"
51
- };
52
47
  case "email":
53
48
  default:
54
49
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AA4BA,QAAA,MAAM,UAAU,yDAA0D,GAAG,4CAmY5E,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AA4BA,QAAA,MAAM,UAAU,yDAA0D,GAAG,4CAqY5E,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -139,10 +139,10 @@ var SolidLogin = function (_a) {
139
139
  };
140
140
  var PasswordLessLogin = function () {
141
141
  var _a;
142
- var validationType = ((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.passwordlessRegistrationValidateWhat) || "email";
142
+ var validationType = ((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.passwordlessLoginValidateWhat) || "email";
143
143
  var _b = useState("email"), selectedAuthMethod = _b[0], setSelectedAuthMethod = _b[1];
144
144
  var getFieldConfig = function () {
145
- if (validationType === "transactional") {
145
+ if (validationType === "selectable") {
146
146
  if (selectedAuthMethod === "mobile") {
147
147
  return {
148
148
  label: "Mobile Number / Username",
@@ -211,11 +211,13 @@ var SolidLogin = function (_a) {
211
211
  RESEND_OTP_KEY = "resendOtpLogin_".concat(values.identifier);
212
212
  RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
213
213
  RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
214
- authType = validationType === "transactional" ? selectedAuthMethod : fieldConfig.type;
214
+ authType = validationType === "selectable" ? selectedAuthMethod : fieldConfig.type;
215
215
  payload = {
216
- type: authType,
217
216
  identifier: values.identifier,
218
217
  };
218
+ if (validationType === "selectable") {
219
+ payload.type = selectedAuthMethod;
220
+ }
219
221
  storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);
220
222
  now = Date.now();
221
223
  if (storedTimeStr) {
@@ -258,7 +260,7 @@ var SolidLogin = function (_a) {
258
260
  });
259
261
  }, children: function (formik) {
260
262
  var _a, _b;
261
- return (_jsxs(Form, { children: [validationType === "transactional" && (_jsxs("div", { className: "flex flex-column gap-3 mt-3", children: [_jsx("label", { className: "solid-auth-input-label", children: "Select Authentication Method" }), _jsxs("div", { className: "flex gap-4", children: [_jsxs("div", { className: "flex align-items-center", children: [_jsx(RadioButton, { inputId: "auth-email", name: "authMethod", value: "email", checked: selectedAuthMethod === "email", onChange: function (e) {
263
+ return (_jsxs(Form, { children: [validationType === "selectable" && (_jsxs("div", { className: "flex flex-column gap-3 mt-3", children: [_jsx("label", { className: "solid-auth-input-label", children: "Select Authentication Method" }), _jsxs("div", { className: "flex gap-4", children: [_jsxs("div", { className: "flex align-items-center", children: [_jsx(RadioButton, { inputId: "auth-email", name: "authMethod", value: "email", checked: selectedAuthMethod === "email", onChange: function (e) {
262
264
  setSelectedAuthMethod("email");
263
265
  formik.setFieldValue("identifier", "");
264
266
  }, className: "mr-2" }), _jsx("label", { htmlFor: "auth-email", className: "solid-auth-input-label cursor-pointer", children: "Email / Username" })] }), _jsxs("div", { className: "flex align-items-center", children: [_jsx(RadioButton, { inputId: "auth-mobile", name: "authMethod", value: "mobile", checked: selectedAuthMethod === "mobile", onChange: function (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLogin.js","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Form, Formik } from \"formik\";\nimport { signIn } from \"../../adapters/auth/index\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { Button } from \"primereact/button\";\nimport { Divider } from \"primereact/divider\";\nimport { InputText } from \"primereact/inputtext\";\nimport { Message } from \"primereact/message\";\nimport { Password } from \"primereact/password\";\nimport { TabPanel, TabView } from 'primereact/tabview';\nimport { Toast } from \"primereact/toast\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { RadioButton } from \"primereact/radiobutton\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport showToast from \"../../helpers/showToast\";\n\ninterface AuthTabsProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n}\nconst SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const [initiateLogin] = useInitateLoginMutation();\n const [activeIndex, setActiveIndex] = useState(0);\n useEffect(() => {\n sessionStorage.removeItem(\"app-mounted\");\n }, [])\n const toast = useRef<Toast>(null);\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n const emailOrUsernameRegex = /^[a-zA-Z0-9._]{2,30}$/;\n\n const PasswordLogin = () => {\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n // email: initialEmail,\n password: \"\",\n // rememberMe: rememberMe,\n }}\n enableReinitialize={false}\n validationSchema={Yup.object({\n identifier: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email or Username\"))\n .test(\n \"email-or-username\",\n ERROR_MESSAGES.FIELD_INVALID(\"email or username\"),\n (value) => {\n // if (!value) return false;\n\n const isEmail = Yup.string().email().isValidSync(value);\n const isUsername = emailOrUsernameRegex.test(value);\n\n return isEmail || isUsername;\n }\n ),\n password: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Password\")),\n })}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n // Handle Remember Me\n // if (values.rememberMe) {\n // localStorage.setItem(\"rememberedEmail\", values.email);\n // } else {\n // localStorage.removeItem(\"rememberedEmail\");\n // }\n const response = await signIn(\"credentials\", {\n redirect: false,\n identifier: values.identifier,\n password: values.password,\n });\n\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n setErrors({\n identifier: ERROR_MESSAGES.INVALID_CREDENTIALS,\n password: ERROR_MESSAGES.INVALID_CREDENTIALS,\n });\n } else {\n showToast(toast, \"success\", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (error: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, error?.data ? error?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG);\n } finally {\n setSubmitting(false); // Re-enable the button after submission\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-column gap-2 mt-3\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <InputText\n id=\"identifier\"\n name=\"identifier\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email or Username\"}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n invalid={!!formik.errors.identifier}\n onBlur={formik.handleBlur}\n />\n {isFormFieldValid(formik, \"identifier\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-1 mt-4\" style={{}}>\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Password</label>\n <Password\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggleMask\n invalid={!!formik.errors.password}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"password\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.password?.toString()}\n />}\n </div>\n {/* <div className=\"flex align-items-center mt-4\">\n <Checkbox inputId=\"remember\" onChange={(e: any) => setChecked(e.checked)} checked={checked} />\n <label htmlFor=\"remember\" className=\"ml-2\">Remember me</label>\n </div> */}\n <div className=\"mt-4 flex align-items-center justify-content-between\">\n {/* <div className=\"flex align-items-center gap-2\">\n <Checkbox\n inputId=\"rememberMe\"\n name=\"rememberMe\"\n checked={formik.values.rememberMe}\n onChange={formik.handleChange}\n />\n <label htmlFor=\"rememberMe\" className=\"solid-auth-input-label\">Remember me</label>\n </div> */}\n <div></div>\n <Link href={\"/auth/initiate-forgot-password\"} className=\"solid-auth-input-label font-bold\">Forgot Password?</Link>\n </div>\n <div className=\"mt-4\">\n <Button className=\"w-full font-light auth-submit-button\" label=\"Sign In\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessLogin = () => {\n const validationType = solidSettingsData?.data?.passwordlessRegistrationValidateWhat || \"email\";\n const [selectedAuthMethod, setSelectedAuthMethod] = useState<\"email\" | \"mobile\">(\"email\");\n\n const getFieldConfig = () => {\n if (validationType === \"transactional\") {\n if (selectedAuthMethod === \"mobile\") {\n return {\n label: \"Mobile Number / Username\",\n placeholder: \"Enter your mobile number or username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n } else {\n return {\n label: \"Email Address / Username\",\n placeholder: \"Enter your email or username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n }\n switch (validationType) {\n case \"mobile\":\n return {\n label: signInValidatorLabel || \"Mobile Number / Username\",\n placeholder: signInValidatorPlaceholder || \"Enter your mobile number / username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n case \"email\":\n default:\n return {\n label: signInValidatorLabel || \"Email / Username\",\n placeholder: signInValidatorPlaceholder || \"Email ID / username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n };\n\n const fieldConfig = getFieldConfig();\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n }}\n // validationSchema={\n // fieldConfig.validationSchema \n // ? Yup.object({\n // identifier: fieldConfig.validationSchema\n // })\n // : Yup.object({\n // identifier: Yup.string().required(\"required\"),\n // })\n // }\n validationSchema={\n Yup.object({ identifier: Yup.string().required(\"required\") })\n }\n enableReinitialize={false}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const RESEND_OTP_KEY = `resendOtpLogin_${values.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\n // Use selectedAuthMethod for transactional, otherwise use fieldConfig.type\n const authType = validationType === \"transactional\" ? selectedAuthMethod : fieldConfig.type;\n\n const payload = {\n type: authType,\n identifier: values.identifier,\n };\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 showToast(toast, \n \"error\",\n ERROR_MESSAGES.PLEASE_WAIT,\n ERROR_MESSAGES.OPT_FORMAT(formatted)\n );\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateLogin(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.OPT_RESEND, response?.data?.message);\n const identifier = values.identifier;\n localStorage.setItem(`resendOtpLogin_${identifier}`, Date.now().toString());\n router.push(`/auth/initiate-login?identifier=${encodeURIComponent(identifier)}&type=${authType}`);\n } else {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG);\n setErrors({\n identifier: \"Invalid Credentials\",\n });\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {/* Radio buttons for transactional type */}\n {validationType === \"transactional\" && (\n <div className=\"flex flex-column gap-3 mt-3\">\n <label className=\"solid-auth-input-label\">Select Authentication Method</label>\n <div className=\"flex gap-4\">\n <div className=\"flex align-items-center\">\n <RadioButton\n inputId=\"auth-email\"\n name=\"authMethod\"\n value=\"email\"\n checked={selectedAuthMethod === \"email\"}\n onChange={(e) => {\n setSelectedAuthMethod(\"email\");\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"mr-2\"\n />\n <label htmlFor=\"auth-email\" className=\"solid-auth-input-label cursor-pointer\">Email / Username</label>\n </div>\n <div className=\"flex align-items-center\">\n <RadioButton\n inputId=\"auth-mobile\"\n name=\"authMethod\"\n value=\"mobile\"\n checked={selectedAuthMethod === \"mobile\"}\n onChange={(e) => {\n setSelectedAuthMethod(\"mobile\");\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"mr-2\"\n />\n <label htmlFor=\"auth-mobile\" className=\"solid-auth-input-label cursor-pointer\">Mobile / Username</label>\n </div>\n </div>\n </div>\n )}\n <div className=\"flex flex-column gap-2 mt-3\">\n <label htmlFor=\"identifier\" className=\"solid-auth-input-label\">{fieldConfig.label}</label>\n <InputText\n id=\"identifier\"\n name=\"identifier\"\n placeholder={fieldConfig.placeholder}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n invalid={!!formik.errors.identifier}\n onBlur={formik.handleBlur}\n />\n {isFormFieldValid(formik, \"identifier\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />}\n </div>\n <div className=\"mt-4\">\n <Button className=\"w-full font-light auth-submit-button\" label=\"Sign In\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const AuthTabs: React.FC<AuthTabsProps> = ({ passwordBasedAuth, passwordLessAuth }) => {\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <TabView className=\"solid-auth-tabview\"\n activeIndex={activeIndex}\n onTabChange={(e) => setActiveIndex(e.index)}\n >\n <TabPanel header=\"With Password\">\n <PasswordLogin />\n </TabPanel>\n <TabPanel header=\"Without Password\">\n <PasswordLessLogin />\n </TabPanel>\n </TabView>\n );\n } else if (passwordBasedAuth) {\n return <PasswordLogin />;\n } else if (passwordLessAuth) {\n return <PasswordLessLogin />;\n } else {\n return <p>No authentication method available</p>;\n }\n };\n\n return (\n <div className=\"\">\n <Toast ref={toast} />\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n {solidSettingsData?.data?.authPagesLayout === 'center' &&\n <div className=\"flex justify-content-center\">\n <div className={`solid-logo flex align-items-center ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n </div>\n }\n <h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center mt-2 md:mt-4' : 'text-left'}`}>Sign In To Your Account</h2>\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\n <AuthTabs passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} />\n {solidSettingsData?.data?.iamGoogleOAuthEnabled &&\n <>\n <Divider align=\"center\">\n <div className=\"inline-flex align-items-center\">\n OR\n </div>\n </Divider>\n <SocialMediaLogin />\n </>\n }\n </div>\n {solidSettingsData?.data?.allowPublicRegistration && <div className=\"mt-3 md:mt-5\">\n <div className=\"text-sm text-center text-400 secondary-dark-color\">\n Don’t have an account ? <Link className=\"font-bold\" href=\"/auth/register\">Sign Up</Link>\n </div>\n </div>}\n </div>\n );\n};\n\nexport default SolidLogin;\n"]}
1
+ {"version":3,"file":"SolidLogin.js","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,SAAS,MAAM,uCAAuC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAMhD,IAAM,UAAU,GAAG,UAAC,EAAyD;;QAAvD,oBAAoB,0BAAA,EAAE,0BAA0B,gCAAA;IAE5D,IAAA,KAAyC,2BAA2B,EAAE,EAArE,OAAO,QAAA,EAAU,iBAAiB,aAAmC,CAAC;IAC7E,SAAS,CAAC;QACN,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC,0BAA0B;IAC1C,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEN,IAAA,aAAa,GAAI,uBAAuB,EAAE,GAA7B,CAA8B;IAC5C,IAAA,KAAgC,QAAQ,CAAC,CAAC,CAAC,EAA1C,WAAW,QAAA,EAAE,cAAc,QAAe,CAAC;IAClD,SAAS,CAAC;QACN,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,IAAM,KAAK,GAAG,MAAM,CAAQ,IAAI,CAAC,CAAC;IAClC,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;IAC1D,IAAM,oBAAoB,GAAG,uBAAuB,CAAC;IAErD,IAAM,aAAa,GAAG;QAClB,OAAO,CACH,KAAC,MAAM,IACH,aAAa,EAAE;gBACX,UAAU,EAAE,EAAE;gBACd,uBAAuB;gBACvB,QAAQ,EAAE,EAAE;gBACZ,0BAA0B;aAC7B,EACD,kBAAkB,EAAE,KAAK,EACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;gBACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;qBACnB,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;qBAC5D,IAAI,CACD,mBAAmB,EACnB,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,EACjD,UAAC,KAAK;oBACF,4BAA4B;oBAE5B,IAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAEpD,OAAO,OAAO,IAAI,UAAU,CAAC;gBACjC,CAAC,CACJ;gBACL,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aAC7E,CAAC,EACF,QAAQ,EAAE,UAAO,MAAM,EAAE,EAA4B;oBAA1B,aAAa,mBAAA,EAAE,SAAS,eAAA;;;;;;;;gCAQ1B,qBAAM,MAAM,CAAC,aAAa,EAAE;wCACzC,QAAQ,EAAE,KAAK;wCACf,UAAU,EAAE,MAAM,CAAC,UAAU;wCAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;qCAC5B,CAAC,EAAA;;gCAJI,QAAQ,GAAG,SAIf;gCAEF,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE;oCACjB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;oCACtE,SAAS,CAAC;wCACN,UAAU,EAAE,cAAc,CAAC,mBAAmB;wCAC9C,QAAQ,EAAE,cAAc,CAAC,mBAAmB;qCAC/C,CAAC,CAAC;iCACN;qCAAM;oCACH,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;oCAC1F,WAAW,GAAG,GAAG,CAAC,gCAAgC,CAAC,IAAI,QAAQ,CAAC;oCACtE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iCAC5B;;;;gCAED,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,CAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,IAAI,EAAC,CAAC,CAAC,MAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;;;gCAE3H,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;;;;;;aAErE,YAEA,UAAC,MAAM;;gBAAK,OAAA,CACT,MAAC,IAAI,eACD,eAAK,SAAS,EAAC,6BAA6B,aACxC,gBAAO,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,wBAAwB,YAAE,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,GAAS,EACrI,KAAC,SAAS,IACN,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,YAAY,EACjB,WAAW,EAAE,0BAA0B,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,mBAAmB,EAC1F,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EACnC,MAAM,EAAE,MAAM,CAAC,UAAU,GAC3B,EACD,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,KAAC,OAAO,IAC/C,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,UAAU,0CAAE,QAAQ,EAAE,GAC9C,IACA,EACN,eAAK,SAAS,EAAC,6BAA6B,EAAC,KAAK,EAAE,EAAE,aAClD,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,wBAAwB,yBAAiB,EAC7E,KAAC,QAAQ,IACL,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,UAAU,QACV,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EACjC,cAAc,EAAC,QAAQ,EACvB,QAAQ,EAAE,KAAK,GACjB,EACD,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,KAAC,OAAO,IAC7C,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,EAKN,eAAK,SAAS,EAAC,sDAAsD,aAUjE,eAAW,EACX,KAAC,IAAI,IAAC,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAC,kCAAkC,iCAAwB,IAChH,EACN,cAAK,SAAS,EAAC,MAAM,YACjB,KAAC,MAAM,IAAC,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,GAAI,GACtI,IACH,CACV,CAAA;aAAA,GACI,CACZ,CAAA;IACL,CAAC,CAAA;IAED,IAAM,iBAAiB,GAAG;;QACtB,IAAM,cAAc,GAAG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,6BAA6B,KAAI,OAAO,CAAC;QACnF,IAAA,KAA8C,QAAQ,CAAqB,OAAO,CAAC,EAAlF,kBAAkB,QAAA,EAAE,qBAAqB,QAAyC,CAAC;QAE1F,IAAM,cAAc,GAAG;YACnB,IAAI,cAAc,KAAK,YAAY,EAAE;gBACjC,IAAI,kBAAkB,KAAK,QAAQ,EAAE;oBACjC,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,sCAAsC;wBACnD,IAAI,EAAE,QAAQ;wBACd,iCAAiC;wBACjC,6EAA6E;wBAC7E,gEAAgE;qBACnE,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,8BAA8B;wBAC3C,IAAI,EAAE,OAAO;wBACb,iCAAiC;wBACjC,4DAA4D;wBAC5D,wDAAwD;qBAC3D,CAAC;iBACL;aACJ;YACD,QAAQ,cAAc,EAAE;gBACpB,KAAK,QAAQ;oBACT,OAAO;wBACH,KAAK,EAAE,oBAAoB,IAAI,0BAA0B;wBACzD,WAAW,EAAE,0BAA0B,IAAI,qCAAqC;wBAChF,IAAI,EAAE,QAAQ;wBACd,iCAAiC;wBACjC,6EAA6E;wBAC7E,gEAAgE;qBACnE,CAAC;gBACN,KAAK,OAAO,CAAC;gBACb;oBACI,OAAO;wBACH,KAAK,EAAE,oBAAoB,IAAI,kBAAkB;wBACjD,WAAW,EAAE,0BAA0B,IAAI,qBAAqB;wBAChE,IAAI,EAAE,OAAO;wBACb,iCAAiC;wBACjC,4DAA4D;wBAC5D,wDAAwD;qBAC3D,CAAC;aACT;QACL,CAAC,CAAC;QAEF,IAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,OAAO,CACH,KAAC,MAAM,IACH,aAAa,EAAE;gBACX,UAAU,EAAE,EAAE;aACjB;YACD,qBAAqB;YACrB,oCAAoC;YACpC,qBAAqB;YACrB,qDAAqD;YACrD,WAAW;YACX,qBAAqB;YACrB,2DAA2D;YAC3D,WAAW;YACX,MAAM;YACN,gBAAgB,EACZ,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAEjE,kBAAkB,EAAE,KAAK,EACzB,QAAQ,EAAE,UAAO,MAAM,EAAE,EAA4B;oBAA1B,aAAa,mBAAA,EAAE,SAAS,eAAA;;;;;;;;gCAErC,cAAc,GAAG,yBAAkB,MAAM,CAAC,UAAU,CAAE,CAAC;gCACvD,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,KAAK,CAAC,CAAC;gCAChF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;gCAGzD,QAAQ,GAAG,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;gCAEnF,OAAO,GAA0C;oCACnD,UAAU,EAAE,MAAM,CAAC,UAAU;iCAChC,CAAC;gCACF,IAAI,cAAc,KAAK,YAAY,EAAE;oCACjC,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAC;iCACrC;gCAEK,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,SAAS,CAAC,KAAK,EACX,OAAO,EACP,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CACvC,CAAC;wCACF,aAAa,CAAC,KAAK,CAAC,CAAC;wCACrB,sBAAO,CAAC,mBAAmB;qCAC9B;iCACJ;gCACgB,qBAAM,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAA;;gCAAhD,QAAQ,GAAG,SAAqC;gCAEtD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;oCAC9B,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,UAAU,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC;oCAC1E,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;oCACrC,YAAY,CAAC,OAAO,CAAC,yBAAkB,UAAU,CAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oCAC5E,MAAM,CAAC,IAAI,CAAC,0CAAmC,kBAAkB,CAAC,UAAU,CAAC,mBAAS,QAAQ,CAAE,CAAC,CAAC;iCACrG;qCAAM;oCACH,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;iCACzE;;;;gCAED,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,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,CAAC,CAAC;gCACvH,SAAS,CAAC;oCACN,UAAU,EAAE,qBAAqB;iCACpC,CAAC,CAAC;;;gCAEH,aAAa,CAAC,KAAK,CAAC,CAAC;;;;;;aAE5B,YAEA,UAAC,MAAM;;gBAAK,OAAA,CACT,MAAC,IAAI,eAEA,cAAc,KAAK,YAAY,IAAI,CAChC,eAAK,SAAS,EAAC,6BAA6B,aACxC,gBAAO,SAAS,EAAC,wBAAwB,6CAAqC,EAC9E,eAAK,SAAS,EAAC,YAAY,aACvB,eAAK,SAAS,EAAC,yBAAyB,aACpC,KAAC,WAAW,IACR,OAAO,EAAC,YAAY,EACpB,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,kBAAkB,KAAK,OAAO,EACvC,QAAQ,EAAE,UAAC,CAAC;wDACR,qBAAqB,CAAC,OAAO,CAAC,CAAC;wDAC/B,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oDAC3C,CAAC,EACD,SAAS,EAAC,MAAM,GAClB,EACF,gBAAO,OAAO,EAAC,YAAY,EAAC,SAAS,EAAC,uCAAuC,iCAAyB,IACpG,EACN,eAAK,SAAS,EAAC,yBAAyB,aACpC,KAAC,WAAW,IACR,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,kBAAkB,KAAK,QAAQ,EACxC,QAAQ,EAAE,UAAC,CAAC;wDACR,qBAAqB,CAAC,QAAQ,CAAC,CAAC;wDAChC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oDAC3C,CAAC,EACD,SAAS,EAAC,MAAM,GAClB,EACF,gBAAO,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,uCAAuC,kCAA0B,IACtG,IACJ,IACJ,CACT,EACD,eAAK,SAAS,EAAC,6BAA6B,aACxC,gBAAO,OAAO,EAAC,YAAY,EAAC,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,KAAK,GAAS,EAC1F,KAAC,SAAS,IACN,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,YAAY,EACjB,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EACnC,MAAM,EAAE,MAAM,CAAC,UAAU,GAC3B,EACD,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,KAAC,OAAO,IAC/C,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,UAAU,0CAAE,QAAQ,EAAE,GAC9C,IACA,EACN,cAAK,SAAS,EAAC,MAAM,YACjB,KAAC,MAAM,IAAC,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,GAAI,GACtI,IACH,CACV,CAAA;aAAA,GACI,CACZ,CAAA;IACL,CAAC,CAAA;IAED,IAAM,QAAQ,GAA4B,UAAC,EAAuC;YAArC,iBAAiB,uBAAA,EAAE,gBAAgB,sBAAA;QAC5E,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;YACvC,OAAO,CACH,MAAC,OAAO,IAAC,SAAS,EAAC,oBAAoB,EACnC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,UAAC,CAAC,IAAK,OAAA,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAvB,CAAuB,aAE3C,KAAC,QAAQ,IAAC,MAAM,EAAC,eAAe,YAC5B,KAAC,aAAa,KAAG,GACV,EACX,KAAC,QAAQ,IAAC,MAAM,EAAC,kBAAkB,YAC/B,KAAC,iBAAiB,KAAG,GACd,IACL,CACb,CAAC;SACL;aAAM,IAAI,iBAAiB,EAAE;YAC1B,OAAO,KAAC,aAAa,KAAG,CAAC;SAC5B;aAAM,IAAI,gBAAgB,EAAE;YACzB,OAAO,KAAC,iBAAiB,KAAG,CAAC;SAChC;aAAM;YACH,OAAO,6DAAyC,CAAC;SACpD;IACL,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAC,EAAE,aACb,KAAC,KAAK,IAAC,GAAG,EAAE,KAAK,GAAI,EACrB,eAAK,SAAS,EAAE,yBAAkB,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,aACxG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ;wBAClD,cAAK,SAAS,EAAC,6BAA6B,YACxC,cAAK,SAAS,EAAE,6CAAsC,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,CAAE,YAC5F,KAAC,KAAK,IACF,GAAG,EAAC,YAAY,EAChB,GAAG,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,OAAO,KAAI,SAAS,EAClD,SAAS,EAAC,UAAU,EACpB,IAAI,SACN,GACA,GACJ,EAEV,aAAI,SAAS,EAAE,2BAAoB,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,WAAW,CAAE,wCAA8B,EAGnK,KAAC,QAAQ,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,GAAI,EACvI,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,qBAAqB;wBAC3C,8BACI,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,YACnB,cAAK,SAAS,EAAC,gCAAgC,mBAEzC,GACA,EACV,KAAC,gBAAgB,KAAG,IACrB,IAEL,EACL,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uBAAuB,KAAI,cAAK,SAAS,EAAC,cAAc,YAC9E,eAAK,SAAS,EAAC,mDAAmD,8CACtC,KAAC,IAAI,IAAC,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,gBAAgB,wBAAe,IACtF,GACJ,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { Form, Formik } from \"formik\";\nimport { signIn } from \"../../adapters/auth/index\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { Button } from \"primereact/button\";\nimport { Divider } from \"primereact/divider\";\nimport { InputText } from \"primereact/inputtext\";\nimport { Message } from \"primereact/message\";\nimport { Password } from \"primereact/password\";\nimport { TabPanel, TabView } from 'primereact/tabview';\nimport { Toast } from \"primereact/toast\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { RadioButton } from \"primereact/radiobutton\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport showToast from \"../../helpers/showToast\";\n\ninterface AuthTabsProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n}\nconst SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const [initiateLogin] = useInitateLoginMutation();\n const [activeIndex, setActiveIndex] = useState(0);\n useEffect(() => {\n sessionStorage.removeItem(\"app-mounted\");\n }, [])\n const toast = useRef<Toast>(null);\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n const emailOrUsernameRegex = /^[a-zA-Z0-9._]{2,30}$/;\n\n const PasswordLogin = () => {\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n // email: initialEmail,\n password: \"\",\n // rememberMe: rememberMe,\n }}\n enableReinitialize={false}\n validationSchema={Yup.object({\n identifier: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email or Username\"))\n .test(\n \"email-or-username\",\n ERROR_MESSAGES.FIELD_INVALID(\"email or username\"),\n (value) => {\n // if (!value) return false;\n\n const isEmail = Yup.string().email().isValidSync(value);\n const isUsername = emailOrUsernameRegex.test(value);\n\n return isEmail || isUsername;\n }\n ),\n password: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Password\")),\n })}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n // Handle Remember Me\n // if (values.rememberMe) {\n // localStorage.setItem(\"rememberedEmail\", values.email);\n // } else {\n // localStorage.removeItem(\"rememberedEmail\");\n // }\n const response = await signIn(\"credentials\", {\n redirect: false,\n identifier: values.identifier,\n password: values.password,\n });\n\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n setErrors({\n identifier: ERROR_MESSAGES.INVALID_CREDENTIALS,\n password: ERROR_MESSAGES.INVALID_CREDENTIALS,\n });\n } else {\n showToast(toast, \"success\", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (error: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, error?.data ? error?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG);\n } finally {\n setSubmitting(false); // Re-enable the button after submission\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-column gap-2 mt-3\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <InputText\n id=\"identifier\"\n name=\"identifier\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email or Username\"}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n invalid={!!formik.errors.identifier}\n onBlur={formik.handleBlur}\n />\n {isFormFieldValid(formik, \"identifier\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-1 mt-4\" style={{}}>\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Password</label>\n <Password\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggleMask\n invalid={!!formik.errors.password}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"password\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.password?.toString()}\n />}\n </div>\n {/* <div className=\"flex align-items-center mt-4\">\n <Checkbox inputId=\"remember\" onChange={(e: any) => setChecked(e.checked)} checked={checked} />\n <label htmlFor=\"remember\" className=\"ml-2\">Remember me</label>\n </div> */}\n <div className=\"mt-4 flex align-items-center justify-content-between\">\n {/* <div className=\"flex align-items-center gap-2\">\n <Checkbox\n inputId=\"rememberMe\"\n name=\"rememberMe\"\n checked={formik.values.rememberMe}\n onChange={formik.handleChange}\n />\n <label htmlFor=\"rememberMe\" className=\"solid-auth-input-label\">Remember me</label>\n </div> */}\n <div></div>\n <Link href={\"/auth/initiate-forgot-password\"} className=\"solid-auth-input-label font-bold\">Forgot Password?</Link>\n </div>\n <div className=\"mt-4\">\n <Button className=\"w-full font-light auth-submit-button\" label=\"Sign In\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessLogin = () => {\n const validationType = solidSettingsData?.data?.passwordlessLoginValidateWhat || \"email\";\n const [selectedAuthMethod, setSelectedAuthMethod] = useState<\"email\" | \"mobile\">(\"email\");\n\n const getFieldConfig = () => {\n if (validationType === \"selectable\") {\n if (selectedAuthMethod === \"mobile\") {\n return {\n label: \"Mobile Number / Username\",\n placeholder: \"Enter your mobile number or username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n } else {\n return {\n label: \"Email Address / Username\",\n placeholder: \"Enter your email or username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n }\n switch (validationType) {\n case \"mobile\":\n return {\n label: signInValidatorLabel || \"Mobile Number / Username\",\n placeholder: signInValidatorPlaceholder || \"Enter your mobile number / username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n case \"email\":\n default:\n return {\n label: signInValidatorLabel || \"Email / Username\",\n placeholder: signInValidatorPlaceholder || \"Email ID / username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n };\n\n const fieldConfig = getFieldConfig();\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n }}\n // validationSchema={\n // fieldConfig.validationSchema \n // ? Yup.object({\n // identifier: fieldConfig.validationSchema\n // })\n // : Yup.object({\n // identifier: Yup.string().required(\"required\"),\n // })\n // }\n validationSchema={\n Yup.object({ identifier: Yup.string().required(\"required\") })\n }\n enableReinitialize={false}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const RESEND_OTP_KEY = `resendOtpLogin_${values.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\n // Use selectedAuthMethod for selectable, otherwise use fieldConfig.type\n const authType = validationType === \"selectable\" ? selectedAuthMethod : fieldConfig.type;\n\n const payload: { identifier: string; type?: string } = {\n identifier: values.identifier,\n };\n if (validationType === \"selectable\") {\n payload.type = selectedAuthMethod;\n }\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 showToast(toast, \n \"error\",\n ERROR_MESSAGES.PLEASE_WAIT,\n ERROR_MESSAGES.OPT_FORMAT(formatted)\n );\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateLogin(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.OPT_RESEND, response?.data?.message);\n const identifier = values.identifier;\n localStorage.setItem(`resendOtpLogin_${identifier}`, Date.now().toString());\n router.push(`/auth/initiate-login?identifier=${encodeURIComponent(identifier)}&type=${authType}`);\n } else {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n }\n } catch (err: any) {\n showToast(toast, \"error\", ERROR_MESSAGES.LOGIN_ERROR, err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG);\n setErrors({\n identifier: \"Invalid Credentials\",\n });\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {/* Radio buttons for selectable type */}\n {validationType === \"selectable\" && (\n <div className=\"flex flex-column gap-3 mt-3\">\n <label className=\"solid-auth-input-label\">Select Authentication Method</label>\n <div className=\"flex gap-4\">\n <div className=\"flex align-items-center\">\n <RadioButton\n inputId=\"auth-email\"\n name=\"authMethod\"\n value=\"email\"\n checked={selectedAuthMethod === \"email\"}\n onChange={(e) => {\n setSelectedAuthMethod(\"email\");\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"mr-2\"\n />\n <label htmlFor=\"auth-email\" className=\"solid-auth-input-label cursor-pointer\">Email / Username</label>\n </div>\n <div className=\"flex align-items-center\">\n <RadioButton\n inputId=\"auth-mobile\"\n name=\"authMethod\"\n value=\"mobile\"\n checked={selectedAuthMethod === \"mobile\"}\n onChange={(e) => {\n setSelectedAuthMethod(\"mobile\");\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"mr-2\"\n />\n <label htmlFor=\"auth-mobile\" className=\"solid-auth-input-label cursor-pointer\">Mobile / Username</label>\n </div>\n </div>\n </div>\n )}\n <div className=\"flex flex-column gap-2 mt-3\">\n <label htmlFor=\"identifier\" className=\"solid-auth-input-label\">{fieldConfig.label}</label>\n <InputText\n id=\"identifier\"\n name=\"identifier\"\n placeholder={fieldConfig.placeholder}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n invalid={!!formik.errors.identifier}\n onBlur={formik.handleBlur}\n />\n {isFormFieldValid(formik, \"identifier\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />}\n </div>\n <div className=\"mt-4\">\n <Button className=\"w-full font-light auth-submit-button\" label=\"Sign In\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const AuthTabs: React.FC<AuthTabsProps> = ({ passwordBasedAuth, passwordLessAuth }) => {\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <TabView className=\"solid-auth-tabview\"\n activeIndex={activeIndex}\n onTabChange={(e) => setActiveIndex(e.index)}\n >\n <TabPanel header=\"With Password\">\n <PasswordLogin />\n </TabPanel>\n <TabPanel header=\"Without Password\">\n <PasswordLessLogin />\n </TabPanel>\n </TabView>\n );\n } else if (passwordBasedAuth) {\n return <PasswordLogin />;\n } else if (passwordLessAuth) {\n return <PasswordLessLogin />;\n } else {\n return <p>No authentication method available</p>;\n }\n };\n\n return (\n <div className=\"\">\n <Toast ref={toast} />\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n {solidSettingsData?.data?.authPagesLayout === 'center' &&\n <div className=\"flex justify-content-center\">\n <div className={`solid-logo flex align-items-center ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n </div>\n }\n <h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center mt-2 md:mt-4' : 'text-left'}`}>Sign In To Your Account</h2>\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\n <AuthTabs passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} />\n {solidSettingsData?.data?.iamGoogleOAuthEnabled &&\n <>\n <Divider align=\"center\">\n <div className=\"inline-flex align-items-center\">\n OR\n </div>\n </Divider>\n <SocialMediaLogin />\n </>\n }\n </div>\n {solidSettingsData?.data?.allowPublicRegistration && <div className=\"mt-3 md:mt-5\">\n <div className=\"text-sm text-center text-400 secondary-dark-color\">\n Don’t have an account ? <Link className=\"font-bold\" href=\"/auth/register\">Sign Up</Link>\n </div>\n </div>}\n </div>\n );\n};\n\nexport default SolidLogin;\n"]}
@@ -168,11 +168,11 @@ const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) =
168
168
  }
169
169
 
170
170
  const PasswordLessLogin = () => {
171
- const validationType = solidSettingsData?.data?.passwordlessRegistrationValidateWhat || "email";
171
+ const validationType = solidSettingsData?.data?.passwordlessLoginValidateWhat || "email";
172
172
  const [selectedAuthMethod, setSelectedAuthMethod] = useState<"email" | "mobile">("email");
173
173
 
174
174
  const getFieldConfig = () => {
175
- if (validationType === "transactional") {
175
+ if (validationType === "selectable") {
176
176
  if (selectedAuthMethod === "mobile") {
177
177
  return {
178
178
  label: "Mobile Number / Username",
@@ -241,13 +241,15 @@ const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) =
241
241
  const RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
242
242
  const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
243
243
 
244
- // Use selectedAuthMethod for transactional, otherwise use fieldConfig.type
245
- const authType = validationType === "transactional" ? selectedAuthMethod : fieldConfig.type;
244
+ // Use selectedAuthMethod for selectable, otherwise use fieldConfig.type
245
+ const authType = validationType === "selectable" ? selectedAuthMethod : fieldConfig.type;
246
246
 
247
- const payload = {
248
- type: authType,
247
+ const payload: { identifier: string; type?: string } = {
249
248
  identifier: values.identifier,
250
249
  };
250
+ if (validationType === "selectable") {
251
+ payload.type = selectedAuthMethod;
252
+ }
251
253
 
252
254
  const storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);
253
255
  const now = Date.now();
@@ -289,8 +291,8 @@ const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) =
289
291
  >
290
292
  {(formik) => (
291
293
  <Form>
292
- {/* Radio buttons for transactional type */}
293
- {validationType === "transactional" && (
294
+ {/* Radio buttons for selectable type */}
295
+ {validationType === "selectable" && (
294
296
  <div className="flex flex-column gap-3 mt-3">
295
297
  <label className="solid-auth-input-label">Select Authentication Method</label>
296
298
  <div className="flex gap-4">
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../src/components/common/GeneralSettings.tsx"],"names":[],"mappings":"AA8BA,eAAO,MAAM,eAAe,+CAgqC3B,CAAA"}
1
+ {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../src/components/common/GeneralSettings.tsx"],"names":[],"mappings":"AA8BA,eAAO,MAAM,eAAe,+CA+rC3B,CAAA"}