@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
@@ -1,66 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import createCache, { StylisPlugin } from '@emotion/cache';
14
- import { CacheProvider } from '@emotion/react';
15
- import { memo, ReactElement, useMemo } from 'preact/compat';
16
- import { prefixer } from 'stylis';
17
-
18
- import logical from '../../../stylis-logical-plugin/src';
19
-
20
- declare global {
21
- interface Window {
22
- cspNonce: string;
23
- }
24
- }
25
-
26
- const createUniqueAlphabeticalId = () => Math.random()
27
- .toString(36)
28
- .replace(/[\d\.]/g, '');
29
-
30
- const useUniqueAlphabeticalId = (id?: string) => {
31
- const uniqueAlphabeticalId = useMemo(() => createUniqueAlphabeticalId(), []);
32
-
33
- return id ?? uniqueAlphabeticalId;
34
- };
35
-
36
- const OdysseyCacheProvider = ({
37
- children,
38
- nonce,
39
- }: {
40
- children: ReactElement;
41
- nonce?: string;
42
- }) => {
43
- const uniqueAlphabeticalId = useUniqueAlphabeticalId();
44
-
45
- const emotionCache = useMemo(
46
- () => createCache({
47
- key: uniqueAlphabeticalId,
48
- nonce: nonce || window.cspNonce,
49
- stylisPlugins: [
50
- logical({ rootDirElement: '#okta-sign-in' }) as unknown as StylisPlugin,
51
- prefixer as unknown as StylisPlugin,
52
- ],
53
- }),
54
- [nonce, uniqueAlphabeticalId],
55
- );
56
-
57
- return <CacheProvider value={emotionCache}>{children}</CacheProvider>;
58
- };
59
-
60
- OdysseyCacheProvider.defaultProps = {
61
- nonce: undefined,
62
- };
63
-
64
- const MemoizedOdysseyCacheProvider = memo(OdysseyCacheProvider);
65
-
66
- export { MemoizedOdysseyCacheProvider as CustomPluginsOdysseyCacheProvider };
@@ -1,55 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { Box, FormHelperText } from '@okta/odyssey-react-mui';
14
- import { FunctionComponent, h } from 'preact';
15
-
16
- import { WidgetMessage } from '../../types';
17
- import { buildErrorMessageIds } from '../../util';
18
- import WidgetMessageContainer from '../WidgetMessageContainer';
19
-
20
- type FieldLevelMessageProps = {
21
- messages?: WidgetMessage[];
22
- fieldName: string;
23
- };
24
-
25
- const FieldLevelMessageContainer: FunctionComponent<FieldLevelMessageProps> = (props) => {
26
- const { fieldName, messages } = props;
27
-
28
- const buildElementId = (errorIndex: number): string => {
29
- if (typeof messages === 'undefined') {
30
- return `${fieldName}-error`;
31
- }
32
- const errorIdStr = buildErrorMessageIds(messages, fieldName);
33
- return errorIdStr.split(' ')[errorIndex];
34
- };
35
-
36
- return typeof messages !== 'undefined' ? (
37
- <Box>
38
- {messages.map((message: WidgetMessage, index: number) => (
39
- <FormHelperText
40
- key={message}
41
- id={buildElementId(index)}
42
- role="alert"
43
- data-se={buildElementId(index)}
44
- error
45
- // TODO: OKTA-577905 - Temporary fix until we can upgrade to the latest version of Odyssey
46
- sx={{ textAlign: 'start' }}
47
- >
48
- <WidgetMessageContainer message={message} />
49
- </FormHelperText>
50
- ))}
51
- </Box>
52
- ) : null;
53
- };
54
-
55
- export default FieldLevelMessageContainer;
@@ -1,30 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- export const CheckCircle: FunctionComponent = () => (
16
- <svg
17
- width="16"
18
- height="16"
19
- viewBox="0 0 16 16"
20
- fill="none"
21
- xmlns="http://www.w3.org/2000/svg"
22
- >
23
- <path
24
- fillRule="evenodd"
25
- clipRule="evenodd"
26
- d="M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM7.35554 10.3536L11.3555 6.35359L10.6484 5.64648L7.00199 9.29293L5.35554 7.64648L4.64844 8.35359L6.64844 10.3536C6.8437 10.5489 7.16028 10.5489 7.35554 10.3536Z"
27
- fill="currentColor"
28
- />
29
- </svg>
30
- );
@@ -1,30 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- import { IconProps } from '../../types';
16
-
17
- export const RightArrowIcon: FunctionComponent<IconProps> = ({ name, description }) => (
18
- <svg
19
- width="14"
20
- height="11"
21
- viewBox="0 0 14 11"
22
- xmlns="http://www.w3.org/2000/svg"
23
- aria-labelledby={name}
24
- fill="currentColor"
25
- role="img"
26
- >
27
- <title id={name}>{description}</title>
28
- <path d="M0 6.5H8V10.5L13.8158 5.8842C13.8734 5.83728 13.9198 5.77855 13.9517 5.71217C13.9835 5.64579 14 5.5734 14 5.5001C14 5.42681 13.9835 5.35441 13.9517 5.28803C13.9198 5.22165 13.8734 5.16292 13.8158 5.116L8 0.5V4.5H0V6.5Z" />
29
- </svg>
30
- );
@@ -1,38 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- import { loc } from '../../util';
16
-
17
- export const MobileDeviceIcon: FunctionComponent = () => (
18
- <svg
19
- width="16"
20
- height="16"
21
- viewBox="0 0 16 16"
22
- fill="none"
23
- xmlns="http://www.w3.org/2000/svg"
24
- role="img"
25
- aria-hidden="true"
26
- >
27
- <title>
28
- {loc('icon.title.mobileBrowser', 'login')}
29
- </title>
30
- <path
31
- fillRule="evenodd"
32
- clipRule="evenodd"
33
- d="M11.5 1H5.5C4.94772 1 4.5 1.44772 4.5 2V14C4.5 14.5523 4.94772 15 5.5 15H11.5C12.0523 15 12.5 14.5523 12.5 14V2C12.5 1.44772 12.0523 1 11.5 1ZM5.5 0C4.39543 0 3.5 0.895431 3.5 2V14C3.5 15.1046 4.39543 16 5.5 16H11.5C12.6046 16 13.5 15.1046 13.5 14V2C13.5 0.895431 12.6046 0 11.5 0H5.5ZM10 13V14H7V13H10ZM8.5 3C8.77614 3 9 2.77614 9 2.5C9 2.22386 8.77614 2 8.5 2C8.22386 2 8 2.22386 8 2.5C8 2.77614 8.22386 3 8.5 3Z"
34
- fill="#1662DD"
35
- class="siwIconFillPrimary"
36
- />
37
- </svg>
38
- );
@@ -1,181 +0,0 @@
1
- /* TODO: move loginpage styles out of SIW repo OKTA-602545 */
2
-
3
- /* loginpage utility styles */
4
- .clearfix {
5
- display: block;
6
- }
7
- .clearfix:after,
8
- .clearfix:before {
9
- display: block;
10
- block-size: 0;
11
- clear: both;
12
- content: ".";
13
- visibility: hidden;
14
- }
15
- .hide {
16
- display: none;
17
- }
18
-
19
- /* loginpage footer styles */
20
- .auth .footer {
21
- background-color: #fff;
22
- min-inline-size: 300px;
23
- position: absolute;
24
- font-size: 12px;
25
- inset-inline: 0;
26
- inset-block-end: 0;
27
- block-size: 34px;
28
- overflow: hidden;
29
- }
30
- .auth .footer .footer-container {
31
- padding-block: 9px;
32
- padding-inline: 80px;
33
- margin-block: 0;
34
- margin-inline: auto;
35
- box-sizing: border-box;
36
- }
37
- @media only screen and (max-width: 560px) {
38
- .auth .footer .footer-container {
39
- inline-size: 400px;
40
- padding-inline: 20px;
41
- }
42
- }
43
- @media only screen and (max-width: 400px) {
44
- .auth .footer .footer-container {
45
- inline-size: 100%;
46
- }
47
- }
48
- .auth .footer a {
49
- color: #6e6e78;
50
- }
51
- .auth .footer a:active,
52
- .auth .footer a:link,
53
- .auth .footer a:visited {
54
- text-decoration: none;
55
- color: #6e6e78;
56
- }
57
- .auth .footer a:focus,
58
- .auth .footer a:hover {
59
- text-decoration: underline;
60
- color: #6e6e78;
61
- }
62
- .auth .footer .copyright {
63
- /* stylelint-disable-next-line liberty/use-logical-spec */
64
- float: left;
65
- /* TODO: OKTA-586564 replace hardcoded value */
66
- color: #6e6e78;
67
- }
68
- .auth .footer .copyright a {
69
- /* TODO: OKTA-586564 replace hardcoded value */
70
- color: #6e6e78;
71
- }
72
- .auth .footer .privacy-policy {
73
- /* stylelint-disable-next-line liberty/use-logical-spec */
74
- float: right;
75
- }
76
-
77
- /* loginpage app banner styles */
78
- .okta-container .applogin-banner {
79
- position: relative;
80
- margin-block-end: 10px;
81
- min-inline-size: 300px;
82
- }
83
- .okta-container .applogin-banner .applogin-background {
84
- background-color: #fff;
85
- opacity: 0.9;
86
- position: absolute;
87
- inset: 0;
88
- box-shadow: 0 0 2px 1px hsla(0, 0%, 68.6%, 0.3);
89
- }
90
- .okta-container .applogin-banner .applogin-container {
91
- position: relative;
92
- inline-size: 400px;
93
- min-inline-size: 300px;
94
- margin-block: 0;
95
- margin-inline: auto;
96
- padding-block: 20px;
97
- padding-inline: 0;
98
- box-sizing: border-box;
99
- text-align: center;
100
- }
101
- .okta-container .applogin-banner .applogin-container p {
102
- /* TODO: OKTA-586564 replace hardcoded value */
103
- color: #6e6e78;
104
- }
105
- @media only screen and (max-width: 400px) {
106
- .okta-container .applogin-banner .applogin-container {
107
- inline-size: 100%;
108
- }
109
- }
110
- @media only screen and (max-height: 750px) {
111
- .okta-container .applogin-banner .applogin-container {
112
- padding-block: 10px;
113
- padding-inline: 0;
114
- }
115
- }
116
- @media only screen and (max-height: 660px) {
117
- .okta-container .applogin-banner .applogin-container {
118
- padding-block: 5px;
119
- padding-inline: 0;
120
- }
121
- .okta-container .applogin-banner .applogin-container p {
122
- display: none;
123
- }
124
- }
125
- .okta-container .applogin-banner .applogin-container h1 {
126
- font-size: 24px;
127
- font-weight: lighter;
128
- line-height: 26px;
129
- color: #6e6e78;
130
- }
131
- .okta-container .applogin-banner .applogin-app-logo {
132
- display: inline-block;
133
- vertical-align: middle;
134
- margin-inline-start: 5px;
135
- }
136
- .okta-container .applogin-banner .applogin-app-logo img {
137
- max-block-size: 26px;
138
- }
139
-
140
- /* loginpage container styles */
141
- .auth .content {
142
- min-block-size: 100%;
143
- min-inline-size: 300px;
144
- display: inline-block;
145
- inline-size: 100%;
146
- }
147
- .auth .content:after {
148
- content: "";
149
- display: block;
150
- block-size: 30px;
151
- }
152
- .login-bg-image {
153
- background-repeat: no-repeat;
154
- background-position: 50%;
155
- background-size: cover;
156
- position: fixed;
157
- inset: 0;
158
- z-index: -5;
159
- }
160
- @media only screen and (max-width: 600px) {
161
- .login-bg-image {
162
- background-image: none !important;
163
- background-color: #fff !important;
164
- -webkit-filter: unset !important;
165
- filter: unset !important;
166
- }
167
- }
168
-
169
- /*
170
- * NOTE: widget styles below, login page styles above. Take care when moving CSS
171
- * from SIW to loginpage (okta-ui) in OKTA-602545
172
- *
173
- * TODO: OKTA-654405
174
- */
175
- span.strong {
176
- font-weight: 600;
177
- word-break: break-all;
178
- }
179
- span.no-translate {
180
- white-space: nowrap;
181
- }
@@ -1,66 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import createCache, { StylisPlugin } from '@emotion/cache';
14
- import { CacheProvider } from '@emotion/react';
15
- import { memo, ReactElement, useMemo } from 'preact/compat';
16
- import { prefixer } from 'stylis';
17
-
18
- import logical from '../../../stylis-logical-plugin/src';
19
-
20
- declare global {
21
- interface Window {
22
- cspNonce: string;
23
- }
24
- }
25
-
26
- const createUniqueAlphabeticalId = () => Math.random()
27
- .toString(36)
28
- .replace(/[\d\.]/g, '');
29
-
30
- const useUniqueAlphabeticalId = (id?: string) => {
31
- const uniqueAlphabeticalId = useMemo(() => createUniqueAlphabeticalId(), []);
32
-
33
- return id ?? uniqueAlphabeticalId;
34
- };
35
-
36
- const OdysseyCacheProvider = ({
37
- children,
38
- nonce,
39
- }: {
40
- children: ReactElement;
41
- nonce?: string;
42
- }) => {
43
- const uniqueAlphabeticalId = useUniqueAlphabeticalId();
44
-
45
- const emotionCache = useMemo(
46
- () => createCache({
47
- key: uniqueAlphabeticalId,
48
- nonce: nonce || window.cspNonce,
49
- stylisPlugins: [
50
- logical({ rootDirElement: '#okta-sign-in' }) as unknown as StylisPlugin,
51
- prefixer as unknown as StylisPlugin,
52
- ],
53
- }),
54
- [nonce, uniqueAlphabeticalId],
55
- );
56
-
57
- return <CacheProvider value={emotionCache}>{children}</CacheProvider>;
58
- };
59
-
60
- OdysseyCacheProvider.defaultProps = {
61
- nonce: undefined,
62
- };
63
-
64
- const MemoizedOdysseyCacheProvider = memo(OdysseyCacheProvider);
65
-
66
- export { MemoizedOdysseyCacheProvider as CustomPluginsOdysseyCacheProvider };
@@ -1,55 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { Box, FormHelperText } from '@okta/odyssey-react-mui';
14
- import { FunctionComponent, h } from 'preact';
15
-
16
- import { WidgetMessage } from '../../types';
17
- import { buildErrorMessageIds } from '../../util';
18
- import WidgetMessageContainer from '../WidgetMessageContainer';
19
-
20
- type FieldLevelMessageProps = {
21
- messages?: WidgetMessage[];
22
- fieldName: string;
23
- };
24
-
25
- const FieldLevelMessageContainer: FunctionComponent<FieldLevelMessageProps> = (props) => {
26
- const { fieldName, messages } = props;
27
-
28
- const buildElementId = (errorIndex: number): string => {
29
- if (typeof messages === 'undefined') {
30
- return `${fieldName}-error`;
31
- }
32
- const errorIdStr = buildErrorMessageIds(messages, fieldName);
33
- return errorIdStr.split(' ')[errorIndex];
34
- };
35
-
36
- return typeof messages !== 'undefined' ? (
37
- <Box>
38
- {messages.map((message: WidgetMessage, index: number) => (
39
- <FormHelperText
40
- key={message}
41
- id={buildElementId(index)}
42
- role="alert"
43
- data-se={buildElementId(index)}
44
- error
45
- // TODO: OKTA-577905 - Temporary fix until we can upgrade to the latest version of Odyssey
46
- sx={{ textAlign: 'start' }}
47
- >
48
- <WidgetMessageContainer message={message} />
49
- </FormHelperText>
50
- ))}
51
- </Box>
52
- ) : null;
53
- };
54
-
55
- export default FieldLevelMessageContainer;
@@ -1,30 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- export const CheckCircle: FunctionComponent = () => (
16
- <svg
17
- width="16"
18
- height="16"
19
- viewBox="0 0 16 16"
20
- fill="none"
21
- xmlns="http://www.w3.org/2000/svg"
22
- >
23
- <path
24
- fillRule="evenodd"
25
- clipRule="evenodd"
26
- d="M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM7.35554 10.3536L11.3555 6.35359L10.6484 5.64648L7.00199 9.29293L5.35554 7.64648L4.64844 8.35359L6.64844 10.3536C6.8437 10.5489 7.16028 10.5489 7.35554 10.3536Z"
27
- fill="currentColor"
28
- />
29
- </svg>
30
- );
@@ -1,30 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- import { IconProps } from '../../types';
16
-
17
- export const RightArrowIcon: FunctionComponent<IconProps> = ({ name, description }) => (
18
- <svg
19
- width="14"
20
- height="11"
21
- viewBox="0 0 14 11"
22
- xmlns="http://www.w3.org/2000/svg"
23
- aria-labelledby={name}
24
- fill="currentColor"
25
- role="img"
26
- >
27
- <title id={name}>{description}</title>
28
- <path d="M0 6.5H8V10.5L13.8158 5.8842C13.8734 5.83728 13.9198 5.77855 13.9517 5.71217C13.9835 5.64579 14 5.5734 14 5.5001C14 5.42681 13.9835 5.35441 13.9517 5.28803C13.9198 5.22165 13.8734 5.16292 13.8158 5.116L8 0.5V4.5H0V6.5Z" />
29
- </svg>
30
- );
@@ -1,38 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { FunctionComponent, h } from 'preact';
14
-
15
- import { loc } from '../../util';
16
-
17
- export const MobileDeviceIcon: FunctionComponent = () => (
18
- <svg
19
- width="16"
20
- height="16"
21
- viewBox="0 0 16 16"
22
- fill="none"
23
- xmlns="http://www.w3.org/2000/svg"
24
- role="img"
25
- aria-hidden="true"
26
- >
27
- <title>
28
- {loc('icon.title.mobileBrowser', 'login')}
29
- </title>
30
- <path
31
- fillRule="evenodd"
32
- clipRule="evenodd"
33
- d="M11.5 1H5.5C4.94772 1 4.5 1.44772 4.5 2V14C4.5 14.5523 4.94772 15 5.5 15H11.5C12.0523 15 12.5 14.5523 12.5 14V2C12.5 1.44772 12.0523 1 11.5 1ZM5.5 0C4.39543 0 3.5 0.895431 3.5 2V14C3.5 15.1046 4.39543 16 5.5 16H11.5C12.6046 16 13.5 15.1046 13.5 14V2C13.5 0.895431 12.6046 0 11.5 0H5.5ZM10 13V14H7V13H10ZM8.5 3C8.77614 3 9 2.77614 9 2.5C9 2.22386 8.77614 2 8.5 2C8.22386 2 8 2.22386 8 2.5C8 2.77614 8.22386 3 8.5 3Z"
34
- fill="#1662DD"
35
- class="siwIconFillPrimary"
36
- />
37
- </svg>
38
- );