@okta/okta-signin-widget 7.16.0 → 7.16.1

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 (246) hide show
  1. package/README.md +5 -5
  2. package/dist/css/fonts.css +172 -0
  3. package/dist/css/okta-sign-in.next.css +1 -240
  4. package/dist/css/okta-sign-in.next.css.map +1 -1
  5. package/dist/esm/src/config/config.json.js +1 -1
  6. package/dist/js/okta-sign-in.classic.js +1 -1
  7. package/dist/js/okta-sign-in.classic.min.js +1 -1
  8. package/dist/js/okta-sign-in.js +1 -1
  9. package/dist/js/okta-sign-in.min.js +1 -1
  10. package/dist/js/okta-sign-in.next.js +61 -19
  11. package/dist/js/okta-sign-in.next.js.map +1 -1
  12. package/dist/js/okta-sign-in.next.no-polyfill.js +60 -18
  13. package/dist/js/okta-sign-in.next.no-polyfill.js.map +1 -1
  14. package/dist/js/okta-sign-in.no-polyfill.min.js +1 -1
  15. package/dist/js/okta-sign-in.oie.js +1 -1
  16. package/dist/js/okta-sign-in.oie.min.js +1 -1
  17. package/package.json +10 -5
  18. package/src/config/config.json +1 -1
  19. package/src/v3/components/AuthCoin/AuthCoin.tsx +15 -17
  20. package/src/v3/components/AuthContainer/AuthContainer.tsx +11 -17
  21. package/src/v3/components/AuthContent/AuthContent.tsx +21 -16
  22. package/src/v3/components/AuthHeader/AuthHeader.tsx +18 -19
  23. package/src/v3/components/AuthenticatorButton/AuthenticatorButton.tsx +116 -77
  24. package/src/v3/components/AuthenticatorButton/AuthenticatorButtonList.tsx +9 -3
  25. package/src/v3/components/Button/Button.tsx +16 -20
  26. package/src/v3/components/CaptchaContainer/CaptchaContainer.tsx +1 -1
  27. package/src/v3/components/Checkbox/Checkbox.tsx +33 -82
  28. package/src/v3/components/ConsentHeader/ConsentHeader.tsx +23 -23
  29. package/src/v3/components/Divider/Divider.tsx +2 -2
  30. package/src/v3/components/Form/Accordion.tsx +15 -36
  31. package/src/v3/components/Form/ElementContainer.tsx +6 -3
  32. package/src/v3/components/Form/Form.tsx +2 -4
  33. package/src/v3/components/Form/Layout.tsx +1 -1
  34. package/src/v3/components/Form/LayoutContainer.tsx +4 -2
  35. package/src/v3/components/Heading/Heading.tsx +7 -5
  36. package/src/v3/components/Icon/CustomAppIcon.tsx +13 -15
  37. package/src/v3/components/Icon/CustomOTPIcon.tsx +5 -10
  38. package/src/v3/components/Icon/DuoIcon.tsx +5 -10
  39. package/src/v3/components/Icon/EmailIcon.tsx +5 -10
  40. package/src/v3/components/Icon/GoogleOTPIcon.tsx +5 -10
  41. package/src/v3/components/Icon/IDPIcon.tsx +5 -10
  42. package/src/v3/components/Icon/OktaVerifyIcon.tsx +0 -7
  43. package/src/v3/components/Icon/OnPremMFAIcon.tsx +5 -10
  44. package/src/v3/components/Icon/PasswordIcon.tsx +5 -10
  45. package/src/v3/components/Icon/PhoneIcon.tsx +5 -10
  46. package/src/v3/components/Icon/RSAIcon.tsx +6 -11
  47. package/src/v3/components/Icon/SecurityKeyOrBiometricsIcon.tsx +5 -10
  48. package/src/v3/components/Icon/SecurityQuestionIcon.tsx +5 -10
  49. package/src/v3/components/Icon/SmartCardIcon.tsx +5 -10
  50. package/src/v3/components/Icon/SymantecIcon.tsx +5 -10
  51. package/src/v3/components/Icon/YubiKeyIcon.tsx +5 -10
  52. package/src/v3/components/Icon/index.tsx +0 -2
  53. package/src/v3/components/IdentifierContainer/IdentifierContainer.tsx +31 -47
  54. package/src/v3/components/Image/Image.tsx +42 -0
  55. package/src/v3/{src/components/CustomPluginsOdysseyCacheProvider → components/Image}/index.tsx +2 -2
  56. package/src/v3/components/ImageWithText/ImageWithText.tsx +7 -4
  57. package/src/v3/components/Images/AppIcon.tsx +16 -46
  58. package/src/v3/components/Images/DeviceIcon.tsx +16 -32
  59. package/src/v3/components/Images/LocationIcon.tsx +16 -26
  60. package/src/v3/components/Images/PhoneIcon.tsx +34 -29
  61. package/src/v3/components/Images/YubikeyDemoImage.tsx +32 -27
  62. package/src/v3/components/Images/index.tsx +0 -1
  63. package/src/v3/components/InfoBox/InfoBox.tsx +12 -12
  64. package/src/v3/components/InfoSection/InfoSection.tsx +20 -14
  65. package/src/v3/components/InformationalText/InformationalText.tsx +16 -6
  66. package/src/v3/components/InputPassword/InputPassword.tsx +31 -164
  67. package/src/v3/components/InputText/InputText.tsx +27 -103
  68. package/src/v3/components/LaunchAuthenticatorButton/LaunchAuthenticatorButton.tsx +14 -26
  69. package/src/v3/components/Link/Link.tsx +8 -20
  70. package/src/v3/components/List/List.tsx +16 -12
  71. package/src/v3/components/PIVButton/PIVButton.tsx +10 -8
  72. package/src/v3/components/PasswordRequirements/Icon.tsx +17 -23
  73. package/src/v3/components/PasswordRequirements/PasswordMatches.tsx +9 -2
  74. package/src/v3/components/PasswordRequirements/PasswordRequirementListItem.tsx +6 -5
  75. package/src/v3/components/PasswordRequirements/PasswordRequirements.tsx +5 -3
  76. package/src/v3/components/PhoneAuthenticator/PhoneAuthenticator.tsx +53 -137
  77. package/src/v3/components/QRCode/QRCode.tsx +27 -20
  78. package/src/v3/components/Radio/Radio.tsx +31 -93
  79. package/src/v3/components/ReminderPrompt/ReminderPrompt.tsx +9 -12
  80. package/src/v3/components/Select/Select.tsx +45 -92
  81. package/src/v3/components/Spinner/Spinner.tsx +6 -8
  82. package/src/v3/components/StepperButton/StepperButton.tsx +6 -10
  83. package/src/v3/components/StepperLink/StepperLink.tsx +1 -1
  84. package/src/v3/components/StepperRadio/StepperRadio.tsx +22 -43
  85. package/src/v3/components/TextWithActionLink/TextWithActionLink.tsx +1 -1
  86. package/src/v3/components/Title/Title.tsx +5 -9
  87. package/src/v3/components/WebAuthNSubmitButton/WebAuthNSubmitButton.tsx +10 -9
  88. package/src/v3/components/Widget/GlobalStyles.tsx +16 -21
  89. package/src/v3/components/Widget/index.tsx +51 -36
  90. package/src/v3/components/Widget/style.scss +295 -0
  91. package/src/v3/components/WidgetMessageContainer/WidgetMessageContainer.tsx +11 -8
  92. package/src/v3/components/hocs/withFormValidationState.tsx +2 -5
  93. package/src/v3/jest.config.js +1 -0
  94. package/src/v3/jest.setup.js +1 -0
  95. package/src/v3/package.json +11 -7
  96. package/src/v3/screenshots/base/UI_demo/UI_demo_RTL_VRT.png +0 -0
  97. package/src/v3/screenshots/base/UI_demo/UI_demo_VRT.png +0 -0
  98. package/src/v3/src/components/AuthCoin/AuthCoin.tsx +15 -17
  99. package/src/v3/src/components/AuthCoin/__snapshots__/AuthCoin.test.tsx.snap +20 -47
  100. package/src/v3/src/components/AuthContainer/AuthContainer.tsx +11 -17
  101. package/src/v3/src/components/AuthContent/AuthContent.tsx +21 -16
  102. package/src/v3/src/components/AuthHeader/AuthHeader.tsx +18 -19
  103. package/src/v3/src/components/AuthenticatorButton/AuthenticatorButton.tsx +116 -77
  104. package/src/v3/src/components/AuthenticatorButton/AuthenticatorButtonList.tsx +9 -3
  105. package/src/v3/src/components/Button/Button.tsx +16 -20
  106. package/src/v3/src/components/CaptchaContainer/CaptchaContainer.tsx +1 -1
  107. package/src/v3/src/components/Checkbox/Checkbox.tsx +33 -82
  108. package/src/v3/src/components/ConsentHeader/ConsentHeader.tsx +23 -23
  109. package/src/v3/src/components/Divider/Divider.tsx +2 -2
  110. package/src/v3/src/components/Form/Accordion.tsx +15 -36
  111. package/src/v3/src/components/Form/ElementContainer.tsx +6 -3
  112. package/src/v3/src/components/Form/Form.tsx +2 -4
  113. package/src/v3/src/components/Form/Layout.tsx +1 -1
  114. package/src/v3/src/components/Form/LayoutContainer.tsx +4 -2
  115. package/src/v3/src/components/Heading/Heading.tsx +7 -5
  116. package/src/v3/src/components/Icon/CustomAppIcon.tsx +13 -15
  117. package/src/v3/src/components/Icon/CustomOTPIcon.tsx +5 -10
  118. package/src/v3/src/components/Icon/DuoIcon.tsx +5 -10
  119. package/src/v3/src/components/Icon/EmailIcon.tsx +5 -10
  120. package/src/v3/src/components/Icon/GoogleOTPIcon.tsx +5 -10
  121. package/src/v3/src/components/Icon/IDPIcon.tsx +5 -10
  122. package/src/v3/src/components/Icon/OktaVerifyIcon.tsx +0 -7
  123. package/src/v3/src/components/Icon/OnPremMFAIcon.tsx +5 -10
  124. package/src/v3/src/components/Icon/PasswordIcon.tsx +5 -10
  125. package/src/v3/src/components/Icon/PhoneIcon.tsx +5 -10
  126. package/src/v3/src/components/Icon/RSAIcon.tsx +6 -11
  127. package/src/v3/src/components/Icon/SecurityKeyOrBiometricsIcon.tsx +5 -10
  128. package/src/v3/src/components/Icon/SecurityQuestionIcon.tsx +5 -10
  129. package/src/v3/src/components/Icon/SmartCardIcon.tsx +5 -10
  130. package/src/v3/src/components/Icon/SymantecIcon.tsx +5 -10
  131. package/src/v3/src/components/Icon/YubiKeyIcon.tsx +5 -10
  132. package/src/v3/src/components/Icon/index.tsx +0 -2
  133. package/src/v3/src/components/IdentifierContainer/IdentifierContainer.tsx +31 -47
  134. package/src/v3/src/components/Image/Image.tsx +42 -0
  135. package/src/v3/{components/CustomPluginsOdysseyCacheProvider → src/components/Image}/index.tsx +2 -2
  136. package/src/v3/src/components/ImageWithText/ImageWithText.tsx +7 -4
  137. package/src/v3/src/components/Images/AppIcon.tsx +16 -46
  138. package/src/v3/src/components/Images/DeviceIcon.tsx +16 -32
  139. package/src/v3/src/components/Images/LocationIcon.tsx +16 -26
  140. package/src/v3/src/components/Images/PhoneIcon.tsx +34 -29
  141. package/src/v3/src/components/Images/YubikeyDemoImage.tsx +32 -27
  142. package/src/v3/src/components/Images/index.tsx +0 -1
  143. package/src/v3/src/components/InfoBox/InfoBox.tsx +12 -12
  144. package/src/v3/src/components/InfoSection/InfoSection.tsx +20 -14
  145. package/src/v3/src/components/InformationalText/InformationalText.tsx +16 -6
  146. package/src/v3/src/components/InputPassword/InputPassword.tsx +31 -164
  147. package/src/v3/src/components/InputText/InputText.tsx +27 -103
  148. package/src/v3/src/components/LaunchAuthenticatorButton/LaunchAuthenticatorButton.tsx +14 -26
  149. package/src/v3/src/components/Link/Link.tsx +8 -20
  150. package/src/v3/src/components/List/List.tsx +16 -12
  151. package/src/v3/src/components/PIVButton/PIVButton.tsx +10 -8
  152. package/src/v3/src/components/PasswordRequirements/Icon.tsx +17 -23
  153. package/src/v3/src/components/PasswordRequirements/PasswordMatches.tsx +9 -2
  154. package/src/v3/src/components/PasswordRequirements/PasswordRequirementListItem.tsx +6 -5
  155. package/src/v3/src/components/PasswordRequirements/PasswordRequirements.tsx +5 -3
  156. package/src/v3/src/components/PhoneAuthenticator/PhoneAuthenticator.tsx +53 -137
  157. package/src/v3/src/components/QRCode/QRCode.tsx +27 -20
  158. package/src/v3/src/components/Radio/Radio.tsx +31 -93
  159. package/src/v3/src/components/ReminderPrompt/ReminderPrompt.tsx +9 -12
  160. package/src/v3/src/components/ReminderPrompt/__snapshots__/ReminderPrompt.test.tsx.snap +37 -17
  161. package/src/v3/src/components/Select/Select.tsx +45 -92
  162. package/src/v3/src/components/Spinner/Spinner.tsx +6 -8
  163. package/src/v3/src/components/StepperButton/StepperButton.tsx +6 -10
  164. package/src/v3/src/components/StepperLink/StepperLink.tsx +1 -1
  165. package/src/v3/src/components/StepperRadio/StepperRadio.tsx +22 -43
  166. package/src/v3/src/components/TextWithActionLink/TextWithActionLink.tsx +1 -1
  167. package/src/v3/src/components/Title/Title.tsx +5 -9
  168. package/src/v3/src/components/WebAuthNSubmitButton/WebAuthNSubmitButton.tsx +10 -9
  169. package/src/v3/src/components/Widget/GlobalStyles.tsx +16 -21
  170. package/src/v3/src/components/Widget/index.tsx +51 -36
  171. package/src/v3/src/components/Widget/style.scss +295 -0
  172. package/src/v3/src/components/WidgetMessageContainer/WidgetMessageContainer.tsx +11 -8
  173. package/src/v3/src/components/hocs/withFormValidationState.tsx +2 -5
  174. package/src/v3/src/transformer/button/__snapshots__/transformIDPButtons.test.ts.snap +0 -2
  175. package/src/v3/src/transformer/i18n/__snapshots__/transformAuthenticatorButton.test.ts.snap +4 -4
  176. package/src/v3/src/transformer/i18n/transformAuthenticatorButton.test.ts +3 -3
  177. package/src/v3/src/transformer/i18n/transformAuthenticatorButton.ts +18 -2
  178. package/src/v3/src/transformer/layout/development/transformEnumerateComponents.ts +72 -5
  179. package/src/v3/src/transformer/layout/idp/__snapshots__/transformIdpRedirect.test.ts.snap +4 -4
  180. package/src/v3/src/transformer/selectAuthenticator/__snapshots__/transformSelectAuthenticatorVerify.test.ts.snap +0 -3
  181. package/src/v3/src/transformer/selectAuthenticator/__snapshots__/transformSelectOVCustomAppMethodVerify.test.ts.snap +0 -1
  182. package/src/v3/src/transformer/selectAuthenticator/__snapshots__/utils.test.ts.snap +163 -42
  183. package/src/v3/src/transformer/selectAuthenticator/transformSelectAuthenticatorEnroll.ts +7 -1
  184. package/src/v3/src/transformer/selectAuthenticator/transformSelectAuthenticatorVerify.ts +0 -1
  185. package/src/v3/src/transformer/selectAuthenticator/transformSelectOVCustomAppMethodVerify.ts +0 -1
  186. package/src/v3/src/transformer/selectAuthenticator/utils.test.ts +117 -39
  187. package/src/v3/src/transformer/selectAuthenticator/utils.ts +102 -58
  188. package/src/v3/src/transformer/terminal/transformEmailMagicLinkOTPOnlyElements.ts +1 -3
  189. package/src/v3/src/transformer/uischema/transform.test.ts +0 -6
  190. package/src/v3/src/transformer/uischema/transform.ts +0 -2
  191. package/src/v3/src/{components/FieldLevelMessageContainer/index.tsx → types/image.ts} +10 -3
  192. package/src/v3/src/types/index.ts +1 -0
  193. package/src/v3/src/types/schema.ts +2 -1
  194. package/src/v3/src/types/widget.ts +3 -3
  195. package/src/v3/src/util/buildFieldLevelErrorMessages.ts +48 -0
  196. package/src/v3/src/util/formUtils.ts +5 -17
  197. package/src/v3/src/util/htmlContentParserUtils.tsx +3 -1
  198. package/src/v3/src/util/index.ts +2 -0
  199. package/src/v3/src/util/isLtrField.ts +22 -0
  200. package/src/v3/src/util/languageUtils.ts +14 -0
  201. package/src/v3/src/util/leonardo.d.ts +571 -0
  202. package/src/v3/src/util/mergeThemes.test.tsx +20 -7
  203. package/src/v3/src/util/mergeThemes.ts +32 -1
  204. package/src/v3/src/util/stylisPlugins.ts +21 -0
  205. package/src/v3/src/util/theme.test.ts +63 -187
  206. package/src/v3/src/util/theme.ts +274 -247
  207. package/src/v3/svgo.config.js +0 -6
  208. package/src/v3/transformer/i18n/transformAuthenticatorButton.ts +18 -2
  209. package/src/v3/transformer/layout/development/transformEnumerateComponents.ts +72 -5
  210. package/src/v3/transformer/selectAuthenticator/transformSelectAuthenticatorEnroll.ts +7 -1
  211. package/src/v3/transformer/selectAuthenticator/transformSelectAuthenticatorVerify.ts +0 -1
  212. package/src/v3/transformer/selectAuthenticator/transformSelectOVCustomAppMethodVerify.ts +0 -1
  213. package/src/v3/transformer/selectAuthenticator/utils.ts +102 -58
  214. package/src/v3/transformer/terminal/transformEmailMagicLinkOTPOnlyElements.ts +1 -3
  215. package/src/v3/transformer/uischema/transform.ts +0 -2
  216. package/src/v3/tsconfig.base.json +3 -0
  217. package/src/v3/{components/FieldLevelMessageContainer/index.tsx → types/image.ts} +10 -3
  218. package/src/v3/types/index.ts +1 -0
  219. package/src/v3/types/schema.ts +2 -1
  220. package/src/v3/types/widget.ts +3 -3
  221. package/src/v3/util/buildFieldLevelErrorMessages.ts +48 -0
  222. package/src/v3/util/formUtils.ts +5 -17
  223. package/src/v3/util/htmlContentParserUtils.tsx +3 -1
  224. package/src/v3/util/index.ts +2 -0
  225. package/src/v3/util/isLtrField.ts +22 -0
  226. package/src/v3/util/languageUtils.ts +14 -0
  227. package/src/v3/util/leonardo.d.ts +571 -0
  228. package/src/v3/util/mergeThemes.ts +32 -1
  229. package/src/v3/util/stylisPlugins.ts +21 -0
  230. package/src/v3/util/theme.ts +274 -247
  231. package/src/v3/components/CustomPluginsOdysseyCacheProvider/CustomPluginsOdysseyCacheProvider.tsx +0 -66
  232. package/src/v3/components/FieldLevelMessageContainer/FieldLevelMessageContainer.tsx +0 -55
  233. package/src/v3/components/Icon/CheckCircle.tsx +0 -30
  234. package/src/v3/components/Icon/RightArrowIcon.tsx +0 -30
  235. package/src/v3/components/Images/MobileDeviceIcon.tsx +0 -38
  236. package/src/v3/components/Widget/style.css +0 -181
  237. package/src/v3/src/components/CustomPluginsOdysseyCacheProvider/CustomPluginsOdysseyCacheProvider.tsx +0 -66
  238. package/src/v3/src/components/FieldLevelMessageContainer/FieldLevelMessageContainer.tsx +0 -55
  239. package/src/v3/src/components/Icon/CheckCircle.tsx +0 -30
  240. package/src/v3/src/components/Icon/RightArrowIcon.tsx +0 -30
  241. package/src/v3/src/components/Images/MobileDeviceIcon.tsx +0 -38
  242. package/src/v3/src/components/Widget/style.css +0 -181
  243. package/src/v3/src/transformer/uischema/setLtrFields.ts +0 -41
  244. package/src/v3/src/util/designTokens.ts +0 -249
  245. package/src/v3/transformer/uischema/setLtrFields.ts +0 -41
  246. package/src/v3/util/designTokens.ts +0 -249
