@thunderid/react 0.11.4 → 0.13.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 (361) hide show
  1. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs +2 -3
  2. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -1
  3. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs +2 -3
  4. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -1
  5. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs +2 -3
  6. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -1
  7. package/dist/cjs/components/adapters/Consent.cjs +34 -27
  8. package/dist/cjs/components/adapters/Consent.cjs.map +1 -1
  9. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +7 -8
  10. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -1
  11. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs +8 -9
  12. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -1
  13. package/dist/cjs/components/adapters/ImageComponent.cjs +13 -9
  14. package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -1
  15. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +3 -4
  16. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -1
  17. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs +11 -12
  18. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -1
  19. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +12 -16
  20. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  21. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs +18 -15
  22. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -1
  23. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +5 -6
  24. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -1
  25. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs +25 -26
  26. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -1
  27. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs +25 -42
  28. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -1
  29. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs +41 -9
  30. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -1
  31. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +88 -80
  32. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  33. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs +9 -22
  34. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -1
  35. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs +22 -9
  36. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -1
  37. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +11 -12
  38. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  39. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +11 -16
  40. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  41. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs +32 -27
  42. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -1
  43. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +78 -39
  44. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -1
  45. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +11 -12
  46. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  47. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs +25 -26
  48. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -1
  49. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs +6 -7
  50. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs.map +1 -1
  51. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs +9 -10
  52. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs.map +1 -1
  53. package/dist/cjs/components/primitives/Alert/Alert.cjs +6 -7
  54. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -1
  55. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs +10 -11
  56. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -1
  57. package/dist/cjs/components/primitives/Avatar/Avatar.cjs +5 -6
  58. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -1
  59. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs +7 -8
  60. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -1
  61. package/dist/cjs/components/primitives/Button/Button.cjs +8 -12
  62. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -1
  63. package/dist/cjs/components/primitives/Button/Button.styles.cjs +23 -24
  64. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -1
  65. package/dist/cjs/components/primitives/Card/Card.cjs +8 -9
  66. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -1
  67. package/dist/cjs/components/primitives/Card/Card.styles.cjs +12 -13
  68. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -1
  69. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +5 -6
  70. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -1
  71. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs +7 -8
  72. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -1
  73. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs +6 -7
  74. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -1
  75. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs +4 -5
  76. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -1
  77. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs +5 -6
  78. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -1
  79. package/dist/cjs/components/primitives/Dialog/Dialog.cjs +7 -8
  80. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -1
  81. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs +8 -9
  82. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -1
  83. package/dist/cjs/components/primitives/Divider/Divider.cjs +7 -8
  84. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -1
  85. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs +7 -8
  86. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -1
  87. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +3 -4
  88. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -1
  89. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs +4 -5
  90. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -1
  91. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs +3 -4
  92. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -1
  93. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs +6 -7
  94. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -1
  95. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs +19 -20
  96. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -1
  97. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs +16 -17
  98. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -1
  99. package/dist/cjs/components/primitives/Logo/Logo.cjs +3 -4
  100. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -1
  101. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs +9 -10
  102. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -1
  103. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs +11 -12
  104. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -1
  105. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs +10 -11
  106. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -1
  107. package/dist/cjs/components/primitives/OtpField/OtpField.cjs +4 -5
  108. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -1
  109. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs +5 -6
  110. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -1
  111. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs +3 -4
  112. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -1
  113. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs +4 -5
  114. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -1
  115. package/dist/cjs/components/primitives/Select/Select.cjs +3 -4
  116. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -1
  117. package/dist/cjs/components/primitives/Select/Select.styles.cjs +5 -6
  118. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -1
  119. package/dist/cjs/components/primitives/Spinner/Spinner.cjs +4 -6
  120. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -1
  121. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs +20 -12
  122. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -1
  123. package/dist/cjs/components/primitives/TextField/TextField.cjs +6 -7
  124. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -1
  125. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs +8 -9
  126. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -1
  127. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +7 -8
  128. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -1
  129. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs +7 -8
  130. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -1
  131. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs +4 -5
  132. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs.map +1 -1
  133. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs +13 -14
  134. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs.map +1 -1
  135. package/dist/cjs/components/primitives/Typography/Typography.cjs +2 -3
  136. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -1
  137. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs +18 -19
  138. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -1
  139. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +4 -1
  140. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  141. package/dist/cjs/styles/emotion.cjs +64 -0
  142. package/dist/cjs/styles/emotion.cjs.map +1 -0
  143. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts.map +1 -1
  144. package/dist/components/actions/SignInButton/BaseSignInButton.js +1 -1
  145. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -1
  146. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts.map +1 -1
  147. package/dist/components/actions/SignOutButton/BaseSignOutButton.js +1 -1
  148. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -1
  149. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts.map +1 -1
  150. package/dist/components/actions/SignUpButton/BaseSignUpButton.js +1 -1
  151. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -1
  152. package/dist/components/adapters/Consent.d.ts.map +1 -1
  153. package/dist/components/adapters/Consent.js +34 -27
  154. package/dist/components/adapters/Consent.js.map +1 -1
  155. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  156. package/dist/components/adapters/ConsentCheckboxList.js +1 -1
  157. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  158. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts.map +1 -1
  159. package/dist/components/adapters/ConsentCheckboxList.styles.js +1 -1
  160. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -1
  161. package/dist/components/adapters/ImageComponent.d.ts.map +1 -1
  162. package/dist/components/adapters/ImageComponent.js +13 -9
  163. package/dist/components/adapters/ImageComponent.js.map +1 -1
  164. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts.map +1 -1
  165. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  166. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -1
  167. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts.map +1 -1
  168. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js +1 -1
  169. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -1
  170. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  171. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +5 -8
  172. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  173. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts.map +1 -1
  174. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js +5 -1
  175. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -1
  176. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  177. package/dist/components/presentation/UserProfile/BaseUserProfile.js +1 -1
  178. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -1
  179. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  180. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js +1 -1
  181. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -1
  182. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -1
  183. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js +23 -39
  184. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -1
  185. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -1
  186. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js +38 -5
  187. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -1
  188. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  189. package/dist/components/presentation/auth/AuthOptionFactory.js +82 -73
  190. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  191. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -1
  192. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js +5 -17
  193. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -1
  194. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -1
  195. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js +19 -5
  196. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -1
  197. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  198. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +1 -1
  199. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  200. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  201. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +2 -6
  202. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  203. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts.map +1 -1
  204. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js +7 -1
  205. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -1
  206. package/dist/components/presentation/auth/SignIn/SignIn.d.ts.map +1 -1
  207. package/dist/components/presentation/auth/SignIn/SignIn.js +79 -40
  208. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -1
  209. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  210. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +1 -1
  211. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  212. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts.map +1 -1
  213. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js +1 -1
  214. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -1
  215. package/dist/components/primitives/AffixedField/AffixedField.d.ts.map +1 -1
  216. package/dist/components/primitives/AffixedField/AffixedField.js +1 -1
  217. package/dist/components/primitives/AffixedField/AffixedField.js.map +1 -1
  218. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts.map +1 -1
  219. package/dist/components/primitives/AffixedField/AffixedField.styles.js +1 -1
  220. package/dist/components/primitives/AffixedField/AffixedField.styles.js.map +1 -1
  221. package/dist/components/primitives/Alert/Alert.d.ts.map +1 -1
  222. package/dist/components/primitives/Alert/Alert.js +1 -1
  223. package/dist/components/primitives/Alert/Alert.js.map +1 -1
  224. package/dist/components/primitives/Alert/Alert.styles.d.ts.map +1 -1
  225. package/dist/components/primitives/Alert/Alert.styles.js +1 -1
  226. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -1
  227. package/dist/components/primitives/Avatar/Avatar.d.ts.map +1 -1
  228. package/dist/components/primitives/Avatar/Avatar.js +1 -1
  229. package/dist/components/primitives/Avatar/Avatar.js.map +1 -1
  230. package/dist/components/primitives/Avatar/Avatar.styles.d.ts.map +1 -1
  231. package/dist/components/primitives/Avatar/Avatar.styles.js +1 -1
  232. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -1
  233. package/dist/components/primitives/Button/Button.d.ts.map +1 -1
  234. package/dist/components/primitives/Button/Button.js +2 -5
  235. package/dist/components/primitives/Button/Button.js.map +1 -1
  236. package/dist/components/primitives/Button/Button.styles.d.ts.map +1 -1
  237. package/dist/components/primitives/Button/Button.styles.js +1 -1
  238. package/dist/components/primitives/Button/Button.styles.js.map +1 -1
  239. package/dist/components/primitives/Card/Card.d.ts.map +1 -1
  240. package/dist/components/primitives/Card/Card.js +1 -1
  241. package/dist/components/primitives/Card/Card.js.map +1 -1
  242. package/dist/components/primitives/Card/Card.styles.d.ts.map +1 -1
  243. package/dist/components/primitives/Card/Card.styles.js +1 -1
  244. package/dist/components/primitives/Card/Card.styles.js.map +1 -1
  245. package/dist/components/primitives/Checkbox/Checkbox.d.ts.map +1 -1
  246. package/dist/components/primitives/Checkbox/Checkbox.js +1 -1
  247. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -1
  248. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts.map +1 -1
  249. package/dist/components/primitives/Checkbox/Checkbox.styles.js +1 -1
  250. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -1
  251. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts.map +1 -1
  252. package/dist/components/primitives/CopyableText/CopyableText.styles.js +1 -1
  253. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -1
  254. package/dist/components/primitives/DatePicker/DatePicker.d.ts.map +1 -1
  255. package/dist/components/primitives/DatePicker/DatePicker.js +1 -1
  256. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -1
  257. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts.map +1 -1
  258. package/dist/components/primitives/DatePicker/DatePicker.styles.js +1 -1
  259. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -1
  260. package/dist/components/primitives/Dialog/Dialog.d.ts.map +1 -1
  261. package/dist/components/primitives/Dialog/Dialog.js +1 -1
  262. package/dist/components/primitives/Dialog/Dialog.js.map +1 -1
  263. package/dist/components/primitives/Dialog/Dialog.styles.d.ts.map +1 -1
  264. package/dist/components/primitives/Dialog/Dialog.styles.js +1 -1
  265. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -1
  266. package/dist/components/primitives/Divider/Divider.d.ts.map +1 -1
  267. package/dist/components/primitives/Divider/Divider.js +1 -1
  268. package/dist/components/primitives/Divider/Divider.js.map +1 -1
  269. package/dist/components/primitives/Divider/Divider.styles.d.ts.map +1 -1
  270. package/dist/components/primitives/Divider/Divider.styles.js +1 -1
  271. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -1
  272. package/dist/components/primitives/FormControl/FormControl.d.ts.map +1 -1
  273. package/dist/components/primitives/FormControl/FormControl.js +1 -1
  274. package/dist/components/primitives/FormControl/FormControl.js.map +1 -1
  275. package/dist/components/primitives/FormControl/FormControl.styles.d.ts.map +1 -1
  276. package/dist/components/primitives/FormControl/FormControl.styles.js +1 -1
  277. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -1
  278. package/dist/components/primitives/InputLabel/InputLabel.d.ts.map +1 -1
  279. package/dist/components/primitives/InputLabel/InputLabel.js +1 -1
  280. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -1
  281. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts.map +1 -1
  282. package/dist/components/primitives/InputLabel/InputLabel.styles.js +1 -1
  283. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -1
  284. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts.map +1 -1
  285. package/dist/components/primitives/KeyValueInput/KeyValueInput.js +1 -1
  286. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -1
  287. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts.map +1 -1
  288. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js +1 -1
  289. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -1
  290. package/dist/components/primitives/Logo/Logo.d.ts.map +1 -1
  291. package/dist/components/primitives/Logo/Logo.js +1 -1
  292. package/dist/components/primitives/Logo/Logo.js.map +1 -1
  293. package/dist/components/primitives/Logo/Logo.styles.d.ts.map +1 -1
  294. package/dist/components/primitives/Logo/Logo.styles.js +1 -1
  295. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -1
  296. package/dist/components/primitives/MultiInput/MultiInput.d.ts.map +1 -1
  297. package/dist/components/primitives/MultiInput/MultiInput.js +1 -1
  298. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -1
  299. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts.map +1 -1
  300. package/dist/components/primitives/MultiInput/MultiInput.styles.js +1 -1
  301. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -1
  302. package/dist/components/primitives/OtpField/OtpField.d.ts.map +1 -1
  303. package/dist/components/primitives/OtpField/OtpField.js +1 -1
  304. package/dist/components/primitives/OtpField/OtpField.js.map +1 -1
  305. package/dist/components/primitives/OtpField/OtpField.styles.d.ts.map +1 -1
  306. package/dist/components/primitives/OtpField/OtpField.styles.js +1 -1
  307. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -1
  308. package/dist/components/primitives/PasswordField/PasswordField.d.ts.map +1 -1
  309. package/dist/components/primitives/PasswordField/PasswordField.js +1 -1
  310. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -1
  311. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts.map +1 -1
  312. package/dist/components/primitives/PasswordField/PasswordField.styles.js +1 -1
  313. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -1
  314. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  315. package/dist/components/primitives/Select/Select.js +1 -1
  316. package/dist/components/primitives/Select/Select.js.map +1 -1
  317. package/dist/components/primitives/Select/Select.styles.d.ts.map +1 -1
  318. package/dist/components/primitives/Select/Select.styles.js +1 -1
  319. package/dist/components/primitives/Select/Select.styles.js.map +1 -1
  320. package/dist/components/primitives/Spinner/Spinner.d.ts +5 -3
  321. package/dist/components/primitives/Spinner/Spinner.d.ts.map +1 -1
  322. package/dist/components/primitives/Spinner/Spinner.js +4 -5
  323. package/dist/components/primitives/Spinner/Spinner.js.map +1 -1
  324. package/dist/components/primitives/Spinner/Spinner.styles.d.ts +4 -1
  325. package/dist/components/primitives/Spinner/Spinner.styles.d.ts.map +1 -1
  326. package/dist/components/primitives/Spinner/Spinner.styles.js +16 -7
  327. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -1
  328. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  329. package/dist/components/primitives/TextField/TextField.js +1 -1
  330. package/dist/components/primitives/TextField/TextField.js.map +1 -1
  331. package/dist/components/primitives/TextField/TextField.styles.d.ts.map +1 -1
  332. package/dist/components/primitives/TextField/TextField.styles.js +1 -1
  333. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -1
  334. package/dist/components/primitives/Toggle/Toggle.d.ts.map +1 -1
  335. package/dist/components/primitives/Toggle/Toggle.js +1 -1
  336. package/dist/components/primitives/Toggle/Toggle.js.map +1 -1
  337. package/dist/components/primitives/Toggle/Toggle.styles.d.ts.map +1 -1
  338. package/dist/components/primitives/Toggle/Toggle.styles.js +1 -1
  339. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -1
  340. package/dist/components/primitives/Tooltip/Tooltip.d.ts.map +1 -1
  341. package/dist/components/primitives/Tooltip/Tooltip.js +1 -1
  342. package/dist/components/primitives/Tooltip/Tooltip.js.map +1 -1
  343. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts.map +1 -1
  344. package/dist/components/primitives/Tooltip/Tooltip.styles.js +1 -1
  345. package/dist/components/primitives/Tooltip/Tooltip.styles.js.map +1 -1
  346. package/dist/components/primitives/Typography/Typography.d.ts.map +1 -1
  347. package/dist/components/primitives/Typography/Typography.js +1 -1
  348. package/dist/components/primitives/Typography/Typography.js.map +1 -1
  349. package/dist/components/primitives/Typography/Typography.styles.d.ts.map +1 -1
  350. package/dist/components/primitives/Typography/Typography.styles.js +1 -1
  351. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -1
  352. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  353. package/dist/contexts/ThunderID/ThunderIDProvider.js +4 -1
  354. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  355. package/dist/models/config.d.ts +10 -1
  356. package/dist/models/config.d.ts.map +1 -1
  357. package/dist/styles/emotion.d.ts +36 -0
  358. package/dist/styles/emotion.d.ts.map +1 -0
  359. package/dist/styles/emotion.js +58 -0
  360. package/dist/styles/emotion.js.map +1 -0
  361. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"BaseUserProfile.cjs","names":["fieldsToSkip: string[]","readonlyFields: string[]","BaseUserProfile: FC<BaseUserProfileProps>","useTheme","useTranslation","shouldShowField: any","toggleFieldEdit: any","getFieldPlaceholder: any","fieldLabel: any","formatLabel: any","styles: any","useStyles","ObjectDisplay: FC<{data: unknown}>","keys: any","current: any","i: any","key: any","handleFieldSave: any","fieldName: string","fieldValue: any","payload: Record<string, any>","handleFieldCancel: any","currentUser: any","currentUser","mergedMappings: Record<string, string | string[]>","label: any","displayValue: string","displayValue","hasValues: any","isEditable: any","isEditable","currentValue: any","fieldValues: string[]","MultiInput","Button","commonProps: any","field: ReactElement","TextField","DatePicker","Checkbox","hasValue: any","isFieldEditing: any","isReadonlyField: any","tempEditedUser: any","containerClasses: any","displayName: any","getDisplayName","profileEntries: any","Avatar","getMappedUserProfileValue","Typography","Divider","schemaWithValue: any","profileContent: any","CardPrimitive","AlertPrimitive","DialogPrimitive"],"sources":["../../../../../src/components/presentation/UserProfile/BaseUserProfile.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {User, withVendorCSSClassPrefix, bem, Preferences, startCase} from '@thunderid/browser';\nimport {FC, ReactElement, useState, useCallback, useEffect} from 'react';\nimport useStyles from './BaseUserProfile.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../hooks/useTranslation';\nimport getDisplayName from '../../../utils/getDisplayName';\nimport getMappedUserProfileValue from '../../../utils/getMappedUserProfileValue';\nimport AlertPrimitive from '../../primitives/Alert/Alert';\nimport {Avatar} from '../../primitives/Avatar/Avatar';\nimport Button from '../../primitives/Button/Button';\nimport CardPrimitive from '../../primitives/Card/Card';\nimport Checkbox from '../../primitives/Checkbox/Checkbox';\nimport DatePicker from '../../primitives/DatePicker/DatePicker';\nimport DialogPrimitive from '../../primitives/Dialog/Dialog';\nimport Divider from '../../primitives/Divider/Divider';\nimport MultiInput from '../../primitives/MultiInput/MultiInput';\nimport TextField from '../../primitives/TextField/TextField';\nimport Typography from '../../primitives/Typography/Typography';\n\ninterface ExtendedFlatSchema {\n path?: string;\n schemaId?: string;\n}\n\ninterface Schema extends ExtendedFlatSchema {\n caseExact?: boolean;\n description?: string;\n displayName?: string;\n displayOrder?: string;\n multiValued?: boolean;\n mutability?: string;\n name?: string;\n required?: boolean;\n returned?: string;\n subAttributes?: Schema[];\n type?: string;\n uniqueness?: string;\n value?: any;\n}\n\nexport interface BaseUserProfileProps {\n attributeMapping?: {\n [key: string]: string | string[] | undefined;\n firstName?: string | string[];\n lastName?: string | string[];\n picture?: string | string[];\n username?: string | string[];\n };\n cardLayout?: boolean;\n className?: string;\n displayNameAttributes?: string[];\n editable?: boolean;\n error?: string | null;\n fallback?: ReactElement | null;\n flattenedProfile?: User;\n hideFields?: string[];\n isLoading?: boolean;\n mode?: 'inline' | 'popup';\n onOpenChange?: (open: boolean) => void;\n onUpdate?: (payload: any) => Promise<void>;\n open?: boolean;\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\n profile?: User;\n showFields?: string[];\n\n title?: string;\n}\n\n// Fields to skip based on schema.name\nconst fieldsToSkip: string[] = [\n 'roles.default',\n 'active',\n 'groups',\n 'accountLocked',\n 'accountDisabled',\n 'oneTimePassword',\n 'userSourceId',\n 'idpType',\n 'localCredentialExists',\n 'active',\n 'ResourceType',\n 'ExternalID',\n 'MetaData',\n 'verifiedMobileNumbers',\n 'verifiedEmailAddresses',\n 'phoneNumbers.mobile',\n 'emailAddresses',\n 'preferredMFAOption',\n 'attributes',\n 'picture',\n 'isReadOnly',\n 'isReadonly',\n];\n\n// Fields that should be readonly\nconst readonlyFields: string[] = ['attributes', 'id', 'isReadOnly', 'ouId', 'username'];\n\nconst BaseUserProfile: FC<BaseUserProfileProps> = ({\n fallback = null,\n className = '',\n cardLayout = true,\n profile,\n flattenedProfile,\n mode = 'inline',\n title,\n attributeMapping = {},\n editable = true,\n onOpenChange,\n onUpdate,\n open = false,\n error = null,\n isLoading = false,\n preferences,\n showFields = [],\n hideFields = [],\n displayNameAttributes = [],\n}: BaseUserProfileProps): ReactElement | null => {\n const {theme, colorScheme} = useTheme();\n const [editedUser, setEditedUser] = useState(flattenedProfile || profile);\n const [editingFields, setEditingFields] = useState<Record<string, boolean>>({});\n const {t} = useTranslation(preferences?.i18n);\n\n useEffect(() => {\n const nextUser = flattenedProfile ?? profile;\n if (!nextUser) return;\n\n setEditedUser((prev: any) => {\n if (!prev) return nextUser;\n\n const updated = {...nextUser};\n Object.keys(prev).forEach((key) => {\n if (editingFields[key]) {\n updated[key] = prev[key];\n }\n });\n return updated;\n });\n }, [flattenedProfile, profile, editingFields]);\n\n /**\n * Determines if a field should be visible based on showFields, hideFields, and fieldsToSkip arrays.\n * Priority order:\n * 1. fieldsToSkip (always hidden) - highest priority\n * 2. hideFields (explicitly hidden)\n * 3. showFields (explicitly shown, if array is not empty)\n * 4. Default behavior (show all fields not in fieldsToSkip)\n */\n const shouldShowField: any = useCallback(\n (fieldName: string): boolean => {\n // Always skip fields in the hardcoded fieldsToSkip array\n if (fieldsToSkip.includes(fieldName)) {\n return false;\n }\n\n // If hideFields is provided and contains this field, hide it\n if (hideFields.length > 0 && hideFields.includes(fieldName)) {\n return false;\n }\n\n // If showFields is provided and not empty, only show fields in that array\n if (showFields.length > 0) {\n return showFields.includes(fieldName);\n }\n\n return true;\n },\n [showFields, hideFields],\n );\n\n const PencilIcon = (): any => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\" />\n </svg>\n );\n\n const toggleFieldEdit: any = useCallback((fieldName: string) => {\n setEditingFields((prev: any) => ({\n ...prev,\n [fieldName]: !prev[fieldName],\n }));\n }, []);\n\n const getFieldPlaceholder: any = useCallback((schema: Schema): string => {\n const {type, displayName, description, name} = schema;\n\n const fieldLabel: any = displayName || description || name || 'value';\n\n switch (type) {\n case 'DATE_TIME':\n return `Enter your ${fieldLabel.toLowerCase()}`;\n case 'BOOLEAN':\n return `Select ${fieldLabel.toLowerCase()}`;\n case 'COMPLEX':\n return `Enter ${fieldLabel.toLowerCase()} details`;\n default:\n return `Enter your ${fieldLabel.toLowerCase()}`;\n }\n }, []);\n\n const formatLabel: any = useCallback(\n (key: string): string =>\n key\n .split(/(?=[A-Z])|_/)\n .map((word: any) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' '),\n [],\n );\n\n const styles: any = useStyles(theme, colorScheme);\n\n const ObjectDisplay: FC<{data: unknown}> = ({data}: {data: unknown}): ReactElement | null => {\n if (!data || typeof data !== 'object') return null;\n\n return (\n <table className={styles.value}>\n <tbody>\n {Object.entries(data).map(([key, value]: any) => (\n <tr key={key}>\n <td className={styles.objectKey}>\n <strong>{formatLabel(key)}:</strong>\n </td>\n <td className={styles.objectValue}>\n {typeof value === 'object' ? <ObjectDisplay data={value} /> : String(value)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n };\n\n function set(obj: Record<string, any>, path: string, value: any): void {\n const keys: any = path.split('.');\n let current: any = obj;\n\n for (let i: any = 0; i < keys.length; i += 1) {\n const key: any = keys[i];\n\n if (i === keys.length - 1) {\n current[key] = value;\n } else {\n if (!current[key] || typeof current[key] !== 'object') {\n current[key] = {};\n }\n current = current[key];\n }\n }\n }\n\n const handleFieldSave: any = useCallback(\n (schema: Schema): void => {\n if (!onUpdate || !schema.name) return;\n\n const fieldName: string = schema.name;\n let fieldValue: any;\n if (editedUser && fieldName && editedUser[fieldName] !== undefined) {\n fieldValue = editedUser[fieldName];\n } else if (flattenedProfile?.[fieldName] !== undefined) {\n fieldValue = flattenedProfile[fieldName];\n } else {\n fieldValue = '';\n }\n\n if (Array.isArray(fieldValue)) {\n fieldValue = fieldValue.filter((v: any) => v !== undefined && v !== null && v !== '');\n }\n\n let payload: Record<string, any> = {};\n set(payload, fieldName, fieldValue);\n\n onUpdate(payload);\n\n toggleFieldEdit(fieldName);\n },\n [editedUser, flattenedProfile, onUpdate, toggleFieldEdit],\n );\n\n const handleFieldCancel: any = useCallback(\n (fieldName: string) => {\n const currentUser: any = flattenedProfile || profile;\n setEditedUser((prev: any) => ({\n ...prev,\n [fieldName]: currentUser[fieldName],\n }));\n toggleFieldEdit(fieldName);\n },\n [flattenedProfile, profile, toggleFieldEdit],\n );\n\n const defaultAttributeMappings: Record<string, string | string[]> = {\n email: ['emails', 'email'],\n firstName: ['name.givenName', 'given_name'],\n lastName: ['name.familyName', 'family_name'],\n picture: ['profile', 'profileUrl', 'picture', 'URL'],\n username: ['userName', 'username', 'user_name'],\n };\n\n const mergedMappings: Record<string, string | string[]> = Object.fromEntries(\n Object.entries({...defaultAttributeMappings, ...attributeMapping}).filter(\n (entry): entry is [string, string | string[]] => entry[1] !== undefined,\n ),\n );\n\n const renderSchemaField = (\n schema: Schema,\n isEditing: boolean,\n onEditValue?: (value: any) => void,\n onStartEdit?: () => void,\n ): ReactElement | null => {\n if (!schema) return null;\n const {value, displayName, description, name, type, required, mutability, subAttributes, multiValued} = schema;\n const label: any = displayName || description || (name ? startCase(name) : '');\n\n if (subAttributes && Array.isArray(subAttributes)) {\n return (\n <>\n {subAttributes.map((subAttr: any, index: any) => {\n let displayValue: string;\n if (Array.isArray(subAttr.value)) {\n displayValue = subAttr.value\n .map((item: any) => (typeof item === 'object' ? JSON.stringify(item) : String(item)))\n .join(', ');\n } else if (typeof subAttr.value === 'object') {\n displayValue = JSON.stringify(subAttr.value);\n } else {\n displayValue = String(subAttr.value);\n }\n\n return (\n <div key={index} className={styles.field}>\n <span className={styles.label}>{subAttr.displayName || subAttr.description || ''}</span>\n <div className={styles.value}>{displayValue}</div>\n </div>\n );\n })}\n </>\n );\n }\n\n if (Array.isArray(value) || multiValued) {\n const hasValues: any = Array.isArray(value)\n ? value.length > 0\n : value !== undefined && value !== null && value !== '';\n const isEditable: any = editable && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '');\n\n if (isEditing && onEditValue && isEditable) {\n let currentValue: any;\n if (editedUser && name && editedUser[name] !== undefined) {\n currentValue = editedUser[name];\n } else if (flattenedProfile && name && flattenedProfile[name] !== undefined) {\n currentValue = flattenedProfile[name];\n } else {\n currentValue = value;\n }\n\n let fieldValues: string[];\n if (Array.isArray(currentValue)) {\n fieldValues = currentValue.map(String);\n } else if (currentValue !== undefined && currentValue !== null && currentValue !== '') {\n fieldValues = [String(currentValue)];\n } else {\n fieldValues = [];\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={styles.value}>\n <MultiInput\n values={fieldValues}\n onChange={(newValues: any): void => {\n if (multiValued || Array.isArray(currentValue)) {\n onEditValue(newValues);\n } else {\n onEditValue(newValues[0] || '');\n }\n }}\n placeholder={getFieldPlaceholder(schema)}\n fieldType={type as 'STRING' | 'DATE_TIME' | 'BOOLEAN'}\n type={type === 'DATE_TIME' ? 'date' : 'text'}\n required={required}\n />\n </div>\n </>\n );\n }\n\n let displayValue: string;\n if (hasValues) {\n if (Array.isArray(value)) {\n displayValue = value\n .map((item: any) => (typeof item === 'object' ? JSON.stringify(item) : String(item)))\n .join(', ');\n } else {\n displayValue = String(value);\n }\n } else if (isEditable) {\n displayValue = getFieldPlaceholder(schema);\n } else {\n displayValue = '-';\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={cx(styles.value, !hasValues ? styles.valuePlaceholder : '')}>\n {!hasValues && isEditable && onStartEdit ? (\n <Button\n onClick={onStartEdit}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Click to edit\"\n className={styles.editButton}\n >\n {displayValue}\n </Button>\n ) : (\n displayValue\n )}\n </div>\n </>\n );\n }\n if (type === 'COMPLEX' && typeof value === 'object') {\n return <ObjectDisplay data={value} />;\n }\n\n if (isEditing && onEditValue && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '')) {\n let fieldValue: any;\n if (editedUser && name && editedUser[name] !== undefined) {\n fieldValue = editedUser[name];\n } else if (flattenedProfile && name && flattenedProfile[name] !== undefined) {\n fieldValue = flattenedProfile[name];\n } else {\n fieldValue = value || '';\n }\n\n const commonProps: any = {\n label: undefined,\n onChange: (e: any) => onEditValue(e.target ? e.target.value : e),\n placeholder: getFieldPlaceholder(schema),\n required,\n value: fieldValue,\n // Removed inline style, use .styles.ts for marginBottom if needed\n };\n let field: ReactElement;\n switch (type) {\n case 'STRING':\n field = <TextField {...commonProps} />;\n break;\n case 'DATE_TIME':\n field = <DatePicker {...commonProps} />;\n break;\n case 'BOOLEAN':\n field = (\n <Checkbox\n {...commonProps}\n checked={!!fieldValue}\n onChange={(e: any): void => {\n onEditValue(e.target.checked);\n }}\n />\n );\n break;\n case 'COMPLEX':\n field = (\n <textarea\n value={fieldValue}\n onChange={(e: any): void => onEditValue(e.target.value)}\n placeholder={getFieldPlaceholder(schema)}\n required={required}\n className={styles.complexTextarea}\n />\n );\n break;\n default:\n field = <TextField {...commonProps} />;\n }\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={styles.value}>{field}</div>\n </>\n );\n }\n\n const hasValue: any = value !== undefined && value !== null && value !== '';\n const isEditable: any = editable && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '');\n\n let displayValue: string;\n if (hasValue) {\n displayValue = String(value);\n } else if (isEditable) {\n displayValue = getFieldPlaceholder(schema);\n } else {\n displayValue = '-';\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={cx(styles.value, !hasValue ? styles.valuePlaceholder : '')}>\n {!hasValue && isEditable && onStartEdit ? (\n <Button\n onClick={onStartEdit}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Click to edit\"\n className={styles.editButton}\n >\n {displayValue}\n </Button>\n ) : (\n displayValue\n )}\n </div>\n </>\n );\n };\n\n const renderUserInfo = (schema: Schema): any => {\n if (!schema?.name) return null;\n\n const hasValue: any = schema.value !== undefined && schema.value !== '' && schema.value !== null;\n const isFieldEditing: any = editingFields[schema.name];\n const isReadonlyField: any = readonlyFields.includes(schema.name);\n\n const shouldShow: any = hasValue || isFieldEditing || (editable && schema.mutability === 'READ_WRITE');\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div className={styles.field}>\n <div className={styles.fieldInner}>\n {renderSchemaField(\n schema,\n isFieldEditing,\n (value: any) => {\n const tempEditedUser: any = {...editedUser};\n tempEditedUser[schema.name!] = value;\n setEditedUser(tempEditedUser);\n },\n () => toggleFieldEdit(schema.name),\n )}\n </div>\n {editable && schema.mutability !== 'READ_ONLY' && !isReadonlyField && (\n <div className={styles.fieldActions}>\n {isFieldEditing && (\n <>\n <Button size=\"small\" color=\"primary\" variant=\"solid\" onClick={(): any => handleFieldSave(schema)}>\n Save\n </Button>\n <Button\n size=\"small\"\n color=\"secondary\"\n variant=\"solid\"\n onClick={(): any => handleFieldCancel(schema.name)}\n >\n Cancel\n </Button>\n </>\n )}\n {!isFieldEditing && hasValue && (\n <Button\n size=\"small\"\n color=\"tertiary\"\n variant=\"icon\"\n onClick={(): any => toggleFieldEdit(schema.name)}\n title=\"Edit\"\n className={styles.editButton}\n >\n <PencilIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n };\n\n if (!profile && !flattenedProfile) {\n return fallback;\n }\n\n const containerClasses: any = cx(\n styles.root,\n cardLayout ? styles.card : '',\n withVendorCSSClassPrefix('user-profile'),\n className,\n );\n\n const currentUser: any = flattenedProfile || profile;\n\n const renderProfileWithoutSchemas = (): any => {\n if (!currentUser) return null;\n\n const displayName: any = getDisplayName(mergedMappings, profile!, displayNameAttributes);\n\n const profileEntries: any = Object.entries(currentUser)\n .filter(([key, value]: [string, any]) => {\n if (!shouldShowField(key)) return false;\n\n return value !== undefined && value !== '' && value !== null;\n })\n .sort(([a]: [string, ...any[]], [b]: [string, ...any[]]) => a.localeCompare(b));\n\n return (\n <>\n <div className={styles.profileSummary}>\n <Avatar\n imageUrl={getMappedUserProfileValue('picture', mergedMappings, currentUser)}\n name={displayName}\n size={70}\n alt={`${displayName}'s avatar`}\n isLoading={isLoading}\n />\n <Typography variant=\"h3\" fontWeight=\"medium\">\n {displayName}\n </Typography>\n {getMappedUserProfileValue('email', mergedMappings, currentUser) && (\n <Typography variant=\"body2\" color=\"textSecondary\">\n {getMappedUserProfileValue('email', mergedMappings, currentUser)}\n </Typography>\n )}\n </div>\n <Divider />\n {profileEntries.map(([key, value]: any) => {\n const isReadonly = readonlyFields.includes(key);\n const schema: Schema = {name: key, mutability: isReadonly ? 'READ_ONLY' : 'READ_WRITE'};\n const schemaWithValue: any = {...schema, value};\n\n return (\n <div key={key} className={styles.info}>\n {renderUserInfo(schemaWithValue)}\n </div>\n );\n })}\n </>\n );\n };\n\n const profileContent: any = (\n <CardPrimitive className={containerClasses}>\n {error && (\n <AlertPrimitive\n variant=\"error\"\n className={cx(withVendorCSSClassPrefix(bem('user-profile', 'alert')), styles.alert)}\n >\n <AlertPrimitive.Title>{t('errors.heading') || 'Error'}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n <div className={styles.infoContainer}>{renderProfileWithoutSchemas()}</div>\n </CardPrimitive>\n );\n\n if (mode === 'popup') {\n return (\n <DialogPrimitive open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Content>\n <DialogPrimitive.Heading>{title ?? t('user.profile.heading')}</DialogPrimitive.Heading>\n <div className={styles.popup}>{profileContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return profileContent;\n};\n\nexport default BaseUserProfile;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseUserProfile.cjs","names":["fieldsToSkip: string[]","readonlyFields: string[]","BaseUserProfile: FC<BaseUserProfileProps>","useTheme","useTranslation","shouldShowField: any","toggleFieldEdit: any","getFieldPlaceholder: any","fieldLabel: any","formatLabel: any","styles: any","useStyles","ObjectDisplay: FC<{data: unknown}>","keys: any","current: any","i: any","key: any","handleFieldSave: any","fieldName: string","fieldValue: any","payload: Record<string, any>","handleFieldCancel: any","currentUser: any","currentUser","mergedMappings: Record<string, string | string[]>","label: any","displayValue: string","displayValue","hasValues: any","isEditable: any","isEditable","currentValue: any","fieldValues: string[]","MultiInput","cx","Button","commonProps: any","field: ReactElement","TextField","DatePicker","Checkbox","hasValue: any","isFieldEditing: any","isReadonlyField: any","tempEditedUser: any","containerClasses: any","displayName: any","getDisplayName","profileEntries: any","Avatar","getMappedUserProfileValue","Typography","Divider","schemaWithValue: any","profileContent: any","CardPrimitive","AlertPrimitive","DialogPrimitive"],"sources":["../../../../../src/components/presentation/UserProfile/BaseUserProfile.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {User, withVendorCSSClassPrefix, bem, Preferences, startCase} from '@thunderid/browser';\nimport {FC, ReactElement, useState, useCallback, useEffect} from 'react';\nimport useStyles from './BaseUserProfile.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../hooks/useTranslation';\nimport {cx} from '../../../styles/emotion';\nimport getDisplayName from '../../../utils/getDisplayName';\nimport getMappedUserProfileValue from '../../../utils/getMappedUserProfileValue';\nimport AlertPrimitive from '../../primitives/Alert/Alert';\nimport {Avatar} from '../../primitives/Avatar/Avatar';\nimport Button from '../../primitives/Button/Button';\nimport CardPrimitive from '../../primitives/Card/Card';\nimport Checkbox from '../../primitives/Checkbox/Checkbox';\nimport DatePicker from '../../primitives/DatePicker/DatePicker';\nimport DialogPrimitive from '../../primitives/Dialog/Dialog';\nimport Divider from '../../primitives/Divider/Divider';\nimport MultiInput from '../../primitives/MultiInput/MultiInput';\nimport TextField from '../../primitives/TextField/TextField';\nimport Typography from '../../primitives/Typography/Typography';\n\ninterface ExtendedFlatSchema {\n path?: string;\n schemaId?: string;\n}\n\ninterface Schema extends ExtendedFlatSchema {\n caseExact?: boolean;\n description?: string;\n displayName?: string;\n displayOrder?: string;\n multiValued?: boolean;\n mutability?: string;\n name?: string;\n required?: boolean;\n returned?: string;\n subAttributes?: Schema[];\n type?: string;\n uniqueness?: string;\n value?: any;\n}\n\nexport interface BaseUserProfileProps {\n attributeMapping?: {\n [key: string]: string | string[] | undefined;\n firstName?: string | string[];\n lastName?: string | string[];\n picture?: string | string[];\n username?: string | string[];\n };\n cardLayout?: boolean;\n className?: string;\n displayNameAttributes?: string[];\n editable?: boolean;\n error?: string | null;\n fallback?: ReactElement | null;\n flattenedProfile?: User;\n hideFields?: string[];\n isLoading?: boolean;\n mode?: 'inline' | 'popup';\n onOpenChange?: (open: boolean) => void;\n onUpdate?: (payload: any) => Promise<void>;\n open?: boolean;\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\n profile?: User;\n showFields?: string[];\n\n title?: string;\n}\n\n// Fields to skip based on schema.name\nconst fieldsToSkip: string[] = [\n 'roles.default',\n 'active',\n 'groups',\n 'accountLocked',\n 'accountDisabled',\n 'oneTimePassword',\n 'userSourceId',\n 'idpType',\n 'localCredentialExists',\n 'active',\n 'ResourceType',\n 'ExternalID',\n 'MetaData',\n 'verifiedMobileNumbers',\n 'verifiedEmailAddresses',\n 'phoneNumbers.mobile',\n 'emailAddresses',\n 'preferredMFAOption',\n 'attributes',\n 'picture',\n 'isReadOnly',\n 'isReadonly',\n];\n\n// Fields that should be readonly\nconst readonlyFields: string[] = ['attributes', 'id', 'isReadOnly', 'ouId', 'username'];\n\nconst BaseUserProfile: FC<BaseUserProfileProps> = ({\n fallback = null,\n className = '',\n cardLayout = true,\n profile,\n flattenedProfile,\n mode = 'inline',\n title,\n attributeMapping = {},\n editable = true,\n onOpenChange,\n onUpdate,\n open = false,\n error = null,\n isLoading = false,\n preferences,\n showFields = [],\n hideFields = [],\n displayNameAttributes = [],\n}: BaseUserProfileProps): ReactElement | null => {\n const {theme, colorScheme} = useTheme();\n const [editedUser, setEditedUser] = useState(flattenedProfile || profile);\n const [editingFields, setEditingFields] = useState<Record<string, boolean>>({});\n const {t} = useTranslation(preferences?.i18n);\n\n useEffect(() => {\n const nextUser = flattenedProfile ?? profile;\n if (!nextUser) return;\n\n setEditedUser((prev: any) => {\n if (!prev) return nextUser;\n\n const updated = {...nextUser};\n Object.keys(prev).forEach((key) => {\n if (editingFields[key]) {\n updated[key] = prev[key];\n }\n });\n return updated;\n });\n }, [flattenedProfile, profile, editingFields]);\n\n /**\n * Determines if a field should be visible based on showFields, hideFields, and fieldsToSkip arrays.\n * Priority order:\n * 1. fieldsToSkip (always hidden) - highest priority\n * 2. hideFields (explicitly hidden)\n * 3. showFields (explicitly shown, if array is not empty)\n * 4. Default behavior (show all fields not in fieldsToSkip)\n */\n const shouldShowField: any = useCallback(\n (fieldName: string): boolean => {\n // Always skip fields in the hardcoded fieldsToSkip array\n if (fieldsToSkip.includes(fieldName)) {\n return false;\n }\n\n // If hideFields is provided and contains this field, hide it\n if (hideFields.length > 0 && hideFields.includes(fieldName)) {\n return false;\n }\n\n // If showFields is provided and not empty, only show fields in that array\n if (showFields.length > 0) {\n return showFields.includes(fieldName);\n }\n\n return true;\n },\n [showFields, hideFields],\n );\n\n const PencilIcon = (): any => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\" />\n </svg>\n );\n\n const toggleFieldEdit: any = useCallback((fieldName: string) => {\n setEditingFields((prev: any) => ({\n ...prev,\n [fieldName]: !prev[fieldName],\n }));\n }, []);\n\n const getFieldPlaceholder: any = useCallback((schema: Schema): string => {\n const {type, displayName, description, name} = schema;\n\n const fieldLabel: any = displayName || description || name || 'value';\n\n switch (type) {\n case 'DATE_TIME':\n return `Enter your ${fieldLabel.toLowerCase()}`;\n case 'BOOLEAN':\n return `Select ${fieldLabel.toLowerCase()}`;\n case 'COMPLEX':\n return `Enter ${fieldLabel.toLowerCase()} details`;\n default:\n return `Enter your ${fieldLabel.toLowerCase()}`;\n }\n }, []);\n\n const formatLabel: any = useCallback(\n (key: string): string =>\n key\n .split(/(?=[A-Z])|_/)\n .map((word: any) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' '),\n [],\n );\n\n const styles: any = useStyles(theme, colorScheme);\n\n const ObjectDisplay: FC<{data: unknown}> = ({data}: {data: unknown}): ReactElement | null => {\n if (!data || typeof data !== 'object') return null;\n\n return (\n <table className={styles.value}>\n <tbody>\n {Object.entries(data).map(([key, value]: any) => (\n <tr key={key}>\n <td className={styles.objectKey}>\n <strong>{formatLabel(key)}:</strong>\n </td>\n <td className={styles.objectValue}>\n {typeof value === 'object' ? <ObjectDisplay data={value} /> : String(value)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n };\n\n function set(obj: Record<string, any>, path: string, value: any): void {\n const keys: any = path.split('.');\n let current: any = obj;\n\n for (let i: any = 0; i < keys.length; i += 1) {\n const key: any = keys[i];\n\n if (i === keys.length - 1) {\n current[key] = value;\n } else {\n if (!current[key] || typeof current[key] !== 'object') {\n current[key] = {};\n }\n current = current[key];\n }\n }\n }\n\n const handleFieldSave: any = useCallback(\n (schema: Schema): void => {\n if (!onUpdate || !schema.name) return;\n\n const fieldName: string = schema.name;\n let fieldValue: any;\n if (editedUser && fieldName && editedUser[fieldName] !== undefined) {\n fieldValue = editedUser[fieldName];\n } else if (flattenedProfile?.[fieldName] !== undefined) {\n fieldValue = flattenedProfile[fieldName];\n } else {\n fieldValue = '';\n }\n\n if (Array.isArray(fieldValue)) {\n fieldValue = fieldValue.filter((v: any) => v !== undefined && v !== null && v !== '');\n }\n\n let payload: Record<string, any> = {};\n set(payload, fieldName, fieldValue);\n\n onUpdate(payload);\n\n toggleFieldEdit(fieldName);\n },\n [editedUser, flattenedProfile, onUpdate, toggleFieldEdit],\n );\n\n const handleFieldCancel: any = useCallback(\n (fieldName: string) => {\n const currentUser: any = flattenedProfile || profile;\n setEditedUser((prev: any) => ({\n ...prev,\n [fieldName]: currentUser[fieldName],\n }));\n toggleFieldEdit(fieldName);\n },\n [flattenedProfile, profile, toggleFieldEdit],\n );\n\n const defaultAttributeMappings: Record<string, string | string[]> = {\n email: ['emails', 'email'],\n firstName: ['name.givenName', 'given_name'],\n lastName: ['name.familyName', 'family_name'],\n picture: ['profile', 'profileUrl', 'picture', 'URL'],\n username: ['userName', 'username', 'user_name'],\n };\n\n const mergedMappings: Record<string, string | string[]> = Object.fromEntries(\n Object.entries({...defaultAttributeMappings, ...attributeMapping}).filter(\n (entry): entry is [string, string | string[]] => entry[1] !== undefined,\n ),\n );\n\n const renderSchemaField = (\n schema: Schema,\n isEditing: boolean,\n onEditValue?: (value: any) => void,\n onStartEdit?: () => void,\n ): ReactElement | null => {\n if (!schema) return null;\n const {value, displayName, description, name, type, required, mutability, subAttributes, multiValued} = schema;\n const label: any = displayName || description || (name ? startCase(name) : '');\n\n if (subAttributes && Array.isArray(subAttributes)) {\n return (\n <>\n {subAttributes.map((subAttr: any, index: any) => {\n let displayValue: string;\n if (Array.isArray(subAttr.value)) {\n displayValue = subAttr.value\n .map((item: any) => (typeof item === 'object' ? JSON.stringify(item) : String(item)))\n .join(', ');\n } else if (typeof subAttr.value === 'object') {\n displayValue = JSON.stringify(subAttr.value);\n } else {\n displayValue = String(subAttr.value);\n }\n\n return (\n <div key={index} className={styles.field}>\n <span className={styles.label}>{subAttr.displayName || subAttr.description || ''}</span>\n <div className={styles.value}>{displayValue}</div>\n </div>\n );\n })}\n </>\n );\n }\n\n if (Array.isArray(value) || multiValued) {\n const hasValues: any = Array.isArray(value)\n ? value.length > 0\n : value !== undefined && value !== null && value !== '';\n const isEditable: any = editable && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '');\n\n if (isEditing && onEditValue && isEditable) {\n let currentValue: any;\n if (editedUser && name && editedUser[name] !== undefined) {\n currentValue = editedUser[name];\n } else if (flattenedProfile && name && flattenedProfile[name] !== undefined) {\n currentValue = flattenedProfile[name];\n } else {\n currentValue = value;\n }\n\n let fieldValues: string[];\n if (Array.isArray(currentValue)) {\n fieldValues = currentValue.map(String);\n } else if (currentValue !== undefined && currentValue !== null && currentValue !== '') {\n fieldValues = [String(currentValue)];\n } else {\n fieldValues = [];\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={styles.value}>\n <MultiInput\n values={fieldValues}\n onChange={(newValues: any): void => {\n if (multiValued || Array.isArray(currentValue)) {\n onEditValue(newValues);\n } else {\n onEditValue(newValues[0] || '');\n }\n }}\n placeholder={getFieldPlaceholder(schema)}\n fieldType={type as 'STRING' | 'DATE_TIME' | 'BOOLEAN'}\n type={type === 'DATE_TIME' ? 'date' : 'text'}\n required={required}\n />\n </div>\n </>\n );\n }\n\n let displayValue: string;\n if (hasValues) {\n if (Array.isArray(value)) {\n displayValue = value\n .map((item: any) => (typeof item === 'object' ? JSON.stringify(item) : String(item)))\n .join(', ');\n } else {\n displayValue = String(value);\n }\n } else if (isEditable) {\n displayValue = getFieldPlaceholder(schema);\n } else {\n displayValue = '-';\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={cx(styles.value, !hasValues ? styles.valuePlaceholder : '')}>\n {!hasValues && isEditable && onStartEdit ? (\n <Button\n onClick={onStartEdit}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Click to edit\"\n className={styles.editButton}\n >\n {displayValue}\n </Button>\n ) : (\n displayValue\n )}\n </div>\n </>\n );\n }\n if (type === 'COMPLEX' && typeof value === 'object') {\n return <ObjectDisplay data={value} />;\n }\n\n if (isEditing && onEditValue && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '')) {\n let fieldValue: any;\n if (editedUser && name && editedUser[name] !== undefined) {\n fieldValue = editedUser[name];\n } else if (flattenedProfile && name && flattenedProfile[name] !== undefined) {\n fieldValue = flattenedProfile[name];\n } else {\n fieldValue = value || '';\n }\n\n const commonProps: any = {\n label: undefined,\n onChange: (e: any) => onEditValue(e.target ? e.target.value : e),\n placeholder: getFieldPlaceholder(schema),\n required,\n value: fieldValue,\n // Removed inline style, use .styles.ts for marginBottom if needed\n };\n let field: ReactElement;\n switch (type) {\n case 'STRING':\n field = <TextField {...commonProps} />;\n break;\n case 'DATE_TIME':\n field = <DatePicker {...commonProps} />;\n break;\n case 'BOOLEAN':\n field = (\n <Checkbox\n {...commonProps}\n checked={!!fieldValue}\n onChange={(e: any): void => {\n onEditValue(e.target.checked);\n }}\n />\n );\n break;\n case 'COMPLEX':\n field = (\n <textarea\n value={fieldValue}\n onChange={(e: any): void => onEditValue(e.target.value)}\n placeholder={getFieldPlaceholder(schema)}\n required={required}\n className={styles.complexTextarea}\n />\n );\n break;\n default:\n field = <TextField {...commonProps} />;\n }\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={styles.value}>{field}</div>\n </>\n );\n }\n\n const hasValue: any = value !== undefined && value !== null && value !== '';\n const isEditable: any = editable && mutability !== 'READ_ONLY' && !readonlyFields.includes(name || '');\n\n let displayValue: string;\n if (hasValue) {\n displayValue = String(value);\n } else if (isEditable) {\n displayValue = getFieldPlaceholder(schema);\n } else {\n displayValue = '-';\n }\n\n return (\n <>\n <span className={styles.label}>{label}</span>\n <div className={cx(styles.value, !hasValue ? styles.valuePlaceholder : '')}>\n {!hasValue && isEditable && onStartEdit ? (\n <Button\n onClick={onStartEdit}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Click to edit\"\n className={styles.editButton}\n >\n {displayValue}\n </Button>\n ) : (\n displayValue\n )}\n </div>\n </>\n );\n };\n\n const renderUserInfo = (schema: Schema): any => {\n if (!schema?.name) return null;\n\n const hasValue: any = schema.value !== undefined && schema.value !== '' && schema.value !== null;\n const isFieldEditing: any = editingFields[schema.name];\n const isReadonlyField: any = readonlyFields.includes(schema.name);\n\n const shouldShow: any = hasValue || isFieldEditing || (editable && schema.mutability === 'READ_WRITE');\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div className={styles.field}>\n <div className={styles.fieldInner}>\n {renderSchemaField(\n schema,\n isFieldEditing,\n (value: any) => {\n const tempEditedUser: any = {...editedUser};\n tempEditedUser[schema.name!] = value;\n setEditedUser(tempEditedUser);\n },\n () => toggleFieldEdit(schema.name),\n )}\n </div>\n {editable && schema.mutability !== 'READ_ONLY' && !isReadonlyField && (\n <div className={styles.fieldActions}>\n {isFieldEditing && (\n <>\n <Button size=\"small\" color=\"primary\" variant=\"solid\" onClick={(): any => handleFieldSave(schema)}>\n Save\n </Button>\n <Button\n size=\"small\"\n color=\"secondary\"\n variant=\"solid\"\n onClick={(): any => handleFieldCancel(schema.name)}\n >\n Cancel\n </Button>\n </>\n )}\n {!isFieldEditing && hasValue && (\n <Button\n size=\"small\"\n color=\"tertiary\"\n variant=\"icon\"\n onClick={(): any => toggleFieldEdit(schema.name)}\n title=\"Edit\"\n className={styles.editButton}\n >\n <PencilIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n };\n\n if (!profile && !flattenedProfile) {\n return fallback;\n }\n\n const containerClasses: any = cx(\n styles.root,\n cardLayout ? styles.card : '',\n withVendorCSSClassPrefix('user-profile'),\n className,\n );\n\n const currentUser: any = flattenedProfile || profile;\n\n const renderProfileWithoutSchemas = (): any => {\n if (!currentUser) return null;\n\n const displayName: any = getDisplayName(mergedMappings, profile!, displayNameAttributes);\n\n const profileEntries: any = Object.entries(currentUser)\n .filter(([key, value]: [string, any]) => {\n if (!shouldShowField(key)) return false;\n\n return value !== undefined && value !== '' && value !== null;\n })\n .sort(([a]: [string, ...any[]], [b]: [string, ...any[]]) => a.localeCompare(b));\n\n return (\n <>\n <div className={styles.profileSummary}>\n <Avatar\n imageUrl={getMappedUserProfileValue('picture', mergedMappings, currentUser)}\n name={displayName}\n size={70}\n alt={`${displayName}'s avatar`}\n isLoading={isLoading}\n />\n <Typography variant=\"h3\" fontWeight=\"medium\">\n {displayName}\n </Typography>\n {getMappedUserProfileValue('email', mergedMappings, currentUser) && (\n <Typography variant=\"body2\" color=\"textSecondary\">\n {getMappedUserProfileValue('email', mergedMappings, currentUser)}\n </Typography>\n )}\n </div>\n <Divider />\n {profileEntries.map(([key, value]: any) => {\n const isReadonly = readonlyFields.includes(key);\n const schema: Schema = {name: key, mutability: isReadonly ? 'READ_ONLY' : 'READ_WRITE'};\n const schemaWithValue: any = {...schema, value};\n\n return (\n <div key={key} className={styles.info}>\n {renderUserInfo(schemaWithValue)}\n </div>\n );\n })}\n </>\n );\n };\n\n const profileContent: any = (\n <CardPrimitive className={containerClasses}>\n {error && (\n <AlertPrimitive\n variant=\"error\"\n className={cx(withVendorCSSClassPrefix(bem('user-profile', 'alert')), styles.alert)}\n >\n <AlertPrimitive.Title>{t('errors.heading') || 'Error'}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n <div className={styles.infoContainer}>{renderProfileWithoutSchemas()}</div>\n </CardPrimitive>\n );\n\n if (mode === 'popup') {\n return (\n <DialogPrimitive open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Content>\n <DialogPrimitive.Heading>{title ?? t('user.profile.heading')}</DialogPrimitive.Heading>\n <div className={styles.popup}>{profileContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return profileContent;\n};\n\nexport default BaseUserProfile;\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  let __thunderid_browser = require("@thunderid/browser");
3
4
  __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
4
5
  let react = require("react");
5
6
  react = require_rolldown_runtime.__toESM(react);
6
- let __emotion_css = require("@emotion/css");
7
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
8
7
 
9
8
  //#region src/components/presentation/UserProfile/BaseUserProfile.styles.ts
10
9
  /**
@@ -14,11 +13,11 @@ __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
14
13
  * @returns Object containing CSS class names for component styling
15
14
  */
16
15
  const useStyles = (theme, colorScheme) => {
17
- const valuePlaceholder = __emotion_css.css`
16
+ const valuePlaceholder = require_emotion.css`
18
17
  font-style: italic;
19
18
  opacity: 0.7;
20
19
  `;
21
- const editButton = __emotion_css.css`
20
+ const editButton = require_emotion.css`
22
21
  font-style: italic;
23
22
  text-decoration: underline;
24
23
  opacity: 0.7;
@@ -29,19 +28,19 @@ const useStyles = (theme, colorScheme) => {
29
28
  background-color: transparent;
30
29
  }
31
30
  `;
32
- const fieldInner = __emotion_css.css`
31
+ const fieldInner = require_emotion.css`
33
32
  flex: 1;
34
33
  display: flex;
35
34
  align-items: center;
36
35
  gap: ${theme.vars.spacing.unit};
37
36
  `;
38
- const fieldActions = __emotion_css.css`
37
+ const fieldActions = require_emotion.css`
39
38
  display: flex;
40
39
  gap: calc(${theme.vars.spacing.unit} / 2);
41
40
  align-items: center;
42
41
  margin-inline-start: calc(${theme.vars.spacing.unit} * 4);
43
42
  `;
44
- const complexTextarea = __emotion_css.css`
43
+ const complexTextarea = require_emotion.css`
45
44
  min-height: 60px;
46
45
  width: 100%;
47
46
  padding: 8px;
@@ -49,58 +48,58 @@ const useStyles = (theme, colorScheme) => {
49
48
  border-radius: ${theme.vars.borderRadius.small};
50
49
  resize: vertical;
51
50
  `;
52
- const objectKey = __emotion_css.css`
51
+ const objectKey = require_emotion.css`
53
52
  padding: ${theme.vars.spacing.unit};
54
53
  vertical-align: top;
55
54
  `;
56
- const objectValue = __emotion_css.css`
55
+ const objectValue = require_emotion.css`
57
56
  padding: ${theme.vars.spacing.unit};
58
57
  vertical-align: top;
59
58
  `;
60
59
  return (0, react.useMemo)(() => {
61
- const root = __emotion_css.css`
60
+ const root = require_emotion.css`
62
61
  padding: calc(${theme.vars.spacing.unit} * 4);
63
62
  min-width: 600px;
64
63
  margin: 0 auto;
65
64
  font-family: ${theme.vars.typography.fontFamily};
66
65
  `;
67
- const card = __emotion_css.css`
66
+ const card = require_emotion.css`
68
67
  background: ${theme.vars.colors.background.surface};
69
68
  border-radius: ${theme.vars.borderRadius.large};
70
69
  `;
71
- const header = __emotion_css.css`
70
+ const header = require_emotion.css`
72
71
  display: flex;
73
72
  align-items: center;
74
73
  gap: calc(${theme.vars.spacing.unit} * 1.5);
75
74
  margin-bottom: calc(${theme.vars.spacing.unit} * 1.5);
76
75
  `;
77
- const profileInfo = __emotion_css.css`
76
+ const profileInfo = require_emotion.css`
78
77
  flex: 1;
79
78
  `;
80
- const name = __emotion_css.css`
79
+ const name = require_emotion.css`
81
80
  font-size: 1.5rem;
82
81
  font-weight: 600;
83
82
  margin: 0;
84
83
  color: ${theme.vars.colors.text.primary};
85
84
  `;
86
- const profileSummary = __emotion_css.css`
85
+ const profileSummary = require_emotion.css`
87
86
  display: flex;
88
87
  flex-direction: column;
89
88
  align-items: flex-start;
90
89
  `;
91
- const sectionRow = __emotion_css.css`
90
+ const sectionRow = require_emotion.css`
92
91
  display: flex;
93
92
  align-items: center;
94
93
  padding: calc(${theme.vars.spacing.unit} * 1) 0;
95
94
  `;
96
- const sectionLabel = __emotion_css.css`
95
+ const sectionLabel = require_emotion.css`
97
96
  font-size: 0.875rem;
98
97
  font-weight: 600;
99
98
  color: ${theme.vars.colors.text.primary};
100
99
  width: 160px;
101
100
  flex-shrink: 0;
102
101
  `;
103
- const sectionValue = __emotion_css.css`
102
+ const sectionValue = require_emotion.css`
104
103
  flex: 1;
105
104
  display: flex;
106
105
  align-items: center;
@@ -108,24 +107,24 @@ const useStyles = (theme, colorScheme) => {
108
107
  font-size: 0.875rem;
109
108
  color: ${theme.vars.colors.text.primary};
110
109
  `;
111
- const infoContainer = __emotion_css.css`
110
+ const infoContainer = require_emotion.css`
112
111
  display: flex;
113
112
  flex-direction: column;
114
113
  `;
115
- const info = __emotion_css.css`
114
+ const info = require_emotion.css`
116
115
  padding: calc(${theme.vars.spacing.unit} * 1.5) 0;
117
116
  border-bottom: 1px solid ${theme.vars.colors.border};
118
117
  `;
119
- const field = __emotion_css.css`
118
+ const field = require_emotion.css`
120
119
  display: flex;
121
120
  align-items: center;
122
121
  padding: calc(${theme.vars.spacing.unit} / 2) 0;
123
122
  min-height: 28px;
124
123
  `;
125
- const lastField = __emotion_css.css`
124
+ const lastField = require_emotion.css`
126
125
  border-bottom: none;
127
126
  `;
128
- const label = __emotion_css.css`
127
+ const label = require_emotion.css`
129
128
  font-size: 0.875rem;
130
129
  font-weight: 500;
131
130
  color: ${theme.vars.colors.text.secondary};
@@ -134,7 +133,7 @@ const useStyles = (theme, colorScheme) => {
134
133
  line-height: 28px;
135
134
  text-align: start;
136
135
  `;
137
- const value = __emotion_css.css`
136
+ const value = require_emotion.css`
138
137
  color: ${theme.vars.colors.text.primary};
139
138
  flex: 1;
140
139
  display: inline-block;
@@ -167,11 +166,11 @@ const useStyles = (theme, colorScheme) => {
167
166
  border-color: ${theme.vars.colors.border};
168
167
  }
169
168
  `;
170
- const popup = __emotion_css.css`
169
+ const popup = require_emotion.css`
171
170
  padding: calc(${theme.vars.spacing.unit} * 2);
172
171
  `;
173
172
  return {
174
- alert: __emotion_css.css`
173
+ alert: require_emotion.css`
175
174
  margin-bottom: calc(${theme.vars.spacing.unit} * 3);
176
175
  `,
177
176
  card,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseUserProfile.styles.cjs","names":["valuePlaceholder: string","editButton: string","fieldInner: string","fieldActions: string","complexTextarea: string","objectKey: string","objectValue: string","root: string","card: string","header: string","profileInfo: string","name: string","profileSummary: string","sectionRow: string","sectionLabel: string","sectionValue: string","infoContainer: string","info: string","field: string","lastField: string","label: string","value: string","popup: string"],"sources":["../../../../../src/components/presentation/UserProfile/BaseUserProfile.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css} from '@emotion/css';\nimport {Theme, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\n/**\n * Creates styles for the BaseUserProfile component\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> => {\n const valuePlaceholder: string = css`\n font-style: italic;\n opacity: 0.7;\n `;\n\n const editButton: string = css`\n font-style: italic;\n text-decoration: underline;\n opacity: 0.7;\n padding: 0;\n min-height: auto;\n\n &:hover:not(:disabled) {\n background-color: transparent;\n }\n `;\n\n const fieldInner: string = css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: ${theme.vars.spacing.unit};\n `;\n\n const fieldActions: string = css`\n display: flex;\n gap: calc(${theme.vars.spacing.unit} / 2);\n align-items: center;\n margin-inline-start: calc(${theme.vars.spacing.unit} * 4);\n `;\n\n const complexTextarea: string = css`\n min-height: 60px;\n width: 100%;\n padding: 8px;\n border: 1px solid ${theme.vars.colors.border};\n border-radius: ${theme.vars.borderRadius.small};\n resize: vertical;\n `;\n\n const objectKey: string = css`\n padding: ${theme.vars.spacing.unit};\n vertical-align: top;\n `;\n\n const objectValue: string = css`\n padding: ${theme.vars.spacing.unit};\n vertical-align: top;\n `;\n\n return useMemo(() => {\n const root: string = css`\n padding: calc(${theme.vars.spacing.unit} * 4);\n min-width: 600px;\n margin: 0 auto;\n font-family: ${theme.vars.typography.fontFamily};\n `;\n\n const card: string = css`\n background: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.large};\n `;\n\n const header: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n margin-bottom: calc(${theme.vars.spacing.unit} * 1.5);\n `;\n\n const profileInfo: string = css`\n flex: 1;\n `;\n\n const name: string = css`\n font-size: 1.5rem;\n font-weight: 600;\n margin: 0;\n color: ${theme.vars.colors.text.primary};\n `;\n\n const profileSummary: string = css`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n `;\n\n const sectionRow: string = css`\n display: flex;\n align-items: center;\n padding: calc(${theme.vars.spacing.unit} * 1) 0;\n `;\n\n const sectionLabel: string = css`\n font-size: 0.875rem;\n font-weight: 600;\n color: ${theme.vars.colors.text.primary};\n width: 160px;\n flex-shrink: 0;\n `;\n\n const sectionValue: string = css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n font-size: 0.875rem;\n color: ${theme.vars.colors.text.primary};\n `;\n\n const infoContainer: string = css`\n display: flex;\n flex-direction: column;\n `;\n\n const info: string = css`\n padding: calc(${theme.vars.spacing.unit} * 1.5) 0;\n border-bottom: 1px solid ${theme.vars.colors.border};\n `;\n\n const field: string = css`\n display: flex;\n align-items: center;\n padding: calc(${theme.vars.spacing.unit} / 2) 0;\n min-height: 28px;\n `;\n\n const lastField: string = css`\n border-bottom: none;\n `;\n\n const label: string = css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.secondary};\n width: 120px;\n flex-shrink: 0;\n line-height: 28px;\n text-align: start;\n `;\n\n const value: string = css`\n color: ${theme.vars.colors.text.primary};\n flex: 1;\n display: inline-block;\n align-items: center;\n gap: ${theme.vars.spacing.unit};\n overflow: hidden;\n min-height: 28px;\n line-height: 28px;\n word-break: break-word;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 350px;\n text-align: start;\n\n .${withVendorCSSClassPrefix('form-control')} {\n margin-bottom: 0;\n }\n\n input {\n margin: 0;\n }\n\n table {\n background-color: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.medium};\n white-space: normal;\n }\n\n td {\n border-color: ${theme.vars.colors.border};\n }\n `;\n\n const popup: string = css`\n padding: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const alert: string = css`\n margin-bottom: calc(${theme.vars.spacing.unit} * 3);\n `;\n\n return {\n alert,\n card,\n complexTextarea,\n editButton,\n field,\n fieldActions,\n fieldInner,\n header,\n info,\n infoContainer,\n label,\n lastField,\n name,\n objectKey,\n objectValue,\n popup,\n profileInfo,\n profileSummary,\n root,\n sectionLabel,\n sectionRow,\n sectionValue,\n value,\n valuePlaceholder,\n };\n }, [\n theme.vars.colors.background.surface,\n theme.vars.colors.text.primary,\n theme.vars.colors.text.secondary,\n theme.vars.colors.border,\n theme.vars.borderRadius.large,\n theme.vars.borderRadius.medium,\n theme.vars.spacing.unit,\n theme.vars.typography.fontFamily,\n colorScheme,\n ]);\n};\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;;AAaA,MAAM,aAAa,OAAc,gBAAgD;CAC/E,MAAMA,mBAA2B,iBAAG;;;;CAKpC,MAAMC,aAAqB,iBAAG;;;;;;;;;;;CAY9B,MAAMC,aAAqB,iBAAG;;;;WAIrB,MAAM,KAAK,QAAQ,KAAK;;CAGjC,MAAMC,eAAuB,iBAAG;;gBAElB,MAAM,KAAK,QAAQ,KAAK;;gCAER,MAAM,KAAK,QAAQ,KAAK;;CAGtD,MAAMC,kBAA0B,iBAAG;;;;wBAIb,MAAM,KAAK,OAAO,OAAO;qBAC5B,MAAM,KAAK,aAAa,MAAM;;;CAIjD,MAAMC,YAAoB,iBAAG;eAChB,MAAM,KAAK,QAAQ,KAAK;;;CAIrC,MAAMC,cAAsB,iBAAG;eAClB,MAAM,KAAK,QAAQ,KAAK;;;AAIrC,iCAAqB;EACnB,MAAMC,OAAe,iBAAG;sBACN,MAAM,KAAK,QAAQ,KAAK;;;qBAGzB,MAAM,KAAK,WAAW,WAAW;;EAGlD,MAAMC,OAAe,iBAAG;oBACR,MAAM,KAAK,OAAO,WAAW,QAAQ;uBAClC,MAAM,KAAK,aAAa,MAAM;;EAGjD,MAAMC,SAAiB,iBAAG;;;kBAGZ,MAAM,KAAK,QAAQ,KAAK;4BACd,MAAM,KAAK,QAAQ,KAAK;;EAGhD,MAAMC,cAAsB,iBAAG;;;EAI/B,MAAMC,OAAe,iBAAG;;;;eAIb,MAAM,KAAK,OAAO,KAAK,QAAQ;;EAG1C,MAAMC,iBAAyB,iBAAG;;;;;EAMlC,MAAMC,aAAqB,iBAAG;;;sBAGZ,MAAM,KAAK,QAAQ,KAAK;;EAG1C,MAAMC,eAAuB,iBAAG;;;eAGrB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;EAK1C,MAAMC,eAAuB,iBAAG;;;;kBAIlB,MAAM,KAAK,QAAQ,KAAK;;eAE3B,MAAM,KAAK,OAAO,KAAK,QAAQ;;EAG1C,MAAMC,gBAAwB,iBAAG;;;;EAKjC,MAAMC,OAAe,iBAAG;sBACN,MAAM,KAAK,QAAQ,KAAK;iCACb,MAAM,KAAK,OAAO,OAAO;;EAGtD,MAAMC,QAAgB,iBAAG;;;sBAGP,MAAM,KAAK,QAAQ,KAAK;;;EAI1C,MAAMC,YAAoB,iBAAG;;;EAI7B,MAAMC,QAAgB,iBAAG;;;eAGd,MAAM,KAAK,OAAO,KAAK,UAAU;;;;;;EAO5C,MAAMC,QAAgB,iBAAG;eACd,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;aAIjC,MAAM,KAAK,QAAQ,KAAK;;;;;;;;;;2DAUH,eAAe,CAAC;;;;;;;;;4BAStB,MAAM,KAAK,OAAO,WAAW,QAAQ;yBACxC,MAAM,KAAK,aAAa,OAAO;;;;;wBAKhC,MAAM,KAAK,OAAO,OAAO;;;EAI7C,MAAMC,QAAgB,iBAAG;sBACP,MAAM,KAAK,QAAQ,KAAK;;AAO1C,SAAO;GACL,OALoB,iBAAG;4BACD,MAAM,KAAK,QAAQ,KAAK;;GAK9C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;IACA;EACD,MAAM,KAAK,OAAO,WAAW;EAC7B,MAAM,KAAK,OAAO,KAAK;EACvB,MAAM,KAAK,OAAO,KAAK;EACvB,MAAM,KAAK,OAAO;EAClB,MAAM,KAAK,aAAa;EACxB,MAAM,KAAK,aAAa;EACxB,MAAM,KAAK,QAAQ;EACnB,MAAM,KAAK,WAAW;EACtB;EACD,CAAC;;AAGJ,qCAAe"}
1
+ {"version":3,"file":"BaseUserProfile.styles.cjs","names":["valuePlaceholder: string","editButton: string","fieldInner: string","fieldActions: string","complexTextarea: string","objectKey: string","objectValue: string","root: string","card: string","header: string","profileInfo: string","name: string","profileSummary: string","sectionRow: string","sectionLabel: string","sectionValue: string","infoContainer: string","info: string","field: string","lastField: string","label: string","value: string","popup: string"],"sources":["../../../../../src/components/presentation/UserProfile/BaseUserProfile.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css} from '../../../styles/emotion';\n\n/**\n * Creates styles for the BaseUserProfile component\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> => {\n const valuePlaceholder: string = css`\n font-style: italic;\n opacity: 0.7;\n `;\n\n const editButton: string = css`\n font-style: italic;\n text-decoration: underline;\n opacity: 0.7;\n padding: 0;\n min-height: auto;\n\n &:hover:not(:disabled) {\n background-color: transparent;\n }\n `;\n\n const fieldInner: string = css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: ${theme.vars.spacing.unit};\n `;\n\n const fieldActions: string = css`\n display: flex;\n gap: calc(${theme.vars.spacing.unit} / 2);\n align-items: center;\n margin-inline-start: calc(${theme.vars.spacing.unit} * 4);\n `;\n\n const complexTextarea: string = css`\n min-height: 60px;\n width: 100%;\n padding: 8px;\n border: 1px solid ${theme.vars.colors.border};\n border-radius: ${theme.vars.borderRadius.small};\n resize: vertical;\n `;\n\n const objectKey: string = css`\n padding: ${theme.vars.spacing.unit};\n vertical-align: top;\n `;\n\n const objectValue: string = css`\n padding: ${theme.vars.spacing.unit};\n vertical-align: top;\n `;\n\n return useMemo(() => {\n const root: string = css`\n padding: calc(${theme.vars.spacing.unit} * 4);\n min-width: 600px;\n margin: 0 auto;\n font-family: ${theme.vars.typography.fontFamily};\n `;\n\n const card: string = css`\n background: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.large};\n `;\n\n const header: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n margin-bottom: calc(${theme.vars.spacing.unit} * 1.5);\n `;\n\n const profileInfo: string = css`\n flex: 1;\n `;\n\n const name: string = css`\n font-size: 1.5rem;\n font-weight: 600;\n margin: 0;\n color: ${theme.vars.colors.text.primary};\n `;\n\n const profileSummary: string = css`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n `;\n\n const sectionRow: string = css`\n display: flex;\n align-items: center;\n padding: calc(${theme.vars.spacing.unit} * 1) 0;\n `;\n\n const sectionLabel: string = css`\n font-size: 0.875rem;\n font-weight: 600;\n color: ${theme.vars.colors.text.primary};\n width: 160px;\n flex-shrink: 0;\n `;\n\n const sectionValue: string = css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n font-size: 0.875rem;\n color: ${theme.vars.colors.text.primary};\n `;\n\n const infoContainer: string = css`\n display: flex;\n flex-direction: column;\n `;\n\n const info: string = css`\n padding: calc(${theme.vars.spacing.unit} * 1.5) 0;\n border-bottom: 1px solid ${theme.vars.colors.border};\n `;\n\n const field: string = css`\n display: flex;\n align-items: center;\n padding: calc(${theme.vars.spacing.unit} / 2) 0;\n min-height: 28px;\n `;\n\n const lastField: string = css`\n border-bottom: none;\n `;\n\n const label: string = css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.secondary};\n width: 120px;\n flex-shrink: 0;\n line-height: 28px;\n text-align: start;\n `;\n\n const value: string = css`\n color: ${theme.vars.colors.text.primary};\n flex: 1;\n display: inline-block;\n align-items: center;\n gap: ${theme.vars.spacing.unit};\n overflow: hidden;\n min-height: 28px;\n line-height: 28px;\n word-break: break-word;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 350px;\n text-align: start;\n\n .${withVendorCSSClassPrefix('form-control')} {\n margin-bottom: 0;\n }\n\n input {\n margin: 0;\n }\n\n table {\n background-color: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.medium};\n white-space: normal;\n }\n\n td {\n border-color: ${theme.vars.colors.border};\n }\n `;\n\n const popup: string = css`\n padding: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const alert: string = css`\n margin-bottom: calc(${theme.vars.spacing.unit} * 3);\n `;\n\n return {\n alert,\n card,\n complexTextarea,\n editButton,\n field,\n fieldActions,\n fieldInner,\n header,\n info,\n infoContainer,\n label,\n lastField,\n name,\n objectKey,\n objectValue,\n popup,\n profileInfo,\n profileSummary,\n root,\n sectionLabel,\n sectionRow,\n sectionValue,\n value,\n valuePlaceholder,\n };\n }, [\n theme.vars.colors.background.surface,\n theme.vars.colors.text.primary,\n theme.vars.colors.text.secondary,\n theme.vars.colors.border,\n theme.vars.borderRadius.large,\n theme.vars.borderRadius.medium,\n theme.vars.spacing.unit,\n theme.vars.typography.fontFamily,\n colorScheme,\n ]);\n};\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,aAAa,OAAc,gBAAgD;CAC/E,MAAMA,mBAA2B,mBAAG;;;;CAKpC,MAAMC,aAAqB,mBAAG;;;;;;;;;;;CAY9B,MAAMC,aAAqB,mBAAG;;;;WAIrB,MAAM,KAAK,QAAQ,KAAK;;CAGjC,MAAMC,eAAuB,mBAAG;;gBAElB,MAAM,KAAK,QAAQ,KAAK;;gCAER,MAAM,KAAK,QAAQ,KAAK;;CAGtD,MAAMC,kBAA0B,mBAAG;;;;wBAIb,MAAM,KAAK,OAAO,OAAO;qBAC5B,MAAM,KAAK,aAAa,MAAM;;;CAIjD,MAAMC,YAAoB,mBAAG;eAChB,MAAM,KAAK,QAAQ,KAAK;;;CAIrC,MAAMC,cAAsB,mBAAG;eAClB,MAAM,KAAK,QAAQ,KAAK;;;AAIrC,iCAAqB;EACnB,MAAMC,OAAe,mBAAG;sBACN,MAAM,KAAK,QAAQ,KAAK;;;qBAGzB,MAAM,KAAK,WAAW,WAAW;;EAGlD,MAAMC,OAAe,mBAAG;oBACR,MAAM,KAAK,OAAO,WAAW,QAAQ;uBAClC,MAAM,KAAK,aAAa,MAAM;;EAGjD,MAAMC,SAAiB,mBAAG;;;kBAGZ,MAAM,KAAK,QAAQ,KAAK;4BACd,MAAM,KAAK,QAAQ,KAAK;;EAGhD,MAAMC,cAAsB,mBAAG;;;EAI/B,MAAMC,OAAe,mBAAG;;;;eAIb,MAAM,KAAK,OAAO,KAAK,QAAQ;;EAG1C,MAAMC,iBAAyB,mBAAG;;;;;EAMlC,MAAMC,aAAqB,mBAAG;;;sBAGZ,MAAM,KAAK,QAAQ,KAAK;;EAG1C,MAAMC,eAAuB,mBAAG;;;eAGrB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;EAK1C,MAAMC,eAAuB,mBAAG;;;;kBAIlB,MAAM,KAAK,QAAQ,KAAK;;eAE3B,MAAM,KAAK,OAAO,KAAK,QAAQ;;EAG1C,MAAMC,gBAAwB,mBAAG;;;;EAKjC,MAAMC,OAAe,mBAAG;sBACN,MAAM,KAAK,QAAQ,KAAK;iCACb,MAAM,KAAK,OAAO,OAAO;;EAGtD,MAAMC,QAAgB,mBAAG;;;sBAGP,MAAM,KAAK,QAAQ,KAAK;;;EAI1C,MAAMC,YAAoB,mBAAG;;;EAI7B,MAAMC,QAAgB,mBAAG;;;eAGd,MAAM,KAAK,OAAO,KAAK,UAAU;;;;;;EAO5C,MAAMC,QAAgB,mBAAG;eACd,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;aAIjC,MAAM,KAAK,QAAQ,KAAK;;;;;;;;;;2DAUH,eAAe,CAAC;;;;;;;;;4BAStB,MAAM,KAAK,OAAO,WAAW,QAAQ;yBACxC,MAAM,KAAK,aAAa,OAAO;;;;;wBAKhC,MAAM,KAAK,OAAO,OAAO;;;EAI7C,MAAMC,QAAgB,mBAAG;sBACP,MAAM,KAAK,QAAQ,KAAK;;AAO1C,SAAO;GACL,OALoB,mBAAG;4BACD,MAAM,KAAK,QAAQ,KAAK;;GAK9C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;IACA;EACD,MAAM,KAAK,OAAO,WAAW;EAC7B,MAAM,KAAK,OAAO,KAAK;EACvB,MAAM,KAAK,OAAO,KAAK;EACvB,MAAM,KAAK,OAAO;EAClB,MAAM,KAAK,aAAa;EACxB,MAAM,KAAK,aAAa;EACxB,MAAM,KAAK,QAAQ;EACnB,MAAM,KAAK,WAAW;EACtB;EACD,CAAC;;AAGJ,qCAAe"}
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../../styles/emotion.cjs');
2
3
  const require_ComponentRendererContext = require('../../../../contexts/ComponentRenderer/ComponentRendererContext.cjs');
3
4
  const require_useThunderID = require('../../../../contexts/ThunderID/useThunderID.cjs');
4
5
  const require_useTheme = require('../../../../contexts/Theme/useTheme.cjs');
@@ -19,8 +20,6 @@ let react = require("react");
19
20
  react = require_rolldown_runtime.__toESM(react);
20
21
  let react_jsx_runtime = require("react/jsx-runtime");
21
22
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
22
- let __emotion_css = require("@emotion/css");
23
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
24
23
 
25
24
  //#region src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.tsx
26
25
  /**
@@ -254,20 +253,24 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
254
253
  const raw = currentAdditionalData["consentPrompt"];
255
254
  const purposes = typeof raw === "string" ? JSON.parse(raw) : raw.purposes || raw;
256
255
  const isDeny = component?.variant?.toLowerCase() !== "primary";
257
- const decisions = { purposes: purposes.map((p) => ({
256
+ const decisions = {
258
257
  approved: !isDeny,
259
- purposeName: p.purposeName,
260
- elements: [...(p.essential || []).map((e) => ({
258
+ ...isDeny ? { reason: __thunderid_browser.ConsentConstants.REASON_USER_DENIED } : {},
259
+ purposes: purposes.map((p) => ({
261
260
  approved: !isDeny,
262
- name: e.name
263
- })), ...(p.optional || []).map((e) => {
264
- const key = `__consent_opt__${p.purposeId}__${e.name}`;
265
- return {
266
- approved: isDeny ? false : inputs[key] !== "false",
261
+ purposeName: p.purposeName,
262
+ elements: [...(p.essential || []).map((e) => ({
263
+ approved: !isDeny,
267
264
  name: e.name
268
- };
269
- })]
270
- })) };
265
+ })), ...(p.optional || []).map((e) => {
266
+ const key = `__consent_opt__${p.purposeId}__${e.name}`;
267
+ return {
268
+ approved: !isDeny && inputs[key] === "true",
269
+ name: e.name
270
+ };
271
+ })]
272
+ }))
273
+ };
271
274
  inputs.consent_decisions = JSON.stringify(decisions);
272
275
  Object.keys(inputs).forEach((k) => {
273
276
  if (k.startsWith("__consent_opt__")) delete inputs[k];
@@ -425,16 +428,10 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
425
428
  children: children(renderProps)
426
429
  });
427
430
  if (isValidatingToken) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default, {
428
- className: (0, __emotion_css.cx)(className, styles.card),
431
+ className: require_emotion.cx(className, styles.card),
429
432
  variant,
430
433
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default.Content, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
431
- style: {
432
- alignItems: "center",
433
- display: "flex",
434
- flexDirection: "column",
435
- gap: "1rem",
436
- padding: "2rem"
437
- },
434
+ className: styles["tokenValidationContainer"],
438
435
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Spinner.default, { size: "medium" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.default, {
439
436
  variant: "body1",
440
437
  children: "Validating your invite link..."
@@ -442,7 +439,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
442
439
  }) })
443
440
  });
444
441
  if (isTokenInvalid) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default, {
445
- className: (0, __emotion_css.cx)(className, styles.card),
442
+ className: require_emotion.cx(className, styles.card),
446
443
  variant,
447
444
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default.Header, {
448
445
  className: styles.header,
@@ -455,11 +452,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
455
452
  variant: "error",
456
453
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Title, { children: "Unable to verify invite" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Description, { children: apiError?.message || "This invite link is invalid or has expired. Please contact your administrator for a new invite." })]
457
454
  }), onGoToSignIn && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
458
- style: {
459
- display: "flex",
460
- justifyContent: "center",
461
- marginTop: "1.5rem"
462
- },
455
+ className: styles["goToSignInContainer"],
463
456
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
464
457
  variant: "outline",
465
458
  onClick: onGoToSignIn,
@@ -468,7 +461,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
468
461
  })] })]
469
462
  });
470
463
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default, {
471
- className: (0, __emotion_css.cx)(className, styles.card),
464
+ className: require_emotion.cx(className, styles.card),
472
465
  variant,
473
466
  children: [(showTitle || showSubtitle) && (title || subtitle) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default.Header, {
474
467
  className: styles.header,
@@ -483,7 +476,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
483
476
  })]
484
477
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default.Content, { children: [
485
478
  apiError && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
486
- style: { marginBottom: "1rem" },
479
+ className: styles["errorContainer"],
487
480
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default, {
488
481
  variant: "error",
489
482
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Description, { children: apiError.message })
@@ -503,18 +496,11 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
503
496
  children: "No form components available"
504
497
  })
505
498
  }), isLoading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
506
- style: {
507
- display: "flex",
508
- justifyContent: "center",
509
- padding: "1rem"
510
- },
499
+ className: styles["centeredSpinnerContainerSmall"],
511
500
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Spinner.default, { size: "small" })
512
501
  })] }),
513
502
  onGoToSignIn && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
514
- style: {
515
- marginTop: "1.5rem",
516
- textAlign: "center"
517
- },
503
+ className: styles["alreadyHaveAccountContainer"],
518
504
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Typography.default, {
519
505
  variant: "body2",
520
506
  children: [
@@ -523,10 +509,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
523
509
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
524
510
  variant: "text",
525
511
  onClick: onGoToSignIn,
526
- style: {
527
- minWidth: "auto",
528
- padding: 0
529
- },
512
+ className: styles["signInInlineButton"],
530
513
  children: "Sign In"
531
514
  })
532
515
  ]