@@ -10,11 +10,12 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { Box } from '@okta/odyssey-react-mui';
14
- import classNames from 'classnames';
13
+ import { Box } from '@mui/material';
14
+ import { useOdysseyDesignTokens } from '@okta/odyssey-react-mui';
15
15
  import { FunctionComponent, h } from 'preact';
16
16
 
17
17
  import { AuthCoinProps } from '../../types';
18
+ import Image from '../Image';
18
19
  import { getAuthCoinConfiguration } from './authCoinConfigUtil';
19
20
 
20
21
  const AuthCoin: FunctionComponent<AuthCoinProps> = (props) => {
@@ -30,7 +31,8 @@ const AuthCoin: FunctionComponent<AuthCoinProps> = (props) => {
30
31
  const authCoinConfiguration = getAuthCoinConfiguration();
31
32
  const authCoinConfigByAuthKey = authCoinConfiguration[authenticatorKey];
32
33
 
33
- const containerClasses = classNames(authCoinConfigByAuthKey?.iconClassName, customClasses);
34
+ const containerTestIds = `factor-beacon ${authCoinConfigByAuthKey?.iconClassName} ${customClasses ? customClasses?.join(' ') : ''}`;
35
+ const tokens = useOdysseyDesignTokens();
34
36
 
35
37
  function createAuthCoinIcon() {
36
38
  // TODO: OKTA-467022 - Add warning when attempted to customize non-customizeable authenticator
@@ -38,15 +40,12 @@ const AuthCoin: FunctionComponent<AuthCoinProps> = (props) => {
38
40
  // key that can be customized or custom push app
39
41
  if (url && (authCoinConfigByAuthKey?.customizable || !authCoinConfigByAuthKey?.icon)) {
40
42
  return (
41
- <Box
42
- as="img"
43
+ <Image
43
44
  src={url}
44
45
  alt={authCoinConfigByAuthKey.description}
45
- className="custom-logo"
46
- sx={{
47
- width: (theme) => theme.spacing(6),
48
- height: (theme) => theme.spacing(6),
49
- }}
46
+ width={tokens.Spacing7}
47
+ height={tokens.Spacing7}
48
+ testId="custom-logo"
50
49
  />
51
50
  );
52
51
  }
@@ -57,22 +56,21 @@ const AuthCoin: FunctionComponent<AuthCoinProps> = (props) => {
57
56
  <AuthCoinIcon
58
57
  name={name}
59
58
  description={description}
59
+ width={tokens.Spacing7}
60
+ height={tokens.Spacing7}
60
61
  />
61
62
  );
62
63
  }
63
64
 
64
65
  return authCoinConfigByAuthKey && (
65
66
  <Box
66
- className={containerClasses}
67
- data-se="factor-beacon"
67
+ data-se={containerTestIds}
68
68
  aria-hidden
69
69
  sx={{
70
70
  position: 'relative',
71
- background: 'white',
72
- inlineSize: '54px',
73
- blockSize: '48px',
74
- paddingBlock: 0,
75
- paddingInline: '3px',
71
+ inlineSize: tokens.Spacing7,
72
+ blockSize: tokens.Spacing7,
73
+ paddingBlock: tokens.Spacing0,
76
74
  ...sx,
77
75
  }}
78
76
  >
@@ -4,16 +4,16 @@ exports[`AuthCoin tests should display Branded AuthCoin and disallow style custo
4
4
  <div>
5
5
  <div
6
6
  aria-hidden="true"
7
- class="mfa-duo MuiBox-root emotion-0"
8
- data-se="factor-beacon"
7
+ class="MuiBox-root emotion-0"
8
+ data-se="factor-beacon mfa-duo "
9
9
  >
10
10
  <svg
11
11
  aria-labelledby="mfa-duo"
12
12
  fill="none"
13
- height="48"
13
+ height="2.85714286rem"
14
14
  role="img"
15
15
  viewBox="0 0 48 48"
16
- width="48"
16
+ width="2.85714286rem"
17
17
  xmlns="http://www.w3.org/2000/svg"
18
18
  >
19
19
  <title
@@ -21,13 +21,6 @@ exports[`AuthCoin tests should display Branded AuthCoin and disallow style custo
21
21
  >
22
22
  factor.duo
23
23
  </title>
24
- <path
25
- class="siwFillBg"
26
- clip-rule="evenodd"
27
- d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24Z"
28
- fill="#F5F5F6"
29
- fill-rule="evenodd"
30
- />
31
24
  <path
32
25
  clip-rule="evenodd"
33
26
  d="M10.632 17H4v6.13h13.25c-.197-3.418-3.085-6.13-6.618-6.13Zm7.242 0v6.506c0 3.466 2.766 6.3 6.25 6.494V17h-6.25Zm13.886 6.13c.2-3.418 3.087-6.13 6.62-6.13s6.42 2.712 6.62 6.13H31.76Zm-6.873 6.859h6.238v-6.114a6.32 6.32 0 0 0 .012-.375V17h-6.25v12.989Zm-14.255.01H4v-6.124h13.25C17.054 27.291 14.166 30 10.633 30ZM38.38 30c-3.533 0-6.42-2.709-6.62-6.125H45C44.801 27.291 41.913 30 38.38 30Z"
@@ -43,16 +36,16 @@ exports[`AuthCoin tests should display Non-Branded AuthCoin with style customiza
43
36
  <div>
44
37
  <div
45
38
  aria-hidden="true"
46
- class="mfa-hotp MuiBox-root emotion-0"
47
- data-se="factor-beacon"
39
+ class="MuiBox-root emotion-0"
40
+ data-se="factor-beacon mfa-hotp "
48
41
  >
49
42
  <svg
50
43
  aria-labelledby="mfa-hotp"
51
44
  fill="none"
52
- height="48"
45
+ height="2.85714286rem"
53
46
  role="img"
54
47
  viewBox="0 0 48 48"
55
- width="48"
48
+ width="2.85714286rem"
56
49
  xmlns="http://www.w3.org/2000/svg"
57
50
  >
58
51
  <title
@@ -60,13 +53,6 @@ exports[`AuthCoin tests should display Non-Branded AuthCoin with style customiza
60
53
  >
61
54
  factor.hotp.description
62
55
  </title>
63
- <path
64
- class="siwFillBg"
65
- clip-rule="evenodd"
66
- d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24Z"
67
- fill="#F5F5F6"
68
- fill-rule="evenodd"
69
- />
70
56
  <path
71
57
  class="siwFillSecondary"
72
58
  d="M28 23h-6v-6h1v5h5v1Z"
@@ -91,16 +77,16 @@ exports[`AuthCoin tests should display branded AuthCoin when image URL is provid
91
77
  <div>
92
78
  <div
93
79
  aria-hidden="true"
94
- class="mfa-duo MuiBox-root emotion-0"
95
- data-se="factor-beacon"
80
+ class="MuiBox-root emotion-0"
81
+ data-se="factor-beacon mfa-duo "
96
82
  >
97
83
  <svg
98
84
  aria-labelledby="mfa-duo"
99
85
  fill="none"
100
- height="48"
86
+ height="2.85714286rem"
101
87
  role="img"
102
88
  viewBox="0 0 48 48"
103
- width="48"
89
+ width="2.85714286rem"
104
90
  xmlns="http://www.w3.org/2000/svg"
105
91
  >
106
92
  <title
@@ -108,13 +94,6 @@ exports[`AuthCoin tests should display branded AuthCoin when image URL is provid
108
94
  >
109
95
  factor.duo
110
96
  </title>
111
- <path
112
- class="siwFillBg"
113
- clip-rule="evenodd"
114
- d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24Z"
115
- fill="#F5F5F6"
116
- fill-rule="evenodd"
117
- />
118
97
  <path
119
98
  clip-rule="evenodd"
120
99
  d="M10.632 17H4v6.13h13.25c-.197-3.418-3.085-6.13-6.618-6.13Zm7.242 0v6.506c0 3.466 2.766 6.3 6.25 6.494V17h-6.25Zm13.886 6.13c.2-3.418 3.087-6.13 6.62-6.13s6.42 2.712 6.62 6.13H31.76Zm-6.873 6.859h6.238v-6.114a6.32 6.32 0 0 0 .012-.375V17h-6.25v12.989Zm-14.255.01H4v-6.124h13.25C17.054 27.291 14.166 30 10.633 30ZM38.38 30c-3.533 0-6.42-2.709-6.62-6.125H45C44.801 27.291 41.913 30 38.38 30Z"
@@ -130,12 +109,13 @@ exports[`AuthCoin tests should display custom image in place of standard Non-Bra
130
109
  <div>
131
110
  <div
132
111
  aria-hidden="true"
133
- class="mfa-hotp MuiBox-root emotion-0"
134
- data-se="factor-beacon"
112
+ class="MuiBox-root emotion-0"
113
+ data-se="factor-beacon mfa-hotp "
135
114
  >
136
115
  <img
137
116
  alt="factor.hotp.description"
138
- class="custom-logo MuiBox-root emotion-1"
117
+ class="MuiBox-root emotion-1"
118
+ data-se="custom-logo"
139
119
  src="/img/socialIcons/okta.svg"
140
120
  />
141
121
  </div>
@@ -146,16 +126,16 @@ exports[`AuthCoin tests should display standard theme Non-Branded AuthCoin witho
146
126
  <div>
147
127
  <div
148
128
  aria-hidden="true"
149
- class="mfa-hotp MuiBox-root emotion-0"
150
- data-se="factor-beacon"
129
+ class="MuiBox-root emotion-0"
130
+ data-se="factor-beacon mfa-hotp "
151
131
  >
152
132
  <svg
153
133
  aria-labelledby="mfa-hotp"
154
134
  fill="none"
155
- height="48"
135
+ height="2.85714286rem"
156
136
  role="img"
157
137
  viewBox="0 0 48 48"
158
- width="48"
138
+ width="2.85714286rem"
159
139
  xmlns="http://www.w3.org/2000/svg"
160
140
  >
161
141
  <title
@@ -163,13 +143,6 @@ exports[`AuthCoin tests should display standard theme Non-Branded AuthCoin witho
163
143
  >
164
144
  factor.hotp.description
165
145
  </title>
166
- <path
167
- class="siwFillBg"
168
- clip-rule="evenodd"
169
- d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24Z"
170
- fill="#F5F5F6"
171
- fill-rule="evenodd"
172
- />
173
146
  <path
174
147
  class="siwFillSecondary"
175
148
  d="M28 23h-6v-6h1v5h5v1Z"
@@ -10,23 +10,22 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { ScopedCssBaseline } from '@mui/material';
14
- import * as Tokens from '@okta/odyssey-design-tokens';
15
- import { Box } from '@okta/odyssey-react-mui';
16
- import classNames from 'classnames';
13
+ import { Box, ScopedCssBaseline } from '@mui/material';
14
+ import { useOdysseyDesignTokens } from '@okta/odyssey-react-mui';
17
15
  import { FunctionComponent, h } from 'preact';
18
16
 
19
17
  import { useWidgetContext } from '../../contexts';
20
18
 
21
19
  const AuthContainer: FunctionComponent<{ hide: boolean }> = ({ children, hide }) => {
22
20
  const { languageDirection, languageCode } = useWidgetContext();
23
- const classes = classNames('auth-container', 'main-container');
21
+ const testIds = 'auth-container main-container';
22
+ const tokens = useOdysseyDesignTokens();
24
23
 
25
24
  return (
26
25
  <Box
27
26
  id="okta-sign-in"
28
27
  component="main"
29
- className={classes}
28
+ data-se={testIds}
30
29
  data-version={OKTA_SIW_VERSION}
31
30
  data-commit={OKTA_SIW_COMMIT_HASH}
32
31
  lang={languageCode}
@@ -54,29 +53,24 @@ const AuthContainer: FunctionComponent<{ hide: boolean }> = ({ children, hide })
54
53
  sx={{
55
54
  minInlineSize: '100%',
56
55
  marginBlockStart: '100px',
57
- marginBlockEnd: '8px',
58
56
  marginInline: 'auto',
59
- '@media only screen and (max-device-width: 750px)': {
60
- marginBlockStart: 0,
61
- },
62
57
  }}
63
58
  >
64
59
  <Box
65
60
  flex="auto"
66
61
  flexDirection="column"
67
62
  bgcolor="common.white"
68
- fontFamily="fontFamily"
69
- sx={(theme) => ({
63
+ sx={{
70
64
  maxInlineSize: '432px',
71
65
  minInlineSize: '320px',
72
- borderWidth: theme.mixins.borderWidth,
73
- borderStyle: theme.mixins.borderStyle,
74
- borderRadius: theme.mixins.borderRadius,
75
- borderColor: Tokens.ColorBorderDisplay,
66
+ borderWidth: tokens.BorderWidthMain,
67
+ borderStyle: tokens.BorderStyleMain,
68
+ borderRadius: tokens.Spacing3,
69
+ borderColor: tokens.BorderColorDisplay,
76
70
  '@media only screen and (max-width: 391px)': {
77
71
  borderWidth: 0,
78
72
  },
79
- })}
73
+ }}
80
74
  >
81
75
  {children}
82
76
  </Box>
@@ -10,23 +10,28 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { Box } from '@okta/odyssey-react-mui';
13
+ import { Box } from '@mui/material';
14
+ import { useOdysseyDesignTokens } from '@okta/odyssey-react-mui';
14
15
  import { FunctionComponent, h } from 'preact';
15
16
 
16
- const AuthContent: FunctionComponent = ({ children }) => (
17
- <Box
18
- display="flex"
19
- flexDirection="column"
20
- justifyContent="flex-start"
21
- flexWrap="wrap"
22
- paddingX={7}
23
- paddingBlockStart={7}
24
- paddingBlockEnd={0}
25
- maxWidth={1}
26
- marginBlockEnd={3}
27
- >
28
- { children }
29
- </Box>
30
- );
17
+ const AuthContent: FunctionComponent = ({ children }) => {
18
+ const tokens = useOdysseyDesignTokens();
19
+
20
+ return (
21
+ <Box
22
+ display="flex"
23
+ flexDirection="column"
24
+ justifyContent="flex-start"
25
+ flexWrap="wrap"
26
+ paddingX={tokens.Spacing7}
27
+ paddingBlockStart={tokens.Spacing7}
28
+ paddingBlockEnd={tokens.Spacing0}
29
+ maxWidth={1}
30
+ marginBlockEnd={tokens.Spacing3}
31
+ >
32
+ { children }
33
+ </Box>
34
+ );
35
+ };
31
36
 
32
37
  export default AuthContent;
@@ -10,15 +10,15 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import * as Tokens from '@okta/odyssey-design-tokens';
14
- import { Box, Typography } from '@okta/odyssey-react-mui';
15
- import classNames from 'classnames';
13
+ import { Box } from '@mui/material';
14
+ import { Typography, useOdysseyDesignTokens } from '@okta/odyssey-react-mui';
16
15
  import { FunctionComponent, h } from 'preact';
17
16
  import { AuthCoinProps } from 'src/types';
18
17
 
19
18
  import { loc } from '../../util';
20
19
  import AuthCoin from '../AuthCoin/AuthCoin';
21
20
  import { getAuthCoinConfiguration } from '../AuthCoin/authCoinConfigUtil';
21
+ import Image from '../Image';
22
22
 
23
23
  // TODO: maybe extract to util class if used reused
24
24
  const shouldRenderAuthCoin = (props?: AuthCoinProps): boolean => {
@@ -43,8 +43,8 @@ const AuthHeader: FunctionComponent<AuthHeaderProps> = ({
43
43
  authCoinProps,
44
44
  }) => {
45
45
  const showAuthCoin = shouldRenderAuthCoin(authCoinProps);
46
- const containerClasses = classNames('okta-sign-in-header', 'auth-header', { authCoinSpacing: showAuthCoin });
47
- const imageClasses = classNames('auth-org-logo', 'siwOrgLogo');
46
+ const containerTestIds = `okta-sign-in-header auth-header ${showAuthCoin ? 'authCoinSpacing' : ''}`;
47
+ const tokens = useOdysseyDesignTokens();
48
48
 
49
49
  function renderAuthCoin() {
50
50
  return (showAuthCoin && authCoinProps) && (
@@ -54,7 +54,9 @@ const AuthHeader: FunctionComponent<AuthHeaderProps> = ({
54
54
  theme={authCoinProps.theme}
55
55
  sx={{
56
56
  margin: 'auto',
57
- insetBlockStart: '24px',
57
+ insetBlockStart: '26px',
58
+ borderRadius: '24px',
59
+ backgroundColor: tokens.HueNeutralWhite,
58
60
  }}
59
61
  />
60
62
  );
@@ -62,13 +64,13 @@ const AuthHeader: FunctionComponent<AuthHeaderProps> = ({
62
64
 
63
65
  return (
64
66
  <Box
65
- className={containerClasses}
67
+ data-se={containerTestIds}
66
68
  sx={{
67
- paddingBlockStart: (theme) => theme.spacing(4),
68
- paddingBlockEnd: (theme) => theme.spacing(showAuthCoin ? 0 : 4),
69
- paddingInlineStart: (theme) => theme.spacing(5),
70
- paddingInlineEnd: (theme) => theme.spacing(5),
71
- borderBlockEnd: () => `1px solid ${Tokens.ColorBorderDisplay}`,
69
+ paddingBlockStart: tokens.Spacing5,
70
+ paddingBlockEnd: showAuthCoin ? tokens.Spacing1 : tokens.Spacing5,
71
+ paddingInlineStart: tokens.Spacing6,
72
+ paddingInlineEnd: tokens.Spacing6,
73
+ borderBlockEnd: `1px solid ${tokens.BorderColorDisplay}`,
72
74
  '& h1': {
73
75
  lineHeight: 0,
74
76
  marginBlock: 0,
@@ -78,15 +80,12 @@ const AuthHeader: FunctionComponent<AuthHeaderProps> = ({
78
80
  >
79
81
  <Typography variant="h1">
80
82
  { logo && (
81
- <Box
82
- component="img"
83
+ <Image
83
84
  alt={logoText || brandName || loc('logo.default.alt.text', 'login')}
84
85
  src={logo}
85
- className={imageClasses}
86
- sx={{
87
- maxInlineSize: '200px',
88
- maxBlockSize: '40px',
89
- }}
86
+ testId="auth-org-logo"
87
+ maxWidth="200px"
88
+ maxHeight="40px"
90
89
  />
91
90
  )}
92
91
  </Typography>