@thunderid/react 0.12.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/dist/api/getUsersMeMeta.d.ts +22 -0
  2. package/dist/api/getUsersMeMeta.d.ts.map +1 -0
  3. package/dist/api/getUsersMeMeta.js +32 -0
  4. package/dist/api/getUsersMeMeta.js.map +1 -0
  5. package/dist/cjs/api/getUsersMeMeta.cjs +34 -0
  6. package/dist/cjs/api/getUsersMeMeta.cjs.map +1 -0
  7. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs +2 -3
  8. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -1
  9. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs +2 -3
  10. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -1
  11. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs +2 -3
  12. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -1
  13. package/dist/cjs/components/adapters/Consent.cjs +34 -27
  14. package/dist/cjs/components/adapters/Consent.cjs.map +1 -1
  15. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +7 -8
  16. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -1
  17. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs +8 -9
  18. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -1
  19. package/dist/cjs/components/adapters/GoogleButton.cjs +425 -31
  20. package/dist/cjs/components/adapters/GoogleButton.cjs.map +1 -1
  21. package/dist/cjs/components/adapters/ImageComponent.cjs +13 -9
  22. package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -1
  23. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +3 -4
  24. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -1
  25. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs +11 -12
  26. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -1
  27. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +12 -16
  28. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  29. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs +18 -15
  30. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -1
  31. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +96 -41
  32. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -1
  33. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs +25 -26
  34. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -1
  35. package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs +4 -2
  36. package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs.map +1 -1
  37. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs +10 -31
  38. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -1
  39. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs +41 -9
  40. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -1
  41. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +75 -71
  42. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  43. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs +9 -22
  44. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -1
  45. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs +22 -9
  46. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -1
  47. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +11 -12
  48. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  49. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +11 -16
  50. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  51. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs +32 -27
  52. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -1
  53. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +11 -12
  54. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  55. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs +25 -26
  56. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -1
  57. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs +6 -7
  58. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs.map +1 -1
  59. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs +9 -10
  60. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs.map +1 -1
  61. package/dist/cjs/components/primitives/Alert/Alert.cjs +6 -7
  62. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -1
  63. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs +10 -11
  64. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -1
  65. package/dist/cjs/components/primitives/Avatar/Avatar.cjs +5 -6
  66. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -1
  67. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs +7 -8
  68. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -1
  69. package/dist/cjs/components/primitives/Button/Button.cjs +8 -12
  70. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -1
  71. package/dist/cjs/components/primitives/Button/Button.styles.cjs +23 -24
  72. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -1
  73. package/dist/cjs/components/primitives/Card/Card.cjs +8 -9
  74. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -1
  75. package/dist/cjs/components/primitives/Card/Card.styles.cjs +12 -13
  76. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -1
  77. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +5 -6
  78. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -1
  79. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs +7 -8
  80. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -1
  81. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs +6 -7
  82. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -1
  83. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs +4 -5
  84. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -1
  85. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs +5 -6
  86. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -1
  87. package/dist/cjs/components/primitives/Dialog/Dialog.cjs +7 -8
  88. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -1
  89. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs +8 -9
  90. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -1
  91. package/dist/cjs/components/primitives/Divider/Divider.cjs +7 -8
  92. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -1
  93. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs +7 -8
  94. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -1
  95. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +3 -4
  96. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -1
  97. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs +4 -5
  98. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -1
  99. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs +3 -4
  100. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -1
  101. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs +6 -7
  102. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -1
  103. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs +19 -20
  104. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -1
  105. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs +16 -17
  106. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -1
  107. package/dist/cjs/components/primitives/Logo/Logo.cjs +3 -4
  108. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -1
  109. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs +9 -10
  110. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -1
  111. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs +11 -12
  112. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -1
  113. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs +10 -11
  114. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -1
  115. package/dist/cjs/components/primitives/OtpField/OtpField.cjs +4 -5
  116. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -1
  117. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs +5 -6
  118. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -1
  119. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs +3 -4
  120. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -1
  121. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs +4 -5
  122. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -1
  123. package/dist/cjs/components/primitives/Select/Select.cjs +3 -4
  124. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -1
  125. package/dist/cjs/components/primitives/Select/Select.styles.cjs +5 -6
  126. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -1
  127. package/dist/cjs/components/primitives/Spinner/Spinner.cjs +4 -6
  128. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -1
  129. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs +20 -12
  130. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -1
  131. package/dist/cjs/components/primitives/TextField/TextField.cjs +6 -7
  132. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -1
  133. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs +8 -9
  134. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -1
  135. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +7 -8
  136. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -1
  137. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs +7 -8
  138. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -1
  139. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs +4 -5
  140. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs.map +1 -1
  141. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs +13 -14
  142. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs.map +1 -1
  143. package/dist/cjs/components/primitives/Typography/Typography.cjs +2 -3
  144. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -1
  145. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs +18 -19
  146. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -1
  147. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +1 -0
  148. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  149. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +36 -14
  150. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  151. package/dist/cjs/contexts/User/UserContext.cjs +2 -1
  152. package/dist/cjs/contexts/User/UserContext.cjs.map +1 -1
  153. package/dist/cjs/contexts/User/UserProvider.cjs +5 -3
  154. package/dist/cjs/contexts/User/UserProvider.cjs.map +1 -1
  155. package/dist/cjs/index.cjs +2 -0
  156. package/dist/cjs/styles/emotion.cjs +64 -0
  157. package/dist/cjs/styles/emotion.cjs.map +1 -0
  158. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts.map +1 -1
  159. package/dist/components/actions/SignInButton/BaseSignInButton.js +1 -1
  160. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -1
  161. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts.map +1 -1
  162. package/dist/components/actions/SignOutButton/BaseSignOutButton.js +1 -1
  163. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -1
  164. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts.map +1 -1
  165. package/dist/components/actions/SignUpButton/BaseSignUpButton.js +1 -1
  166. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -1
  167. package/dist/components/adapters/Consent.d.ts.map +1 -1
  168. package/dist/components/adapters/Consent.js +34 -27
  169. package/dist/components/adapters/Consent.js.map +1 -1
  170. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  171. package/dist/components/adapters/ConsentCheckboxList.js +1 -1
  172. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  173. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts.map +1 -1
  174. package/dist/components/adapters/ConsentCheckboxList.styles.js +1 -1
  175. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -1
  176. package/dist/components/adapters/GoogleButton.d.ts.map +1 -1
  177. package/dist/components/adapters/GoogleButton.js +425 -31
  178. package/dist/components/adapters/GoogleButton.js.map +1 -1
  179. package/dist/components/adapters/ImageComponent.d.ts.map +1 -1
  180. package/dist/components/adapters/ImageComponent.js +13 -9
  181. package/dist/components/adapters/ImageComponent.js.map +1 -1
  182. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts.map +1 -1
  183. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  184. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -1
  185. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts.map +1 -1
  186. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js +1 -1
  187. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -1
  188. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  189. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +5 -8
  190. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  191. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts.map +1 -1
  192. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js +5 -1
  193. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -1
  194. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts +2 -1
  195. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  196. package/dist/components/presentation/UserProfile/BaseUserProfile.js +92 -36
  197. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -1
  198. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  199. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js +1 -1
  200. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -1
  201. package/dist/components/presentation/UserProfile/UserProfile.d.ts.map +1 -1
  202. package/dist/components/presentation/UserProfile/UserProfile.js +5 -3
  203. package/dist/components/presentation/UserProfile/UserProfile.js.map +1 -1
  204. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -1
  205. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js +7 -27
  206. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -1
  207. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -1
  208. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js +38 -5
  209. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -1
  210. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  211. package/dist/components/presentation/auth/AuthOptionFactory.js +68 -63
  212. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  213. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -1
  214. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js +5 -17
  215. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -1
  216. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -1
  217. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js +19 -5
  218. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -1
  219. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  220. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +1 -1
  221. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  222. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  223. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +2 -6
  224. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  225. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts.map +1 -1
  226. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js +7 -1
  227. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -1
  228. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  229. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +1 -1
  230. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  231. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts.map +1 -1
  232. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js +1 -1
  233. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -1
  234. package/dist/components/primitives/AffixedField/AffixedField.d.ts.map +1 -1
  235. package/dist/components/primitives/AffixedField/AffixedField.js +1 -1
  236. package/dist/components/primitives/AffixedField/AffixedField.js.map +1 -1
  237. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts.map +1 -1
  238. package/dist/components/primitives/AffixedField/AffixedField.styles.js +1 -1
  239. package/dist/components/primitives/AffixedField/AffixedField.styles.js.map +1 -1
  240. package/dist/components/primitives/Alert/Alert.d.ts.map +1 -1
  241. package/dist/components/primitives/Alert/Alert.js +1 -1
  242. package/dist/components/primitives/Alert/Alert.js.map +1 -1
  243. package/dist/components/primitives/Alert/Alert.styles.d.ts.map +1 -1
  244. package/dist/components/primitives/Alert/Alert.styles.js +1 -1
  245. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -1
  246. package/dist/components/primitives/Avatar/Avatar.d.ts.map +1 -1
  247. package/dist/components/primitives/Avatar/Avatar.js +1 -1
  248. package/dist/components/primitives/Avatar/Avatar.js.map +1 -1
  249. package/dist/components/primitives/Avatar/Avatar.styles.d.ts.map +1 -1
  250. package/dist/components/primitives/Avatar/Avatar.styles.js +1 -1
  251. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -1
  252. package/dist/components/primitives/Button/Button.d.ts.map +1 -1
  253. package/dist/components/primitives/Button/Button.js +2 -5
  254. package/dist/components/primitives/Button/Button.js.map +1 -1
  255. package/dist/components/primitives/Button/Button.styles.d.ts.map +1 -1
  256. package/dist/components/primitives/Button/Button.styles.js +1 -1
  257. package/dist/components/primitives/Button/Button.styles.js.map +1 -1
  258. package/dist/components/primitives/Card/Card.d.ts.map +1 -1
  259. package/dist/components/primitives/Card/Card.js +1 -1
  260. package/dist/components/primitives/Card/Card.js.map +1 -1
  261. package/dist/components/primitives/Card/Card.styles.d.ts.map +1 -1
  262. package/dist/components/primitives/Card/Card.styles.js +1 -1
  263. package/dist/components/primitives/Card/Card.styles.js.map +1 -1
  264. package/dist/components/primitives/Checkbox/Checkbox.d.ts.map +1 -1
  265. package/dist/components/primitives/Checkbox/Checkbox.js +1 -1
  266. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -1
  267. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts.map +1 -1
  268. package/dist/components/primitives/Checkbox/Checkbox.styles.js +1 -1
  269. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -1
  270. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts.map +1 -1
  271. package/dist/components/primitives/CopyableText/CopyableText.styles.js +1 -1
  272. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -1
  273. package/dist/components/primitives/DatePicker/DatePicker.d.ts.map +1 -1
  274. package/dist/components/primitives/DatePicker/DatePicker.js +1 -1
  275. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -1
  276. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts.map +1 -1
  277. package/dist/components/primitives/DatePicker/DatePicker.styles.js +1 -1
  278. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -1
  279. package/dist/components/primitives/Dialog/Dialog.d.ts.map +1 -1
  280. package/dist/components/primitives/Dialog/Dialog.js +1 -1
  281. package/dist/components/primitives/Dialog/Dialog.js.map +1 -1
  282. package/dist/components/primitives/Dialog/Dialog.styles.d.ts.map +1 -1
  283. package/dist/components/primitives/Dialog/Dialog.styles.js +1 -1
  284. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -1
  285. package/dist/components/primitives/Divider/Divider.d.ts.map +1 -1
  286. package/dist/components/primitives/Divider/Divider.js +1 -1
  287. package/dist/components/primitives/Divider/Divider.js.map +1 -1
  288. package/dist/components/primitives/Divider/Divider.styles.d.ts.map +1 -1
  289. package/dist/components/primitives/Divider/Divider.styles.js +1 -1
  290. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -1
  291. package/dist/components/primitives/FormControl/FormControl.d.ts.map +1 -1
  292. package/dist/components/primitives/FormControl/FormControl.js +1 -1
  293. package/dist/components/primitives/FormControl/FormControl.js.map +1 -1
  294. package/dist/components/primitives/FormControl/FormControl.styles.d.ts.map +1 -1
  295. package/dist/components/primitives/FormControl/FormControl.styles.js +1 -1
  296. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -1
  297. package/dist/components/primitives/InputLabel/InputLabel.d.ts.map +1 -1
  298. package/dist/components/primitives/InputLabel/InputLabel.js +1 -1
  299. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -1
  300. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts.map +1 -1
  301. package/dist/components/primitives/InputLabel/InputLabel.styles.js +1 -1
  302. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -1
  303. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts.map +1 -1
  304. package/dist/components/primitives/KeyValueInput/KeyValueInput.js +1 -1
  305. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -1
  306. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts.map +1 -1
  307. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js +1 -1
  308. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -1
  309. package/dist/components/primitives/Logo/Logo.d.ts.map +1 -1
  310. package/dist/components/primitives/Logo/Logo.js +1 -1
  311. package/dist/components/primitives/Logo/Logo.js.map +1 -1
  312. package/dist/components/primitives/Logo/Logo.styles.d.ts.map +1 -1
  313. package/dist/components/primitives/Logo/Logo.styles.js +1 -1
  314. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -1
  315. package/dist/components/primitives/MultiInput/MultiInput.d.ts.map +1 -1
  316. package/dist/components/primitives/MultiInput/MultiInput.js +1 -1
  317. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -1
  318. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts.map +1 -1
  319. package/dist/components/primitives/MultiInput/MultiInput.styles.js +1 -1
  320. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -1
  321. package/dist/components/primitives/OtpField/OtpField.d.ts.map +1 -1
  322. package/dist/components/primitives/OtpField/OtpField.js +1 -1
  323. package/dist/components/primitives/OtpField/OtpField.js.map +1 -1
  324. package/dist/components/primitives/OtpField/OtpField.styles.d.ts.map +1 -1
  325. package/dist/components/primitives/OtpField/OtpField.styles.js +1 -1
  326. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -1
  327. package/dist/components/primitives/PasswordField/PasswordField.d.ts.map +1 -1
  328. package/dist/components/primitives/PasswordField/PasswordField.js +1 -1
  329. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -1
  330. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts.map +1 -1
  331. package/dist/components/primitives/PasswordField/PasswordField.styles.js +1 -1
  332. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -1
  333. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  334. package/dist/components/primitives/Select/Select.js +1 -1
  335. package/dist/components/primitives/Select/Select.js.map +1 -1
  336. package/dist/components/primitives/Select/Select.styles.d.ts.map +1 -1
  337. package/dist/components/primitives/Select/Select.styles.js +1 -1
  338. package/dist/components/primitives/Select/Select.styles.js.map +1 -1
  339. package/dist/components/primitives/Spinner/Spinner.d.ts +5 -3
  340. package/dist/components/primitives/Spinner/Spinner.d.ts.map +1 -1
  341. package/dist/components/primitives/Spinner/Spinner.js +4 -5
  342. package/dist/components/primitives/Spinner/Spinner.js.map +1 -1
  343. package/dist/components/primitives/Spinner/Spinner.styles.d.ts +4 -1
  344. package/dist/components/primitives/Spinner/Spinner.styles.d.ts.map +1 -1
  345. package/dist/components/primitives/Spinner/Spinner.styles.js +16 -7
  346. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -1
  347. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  348. package/dist/components/primitives/TextField/TextField.js +1 -1
  349. package/dist/components/primitives/TextField/TextField.js.map +1 -1
  350. package/dist/components/primitives/TextField/TextField.styles.d.ts.map +1 -1
  351. package/dist/components/primitives/TextField/TextField.styles.js +1 -1
  352. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -1
  353. package/dist/components/primitives/Toggle/Toggle.d.ts.map +1 -1
  354. package/dist/components/primitives/Toggle/Toggle.js +1 -1
  355. package/dist/components/primitives/Toggle/Toggle.js.map +1 -1
  356. package/dist/components/primitives/Toggle/Toggle.styles.d.ts.map +1 -1
  357. package/dist/components/primitives/Toggle/Toggle.styles.js +1 -1
  358. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -1
  359. package/dist/components/primitives/Tooltip/Tooltip.d.ts.map +1 -1
  360. package/dist/components/primitives/Tooltip/Tooltip.js +1 -1
  361. package/dist/components/primitives/Tooltip/Tooltip.js.map +1 -1
  362. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts.map +1 -1
  363. package/dist/components/primitives/Tooltip/Tooltip.styles.js +1 -1
  364. package/dist/components/primitives/Tooltip/Tooltip.styles.js.map +1 -1
  365. package/dist/components/primitives/Typography/Typography.d.ts.map +1 -1
  366. package/dist/components/primitives/Typography/Typography.js +1 -1
  367. package/dist/components/primitives/Typography/Typography.js.map +1 -1
  368. package/dist/components/primitives/Typography/Typography.styles.d.ts.map +1 -1
  369. package/dist/components/primitives/Typography/Typography.styles.js +1 -1
  370. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -1
  371. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +5 -1
  372. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  373. package/dist/contexts/ThunderID/ThunderIDContext.js +1 -0
  374. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  375. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  376. package/dist/contexts/ThunderID/ThunderIDProvider.js +36 -14
  377. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  378. package/dist/contexts/User/UserContext.d.ts +2 -1
  379. package/dist/contexts/User/UserContext.d.ts.map +1 -1
  380. package/dist/contexts/User/UserContext.js +2 -1
  381. package/dist/contexts/User/UserContext.js.map +1 -1
  382. package/dist/contexts/User/UserProvider.d.ts +5 -2
  383. package/dist/contexts/User/UserProvider.d.ts.map +1 -1
  384. package/dist/contexts/User/UserProvider.js +5 -3
  385. package/dist/contexts/User/UserProvider.js.map +1 -1
  386. package/dist/index.d.ts +2 -0
  387. package/dist/index.d.ts.map +1 -1
  388. package/dist/index.js +2 -1
  389. package/dist/models/config.d.ts +10 -1
  390. package/dist/models/config.d.ts.map +1 -1
  391. package/dist/styles/emotion.d.ts +36 -0
  392. package/dist/styles/emotion.d.ts.map +1 -0
  393. package/dist/styles/emotion.js +58 -0
  394. package/dist/styles/emotion.js.map +1 -0
  395. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
+ import { css, keyframes } from "../../../styles/emotion.js";
1
2
  import { useMemo } from "react";
2
- import { css, keyframes } from "@emotion/css";
3
3
 
4
4
  //#region src/components/primitives/Spinner/Spinner.styles.ts
5
5
  /**
@@ -8,9 +8,12 @@ import { css, keyframes } from "@emotion/css";
8
8
  * @param colorScheme - The current color scheme (used for memoization)
9
9
  * @param size - The size of the spinner
10
10
  * @param color - The color of the spinner
11
+ * @param customSize - Optional explicit width/height (CSS length) that overrides the size-based
12
+ * default, e.g. when a parent component (like `Button`) needs the spinner to track a
13
+ * theme-derived dimension instead of one of the fixed `size` presets.
11
14
  * @returns Object containing CSS class names for component styling
12
15
  */
13
- const useStyles = (theme, colorScheme, size, color) => useMemo(() => {
16
+ const useStyles = (theme, colorScheme, size, color, customSize) => useMemo(() => {
14
17
  const spinnerColor = color || theme.vars.colors.primary.main;
15
18
  const spinnerSizes = {
16
19
  large: "32px",
@@ -42,12 +45,17 @@ const useStyles = (theme, colorScheme, size, color) => useMemo(() => {
42
45
  width: ${spinnerSizes["medium"]};
43
46
  height: ${spinnerSizes["medium"]};
44
47
  `;
45
- return {
46
- spinner,
47
- spinnerLarge: css`
48
+ const spinnerLarge = css`
48
49
  width: ${spinnerSizes["large"]};
49
50
  height: ${spinnerSizes["large"]};
50
- `,
51
+ `;
52
+ return {
53
+ spinner,
54
+ spinnerCustomSize: customSize ? css`
55
+ width: ${customSize};
56
+ height: ${customSize};
57
+ ` : "",
58
+ spinnerLarge,
51
59
  spinnerMedium,
52
60
  spinnerSmall
53
61
  };
@@ -55,7 +63,8 @@ const useStyles = (theme, colorScheme, size, color) => useMemo(() => {
55
63
  theme,
56
64
  colorScheme,
57
65
  size,
58
- color
66
+ color,
67
+ customSize
59
68
  ]);
60
69
  var Spinner_styles_default = useStyles;
61
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.styles.js","names":["spinnerColor: string","spinnerSizes: Record<string, string>","spinnerSize: string","spinner: string","spinnerSmall: string","spinnerMedium: string"],"sources":["../../../../src/components/primitives/Spinner/Spinner.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css, keyframes} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\nexport type SpinnerSize = 'small' | 'medium' | 'large';\n\n/**\n * Creates styles for the Spinner component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param size - The size of the spinner\n * @param color - The color of the spinner\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string, size: SpinnerSize, color?: string): Record<string, string> =>\n useMemo(() => {\n const spinnerColor: string = color || theme.vars.colors.primary.main;\n\n const spinnerSizes: Record<string, string> = {\n large: '32px',\n medium: '20px',\n small: '16px',\n };\n\n const spinnerSize: string = spinnerSizes[size];\n\n const spinAnimation: string = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n `;\n\n const spinner: string = css`\n width: ${spinnerSize};\n height: ${spinnerSize};\n border: 2px solid transparent;\n border-top: 2px solid ${spinnerColor};\n border-radius: 50%;\n animation: ${spinAnimation} 1s linear infinite;\n display: inline-block;\n `;\n\n const spinnerSmall: string = css`\n width: ${spinnerSizes['small']};\n height: ${spinnerSizes['small']};\n `;\n\n const spinnerMedium: string = css`\n width: ${spinnerSizes['medium']};\n height: ${spinnerSizes['medium']};\n `;\n\n const spinnerLarge: string = css`\n width: ${spinnerSizes['large']};\n height: ${spinnerSizes['large']};\n `;\n\n return {\n spinner,\n spinnerLarge,\n spinnerMedium,\n spinnerSmall,\n };\n }, [theme, colorScheme, size, color]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,aAAa,OAAc,aAAqB,MAAmB,UACvE,cAAc;CACZ,MAAMA,eAAuB,SAAS,MAAM,KAAK,OAAO,QAAQ;CAEhE,MAAMC,eAAuC;EAC3C,OAAO;EACP,QAAQ;EACR,OAAO;EACR;CAED,MAAMC,cAAsB,aAAa;CAWzC,MAAMC,UAAkB,GAAG;eAChB,YAAY;gBACX,YAAY;;8BAEE,aAAa;;mBAbT,SAAS;;;;;;;MAeV;;;CAI7B,MAAMC,eAAuB,GAAG;eACrB,aAAa,SAAS;gBACrB,aAAa,SAAS;;CAGlC,MAAMC,gBAAwB,GAAG;eACtB,aAAa,UAAU;gBACtB,aAAa,UAAU;;AAQnC,QAAO;EACL;EACA,cAP2B,GAAG;eACrB,aAAa,SAAS;gBACrB,aAAa,SAAS;;EAMhC;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAM;CAAM,CAAC;AAEvC,6BAAe"}
1
+ {"version":3,"file":"Spinner.styles.js","names":["spinnerColor: string","spinnerSizes: Record<string, string>","spinnerSize: string","spinner: string","spinnerSmall: string","spinnerMedium: string","spinnerLarge: string"],"sources":["../../../../src/components/primitives/Spinner/Spinner.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css, keyframes} from '../../../styles/emotion';\n\nexport type SpinnerSize = 'small' | 'medium' | 'large';\n\n/**\n * Creates styles for the Spinner component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param size - The size of the spinner\n * @param color - The color of the spinner\n * @param customSize - Optional explicit width/height (CSS length) that overrides the size-based\n * default, e.g. when a parent component (like `Button`) needs the spinner to track a\n * theme-derived dimension instead of one of the fixed `size` presets.\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n size: SpinnerSize,\n color?: string,\n customSize?: string,\n): Record<string, string> =>\n useMemo(() => {\n const spinnerColor: string = color || theme.vars.colors.primary.main;\n\n const spinnerSizes: Record<string, string> = {\n large: '32px',\n medium: '20px',\n small: '16px',\n };\n\n const spinnerSize: string = spinnerSizes[size];\n\n const spinAnimation: string = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n `;\n\n const spinner: string = css`\n width: ${spinnerSize};\n height: ${spinnerSize};\n border: 2px solid transparent;\n border-top: 2px solid ${spinnerColor};\n border-radius: 50%;\n animation: ${spinAnimation} 1s linear infinite;\n display: inline-block;\n `;\n\n const spinnerSmall: string = css`\n width: ${spinnerSizes['small']};\n height: ${spinnerSizes['small']};\n `;\n\n const spinnerMedium: string = css`\n width: ${spinnerSizes['medium']};\n height: ${spinnerSizes['medium']};\n `;\n\n const spinnerLarge: string = css`\n width: ${spinnerSizes['large']};\n height: ${spinnerSizes['large']};\n `;\n\n const spinnerCustomSize: string = customSize\n ? css`\n width: ${customSize};\n height: ${customSize};\n `\n : '';\n\n return {\n spinner,\n spinnerCustomSize,\n spinnerLarge,\n spinnerMedium,\n spinnerSmall,\n };\n }, [theme, colorScheme, size, color, customSize]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAM,aACJ,OACA,aACA,MACA,OACA,eAEA,cAAc;CACZ,MAAMA,eAAuB,SAAS,MAAM,KAAK,OAAO,QAAQ;CAEhE,MAAMC,eAAuC;EAC3C,OAAO;EACP,QAAQ;EACR,OAAO;EACR;CAED,MAAMC,cAAsB,aAAa;CAWzC,MAAMC,UAAkB,GAAG;eAChB,YAAY;gBACX,YAAY;;8BAEE,aAAa;;mBAbT,SAAS;;;;;;;MAeV;;;CAI7B,MAAMC,eAAuB,GAAG;eACrB,aAAa,SAAS;gBACrB,aAAa,SAAS;;CAGlC,MAAMC,gBAAwB,GAAG;eACtB,aAAa,UAAU;gBACtB,aAAa,UAAU;;CAGnC,MAAMC,eAAuB,GAAG;eACrB,aAAa,SAAS;gBACrB,aAAa,SAAS;;AAUlC,QAAO;EACL;EACA,mBATgC,aAC9B,GAAG;mBACQ,WAAW;oBACV,WAAW;YAEvB;EAKF;EACA;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAM;CAAO;CAAW,CAAC;AAEnD,6BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/TextField/TextField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAMzD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC9F;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA0FjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/TextField/TextField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAOzD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC9F;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA0FjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,10 +1,10 @@
1
+ import { cx } from "../../../styles/emotion.js";
1
2
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
3
  import FormControl_default from "../FormControl/FormControl.js";
3
4
  import InputLabel_default from "../InputLabel/InputLabel.js";
4
5
  import TextField_styles_default from "./TextField.styles.js";
5
6
  import { bem, withVendorCSSClassPrefix } from "@thunderid/browser";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
7
- import { cx } from "@emotion/css";
8
8
 
9
9
  //#region src/components/primitives/TextField/TextField.tsx
10
10
  const TextField = ({ label, error, required, className, disabled, helperText, startIcon, endIcon, onStartIconClick, onEndIconClick, type = "text", style = {},...rest }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","names":["TextField: FC<TextFieldProps>","useTheme","styles: Record<string, string>","useStyles","inputClassName: string","containerClassName: string","startIconClassName: string","endIconClassName: string","FormControl","InputLabel"],"sources":["../../../../src/components/primitives/TextField/TextField.tsx"],"sourcesContent":["// Copyright 2024 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes, ReactNode} from 'react';\nimport useStyles from './TextField.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport FormControl from '../FormControl/FormControl';\nimport InputLabel from '../InputLabel/InputLabel';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className'> {\n /**\n * Additional CSS class names\n */\n className?: string;\n /**\n * Whether the field is disabled\n */\n disabled?: boolean;\n /**\n * Icon to display at the end (right) of the input\n */\n endIcon?: ReactNode;\n /**\n * Error message to display below the input\n */\n error?: string;\n /**\n * Helper text to display below the input\n */\n helperText?: string;\n /**\n * Label text to display above the input\n */\n label?: string;\n /**\n * Click handler for the end icon\n */\n onEndIconClick?: () => void;\n /**\n * Click handler for the start icon\n */\n onStartIconClick?: () => void;\n /**\n * Whether the field is required\n */\n required?: boolean;\n /**\n * Icon to display at the start (left) of the input\n */\n startIcon?: ReactNode;\n}\n\nconst TextField: FC<TextFieldProps> = ({\n label,\n error,\n required,\n className,\n disabled,\n helperText,\n startIcon,\n endIcon,\n onStartIconClick,\n onEndIconClick,\n type = 'text',\n style = {},\n ...rest\n}: TextFieldProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const hasError = !!error;\n const hasStartIcon = !!startIcon;\n const hasEndIcon = !!endIcon;\n const styles: Record<string, string> = useStyles(\n theme,\n colorScheme,\n disabled ?? false,\n hasError,\n hasStartIcon,\n hasEndIcon,\n );\n\n const inputClassName: string = cx(\n withVendorCSSClassPrefix(bem('text-field', 'input')),\n styles['input'],\n hasError && styles['inputError'],\n disabled && styles['inputDisabled'],\n );\n\n const containerClassName: string = cx(\n withVendorCSSClassPrefix(bem('text-field', 'container')),\n styles['inputContainer'],\n );\n\n const startIconClassName: string = cx(withVendorCSSClassPrefix(bem('text-field', 'start-icon')), styles['startIcon']);\n\n const endIconClassName: string = cx(withVendorCSSClassPrefix(bem('text-field', 'end-icon')), styles['endIcon']);\n\n return (\n <FormControl\n error={error}\n helperText={helperText}\n className={cx(withVendorCSSClassPrefix(bem('text-field')), className)}\n style={style}\n >\n {label && (\n <InputLabel required={required} error={hasError}>\n {label}\n </InputLabel>\n )}\n <div className={containerClassName}>\n {startIcon && (\n <div\n className={startIconClassName}\n onClick={onStartIconClick}\n role={onStartIconClick ? 'button' : undefined}\n tabIndex={onStartIconClick && !disabled ? 0 : undefined}\n aria-label=\"Start icon\"\n >\n {startIcon}\n </div>\n )}\n <input\n className={inputClassName}\n type={type}\n disabled={disabled}\n aria-invalid={hasError}\n aria-required={required}\n {...rest}\n />\n {endIcon && (\n <div\n className={endIconClassName}\n onClick={onEndIconClick}\n role={onEndIconClick ? 'button' : undefined}\n tabIndex={onEndIconClick && !disabled ? 0 : undefined}\n aria-label=\"End icon\"\n >\n {endIcon}\n </div>\n )}\n </div>\n </FormControl>\n );\n};\n\nexport default TextField;\n"],"mappings":";;;;;;;;;AAsDA,MAAMA,aAAiC,EACrC,OACA,OACA,UACA,WACA,UACA,YACA,WACA,SACA,kBACA,gBACA,OAAO,QACP,QAAQ,EAAE,CACV,GAAG,WACiB;CACpB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAM,WAAW,CAAC,CAAC;CAGnB,MAAMC,SAAiCC,yBACrC,OACA,aACA,YAAY,OACZ,UANmB,CAAC,CAAC,WACJ,CAAC,CAAC,QAQpB;CAED,MAAMC,iBAAyB,GAC7B,yBAAyB,IAAI,cAAc,QAAQ,CAAC,EACpD,OAAO,UACP,YAAY,OAAO,eACnB,YAAY,OAAO,iBACpB;CAED,MAAMC,qBAA6B,GACjC,yBAAyB,IAAI,cAAc,YAAY,CAAC,EACxD,OAAO,kBACR;CAED,MAAMC,qBAA6B,GAAG,yBAAyB,IAAI,cAAc,aAAa,CAAC,EAAE,OAAO,aAAa;CAErH,MAAMC,mBAA2B,GAAG,yBAAyB,IAAI,cAAc,WAAW,CAAC,EAAE,OAAO,WAAW;AAE/G,QACE,qBAACC;EACQ;EACK;EACZ,WAAW,GAAG,yBAAyB,IAAI,aAAa,CAAC,EAAE,UAAU;EAC9D;aAEN,SACC,oBAACC;GAAqB;GAAU,OAAO;aACpC;IACU,EAEf,qBAAC;GAAI,WAAW;;IACb,aACC,oBAAC;KACC,WAAW;KACX,SAAS;KACT,MAAM,mBAAmB,WAAW;KACpC,UAAU,oBAAoB,CAAC,WAAW,IAAI;KAC9C,cAAW;eAEV;MACG;IAER,oBAAC;KACC,WAAW;KACL;KACI;KACV,gBAAc;KACd,iBAAe;KACf,GAAI;MACJ;IACD,WACC,oBAAC;KACC,WAAW;KACX,SAAS;KACT,MAAM,iBAAiB,WAAW;KAClC,UAAU,kBAAkB,CAAC,WAAW,IAAI;KAC5C,cAAW;eAEV;MACG;;IAEJ;GACM;;AAIlB,wBAAe"}
1
+ {"version":3,"file":"TextField.js","names":["TextField: FC<TextFieldProps>","useTheme","styles: Record<string, string>","useStyles","inputClassName: string","containerClassName: string","startIconClassName: string","endIconClassName: string","FormControl","InputLabel"],"sources":["../../../../src/components/primitives/TextField/TextField.tsx"],"sourcesContent":["// Copyright 2024 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes, ReactNode} from 'react';\nimport useStyles from './TextField.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\nimport FormControl from '../FormControl/FormControl';\nimport InputLabel from '../InputLabel/InputLabel';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className'> {\n /**\n * Additional CSS class names\n */\n className?: string;\n /**\n * Whether the field is disabled\n */\n disabled?: boolean;\n /**\n * Icon to display at the end (right) of the input\n */\n endIcon?: ReactNode;\n /**\n * Error message to display below the input\n */\n error?: string;\n /**\n * Helper text to display below the input\n */\n helperText?: string;\n /**\n * Label text to display above the input\n */\n label?: string;\n /**\n * Click handler for the end icon\n */\n onEndIconClick?: () => void;\n /**\n * Click handler for the start icon\n */\n onStartIconClick?: () => void;\n /**\n * Whether the field is required\n */\n required?: boolean;\n /**\n * Icon to display at the start (left) of the input\n */\n startIcon?: ReactNode;\n}\n\nconst TextField: FC<TextFieldProps> = ({\n label,\n error,\n required,\n className,\n disabled,\n helperText,\n startIcon,\n endIcon,\n onStartIconClick,\n onEndIconClick,\n type = 'text',\n style = {},\n ...rest\n}: TextFieldProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const hasError = !!error;\n const hasStartIcon = !!startIcon;\n const hasEndIcon = !!endIcon;\n const styles: Record<string, string> = useStyles(\n theme,\n colorScheme,\n disabled ?? false,\n hasError,\n hasStartIcon,\n hasEndIcon,\n );\n\n const inputClassName: string = cx(\n withVendorCSSClassPrefix(bem('text-field', 'input')),\n styles['input'],\n hasError && styles['inputError'],\n disabled && styles['inputDisabled'],\n );\n\n const containerClassName: string = cx(\n withVendorCSSClassPrefix(bem('text-field', 'container')),\n styles['inputContainer'],\n );\n\n const startIconClassName: string = cx(withVendorCSSClassPrefix(bem('text-field', 'start-icon')), styles['startIcon']);\n\n const endIconClassName: string = cx(withVendorCSSClassPrefix(bem('text-field', 'end-icon')), styles['endIcon']);\n\n return (\n <FormControl\n error={error}\n helperText={helperText}\n className={cx(withVendorCSSClassPrefix(bem('text-field')), className)}\n style={style}\n >\n {label && (\n <InputLabel required={required} error={hasError}>\n {label}\n </InputLabel>\n )}\n <div className={containerClassName}>\n {startIcon && (\n <div\n className={startIconClassName}\n onClick={onStartIconClick}\n role={onStartIconClick ? 'button' : undefined}\n tabIndex={onStartIconClick && !disabled ? 0 : undefined}\n aria-label=\"Start icon\"\n >\n {startIcon}\n </div>\n )}\n <input\n className={inputClassName}\n type={type}\n disabled={disabled}\n aria-invalid={hasError}\n aria-required={required}\n {...rest}\n />\n {endIcon && (\n <div\n className={endIconClassName}\n onClick={onEndIconClick}\n role={onEndIconClick ? 'button' : undefined}\n tabIndex={onEndIconClick && !disabled ? 0 : undefined}\n aria-label=\"End icon\"\n >\n {endIcon}\n </div>\n )}\n </div>\n </FormControl>\n );\n};\n\nexport default TextField;\n"],"mappings":";;;;;;;;;AAsDA,MAAMA,aAAiC,EACrC,OACA,OACA,UACA,WACA,UACA,YACA,WACA,SACA,kBACA,gBACA,OAAO,QACP,QAAQ,EAAE,CACV,GAAG,WACiB;CACpB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAM,WAAW,CAAC,CAAC;CAGnB,MAAMC,SAAiCC,yBACrC,OACA,aACA,YAAY,OACZ,UANmB,CAAC,CAAC,WACJ,CAAC,CAAC,QAQpB;CAED,MAAMC,iBAAyB,GAC7B,yBAAyB,IAAI,cAAc,QAAQ,CAAC,EACpD,OAAO,UACP,YAAY,OAAO,eACnB,YAAY,OAAO,iBACpB;CAED,MAAMC,qBAA6B,GACjC,yBAAyB,IAAI,cAAc,YAAY,CAAC,EACxD,OAAO,kBACR;CAED,MAAMC,qBAA6B,GAAG,yBAAyB,IAAI,cAAc,aAAa,CAAC,EAAE,OAAO,aAAa;CAErH,MAAMC,mBAA2B,GAAG,yBAAyB,IAAI,cAAc,WAAW,CAAC,EAAE,OAAO,WAAW;AAE/G,QACE,qBAACC;EACQ;EACK;EACZ,WAAW,GAAG,yBAAyB,IAAI,aAAa,CAAC,EAAE,UAAU;EAC9D;aAEN,SACC,oBAACC;GAAqB;GAAU,OAAO;aACpC;IACU,EAEf,qBAAC;GAAI,WAAW;;IACb,aACC,oBAAC;KACC,WAAW;KACX,SAAS;KACT,MAAM,mBAAmB,WAAW;KACpC,UAAU,oBAAoB,CAAC,WAAW,IAAI;KAC9C,cAAW;eAEV;MACG;IAER,oBAAC;KACC,WAAW;KACL;KACI;KACV,gBAAc;KACd,iBAAe;KACf,GAAI;MACJ;IACD,WACC,oBAAC;KACC,WAAW;KACX,SAAS;KACT,MAAM,iBAAiB,WAAW;KAClC,UAAU,kBAAkB,CAAC,WAAW,IAAI;KAC5C,cAAW;eAEV;MACG;;IAEJ;GACM;;AAIlB,wBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/TextField/TextField.styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC;;;;;;;;;GASG;AACH,QAAA,MAAM,SAAS,GACb,OAAO,KAAK,EACZ,aAAa,MAAM,EACnB,UAAU,OAAO,EACjB,UAAU,OAAO,EACjB,cAAc,OAAO,EACrB,YAAY,OAAO,KAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAoHgD,CAAC;AAEzE,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TextField.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/TextField/TextField.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAIzC;;;;;;;;;GASG;AACH,QAAA,MAAM,SAAS,GACb,OAAO,KAAK,EACZ,aAAa,MAAM,EACnB,UAAU,OAAO,EACjB,UAAU,OAAO,EACjB,cAAc,OAAO,EACrB,YAAY,OAAO,KAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAoHgD,CAAC;AAEzE,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { css } from "../../../styles/emotion.js";
1
2
  import { useMemo } from "react";
2
- import { css } from "@emotion/css";
3
3
 
4
4
  //#region src/components/primitives/TextField/TextField.styles.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.styles.js","names":["inlineStartPadding: string","inlineEndPadding: string","inputContainer: string","input: string","inputError: string","inputDisabled: string","icon: string","startIcon: string"],"sources":["../../../../src/components/primitives/TextField/TextField.styles.ts"],"sourcesContent":["// Copyright 2024 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\n/**\n * Creates styles for the TextField component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param disabled - Whether the component is disabled\n * @param hasError - Whether the component has an error\n * @param hasStartIcon - Whether the component has a start icon\n * @param hasEndIcon - Whether the component has an end icon\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n disabled: boolean,\n hasError: boolean,\n hasStartIcon: boolean,\n hasEndIcon: boolean,\n): Record<string, string> =>\n useMemo(() => {\n const inlineStartPadding: string = hasStartIcon\n ? `calc(${theme.vars.spacing.unit} * 5)`\n : `calc(${theme.vars.spacing.unit} * 1.5)`;\n const inlineEndPadding: string = hasEndIcon\n ? `calc(${theme.vars.spacing.unit} * 5)`\n : `calc(${theme.vars.spacing.unit} * 1.5)`;\n\n const inputContainer: string = css`\n position: relative;\n display: flex;\n align-items: center;\n `;\n\n const input: string = css`\n width: 100%;\n padding-block: ${theme.vars.spacing.unit};\n padding-inline-start: ${inlineStartPadding};\n padding-inline-end: ${inlineEndPadding};\n border: 1px solid ${hasError ? theme.vars.colors.error.main : theme.vars.colors.border};\n border-radius: ${theme.vars.components?.Field?.root?.borderRadius || theme.vars.borderRadius.medium};\n font-size: ${theme.vars.typography.fontSizes.md};\n font-family: ${theme.vars.typography.fontFamily};\n color: ${theme.vars.colors.text.primary};\n background-color: ${disabled ? theme.vars.colors.background.disabled : theme.vars.colors.background.surface};\n outline: none;\n transition:\n border-color 0.2s ease,\n box-shadow 0.2s ease;\n\n &:focus {\n border-color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.primary.main};\n box-shadow: 0 0 0 2px ${hasError ? `${theme.vars.colors.error.main}20` : `${theme.vars.colors.primary.main}20`};\n }\n\n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n border-color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.primary.main};\n }\n\n &::placeholder {\n color: ${theme.vars.colors.text.secondary};\n opacity: 0.7;\n }\n `;\n\n const inputError: string = css`\n border-color: ${theme.vars.colors.error.main};\n\n &:focus {\n border-color: ${theme.vars.colors.error.main};\n box-shadow: 0 0 0 2px ${theme.vars.colors.error.main}20;\n }\n\n &:hover:not(:disabled) {\n border-color: ${theme.vars.colors.error.main};\n }\n `;\n\n const inputDisabled: string = css`\n background-color: ${theme.vars.colors.background.disabled};\n opacity: 0.6;\n cursor: not-allowed;\n `;\n\n const icon: string = css`\n position: absolute;\n background: none;\n border: none;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n padding: calc(${theme.vars.spacing.unit} / 2);\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${theme.vars.colors.text.secondary};\n opacity: ${disabled ? 0.5 : 1};\n top: 50%;\n transform: translateY(-50%);\n transition:\n color 0.2s ease,\n opacity 0.2s ease;\n\n &:hover:not(:disabled) {\n color: ${theme.vars.colors.text.primary};\n }\n\n &:focus {\n outline: 2px solid ${theme.vars.colors.primary.main};\n outline-offset: 2px;\n }\n `;\n\n const startIcon: string = css`\n ${icon};\n inset-inline-start: ${theme.vars.spacing.unit};\n `;\n\n const endIcon: string = css`\n ${icon};\n inset-inline-end: ${theme.vars.spacing.unit};\n `;\n\n return {\n endIcon,\n icon,\n input,\n inputContainer,\n inputDisabled,\n inputError,\n startIcon,\n };\n }, [theme, colorScheme, disabled, hasError, hasStartIcon, hasEndIcon]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,aACJ,OACA,aACA,UACA,UACA,cACA,eAEA,cAAc;CACZ,MAAMA,qBAA6B,eAC/B,QAAQ,MAAM,KAAK,QAAQ,KAAK,SAChC,QAAQ,MAAM,KAAK,QAAQ,KAAK;CACpC,MAAMC,mBAA2B,aAC7B,QAAQ,MAAM,KAAK,QAAQ,KAAK,SAChC,QAAQ,MAAM,KAAK,QAAQ,KAAK;CAEpC,MAAMC,iBAAyB,GAAG;;;;;CAMlC,MAAMC,QAAgB,GAAG;;uBAEN,MAAM,KAAK,QAAQ,KAAK;8BACjB,mBAAmB;4BACrB,iBAAiB;0BACnB,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,OAAO;uBACtE,MAAM,KAAK,YAAY,OAAO,MAAM,gBAAgB,MAAM,KAAK,aAAa,OAAO;mBACvF,MAAM,KAAK,WAAW,UAAU,GAAG;qBACjC,MAAM,KAAK,WAAW,WAAW;eACvC,MAAM,KAAK,OAAO,KAAK,QAAQ;0BACpB,WAAW,MAAM,KAAK,OAAO,WAAW,WAAW,MAAM,KAAK,OAAO,WAAW,QAAQ;;;;;;;wBAO1F,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAK;gCACjE,WAAW,GAAG,MAAM,KAAK,OAAO,MAAM,KAAK,MAAM,GAAG,MAAM,KAAK,OAAO,QAAQ,KAAK,IAAI;;;;;;;;;wBAS/F,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;iBAIhF,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK9C,MAAMC,aAAqB,GAAG;sBACZ,MAAM,KAAK,OAAO,MAAM,KAAK;;;wBAG3B,MAAM,KAAK,OAAO,MAAM,KAAK;gCACrB,MAAM,KAAK,OAAO,MAAM,KAAK;;;;wBAIrC,MAAM,KAAK,OAAO,MAAM,KAAK;;;CAIjD,MAAMC,gBAAwB,GAAG;0BACX,MAAM,KAAK,OAAO,WAAW,SAAS;;;;CAK5D,MAAMC,OAAe,GAAG;;;;gBAIZ,WAAW,gBAAgB,UAAU;sBAC/B,MAAM,KAAK,QAAQ,KAAK;;;;eAI/B,MAAM,KAAK,OAAO,KAAK,UAAU;iBAC/B,WAAW,KAAM,EAAE;;;;;;;;iBAQnB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;6BAInB,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;CAKxD,MAAMC,YAAoB,GAAG;QACzB,KAAK;4BACe,MAAM,KAAK,QAAQ,KAAK;;AAQhD,QAAO;EACL,SANsB,GAAG;QACvB,KAAK;0BACa,MAAM,KAAK,QAAQ,KAAK;;EAK5C;EACA;EACA;EACA;EACA;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAU;CAAU;CAAc;CAAW,CAAC;AAExE,+BAAe"}
1
+ {"version":3,"file":"TextField.styles.js","names":["inlineStartPadding: string","inlineEndPadding: string","inputContainer: string","input: string","inputError: string","inputDisabled: string","icon: string","startIcon: string"],"sources":["../../../../src/components/primitives/TextField/TextField.styles.ts"],"sourcesContent":["// Copyright 2024 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css} from '../../../styles/emotion';\n\n/**\n * Creates styles for the TextField component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param disabled - Whether the component is disabled\n * @param hasError - Whether the component has an error\n * @param hasStartIcon - Whether the component has a start icon\n * @param hasEndIcon - Whether the component has an end icon\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n disabled: boolean,\n hasError: boolean,\n hasStartIcon: boolean,\n hasEndIcon: boolean,\n): Record<string, string> =>\n useMemo(() => {\n const inlineStartPadding: string = hasStartIcon\n ? `calc(${theme.vars.spacing.unit} * 5)`\n : `calc(${theme.vars.spacing.unit} * 1.5)`;\n const inlineEndPadding: string = hasEndIcon\n ? `calc(${theme.vars.spacing.unit} * 5)`\n : `calc(${theme.vars.spacing.unit} * 1.5)`;\n\n const inputContainer: string = css`\n position: relative;\n display: flex;\n align-items: center;\n `;\n\n const input: string = css`\n width: 100%;\n padding-block: ${theme.vars.spacing.unit};\n padding-inline-start: ${inlineStartPadding};\n padding-inline-end: ${inlineEndPadding};\n border: 1px solid ${hasError ? theme.vars.colors.error.main : theme.vars.colors.border};\n border-radius: ${theme.vars.components?.Field?.root?.borderRadius || theme.vars.borderRadius.medium};\n font-size: ${theme.vars.typography.fontSizes.md};\n font-family: ${theme.vars.typography.fontFamily};\n color: ${theme.vars.colors.text.primary};\n background-color: ${disabled ? theme.vars.colors.background.disabled : theme.vars.colors.background.surface};\n outline: none;\n transition:\n border-color 0.2s ease,\n box-shadow 0.2s ease;\n\n &:focus {\n border-color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.primary.main};\n box-shadow: 0 0 0 2px ${hasError ? `${theme.vars.colors.error.main}20` : `${theme.vars.colors.primary.main}20`};\n }\n\n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n border-color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.primary.main};\n }\n\n &::placeholder {\n color: ${theme.vars.colors.text.secondary};\n opacity: 0.7;\n }\n `;\n\n const inputError: string = css`\n border-color: ${theme.vars.colors.error.main};\n\n &:focus {\n border-color: ${theme.vars.colors.error.main};\n box-shadow: 0 0 0 2px ${theme.vars.colors.error.main}20;\n }\n\n &:hover:not(:disabled) {\n border-color: ${theme.vars.colors.error.main};\n }\n `;\n\n const inputDisabled: string = css`\n background-color: ${theme.vars.colors.background.disabled};\n opacity: 0.6;\n cursor: not-allowed;\n `;\n\n const icon: string = css`\n position: absolute;\n background: none;\n border: none;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n padding: calc(${theme.vars.spacing.unit} / 2);\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${theme.vars.colors.text.secondary};\n opacity: ${disabled ? 0.5 : 1};\n top: 50%;\n transform: translateY(-50%);\n transition:\n color 0.2s ease,\n opacity 0.2s ease;\n\n &:hover:not(:disabled) {\n color: ${theme.vars.colors.text.primary};\n }\n\n &:focus {\n outline: 2px solid ${theme.vars.colors.primary.main};\n outline-offset: 2px;\n }\n `;\n\n const startIcon: string = css`\n ${icon};\n inset-inline-start: ${theme.vars.spacing.unit};\n `;\n\n const endIcon: string = css`\n ${icon};\n inset-inline-end: ${theme.vars.spacing.unit};\n `;\n\n return {\n endIcon,\n icon,\n input,\n inputContainer,\n inputDisabled,\n inputError,\n startIcon,\n };\n }, [theme, colorScheme, disabled, hasError, hasStartIcon, hasEndIcon]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,aACJ,OACA,aACA,UACA,UACA,cACA,eAEA,cAAc;CACZ,MAAMA,qBAA6B,eAC/B,QAAQ,MAAM,KAAK,QAAQ,KAAK,SAChC,QAAQ,MAAM,KAAK,QAAQ,KAAK;CACpC,MAAMC,mBAA2B,aAC7B,QAAQ,MAAM,KAAK,QAAQ,KAAK,SAChC,QAAQ,MAAM,KAAK,QAAQ,KAAK;CAEpC,MAAMC,iBAAyB,GAAG;;;;;CAMlC,MAAMC,QAAgB,GAAG;;uBAEN,MAAM,KAAK,QAAQ,KAAK;8BACjB,mBAAmB;4BACrB,iBAAiB;0BACnB,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,OAAO;uBACtE,MAAM,KAAK,YAAY,OAAO,MAAM,gBAAgB,MAAM,KAAK,aAAa,OAAO;mBACvF,MAAM,KAAK,WAAW,UAAU,GAAG;qBACjC,MAAM,KAAK,WAAW,WAAW;eACvC,MAAM,KAAK,OAAO,KAAK,QAAQ;0BACpB,WAAW,MAAM,KAAK,OAAO,WAAW,WAAW,MAAM,KAAK,OAAO,WAAW,QAAQ;;;;;;;wBAO1F,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAK;gCACjE,WAAW,GAAG,MAAM,KAAK,OAAO,MAAM,KAAK,MAAM,GAAG,MAAM,KAAK,OAAO,QAAQ,KAAK,IAAI;;;;;;;;;wBAS/F,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;iBAIhF,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK9C,MAAMC,aAAqB,GAAG;sBACZ,MAAM,KAAK,OAAO,MAAM,KAAK;;;wBAG3B,MAAM,KAAK,OAAO,MAAM,KAAK;gCACrB,MAAM,KAAK,OAAO,MAAM,KAAK;;;;wBAIrC,MAAM,KAAK,OAAO,MAAM,KAAK;;;CAIjD,MAAMC,gBAAwB,GAAG;0BACX,MAAM,KAAK,OAAO,WAAW,SAAS;;;;CAK5D,MAAMC,OAAe,GAAG;;;;gBAIZ,WAAW,gBAAgB,UAAU;sBAC/B,MAAM,KAAK,QAAQ,KAAK;;;;eAI/B,MAAM,KAAK,OAAO,KAAK,UAAU;iBAC/B,WAAW,KAAM,EAAE;;;;;;;;iBAQnB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;6BAInB,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;CAKxD,MAAMC,YAAoB,GAAG;QACzB,KAAK;4BACe,MAAM,KAAK,QAAQ,KAAK;;AAQhD,QAAO;EACL,SANsB,GAAG;QACvB,KAAK;0BACa,MAAM,KAAK,QAAQ,KAAK;;EAK5C;EACA;EACA;EACA;EACA;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAU;CAAU;CAAc;CAAW,CAAC;AAExE,+BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Toggle/Toggle.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAM9C;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAuC3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Toggle/Toggle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAO9C;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAuC3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,10 +1,10 @@
1
+ import { cx } from "../../../styles/emotion.js";
1
2
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
3
  import Toggle_styles_default from "./Toggle.styles.js";
3
4
  import FormControl_default from "../FormControl/FormControl.js";
4
5
  import InputLabel_default from "../InputLabel/InputLabel.js";
5
6
  import { bem, withVendorCSSClassPrefix } from "@thunderid/browser";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
7
- import { cx } from "@emotion/css";
8
8
 
9
9
  //#region src/components/primitives/Toggle/Toggle.tsx
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["Toggle: FC<ToggleProps>","useTheme","styles: Record<string, string>","useStyles","FormControl","InputLabel"],"sources":["../../../../src/components/primitives/Toggle/Toggle.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes} from 'react';\nimport useStyles from './Toggle.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport FormControl from '../FormControl/FormControl';\nimport InputLabel from '../InputLabel/InputLabel';\n\n/**\n * Props for the Toggle component.\n */\nexport interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'> {\n className?: string;\n error?: string;\n helperText?: string;\n label?: string;\n required?: boolean;\n}\n\n/**\n * A Toggle component that represents a boolean input. It is built on top of a hidden checkbox input\n * and styled to look like a switch.\n *\n * The component is wrapped in a FormControl to display error messages and helper text.\n * The label is associated with the input for accessibility.\n *\n * @param props - Props for the Toggle component\n * @returns A JSX element representing the Toggle\n */\nconst Toggle: FC<ToggleProps> = ({label, error, className, required, helperText, style = {}, ...rest}: ToggleProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const hasError = !!error;\n const styles: Record<string, string> = useStyles(theme, colorScheme, hasError, !!required);\n\n return (\n <FormControl\n error={error}\n helperText={helperText}\n className={cx(withVendorCSSClassPrefix(bem('toggle')), className)}\n helperTextMarginLeft={`calc(${theme.vars.spacing.unit} * 5.5)`}\n >\n <label style={style} className={cx(withVendorCSSClassPrefix(bem('toggle', 'container')), styles['container'])}>\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={cx(withVendorCSSClassPrefix(bem('toggle', 'input')), styles['input'])}\n aria-invalid={hasError}\n aria-required={required}\n {...rest}\n />\n <div className={cx(withVendorCSSClassPrefix(bem('toggle', 'track')), styles['track'])}>\n <span className={cx(withVendorCSSClassPrefix(bem('toggle', 'thumb')), styles['thumb'])} />\n </div>\n {label && (\n <InputLabel\n required={required}\n error={hasError}\n variant=\"inline\"\n className={cx(withVendorCSSClassPrefix(bem('toggle', 'label')), styles['label'], styles['errorLabel'], {\n [withVendorCSSClassPrefix(bem('toggle', 'label', 'error'))]: hasError,\n })}\n >\n {label}\n </InputLabel>\n )}\n </label>\n </FormControl>\n );\n};\n\nexport default Toggle;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAgCA,MAAMA,UAA2B,EAAC,OAAO,OAAO,WAAW,UAAU,YAAY,QAAQ,EAAE,CAAE,GAAG,WAAuB;CACrH,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAM,WAAW,CAAC,CAAC;CACnB,MAAMC,SAAiCC,sBAAU,OAAO,aAAa,UAAU,CAAC,CAAC,SAAS;AAE1F,QACE,oBAACC;EACQ;EACK;EACZ,WAAW,GAAG,yBAAyB,IAAI,SAAS,CAAC,EAAE,UAAU;EACjE,sBAAsB,QAAQ,MAAM,KAAK,QAAQ,KAAK;YAEtD,qBAAC;GAAa;GAAO,WAAW,GAAG,yBAAyB,IAAI,UAAU,YAAY,CAAC,EAAE,OAAO,aAAa;;IAC3G,oBAAC;KACC,MAAK;KACL,MAAK;KACL,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS;KAChF,gBAAc;KACd,iBAAe;KACf,GAAI;MACJ;IACF,oBAAC;KAAI,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS;eACnF,oBAAC,UAAK,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS,GAAI;MACtF;IACL,SACC,oBAACC;KACW;KACV,OAAO;KACP,SAAQ;KACR,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,UAAU,OAAO,eAAe,GACpG,yBAAyB,IAAI,UAAU,SAAS,QAAQ,CAAC,GAAG,UAC9D,CAAC;eAED;MACU;;IAET;GACI;;AAIlB,qBAAe"}
1
+ {"version":3,"file":"Toggle.js","names":["Toggle: FC<ToggleProps>","useTheme","styles: Record<string, string>","useStyles","FormControl","InputLabel"],"sources":["../../../../src/components/primitives/Toggle/Toggle.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes} from 'react';\nimport useStyles from './Toggle.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\nimport FormControl from '../FormControl/FormControl';\nimport InputLabel from '../InputLabel/InputLabel';\n\n/**\n * Props for the Toggle component.\n */\nexport interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'> {\n className?: string;\n error?: string;\n helperText?: string;\n label?: string;\n required?: boolean;\n}\n\n/**\n * A Toggle component that represents a boolean input. It is built on top of a hidden checkbox input\n * and styled to look like a switch.\n *\n * The component is wrapped in a FormControl to display error messages and helper text.\n * The label is associated with the input for accessibility.\n *\n * @param props - Props for the Toggle component\n * @returns A JSX element representing the Toggle\n */\nconst Toggle: FC<ToggleProps> = ({label, error, className, required, helperText, style = {}, ...rest}: ToggleProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const hasError = !!error;\n const styles: Record<string, string> = useStyles(theme, colorScheme, hasError, !!required);\n\n return (\n <FormControl\n error={error}\n helperText={helperText}\n className={cx(withVendorCSSClassPrefix(bem('toggle')), className)}\n helperTextMarginLeft={`calc(${theme.vars.spacing.unit} * 5.5)`}\n >\n <label style={style} className={cx(withVendorCSSClassPrefix(bem('toggle', 'container')), styles['container'])}>\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={cx(withVendorCSSClassPrefix(bem('toggle', 'input')), styles['input'])}\n aria-invalid={hasError}\n aria-required={required}\n {...rest}\n />\n <div className={cx(withVendorCSSClassPrefix(bem('toggle', 'track')), styles['track'])}>\n <span className={cx(withVendorCSSClassPrefix(bem('toggle', 'thumb')), styles['thumb'])} />\n </div>\n {label && (\n <InputLabel\n required={required}\n error={hasError}\n variant=\"inline\"\n className={cx(withVendorCSSClassPrefix(bem('toggle', 'label')), styles['label'], styles['errorLabel'], {\n [withVendorCSSClassPrefix(bem('toggle', 'label', 'error'))]: hasError,\n })}\n >\n {label}\n </InputLabel>\n )}\n </label>\n </FormControl>\n );\n};\n\nexport default Toggle;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAgCA,MAAMA,UAA2B,EAAC,OAAO,OAAO,WAAW,UAAU,YAAY,QAAQ,EAAE,CAAE,GAAG,WAAuB;CACrH,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAM,WAAW,CAAC,CAAC;CACnB,MAAMC,SAAiCC,sBAAU,OAAO,aAAa,UAAU,CAAC,CAAC,SAAS;AAE1F,QACE,oBAACC;EACQ;EACK;EACZ,WAAW,GAAG,yBAAyB,IAAI,SAAS,CAAC,EAAE,UAAU;EACjE,sBAAsB,QAAQ,MAAM,KAAK,QAAQ,KAAK;YAEtD,qBAAC;GAAa;GAAO,WAAW,GAAG,yBAAyB,IAAI,UAAU,YAAY,CAAC,EAAE,OAAO,aAAa;;IAC3G,oBAAC;KACC,MAAK;KACL,MAAK;KACL,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS;KAChF,gBAAc;KACd,iBAAe;KACf,GAAI;MACJ;IACF,oBAAC;KAAI,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS;eACnF,oBAAC,UAAK,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,SAAS,GAAI;MACtF;IACL,SACC,oBAACC;KACW;KACV,OAAO;KACP,SAAQ;KACR,WAAW,GAAG,yBAAyB,IAAI,UAAU,QAAQ,CAAC,EAAE,OAAO,UAAU,OAAO,eAAe,GACpG,yBAAyB,IAAI,UAAU,SAAS,QAAQ,CAAC,GAAG,UAC9D,CAAC;eAED;MACU;;IAET;GACI;;AAIlB,qBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Toggle/Toggle.styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,EAAE,UAAU,OAAO,EAAE,UAAU,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA0FpE,CAAC;AAE/C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Toggle.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Toggle/Toggle.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAIzC,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,EAAE,UAAU,OAAO,EAAE,UAAU,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA0FpE,CAAC;AAE/C,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { css } from "../../../styles/emotion.js";
1
2
  import { useMemo } from "react";
2
- import { css } from "@emotion/css";
3
3
 
4
4
  //#region src/components/primitives/Toggle/Toggle.styles.ts
5
5
  const useStyles = (theme, colorScheme, hasError, required) => useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.styles.js","names":["containerStyles: string","inputStyles: string","trackStyles: string","thumbStyles: string","labelStyles: string","errorLabelStyles: string"],"sources":["../../../../src/components/primitives/Toggle/Toggle.styles.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\nconst useStyles = (theme: Theme, colorScheme: string, hasError: boolean, required: boolean): Record<string, string> =>\n useMemo(() => {\n const containerStyles: string = css`\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n `;\n\n const inputStyles: string = css`\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n\n &:focus-visible + div {\n outline: 2px solid ${theme.vars.colors.primary.main};\n outline-offset: 2px;\n }\n\n &:disabled + div {\n cursor: not-allowed;\n opacity: 0.6;\n }\n `;\n\n const trackStyles: string = css`\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 36px;\n height: 20px;\n background-color: ${theme.vars.colors.text.secondary};\n opacity: 0.2;\n border-radius: 9999px;\n transition: all 0.2s ease-in-out;\n\n input:checked + & {\n background-color: ${theme.vars.colors.primary.main};\n opacity: 1;\n }\n\n input:disabled + & {\n opacity: 0.4;\n }\n `;\n\n const thumbStyles: string = css`\n position: absolute;\n left: 2px;\n width: 16px;\n height: 16px;\n background-color: #fff;\n border-radius: 50%;\n transition: transform 0.2s ease-in-out;\n\n input:checked + * > & {\n transform: translateX(16px);\n }\n `;\n\n const labelStyles: string = css`\n margin-left: calc(${theme.vars.spacing.unit} * 1.5);\n color: ${theme.vars.colors.text.primary};\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-family: ${theme.vars.typography.fontFamily};\n cursor: pointer;\n\n input:disabled ~ & {\n cursor: not-allowed;\n opacity: 0.6;\n }\n `;\n\n const errorLabelStyles: string = css`\n color: ${theme.vars.colors.error.main};\n `;\n\n return {\n container: containerStyles,\n errorLabel: hasError ? errorLabelStyles : '',\n input: inputStyles,\n label: labelStyles,\n thumb: thumbStyles,\n track: trackStyles,\n };\n }, [theme, colorScheme, hasError, required]);\n\nexport default useStyles;\n"],"mappings":";;;;AAOA,MAAM,aAAa,OAAc,aAAqB,UAAmB,aACvE,cAAc;CACZ,MAAMA,kBAA0B,GAAG;;;;;CAMnC,MAAMC,cAAsB,GAAG;;;;;;;;;;;;6BAYN,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;;;;;;CAUxD,MAAMC,cAAsB,GAAG;;;;;;0BAMT,MAAM,KAAK,OAAO,KAAK,UAAU;;;;;;4BAM/B,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;;;;;CASvD,MAAMC,cAAsB,GAAG;;;;;;;;;;;;;CAc/B,MAAMC,cAAsB,GAAG;0BACT,MAAM,KAAK,QAAQ,KAAK;eACnC,MAAM,KAAK,OAAO,KAAK,QAAQ;mBAC3B,MAAM,KAAK,WAAW,UAAU,GAAG;qBACjC,MAAM,KAAK,WAAW,WAAW;;;;;;;;CASlD,MAAMC,mBAA2B,GAAG;eACzB,MAAM,KAAK,OAAO,MAAM,KAAK;;AAGxC,QAAO;EACL,WAAW;EACX,YAAY,WAAW,mBAAmB;EAC1C,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACR;GACA;CAAC;CAAO;CAAa;CAAU;CAAS,CAAC;AAE9C,4BAAe"}
1
+ {"version":3,"file":"Toggle.styles.js","names":["containerStyles: string","inputStyles: string","trackStyles: string","thumbStyles: string","labelStyles: string","errorLabelStyles: string"],"sources":["../../../../src/components/primitives/Toggle/Toggle.styles.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css} from '../../../styles/emotion';\n\nconst useStyles = (theme: Theme, colorScheme: string, hasError: boolean, required: boolean): Record<string, string> =>\n useMemo(() => {\n const containerStyles: string = css`\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n `;\n\n const inputStyles: string = css`\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n\n &:focus-visible + div {\n outline: 2px solid ${theme.vars.colors.primary.main};\n outline-offset: 2px;\n }\n\n &:disabled + div {\n cursor: not-allowed;\n opacity: 0.6;\n }\n `;\n\n const trackStyles: string = css`\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 36px;\n height: 20px;\n background-color: ${theme.vars.colors.text.secondary};\n opacity: 0.2;\n border-radius: 9999px;\n transition: all 0.2s ease-in-out;\n\n input:checked + & {\n background-color: ${theme.vars.colors.primary.main};\n opacity: 1;\n }\n\n input:disabled + & {\n opacity: 0.4;\n }\n `;\n\n const thumbStyles: string = css`\n position: absolute;\n left: 2px;\n width: 16px;\n height: 16px;\n background-color: #fff;\n border-radius: 50%;\n transition: transform 0.2s ease-in-out;\n\n input:checked + * > & {\n transform: translateX(16px);\n }\n `;\n\n const labelStyles: string = css`\n margin-left: calc(${theme.vars.spacing.unit} * 1.5);\n color: ${theme.vars.colors.text.primary};\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-family: ${theme.vars.typography.fontFamily};\n cursor: pointer;\n\n input:disabled ~ & {\n cursor: not-allowed;\n opacity: 0.6;\n }\n `;\n\n const errorLabelStyles: string = css`\n color: ${theme.vars.colors.error.main};\n `;\n\n return {\n container: containerStyles,\n errorLabel: hasError ? errorLabelStyles : '',\n input: inputStyles,\n label: labelStyles,\n thumb: thumbStyles,\n track: trackStyles,\n };\n }, [theme, colorScheme, hasError, required]);\n\nexport default useStyles;\n"],"mappings":";;;;AAOA,MAAM,aAAa,OAAc,aAAqB,UAAmB,aACvE,cAAc;CACZ,MAAMA,kBAA0B,GAAG;;;;;CAMnC,MAAMC,cAAsB,GAAG;;;;;;;;;;;;6BAYN,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;;;;;;CAUxD,MAAMC,cAAsB,GAAG;;;;;;0BAMT,MAAM,KAAK,OAAO,KAAK,UAAU;;;;;;4BAM/B,MAAM,KAAK,OAAO,QAAQ,KAAK;;;;;;;;CASvD,MAAMC,cAAsB,GAAG;;;;;;;;;;;;;CAc/B,MAAMC,cAAsB,GAAG;0BACT,MAAM,KAAK,QAAQ,KAAK;eACnC,MAAM,KAAK,OAAO,KAAK,QAAQ;mBAC3B,MAAM,KAAK,WAAW,UAAU,GAAG;qBACjC,MAAM,KAAK,WAAW,WAAW;;;;;;;;CASlD,MAAMC,mBAA2B,GAAG;eACzB,MAAM,KAAK,OAAO,MAAM,KAAK;;AAGxC,QAAO;EACL,WAAW;EACX,YAAY,WAAW,mBAAmB;EAC1C,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACR;GACA;CAAC;CAAO;CAAa;CAAU;CAAS,CAAC;AAE9C,4BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAC;AAIzF;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,WAAW,CAmE5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAC;AAKzF;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,WAAW,CAmE5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,9 +1,9 @@
1
+ import { cx } from "../../../styles/emotion.js";
1
2
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
3
  import Tooltip_styles_default from "./Tooltip.styles.js";
3
4
  import { bem, withVendorCSSClassPrefix } from "@thunderid/browser";
4
5
  import { useId, useState } from "react";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
- import { cx } from "@emotion/css";
7
7
 
8
8
  //#region src/components/primitives/Tooltip/Tooltip.tsx
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["Tooltip: FC<Tooltiprops>","useTheme","styles: Record<string, string>","useStyles"],"sources":["../../../../src/components/primitives/Tooltip/Tooltip.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes, ReactNode, useId, useState, KeyboardEvent} from 'react';\nimport useStyles from './Tooltip.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\n\n/**\n * Props for the Tooltip component.\n */\nexport interface Tooltiprops extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'> {\n className?: string;\n helperText?: string;\n position?: 'top' | 'bottom' | 'left' | 'right';\n children?: ReactNode;\n ariaLabel?: string;\n}\n\n/**\n * A Tooltip component that convert any react or html element to a tooltip.\n * When a user hover on it, they will see a small tooltip with some info.\n *\n * It will take a children, which can be a react element or html element.\n *\n * @param props - Props for the Tooltip component\n * @returns A JSX element representing the Tooltip\n */\nconst Tooltip: FC<Tooltiprops> = ({\n className = '',\n helperText = '',\n style = {},\n position = 'bottom',\n children = null,\n ariaLabel = 'More Info',\n ...rest\n}: Tooltiprops) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme);\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n // Unique ID to connect trigger button to tooltip box via ARIA\n const tooltipId = useId();\n\n // Close tooltip if user presses ESC while focused\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape' && isVisible) {\n setIsVisible(false);\n }\n\n // Optional: Prevent Space key from scrolling the page\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n setIsVisible((prev) => !prev);\n }\n };\n return (\n <div\n tabIndex={0}\n role=\"button\"\n aria-label={ariaLabel}\n aria-describedby={isVisible && helperText ? tooltipId : undefined}\n className={cx(withVendorCSSClassPrefix(bem('tooltip', 'container')), className, styles['container'])}\n style={style}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n onFocus={() => setIsVisible(true)} /* Trigger on Tab Focus */\n onBlur={() => setIsVisible(false)} /* Hide on Tab Blur */\n onKeyDown={handleKeyDown} /* Allow ESC to dismiss */\n {...rest}\n >\n {children}\n {isVisible && helperText && (\n <div\n id={tooltipId}\n role=\"tooltip\"\n className={cx(\n withVendorCSSClassPrefix(bem('tooltip', 'box')),\n withVendorCSSClassPrefix(bem('tooltip', position)),\n styles['box'],\n styles[position || 'bottom'],\n )}\n >\n {helperText}\n <span\n className={cx(\n withVendorCSSClassPrefix(bem('tooltip', 'arrow')),\n styles['arrow'],\n styles[`${position}-arrow`],\n )}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,MAAMA,WAA4B,EAChC,YAAY,IACZ,aAAa,IACb,QAAQ,EAAE,EACV,WAAW,UACX,WAAW,MACX,YAAY,YACZ,GAAG,WACc;CACjB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAMC,SAAiCC,uBAAU,OAAO,YAAY;CACpE,MAAM,CAAC,WAAW,gBAAgB,SAAkB,MAAM;CAG1D,MAAM,YAAY,OAAO;CAGzB,MAAM,iBAAiB,MAAqC;AAC1D,MAAI,EAAE,QAAQ,YAAY,UACxB,cAAa,MAAM;AAIrB,MAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,KAAE,gBAAgB;AAClB,iBAAc,SAAS,CAAC,KAAK;;;AAGjC,QACE,qBAAC;EACC,UAAU;EACV,MAAK;EACL,cAAY;EACZ,oBAAkB,aAAa,aAAa,YAAY;EACxD,WAAW,GAAG,yBAAyB,IAAI,WAAW,YAAY,CAAC,EAAE,WAAW,OAAO,aAAa;EAC7F;EACP,oBAAoB,aAAa,KAAK;EACtC,oBAAoB,aAAa,MAAM;EACvC,eAAe,aAAa,KAAK;EACjC,cAAc,aAAa,MAAM;EACjC,WAAW;EACX,GAAI;aAEH,UACA,aAAa,cACZ,qBAAC;GACC,IAAI;GACJ,MAAK;GACL,WAAW,GACT,yBAAyB,IAAI,WAAW,MAAM,CAAC,EAC/C,yBAAyB,IAAI,WAAW,SAAS,CAAC,EAClD,OAAO,QACP,OAAO,YAAY,UACpB;cAEA,YACD,oBAAC,UACC,WAAW,GACT,yBAAyB,IAAI,WAAW,QAAQ,CAAC,EACjD,OAAO,UACP,OAAO,GAAG,SAAS,SACpB,GACD;IACE;GAEJ;;AAIV,sBAAe"}
1
+ {"version":3,"file":"Tooltip.js","names":["Tooltip: FC<Tooltiprops>","useTheme","styles: Record<string, string>","useStyles"],"sources":["../../../../src/components/primitives/Tooltip/Tooltip.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {FC, InputHTMLAttributes, ReactNode, useId, useState, KeyboardEvent} from 'react';\nimport useStyles from './Tooltip.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\n\n/**\n * Props for the Tooltip component.\n */\nexport interface Tooltiprops extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'> {\n className?: string;\n helperText?: string;\n position?: 'top' | 'bottom' | 'left' | 'right';\n children?: ReactNode;\n ariaLabel?: string;\n}\n\n/**\n * A Tooltip component that convert any react or html element to a tooltip.\n * When a user hover on it, they will see a small tooltip with some info.\n *\n * It will take a children, which can be a react element or html element.\n *\n * @param props - Props for the Tooltip component\n * @returns A JSX element representing the Tooltip\n */\nconst Tooltip: FC<Tooltiprops> = ({\n className = '',\n helperText = '',\n style = {},\n position = 'bottom',\n children = null,\n ariaLabel = 'More Info',\n ...rest\n}: Tooltiprops) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme);\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n // Unique ID to connect trigger button to tooltip box via ARIA\n const tooltipId = useId();\n\n // Close tooltip if user presses ESC while focused\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape' && isVisible) {\n setIsVisible(false);\n }\n\n // Optional: Prevent Space key from scrolling the page\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n setIsVisible((prev) => !prev);\n }\n };\n return (\n <div\n tabIndex={0}\n role=\"button\"\n aria-label={ariaLabel}\n aria-describedby={isVisible && helperText ? tooltipId : undefined}\n className={cx(withVendorCSSClassPrefix(bem('tooltip', 'container')), className, styles['container'])}\n style={style}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n onFocus={() => setIsVisible(true)} /* Trigger on Tab Focus */\n onBlur={() => setIsVisible(false)} /* Hide on Tab Blur */\n onKeyDown={handleKeyDown} /* Allow ESC to dismiss */\n {...rest}\n >\n {children}\n {isVisible && helperText && (\n <div\n id={tooltipId}\n role=\"tooltip\"\n className={cx(\n withVendorCSSClassPrefix(bem('tooltip', 'box')),\n withVendorCSSClassPrefix(bem('tooltip', position)),\n styles['box'],\n styles[position || 'bottom'],\n )}\n >\n {helperText}\n <span\n className={cx(\n withVendorCSSClassPrefix(bem('tooltip', 'arrow')),\n styles['arrow'],\n styles[`${position}-arrow`],\n )}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,MAAMA,WAA4B,EAChC,YAAY,IACZ,aAAa,IACb,QAAQ,EAAE,EACV,WAAW,UACX,WAAW,MACX,YAAY,YACZ,GAAG,WACc;CACjB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAMC,SAAiCC,uBAAU,OAAO,YAAY;CACpE,MAAM,CAAC,WAAW,gBAAgB,SAAkB,MAAM;CAG1D,MAAM,YAAY,OAAO;CAGzB,MAAM,iBAAiB,MAAqC;AAC1D,MAAI,EAAE,QAAQ,YAAY,UACxB,cAAa,MAAM;AAIrB,MAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,KAAE,gBAAgB;AAClB,iBAAc,SAAS,CAAC,KAAK;;;AAGjC,QACE,qBAAC;EACC,UAAU;EACV,MAAK;EACL,cAAY;EACZ,oBAAkB,aAAa,aAAa,YAAY;EACxD,WAAW,GAAG,yBAAyB,IAAI,WAAW,YAAY,CAAC,EAAE,WAAW,OAAO,aAAa;EAC7F;EACP,oBAAoB,aAAa,KAAK;EACtC,oBAAoB,aAAa,MAAM;EACvC,eAAe,aAAa,KAAK;EACjC,cAAc,aAAa,MAAM;EACjC,WAAW;EACX,GAAI;aAEH,UACA,aAAa,cACZ,qBAAC;GACC,IAAI;GACJ,MAAK;GACL,WAAW,GACT,yBAAyB,IAAI,WAAW,MAAM,CAAC,EAC/C,yBAAyB,IAAI,WAAW,SAAS,CAAC,EAClD,OAAO,QACP,OAAO,YAAY,UACpB;cAEA,YACD,oBAAC,UACC,WAAW,GACT,yBAAyB,IAAI,WAAW,QAAQ,CAAC,EACjD,OAAO,UACP,OAAO,GAAG,SAAS,SACpB,GACD;IACE;GAEJ;;AAIV,sBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Tooltip/Tooltip.styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA+GlD,CAAC;AAE3B,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Tooltip.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Tooltip/Tooltip.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAIzC,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA+GlD,CAAC;AAE3B,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { css, keyframes } from "../../../styles/emotion.js";
1
2
  import { useMemo } from "react";
2
- import { css, keyframes } from "@emotion/css";
3
3
 
4
4
  //#region src/components/primitives/Tooltip/Tooltip.styles.ts
5
5
  const useStyles = (theme, colorScheme) => useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.styles.js","names":["containerStyles: string","boxStyles: string","topStyles: string","bottomStyles: string","leftStyles: string","rightStyles: string","arrowStyles: string","topArrowStyles: string","bottomArrowStyles: string","leftArrowStyles: string","rightArrowStyles: string"],"sources":["../../../../src/components/primitives/Tooltip/Tooltip.styles.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css, keyframes} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> =>\n useMemo(() => {\n const fadeInAnimation = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n `;\n\n const containerStyles: string = css`\n position: relative;\n display: inline-block;\n `;\n\n // white-space: nowrap;\n const boxStyles: string = css`\n position: absolute;\n background-color: #333;\n color: #fff;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 0.85rem;\n z-index: 1000;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.15);\n animation: ${fadeInAnimation} 0.15s ease-in-out;\n\n min-width: 250px;\n white-space: normal;\n word-break: break-word;\n overflow-wrap: break-word;\n text-align: start;\n `;\n\n const topStyles: string = css`\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 8px;\n `;\n\n const bottomStyles: string = css`\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 8px;\n `;\n\n const leftStyles: string = css`\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 8px;\n `;\n\n const rightStyles: string = css`\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-left: 8px;\n `;\n\n const arrowStyles: string = css`\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n `;\n\n const topArrowStyles: string = css`\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 5px 5px 0 5px;\n border-color: #333 transparent transparent transparent;\n `;\n\n const bottomArrowStyles: string = css`\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 0 5px 5px 5px;\n border-color: transparent transparent #333 transparent;\n `;\n\n const leftArrowStyles: string = css`\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: 5px 0 5px 5px;\n border-color: transparent transparent transparent #333;\n `;\n\n const rightArrowStyles: string = css`\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: 5px 5px 5px 0;\n border-color: transparent #333 transparent transparent;\n `;\n\n return {\n container: containerStyles,\n box: boxStyles,\n top: topStyles,\n bottom: bottomStyles,\n left: leftStyles,\n right: rightStyles,\n arrow: arrowStyles,\n 'top-arrow': topArrowStyles,\n 'bottom-arrow': bottomArrowStyles,\n 'left-arrow': leftArrowStyles,\n 'right-arrow': rightArrowStyles,\n };\n }, [theme, colorScheme]);\n\nexport default useStyles;\n"],"mappings":";;;;AAOA,MAAM,aAAa,OAAc,gBAC/B,cAAc;CACZ,MAAM,kBAAkB,SAAS;;;;CAKjC,MAAMA,kBAA0B,GAAG;;;;CAMnC,MAAMC,YAAoB,GAAG;;;;;;;;;mBASd,gBAAgB;;;;;;;;CAS/B,MAAMC,YAAoB,GAAG;;;;;;CAO7B,MAAMC,eAAuB,GAAG;;;;;;CAOhC,MAAMC,aAAqB,GAAG;;;;;;CAO9B,MAAMC,cAAsB,GAAG;;;;;;CAO/B,MAAMC,cAAsB,GAAG;;;;;;CAO/B,MAAMC,iBAAyB,GAAG;;;;;;;CAQlC,MAAMC,oBAA4B,GAAG;;;;;;;CAQrC,MAAMC,kBAA0B,GAAG;;;;;;;CAQnC,MAAMC,mBAA2B,GAAG;;;;;;;AAQpC,QAAO;EACL,WAAW;EACX,KAAK;EACL,KAAK;EACL,QAAQ;EACR,MAAM;EACN,OAAO;EACP,OAAO;EACP,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,eAAe;EAChB;GACA,CAAC,OAAO,YAAY,CAAC;AAE1B,6BAAe"}
1
+ {"version":3,"file":"Tooltip.styles.js","names":["containerStyles: string","boxStyles: string","topStyles: string","bottomStyles: string","leftStyles: string","rightStyles: string","arrowStyles: string","topArrowStyles: string","bottomArrowStyles: string","leftArrowStyles: string","rightArrowStyles: string"],"sources":["../../../../src/components/primitives/Tooltip/Tooltip.styles.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css, keyframes} from '../../../styles/emotion';\n\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> =>\n useMemo(() => {\n const fadeInAnimation = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n `;\n\n const containerStyles: string = css`\n position: relative;\n display: inline-block;\n `;\n\n // white-space: nowrap;\n const boxStyles: string = css`\n position: absolute;\n background-color: #333;\n color: #fff;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 0.85rem;\n z-index: 1000;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.15);\n animation: ${fadeInAnimation} 0.15s ease-in-out;\n\n min-width: 250px;\n white-space: normal;\n word-break: break-word;\n overflow-wrap: break-word;\n text-align: start;\n `;\n\n const topStyles: string = css`\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 8px;\n `;\n\n const bottomStyles: string = css`\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 8px;\n `;\n\n const leftStyles: string = css`\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 8px;\n `;\n\n const rightStyles: string = css`\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-left: 8px;\n `;\n\n const arrowStyles: string = css`\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n `;\n\n const topArrowStyles: string = css`\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 5px 5px 0 5px;\n border-color: #333 transparent transparent transparent;\n `;\n\n const bottomArrowStyles: string = css`\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 0 5px 5px 5px;\n border-color: transparent transparent #333 transparent;\n `;\n\n const leftArrowStyles: string = css`\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: 5px 0 5px 5px;\n border-color: transparent transparent transparent #333;\n `;\n\n const rightArrowStyles: string = css`\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: 5px 5px 5px 0;\n border-color: transparent #333 transparent transparent;\n `;\n\n return {\n container: containerStyles,\n box: boxStyles,\n top: topStyles,\n bottom: bottomStyles,\n left: leftStyles,\n right: rightStyles,\n arrow: arrowStyles,\n 'top-arrow': topArrowStyles,\n 'bottom-arrow': bottomArrowStyles,\n 'left-arrow': leftArrowStyles,\n 'right-arrow': rightArrowStyles,\n };\n }, [theme, colorScheme]);\n\nexport default useStyles;\n"],"mappings":";;;;AAOA,MAAM,aAAa,OAAc,gBAC/B,cAAc;CACZ,MAAM,kBAAkB,SAAS;;;;CAKjC,MAAMA,kBAA0B,GAAG;;;;CAMnC,MAAMC,YAAoB,GAAG;;;;;;;;;mBASd,gBAAgB;;;;;;;;CAS/B,MAAMC,YAAoB,GAAG;;;;;;CAO7B,MAAMC,eAAuB,GAAG;;;;;;CAOhC,MAAMC,aAAqB,GAAG;;;;;;CAO9B,MAAMC,cAAsB,GAAG;;;;;;CAO/B,MAAMC,cAAsB,GAAG;;;;;;CAO/B,MAAMC,iBAAyB,GAAG;;;;;;;CAQlC,MAAMC,oBAA4B,GAAG;;;;;;;CAQrC,MAAMC,kBAA0B,GAAG;;;;;;;CAQnC,MAAMC,mBAA2B,GAAG;;;;;;;AAQpC,QAAO;EACL,WAAW;EACX,KAAK;EACL,KAAK;EACL,QAAQ;EACR,MAAM;EACN,OAAO;EACP,OAAO;EACP,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,eAAe;EAChB;GACA,CAAC,OAAO,YAAY,CAAC;AAE1B,6BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Typography/Typography.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AAChE,OAAkB,EAAC,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAGnG,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAChE;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAmBD;;;GAGG;AACH,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkFnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Typography/Typography.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AAChE,OAAkB,EAAC,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAInG,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAChE;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAmBD;;;GAGG;AACH,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkFnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,8 +1,8 @@
1
+ import { cx } from "../../../styles/emotion.js";
1
2
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
3
  import Typography_styles_default from "./Typography.styles.js";
3
4
  import { bem, withVendorCSSClassPrefix } from "@thunderid/browser";
4
5
  import { jsx } from "react/jsx-runtime";
5
- import { cx } from "@emotion/css";
6
6
 
7
7
  //#region src/components/primitives/Typography/Typography.tsx
8
8
  const variantMapping = {
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.js","names":["variantMapping: Record<TypographyVariant, ElementType>","Typography: FC<TypographyProps>","useTheme","styles: Record<string, string>","useStyles","Component: ElementType"],"sources":["../../../../src/components/primitives/Typography/Typography.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {CSSProperties, FC, ReactNode, ElementType} from 'react';\nimport useStyles, {TypographyVariant, TypographyAlign, TypographyColor} from './Typography.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\n\nexport interface TypographyProps {\n /**\n * Text alignment\n */\n align?: TypographyAlign;\n /**\n * The content to be rendered\n */\n children: ReactNode;\n /**\n * Additional CSS class names\n */\n className?: string;\n /**\n * Color variant\n */\n color?: TypographyColor;\n /**\n * The HTML element or React component to render\n */\n component?: ElementType;\n /**\n * Custom font size (overrides variant sizing)\n */\n fontSize?: string | number;\n /**\n * Custom font weight\n */\n fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold' | number;\n /**\n * Whether to disable gutters (margin bottom)\n */\n gutterBottom?: boolean;\n /**\n * HTML id attribute\n */\n id?: string;\n /**\n * Whether the text should be displayed inline\n */\n inline?: boolean;\n /**\n * Line height\n */\n lineHeight?: string | number;\n /**\n * Whether the text should be clipped with ellipsis when it overflows\n */\n noWrap?: boolean;\n /**\n * Custom styles\n */\n style?: CSSProperties;\n /**\n * The typography variant to apply\n */\n variant?: TypographyVariant;\n}\n\n// Default component mapping for variants\nconst variantMapping: Record<TypographyVariant, ElementType> = {\n body1: 'p',\n body2: 'p',\n button: 'span',\n caption: 'span',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n overline: 'span',\n subtitle1: 'h6',\n subtitle2: 'h6',\n};\n\n/**\n * Typography component for consistent text rendering throughout the application.\n * Integrates with the theme system and provides semantic HTML elements.\n */\nconst Typography: FC<TypographyProps> = ({\n children,\n variant = 'body1',\n component,\n align = 'left',\n color = 'textPrimary',\n noWrap = false,\n className,\n style = {},\n inline = false,\n fontWeight,\n fontSize,\n lineHeight,\n gutterBottom = false,\n ...rest\n}: TypographyProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(\n theme,\n colorScheme,\n variant,\n align,\n color,\n noWrap,\n inline,\n gutterBottom,\n fontWeight,\n fontSize,\n lineHeight,\n );\n\n const Component: ElementType = component || variantMapping[variant] || 'span';\n\n const getVariantClass = (variantName: TypographyVariant): string => {\n switch (variantName) {\n case 'h1':\n return styles['typographyH1'];\n case 'h2':\n return styles['typographyH2'];\n case 'h3':\n return styles['typographyH3'];\n case 'h4':\n return styles['typographyH4'];\n case 'h5':\n return styles['typographyH5'];\n case 'h6':\n return styles['typographyH6'];\n case 'subtitle1':\n return styles['typographySubtitle1'];\n case 'subtitle2':\n return styles['typographySubtitle2'];\n case 'body1':\n return styles['typographyBody1'];\n case 'body2':\n return styles['typographyBody2'];\n case 'caption':\n return styles['typographyCaption'];\n case 'overline':\n return styles['typographyOverline'];\n case 'button':\n return styles['typographyButton'];\n default:\n return '';\n }\n };\n\n const typographyClassName: string = cx(\n withVendorCSSClassPrefix(bem('typography')),\n withVendorCSSClassPrefix(bem('typography', variant)),\n styles['typography'],\n getVariantClass(variant),\n noWrap && styles['typographyNoWrap'],\n inline && styles['typographyInline'],\n gutterBottom && styles['typographyGutterBottom'],\n className,\n );\n\n return (\n <Component className={typographyClassName} style={style} {...rest}>\n {children}\n </Component>\n );\n};\n\nexport default Typography;\n"],"mappings":";;;;;;;AAqEA,MAAMA,iBAAyD;CAC7D,OAAO;CACP,OAAO;CACP,QAAQ;CACR,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,UAAU;CACV,WAAW;CACX,WAAW;CACZ;;;;;AAMD,MAAMC,cAAmC,EACvC,UACA,UAAU,SACV,WACA,QAAQ,QACR,QAAQ,eACR,SAAS,OACT,WACA,QAAQ,EAAE,EACV,SAAS,OACT,YACA,UACA,YACA,eAAe,MACf,GAAG,WACkB;CACrB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAMC,SAAiCC,0BACrC,OACA,aACA,SACA,OACA,OACA,QACA,QACA,cACA,YACA,UACA,WACD;CAED,MAAMC,YAAyB,aAAa,eAAe,YAAY;CAEvE,MAAM,mBAAmB,gBAA2C;AAClE,UAAQ,aAAR;GACE,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,YACH,QAAO,OAAO;GAChB,KAAK,YACH,QAAO,OAAO;GAChB,KAAK,QACH,QAAO,OAAO;GAChB,KAAK,QACH,QAAO,OAAO;GAChB,KAAK,UACH,QAAO,OAAO;GAChB,KAAK,WACH,QAAO,OAAO;GAChB,KAAK,SACH,QAAO,OAAO;GAChB,QACE,QAAO;;;AAeb,QACE,oBAAC;EAAU,WAZuB,GAClC,yBAAyB,IAAI,aAAa,CAAC,EAC3C,yBAAyB,IAAI,cAAc,QAAQ,CAAC,EACpD,OAAO,eACP,gBAAgB,QAAQ,EACxB,UAAU,OAAO,qBACjB,UAAU,OAAO,qBACjB,gBAAgB,OAAO,2BACvB,UACD;EAGmD;EAAO,GAAI;EAC1D;GACS;;AAIhB,yBAAe"}
1
+ {"version":3,"file":"Typography.js","names":["variantMapping: Record<TypographyVariant, ElementType>","Typography: FC<TypographyProps>","useTheme","styles: Record<string, string>","useStyles","Component: ElementType"],"sources":["../../../../src/components/primitives/Typography/Typography.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {CSSProperties, FC, ReactNode, ElementType} from 'react';\nimport useStyles, {TypographyVariant, TypographyAlign, TypographyColor} from './Typography.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\n\nexport interface TypographyProps {\n /**\n * Text alignment\n */\n align?: TypographyAlign;\n /**\n * The content to be rendered\n */\n children: ReactNode;\n /**\n * Additional CSS class names\n */\n className?: string;\n /**\n * Color variant\n */\n color?: TypographyColor;\n /**\n * The HTML element or React component to render\n */\n component?: ElementType;\n /**\n * Custom font size (overrides variant sizing)\n */\n fontSize?: string | number;\n /**\n * Custom font weight\n */\n fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold' | number;\n /**\n * Whether to disable gutters (margin bottom)\n */\n gutterBottom?: boolean;\n /**\n * HTML id attribute\n */\n id?: string;\n /**\n * Whether the text should be displayed inline\n */\n inline?: boolean;\n /**\n * Line height\n */\n lineHeight?: string | number;\n /**\n * Whether the text should be clipped with ellipsis when it overflows\n */\n noWrap?: boolean;\n /**\n * Custom styles\n */\n style?: CSSProperties;\n /**\n * The typography variant to apply\n */\n variant?: TypographyVariant;\n}\n\n// Default component mapping for variants\nconst variantMapping: Record<TypographyVariant, ElementType> = {\n body1: 'p',\n body2: 'p',\n button: 'span',\n caption: 'span',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n overline: 'span',\n subtitle1: 'h6',\n subtitle2: 'h6',\n};\n\n/**\n * Typography component for consistent text rendering throughout the application.\n * Integrates with the theme system and provides semantic HTML elements.\n */\nconst Typography: FC<TypographyProps> = ({\n children,\n variant = 'body1',\n component,\n align = 'left',\n color = 'textPrimary',\n noWrap = false,\n className,\n style = {},\n inline = false,\n fontWeight,\n fontSize,\n lineHeight,\n gutterBottom = false,\n ...rest\n}: TypographyProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(\n theme,\n colorScheme,\n variant,\n align,\n color,\n noWrap,\n inline,\n gutterBottom,\n fontWeight,\n fontSize,\n lineHeight,\n );\n\n const Component: ElementType = component || variantMapping[variant] || 'span';\n\n const getVariantClass = (variantName: TypographyVariant): string => {\n switch (variantName) {\n case 'h1':\n return styles['typographyH1'];\n case 'h2':\n return styles['typographyH2'];\n case 'h3':\n return styles['typographyH3'];\n case 'h4':\n return styles['typographyH4'];\n case 'h5':\n return styles['typographyH5'];\n case 'h6':\n return styles['typographyH6'];\n case 'subtitle1':\n return styles['typographySubtitle1'];\n case 'subtitle2':\n return styles['typographySubtitle2'];\n case 'body1':\n return styles['typographyBody1'];\n case 'body2':\n return styles['typographyBody2'];\n case 'caption':\n return styles['typographyCaption'];\n case 'overline':\n return styles['typographyOverline'];\n case 'button':\n return styles['typographyButton'];\n default:\n return '';\n }\n };\n\n const typographyClassName: string = cx(\n withVendorCSSClassPrefix(bem('typography')),\n withVendorCSSClassPrefix(bem('typography', variant)),\n styles['typography'],\n getVariantClass(variant),\n noWrap && styles['typographyNoWrap'],\n inline && styles['typographyInline'],\n gutterBottom && styles['typographyGutterBottom'],\n className,\n );\n\n return (\n <Component className={typographyClassName} style={style} {...rest}>\n {children}\n </Component>\n );\n};\n\nexport default Typography;\n"],"mappings":";;;;;;;AAqEA,MAAMA,iBAAyD;CAC7D,OAAO;CACP,OAAO;CACP,QAAQ;CACR,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,UAAU;CACV,WAAW;CACX,WAAW;CACZ;;;;;AAMD,MAAMC,cAAmC,EACvC,UACA,UAAU,SACV,WACA,QAAQ,QACR,QAAQ,eACR,SAAS,OACT,WACA,QAAQ,EAAE,EACV,SAAS,OACT,YACA,UACA,YACA,eAAe,MACf,GAAG,WACkB;CACrB,MAAM,EAAC,OAAO,gBAA4CC,kBAAU;CACpE,MAAMC,SAAiCC,0BACrC,OACA,aACA,SACA,OACA,OACA,QACA,QACA,cACA,YACA,UACA,WACD;CAED,MAAMC,YAAyB,aAAa,eAAe,YAAY;CAEvE,MAAM,mBAAmB,gBAA2C;AAClE,UAAQ,aAAR;GACE,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,KACH,QAAO,OAAO;GAChB,KAAK,YACH,QAAO,OAAO;GAChB,KAAK,YACH,QAAO,OAAO;GAChB,KAAK,QACH,QAAO,OAAO;GAChB,KAAK,QACH,QAAO,OAAO;GAChB,KAAK,UACH,QAAO,OAAO;GAChB,KAAK,WACH,QAAO,OAAO;GAChB,KAAK,SACH,QAAO,OAAO;GAChB,QACE,QAAO;;;AAeb,QACE,oBAAC;EAAU,WAZuB,GAClC,yBAAyB,IAAI,aAAa,CAAC,EAC3C,yBAAyB,IAAI,cAAc,QAAQ,CAAC,EACpD,OAAO,eACP,gBAAgB,QAAQ,EACxB,UAAU,OAAO,qBACjB,UAAU,OAAO,qBACjB,gBAAgB,OAAO,2BACvB,UACD;EAGmD;EAAO,GAAI;EAC1D;GACS;;AAIhB,yBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Typography/Typography.styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,WAAW,GACX,OAAO,GACP,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,eAAe,GACf,SAAS,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,SAAS,GACb,OAAO,KAAK,EACZ,aAAa,MAAM,EACnB,SAAS,iBAAiB,EAC1B,OAAO,eAAe,EACtB,OAAO,eAAe,EACtB,QAAQ,OAAO,EACf,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,aAAa,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,EAC/D,WAAW,MAAM,GAAG,MAAM,EAC1B,aAAa,MAAM,GAAG,MAAM,KAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CA2RyF,CAAC;AAElH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Typography.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Typography/Typography.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAIzC,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,WAAW,GACX,OAAO,GACP,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,eAAe,GACf,SAAS,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,SAAS,GACb,OAAO,KAAK,EACZ,aAAa,MAAM,EACnB,SAAS,iBAAiB,EAC1B,OAAO,eAAe,EACtB,OAAO,eAAe,EACtB,QAAQ,OAAO,EACf,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,aAAa,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,EAC/D,WAAW,MAAM,GAAG,MAAM,EAC1B,aAAa,MAAM,GAAG,MAAM,KAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CA2RyF,CAAC;AAElH,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { css } from "../../../styles/emotion.js";
1
2
  import { useMemo } from "react";
2
- import { css } from "@emotion/css";
3
3
 
4
4
  //#region src/components/primitives/Typography/Typography.styles.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.styles.js","names":["variantStyles: Record<string, string | number>","colorValue: string","typography: string","typographyNoWrap: string","typographyInline: string","typographyGutterBottom: string","typographyH1: string","typographyH2: string","typographyH3: string","typographyH4: string","typographyH5: string","typographyH6: string","typographySubtitle1: string","typographySubtitle2: string","typographyBody1: string","typographyBody2: string","typographyCaption: string","typographyOverline: string"],"sources":["../../../../src/components/primitives/Typography/Typography.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'subtitle1'\n | 'subtitle2'\n | 'body1'\n | 'body2'\n | 'caption'\n | 'overline'\n | 'button';\n\nexport type TypographyAlign = 'left' | 'center' | 'right' | 'justify';\n\nexport type TypographyColor =\n | 'primary'\n | 'secondary'\n | 'error'\n | 'success'\n | 'warning'\n | 'info'\n | 'textPrimary'\n | 'textSecondary'\n | 'inherit';\n\n/**\n * Creates styles for the Typography component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param variant - The typography variant\n * @param align - Text alignment\n * @param color - Color variant\n * @param noWrap - Whether text should be truncated with ellipsis\n * @param inline - Whether text should be displayed inline\n * @param gutterBottom - Whether to add bottom margin\n * @param fontWeight - Custom font weight\n * @param fontSize - Custom font size\n * @param lineHeight - Custom line height\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n variant: TypographyVariant,\n align: TypographyAlign,\n color: TypographyColor,\n noWrap: boolean,\n inline: boolean,\n gutterBottom: boolean,\n fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold' | number,\n fontSize?: string | number,\n lineHeight?: string | number,\n): Record<string, string> =>\n useMemo(() => {\n const getColorValue = (colorVariant: TypographyColor): string => {\n switch (colorVariant) {\n case 'primary':\n return theme.colors.primary.main;\n case 'secondary':\n return theme.colors.secondary.main;\n case 'error':\n return theme.colors.error.main;\n case 'textPrimary':\n return theme.colors.text.primary;\n case 'textSecondary':\n return theme.colors.text.secondary;\n case 'inherit':\n return 'inherit';\n default:\n return theme.colors.text.primary;\n }\n };\n\n const getVariantStyles = (variantName: TypographyVariant): Record<string, string | number> => {\n switch (variantName) {\n case 'h1':\n return {\n fontSize: theme.vars.typography.fontSizes['3xl'],\n fontWeight: 600,\n letterSpacing: '-0.00735em',\n lineHeight: 1.235,\n };\n case 'h2':\n return {\n fontSize: theme.vars.typography.fontSizes['2xl'],\n fontWeight: 600,\n letterSpacing: '0em',\n lineHeight: 1.334,\n };\n case 'h3':\n return {\n fontSize: theme.vars.typography.fontSizes.xl,\n fontWeight: 600,\n letterSpacing: '0.0075em',\n lineHeight: 1.6,\n };\n case 'h4':\n return {\n fontSize: theme.vars.typography.fontSizes.lg,\n fontWeight: 600,\n letterSpacing: '0.00938em',\n lineHeight: 1.5,\n };\n case 'h5':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 600,\n letterSpacing: '0em',\n lineHeight: 1.334,\n };\n case 'h6':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.0075em',\n lineHeight: 1.6,\n };\n case 'subtitle1':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 400,\n letterSpacing: '0.00938em',\n lineHeight: 1.75,\n };\n case 'subtitle2':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.00714em',\n lineHeight: 1.57,\n };\n case 'body1':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 400,\n letterSpacing: '0.00938em',\n lineHeight: 1.5,\n };\n case 'body2':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 400,\n letterSpacing: '0.01071em',\n lineHeight: 1.43,\n };\n case 'caption':\n return {\n fontSize: theme.vars.typography.fontSizes.xs,\n fontWeight: 400,\n letterSpacing: '0.03333em',\n lineHeight: 1.66,\n };\n case 'overline':\n return {\n fontSize: theme.vars.typography.fontSizes.xs,\n fontWeight: 400,\n letterSpacing: '0.08333em',\n lineHeight: 2.66,\n textTransform: 'uppercase' as const,\n };\n case 'button':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.02857em',\n lineHeight: 1.75,\n textTransform: 'uppercase' as const,\n };\n default:\n return {};\n }\n };\n\n const variantStyles: Record<string, string | number> = getVariantStyles(variant);\n const colorValue: string = getColorValue(color);\n\n const typography: string = css`\n margin: 0;\n font-family: ${theme.vars.typography.fontFamily};\n color: ${colorValue};\n text-align: ${align};\n display: ${inline ? 'inline' : 'block'};\n ${variantStyles['fontSize'] ? `font-size: ${variantStyles['fontSize']};` : ''}\n ${variantStyles['fontWeight'] ? `font-weight: ${variantStyles['fontWeight']};` : ''}\n ${variantStyles['lineHeight'] ? `line-height: ${variantStyles['lineHeight']};` : ''}\n ${variantStyles['letterSpacing'] ? `letter-spacing: ${variantStyles['letterSpacing']};` : ''}\n ${variantStyles['textTransform'] ? `text-transform: ${variantStyles['textTransform']};` : ''}\n\n /* Custom overrides */\n ${fontWeight ? `font-weight: ${fontWeight} !important;` : ''}\n ${fontSize ? `font-size: ${typeof fontSize === 'number' ? `${fontSize}px` : fontSize} !important;` : ''}\n ${lineHeight ? `line-height: ${lineHeight} !important;` : ''}\n\n /* Conditional styles */\n ${noWrap\n ? `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : ''}\n\n ${gutterBottom\n ? `\n margin-bottom: ${theme.spacing.unit}px;\n `\n : ''}\n `;\n\n const typographyNoWrap: string = css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n\n const typographyInline: string = css`\n display: inline;\n `;\n\n const typographyGutterBottom: string = css`\n margin-bottom: ${theme.spacing.unit}px;\n `;\n\n const typographyH1: string = css`\n font-size: ${theme.vars.typography.fontSizes['3xl']};\n font-weight: 600;\n line-height: 1.235;\n letter-spacing: -0.00735em;\n `;\n\n const typographyH2: string = css`\n font-size: ${theme.vars.typography.fontSizes['2xl']};\n font-weight: 600;\n line-height: 1.334;\n letter-spacing: 0em;\n `;\n\n const typographyH3: string = css`\n font-size: ${theme.vars.typography.fontSizes.xl};\n font-weight: 600;\n line-height: 1.6;\n letter-spacing: 0.0075em;\n `;\n\n const typographyH4: string = css`\n font-size: ${theme.vars.typography.fontSizes.lg};\n font-weight: 600;\n line-height: 1.5;\n letter-spacing: 0.00938em;\n `;\n\n const typographyH5: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 600;\n line-height: 1.334;\n letter-spacing: 0em;\n `;\n\n const typographyH6: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.6;\n letter-spacing: 0.0075em;\n `;\n\n const typographySubtitle1: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 400;\n line-height: 1.75;\n letter-spacing: 0.00938em;\n `;\n\n const typographySubtitle2: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.57;\n letter-spacing: 0.00714em;\n `;\n\n const typographyBody1: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: 0.00938em;\n `;\n\n const typographyBody2: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 400;\n line-height: 1.43;\n letter-spacing: 0.01071em;\n `;\n\n const typographyCaption: string = css`\n font-size: ${theme.vars.typography.fontSizes.xs};\n font-weight: 400;\n line-height: 1.66;\n letter-spacing: 0.03333em;\n `;\n\n const typographyOverline: string = css`\n font-size: ${theme.vars.typography.fontSizes.xs};\n font-weight: 400;\n line-height: 2.66;\n letter-spacing: 0.08333em;\n text-transform: uppercase;\n `;\n\n const typographyButton: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.75;\n letter-spacing: 0.02857em;\n text-transform: uppercase;\n `;\n\n return {\n typography,\n typographyBody1,\n typographyBody2,\n typographyButton,\n typographyCaption,\n typographyGutterBottom,\n typographyH1,\n typographyH2,\n typographyH3,\n typographyH4,\n typographyH5,\n typographyH6,\n typographyInline,\n typographyNoWrap,\n typographyOverline,\n typographySubtitle1,\n typographySubtitle2,\n };\n }, [theme, colorScheme, variant, align, color, noWrap, inline, gutterBottom, fontWeight, fontSize, lineHeight]);\n\nexport default useStyles;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Typography.styles.js","names":["variantStyles: Record<string, string | number>","colorValue: string","typography: string","typographyNoWrap: string","typographyInline: string","typographyGutterBottom: string","typographyH1: string","typographyH2: string","typographyH3: string","typographyH4: string","typographyH5: string","typographyH6: string","typographySubtitle1: string","typographySubtitle2: string","typographyBody1: string","typographyBody2: string","typographyCaption: string","typographyOverline: string"],"sources":["../../../../src/components/primitives/Typography/Typography.styles.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\nimport {css} from '../../../styles/emotion';\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'subtitle1'\n | 'subtitle2'\n | 'body1'\n | 'body2'\n | 'caption'\n | 'overline'\n | 'button';\n\nexport type TypographyAlign = 'left' | 'center' | 'right' | 'justify';\n\nexport type TypographyColor =\n | 'primary'\n | 'secondary'\n | 'error'\n | 'success'\n | 'warning'\n | 'info'\n | 'textPrimary'\n | 'textSecondary'\n | 'inherit';\n\n/**\n * Creates styles for the Typography component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @param variant - The typography variant\n * @param align - Text alignment\n * @param color - Color variant\n * @param noWrap - Whether text should be truncated with ellipsis\n * @param inline - Whether text should be displayed inline\n * @param gutterBottom - Whether to add bottom margin\n * @param fontWeight - Custom font weight\n * @param fontSize - Custom font size\n * @param lineHeight - Custom line height\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n variant: TypographyVariant,\n align: TypographyAlign,\n color: TypographyColor,\n noWrap: boolean,\n inline: boolean,\n gutterBottom: boolean,\n fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold' | number,\n fontSize?: string | number,\n lineHeight?: string | number,\n): Record<string, string> =>\n useMemo(() => {\n const getColorValue = (colorVariant: TypographyColor): string => {\n switch (colorVariant) {\n case 'primary':\n return theme.colors.primary.main;\n case 'secondary':\n return theme.colors.secondary.main;\n case 'error':\n return theme.colors.error.main;\n case 'textPrimary':\n return theme.colors.text.primary;\n case 'textSecondary':\n return theme.colors.text.secondary;\n case 'inherit':\n return 'inherit';\n default:\n return theme.colors.text.primary;\n }\n };\n\n const getVariantStyles = (variantName: TypographyVariant): Record<string, string | number> => {\n switch (variantName) {\n case 'h1':\n return {\n fontSize: theme.vars.typography.fontSizes['3xl'],\n fontWeight: 600,\n letterSpacing: '-0.00735em',\n lineHeight: 1.235,\n };\n case 'h2':\n return {\n fontSize: theme.vars.typography.fontSizes['2xl'],\n fontWeight: 600,\n letterSpacing: '0em',\n lineHeight: 1.334,\n };\n case 'h3':\n return {\n fontSize: theme.vars.typography.fontSizes.xl,\n fontWeight: 600,\n letterSpacing: '0.0075em',\n lineHeight: 1.6,\n };\n case 'h4':\n return {\n fontSize: theme.vars.typography.fontSizes.lg,\n fontWeight: 600,\n letterSpacing: '0.00938em',\n lineHeight: 1.5,\n };\n case 'h5':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 600,\n letterSpacing: '0em',\n lineHeight: 1.334,\n };\n case 'h6':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.0075em',\n lineHeight: 1.6,\n };\n case 'subtitle1':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 400,\n letterSpacing: '0.00938em',\n lineHeight: 1.75,\n };\n case 'subtitle2':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.00714em',\n lineHeight: 1.57,\n };\n case 'body1':\n return {\n fontSize: theme.vars.typography.fontSizes.md,\n fontWeight: 400,\n letterSpacing: '0.00938em',\n lineHeight: 1.5,\n };\n case 'body2':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 400,\n letterSpacing: '0.01071em',\n lineHeight: 1.43,\n };\n case 'caption':\n return {\n fontSize: theme.vars.typography.fontSizes.xs,\n fontWeight: 400,\n letterSpacing: '0.03333em',\n lineHeight: 1.66,\n };\n case 'overline':\n return {\n fontSize: theme.vars.typography.fontSizes.xs,\n fontWeight: 400,\n letterSpacing: '0.08333em',\n lineHeight: 2.66,\n textTransform: 'uppercase' as const,\n };\n case 'button':\n return {\n fontSize: theme.vars.typography.fontSizes.sm,\n fontWeight: 500,\n letterSpacing: '0.02857em',\n lineHeight: 1.75,\n textTransform: 'uppercase' as const,\n };\n default:\n return {};\n }\n };\n\n const variantStyles: Record<string, string | number> = getVariantStyles(variant);\n const colorValue: string = getColorValue(color);\n\n const typography: string = css`\n margin: 0;\n font-family: ${theme.vars.typography.fontFamily};\n color: ${colorValue};\n text-align: ${align};\n display: ${inline ? 'inline' : 'block'};\n ${variantStyles['fontSize'] ? `font-size: ${variantStyles['fontSize']};` : ''}\n ${variantStyles['fontWeight'] ? `font-weight: ${variantStyles['fontWeight']};` : ''}\n ${variantStyles['lineHeight'] ? `line-height: ${variantStyles['lineHeight']};` : ''}\n ${variantStyles['letterSpacing'] ? `letter-spacing: ${variantStyles['letterSpacing']};` : ''}\n ${variantStyles['textTransform'] ? `text-transform: ${variantStyles['textTransform']};` : ''}\n\n /* Custom overrides */\n ${fontWeight ? `font-weight: ${fontWeight} !important;` : ''}\n ${fontSize ? `font-size: ${typeof fontSize === 'number' ? `${fontSize}px` : fontSize} !important;` : ''}\n ${lineHeight ? `line-height: ${lineHeight} !important;` : ''}\n\n /* Conditional styles */\n ${noWrap\n ? `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : ''}\n\n ${gutterBottom\n ? `\n margin-bottom: ${theme.spacing.unit}px;\n `\n : ''}\n `;\n\n const typographyNoWrap: string = css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n\n const typographyInline: string = css`\n display: inline;\n `;\n\n const typographyGutterBottom: string = css`\n margin-bottom: ${theme.spacing.unit}px;\n `;\n\n const typographyH1: string = css`\n font-size: ${theme.vars.typography.fontSizes['3xl']};\n font-weight: 600;\n line-height: 1.235;\n letter-spacing: -0.00735em;\n `;\n\n const typographyH2: string = css`\n font-size: ${theme.vars.typography.fontSizes['2xl']};\n font-weight: 600;\n line-height: 1.334;\n letter-spacing: 0em;\n `;\n\n const typographyH3: string = css`\n font-size: ${theme.vars.typography.fontSizes.xl};\n font-weight: 600;\n line-height: 1.6;\n letter-spacing: 0.0075em;\n `;\n\n const typographyH4: string = css`\n font-size: ${theme.vars.typography.fontSizes.lg};\n font-weight: 600;\n line-height: 1.5;\n letter-spacing: 0.00938em;\n `;\n\n const typographyH5: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 600;\n line-height: 1.334;\n letter-spacing: 0em;\n `;\n\n const typographyH6: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.6;\n letter-spacing: 0.0075em;\n `;\n\n const typographySubtitle1: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 400;\n line-height: 1.75;\n letter-spacing: 0.00938em;\n `;\n\n const typographySubtitle2: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.57;\n letter-spacing: 0.00714em;\n `;\n\n const typographyBody1: string = css`\n font-size: ${theme.vars.typography.fontSizes.md};\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: 0.00938em;\n `;\n\n const typographyBody2: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 400;\n line-height: 1.43;\n letter-spacing: 0.01071em;\n `;\n\n const typographyCaption: string = css`\n font-size: ${theme.vars.typography.fontSizes.xs};\n font-weight: 400;\n line-height: 1.66;\n letter-spacing: 0.03333em;\n `;\n\n const typographyOverline: string = css`\n font-size: ${theme.vars.typography.fontSizes.xs};\n font-weight: 400;\n line-height: 2.66;\n letter-spacing: 0.08333em;\n text-transform: uppercase;\n `;\n\n const typographyButton: string = css`\n font-size: ${theme.vars.typography.fontSizes.sm};\n font-weight: 500;\n line-height: 1.75;\n letter-spacing: 0.02857em;\n text-transform: uppercase;\n `;\n\n return {\n typography,\n typographyBody1,\n typographyBody2,\n typographyButton,\n typographyCaption,\n typographyGutterBottom,\n typographyH1,\n typographyH2,\n typographyH3,\n typographyH4,\n typographyH5,\n typographyH6,\n typographyInline,\n typographyNoWrap,\n typographyOverline,\n typographySubtitle1,\n typographySubtitle2,\n };\n }, [theme, colorScheme, variant, align, color, noWrap, inline, gutterBottom, fontWeight, fontSize, lineHeight]);\n\nexport default useStyles;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FlowMetadataResponse, HttpRequestConfig, HttpResponse, IdToken, OIDCDiscoveryApiResponse, SignInOptions, TokenExchangeRequestConfig, TokenResponse } from '@thunderid/browser';
1
+ import { FlowMetadataResponse, HttpRequestConfig, HttpResponse, IdToken, OIDCDiscoveryApiResponse, SignInOptions, TokenExchangeRequestConfig, TokenResponse, AttributeSchema } from '@thunderid/browser';
2
2
  import { Context } from 'react';
3
3
  import { ThunderIDReactConfig } from '../../models/config';
4
4
  import ThunderIDReactClient from '../../ThunderIDReactClient';
@@ -173,6 +173,10 @@ export type ThunderIDContextProps = {
173
173
  signUp: (...args: any[]) => Promise<any>;
174
174
  signUpUrl: string | undefined;
175
175
  user: any;
176
+ /**
177
+ * Schema metadata for the user type returned by GET /users/me/meta.
178
+ */
179
+ userSchema: Record<string, AttributeSchema> | null;
176
180
  /**
177
181
  * Vendor/brand namespace used to prefix storage keys, cookie names, and CSS class names.
178
182
  * Resolved from the `vendor` config option, defaulting to `'thunderid'`.
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ThunderID/ThunderIDContext.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,wBAAwB,EACxB,aAAa,EACb,0BAA0B,EAC1B,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,OAAO,EAAgB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,SAAS,EAAE;QACT;;;;WAIG;QACH,SAAS,EAAE,wBAAwB,GAAG,IAAI,CAAC;KAC5C,CAAC;IACF;;;;OAIG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IACzF;;;;;OAKG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC;;OAEG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC;;;;OAIG;IACH,IAAI,EAAE;QACJ;;;;WAIG;QACH,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E;;;;WAIG;QACH,UAAU,EAAE,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACpF,CAAC;IACF;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAElC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E;;OAEG;IACH,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1C;;;;;;;;;;;OAWG;IACH,2BAA2B,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IAElE;;;;OAIG;IACH,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IAEF;;;OAGG;IACH,cAAc,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAEvD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,IAAI,EAAE,GAAG,CAAC;IAEV;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AAE/C;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAsC1D,CAAC;AAIH,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ThunderIDContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ThunderID/ThunderIDContext.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ const ThunderIDContext = createContext({
40
40
  signUp: () => Promise.resolve({}),
41
41
  signUpUrl: void 0,
42
42
  user: null,
43
+ userSchema: null,
43
44
  vendor: VendorConstants.VENDOR_PREFIX
44
45
  });
45
46
  ThunderIDContext.displayName = "ThunderIDContext";
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDContext.js","names":["ThunderIDContext: Context<ThunderIDContextProps | null>"],"sources":["../../../src/contexts/ThunderID/ThunderIDContext.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n FlowMetadataResponse,\n HttpRequestConfig,\n HttpResponse,\n IdToken,\n OIDCDiscoveryApiResponse,\n SignInOptions,\n TokenExchangeRequestConfig,\n TokenResponse,\n VendorConstants,\n} from '@thunderid/browser';\nimport {Context, createContext} from 'react';\nimport {ThunderIDReactConfig} from '../../models/config';\nimport ThunderIDReactClient from '../../ThunderIDReactClient';\n\n/**\n * Props interface of {@link ThunderIDContext}\n */\nexport type ThunderIDContextProps = {\n afterSignInUrl: string | undefined;\n applicationId: string | undefined;\n baseUrl: string | undefined;\n clientId: string | undefined;\n /**\n * Optional endpoint URL overrides from the client config. Used to resolve resource-server\n * endpoints (e.g. flow/user-management) independently of `baseUrl` — see `resolveResourceEndpoint`.\n */\n endpoints?: ThunderIDReactConfig['endpoints'];\n preferences?: ThunderIDReactConfig['preferences'];\n scopes: string | string[] | undefined;\n /**\n * OIDC discovery data.\n */\n discovery: {\n /**\n * The response from the `.well-known/openid-configuration` endpoint.\n * Contains server capabilities, supported endpoints, and metadata.\n * `null` while loading or when discovery has not been fetched.\n */\n wellKnown: OIDCDiscoveryApiResponse | null;\n };\n /**\n * Swaps the current access token with a new one based on the provided configuration (with a grant type).\n * @param config - Configuration for the token exchange request.\n * @returns A promise that resolves to the token response or the raw response.\n */\n exchangeToken: (config: TokenExchangeRequestConfig) => Promise<TokenResponse | Response>;\n /**\n * Retrieves the access token stored in the storage.\n * This function retrieves the access token and returns it.\n * @remarks This does not work in the `webWorker` or any other worker environment.\n * @returns A promise that resolves to the access token.\n */\n getAccessToken: () => Promise<string>;\n /**\n * Function to retrieve the decoded ID token.\n * This function decodes the ID token and returns its payload.\n * It can be used to access user claims and other information contained in the ID token.\n *\n * @returns A promise that resolves to the decoded ID token payload.\n */\n getDecodedIdToken: () => Promise<IdToken>;\n /**\n * Function to retrieve the ID token.\n * This function retrieves the ID token and returns it.\n *\n * @returns A promise that resolves to the ID token.\n */\n getIdToken: () => Promise<string>;\n /**\n * Returns the underlying StorageManager instance for reading and writing SDK-managed storage.\n */\n getStorageManager: () => Promise<any>;\n /**\n * HTTP request function to make API calls.\n * @param requestConfig - Configuration for the HTTP request.\n * @returns A promise that resolves to the HTTP response.\n */\n http: {\n /**\n * Makes an HTTP request using the provided configuration.\n * @param requestConfig - Configuration for the HTTP request.\n * @returns A promise that resolves to the HTTP response.\n */\n request: (requestConfig?: HttpRequestConfig) => Promise<HttpResponse<any>>;\n /**\n * Makes multiple HTTP requests based on the provided configuration.\n * @param requestConfigs - Set of configurations for the HTTP requests.\n * @returns A promise that resolves to an array of HTTP responses.\n */\n requestAll: (requestConfigs?: HttpRequestConfig[]) => Promise<HttpResponse<any>[]>;\n };\n /**\n * Instance ID for multi-instance support.\n */\n instanceId: number;\n isInitialized: boolean;\n /**\n * Flag indicating whether the SDK is working in the background.\n */\n isLoading: boolean;\n /**\n * Flag indicating whether flow metadata is currently being fetched.\n */\n isMetaLoading: boolean;\n /**\n * Flag indicating whether the user is signed in or not.\n */\n isSignedIn: boolean;\n\n /**\n * Flow metadata returned by `GET /flow/meta` (v2 platform only).\n * `null` while loading or when `resolveFromMeta` is disabled.\n */\n meta: FlowMetadataResponse | null;\n\n organizationHandle: string | undefined;\n\n /**\n * Re-initializes the client with a new configuration.\n *\n * @remarks\n * This can be partial configuration to update only specific fields.\n *\n * @param config - New configuration to re-initialize the client with.\n * @returns Promise resolving to boolean indicating success.\n */\n reInitialize: (config: Partial<ThunderIDReactConfig>) => Promise<boolean>;\n\n /**\n * Recovery function to initiate the account/password recovery flow.\n */\n recover: (...args: any[]) => Promise<any>;\n\n /**\n * Resolves `{{ t(key) }}` and `{{ meta(path) }}` template expressions in a string,\n * using the current i18n translation function and flow metadata from context.\n *\n * Useful in render-props patterns where consumers need to expand template strings\n * that come from the server (e.g. component labels, placeholders, headings).\n *\n * @example\n * const {resolveFlowTemplateLiterals} = useThunderID();\n * resolveFlowTemplateLiterals('{{ t(signin.heading.label) }}') // → 'Sign In'\n * resolveFlowTemplateLiterals('Login to {{ meta(application.name) }}') // → 'Login to My App'\n */\n resolveFlowTemplateLiterals: (text: string | undefined) => string;\n\n /**\n * Sign-in function to initiate the authentication process.\n * @remark This is the programmatic version of the `SignInButton` component.\n * TODO: Fix the types.\n */\n signIn: (...args: any) => Promise<any>;\n\n /**\n * Optional additional parameters to be sent in the sign-in request.\n * This can include custom parameters that your authorization server supports.\n * These parameters will be included in the authorization request sent to the server.\n * If not provided, no additional parameters will be sent.\n *\n * @example\n * signInOptions: { prompt: \"login\", fidp: \"OrganizationSSO\" }\n */\n signInOptions?: SignInOptions;\n\n /**\n * Optional token request configuration. params are appended to the token endpoint POST body.\n *\n * @example\n * tokenRequest: { params: { resource: \"https://api.example.com\" } }\n */\n tokenRequest?: {\n params?: Record<string, unknown>;\n };\n\n /**\n * Silent sign-in function to re-authenticate the user without user interaction.\n * @remark This is the programmatic version of the `SilentSignIn` component.\n */\n signInSilently: ThunderIDReactClient['signInSilently'];\n\n signInUrl: string | undefined;\n /**\n * Sign-out function to terminate the authentication session.\n * @remark This is the programmatic version of the `SignOutButton` component.\n * FIXME: Fix the types.\n */\n signOut: any;\n\n /**\n * Sign-up function to initiate the registration process.\n * @remark This is the programmatic version of the `SignUpButton` component.\n */\n signUp: (...args: any[]) => Promise<any>;\n\n signUpUrl: string | undefined;\n\n user: any;\n\n /**\n * Vendor/brand namespace used to prefix storage keys, cookie names, and CSS class names.\n * Resolved from the `vendor` config option, defaulting to `'thunderid'`.\n */\n vendor: string;\n} & Pick<ThunderIDReactClient, 'clearSession'>;\n\n/**\n * Context object for managing the Authentication flow builder core context.\n */\nconst ThunderIDContext: Context<ThunderIDContextProps | null> = createContext<null | ThunderIDContextProps>({\n afterSignInUrl: undefined,\n applicationId: undefined,\n baseUrl: undefined,\n clearSession: () => {},\n clientId: undefined,\n preferences: undefined,\n scopes: undefined,\n discovery: {\n wellKnown: null,\n },\n exchangeToken: null as unknown as ThunderIDContextProps['exchangeToken'],\n getAccessToken: null as unknown as ThunderIDContextProps['getAccessToken'],\n getDecodedIdToken: null as unknown as ThunderIDContextProps['getDecodedIdToken'],\n getIdToken: null as unknown as ThunderIDContextProps['getIdToken'],\n getStorageManager: () => Promise.resolve(null),\n http: {\n request: () => null as unknown as Promise<HttpResponse<any>>,\n requestAll: () => null as unknown as Promise<HttpResponse<any>[]>,\n },\n instanceId: 0,\n isInitialized: false,\n isLoading: true,\n isMetaLoading: false,\n isSignedIn: false,\n meta: null,\n organizationHandle: undefined,\n reInitialize: null as unknown as ThunderIDContextProps['reInitialize'],\n recover: () => Promise.resolve({} as any),\n resolveFlowTemplateLiterals: (text: string | undefined) => text ?? '',\n signIn: () => Promise.resolve({} as any),\n signInSilently: () => Promise.resolve({} as any),\n signInUrl: undefined,\n signOut: () => Promise.resolve({} as any),\n signUp: () => Promise.resolve({} as any),\n signUpUrl: undefined,\n user: null,\n vendor: VendorConstants.VENDOR_PREFIX,\n});\n\nThunderIDContext.displayName = 'ThunderIDContext';\n\nexport default ThunderIDContext;\n"],"mappings":";;;;;;;AAqNA,MAAMA,mBAA0D,cAA4C;CAC1G,gBAAgB;CAChB,eAAe;CACf,SAAS;CACT,oBAAoB;CACpB,UAAU;CACV,aAAa;CACb,QAAQ;CACR,WAAW,EACT,WAAW,MACZ;CACD,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,YAAY;CACZ,yBAAyB,QAAQ,QAAQ,KAAK;CAC9C,MAAM;EACJ,eAAe;EACf,kBAAkB;EACnB;CACD,YAAY;CACZ,eAAe;CACf,WAAW;CACX,eAAe;CACf,YAAY;CACZ,MAAM;CACN,oBAAoB;CACpB,cAAc;CACd,eAAe,QAAQ,QAAQ,EAAE,CAAQ;CACzC,8BAA8B,SAA6B,QAAQ;CACnE,cAAc,QAAQ,QAAQ,EAAE,CAAQ;CACxC,sBAAsB,QAAQ,QAAQ,EAAE,CAAQ;CAChD,WAAW;CACX,eAAe,QAAQ,QAAQ,EAAE,CAAQ;CACzC,cAAc,QAAQ,QAAQ,EAAE,CAAQ;CACxC,WAAW;CACX,MAAM;CACN,QAAQ,gBAAgB;CACzB,CAAC;AAEF,iBAAiB,cAAc;AAE/B,+BAAe"}
1
+ {"version":3,"file":"ThunderIDContext.js","names":["ThunderIDContext: Context<ThunderIDContextProps | null>"],"sources":["../../../src/contexts/ThunderID/ThunderIDContext.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n FlowMetadataResponse,\n HttpRequestConfig,\n HttpResponse,\n IdToken,\n OIDCDiscoveryApiResponse,\n SignInOptions,\n TokenExchangeRequestConfig,\n TokenResponse,\n VendorConstants,\n AttributeSchema,\n} from '@thunderid/browser';\nimport {Context, createContext} from 'react';\nimport {ThunderIDReactConfig} from '../../models/config';\nimport ThunderIDReactClient from '../../ThunderIDReactClient';\n\n/**\n * Props interface of {@link ThunderIDContext}\n */\nexport type ThunderIDContextProps = {\n afterSignInUrl: string | undefined;\n applicationId: string | undefined;\n baseUrl: string | undefined;\n clientId: string | undefined;\n /**\n * Optional endpoint URL overrides from the client config. Used to resolve resource-server\n * endpoints (e.g. flow/user-management) independently of `baseUrl` — see `resolveResourceEndpoint`.\n */\n endpoints?: ThunderIDReactConfig['endpoints'];\n preferences?: ThunderIDReactConfig['preferences'];\n scopes: string | string[] | undefined;\n /**\n * OIDC discovery data.\n */\n discovery: {\n /**\n * The response from the `.well-known/openid-configuration` endpoint.\n * Contains server capabilities, supported endpoints, and metadata.\n * `null` while loading or when discovery has not been fetched.\n */\n wellKnown: OIDCDiscoveryApiResponse | null;\n };\n /**\n * Swaps the current access token with a new one based on the provided configuration (with a grant type).\n * @param config - Configuration for the token exchange request.\n * @returns A promise that resolves to the token response or the raw response.\n */\n exchangeToken: (config: TokenExchangeRequestConfig) => Promise<TokenResponse | Response>;\n /**\n * Retrieves the access token stored in the storage.\n * This function retrieves the access token and returns it.\n * @remarks This does not work in the `webWorker` or any other worker environment.\n * @returns A promise that resolves to the access token.\n */\n getAccessToken: () => Promise<string>;\n /**\n * Function to retrieve the decoded ID token.\n * This function decodes the ID token and returns its payload.\n * It can be used to access user claims and other information contained in the ID token.\n *\n * @returns A promise that resolves to the decoded ID token payload.\n */\n getDecodedIdToken: () => Promise<IdToken>;\n /**\n * Function to retrieve the ID token.\n * This function retrieves the ID token and returns it.\n *\n * @returns A promise that resolves to the ID token.\n */\n getIdToken: () => Promise<string>;\n /**\n * Returns the underlying StorageManager instance for reading and writing SDK-managed storage.\n */\n getStorageManager: () => Promise<any>;\n /**\n * HTTP request function to make API calls.\n * @param requestConfig - Configuration for the HTTP request.\n * @returns A promise that resolves to the HTTP response.\n */\n http: {\n /**\n * Makes an HTTP request using the provided configuration.\n * @param requestConfig - Configuration for the HTTP request.\n * @returns A promise that resolves to the HTTP response.\n */\n request: (requestConfig?: HttpRequestConfig) => Promise<HttpResponse<any>>;\n /**\n * Makes multiple HTTP requests based on the provided configuration.\n * @param requestConfigs - Set of configurations for the HTTP requests.\n * @returns A promise that resolves to an array of HTTP responses.\n */\n requestAll: (requestConfigs?: HttpRequestConfig[]) => Promise<HttpResponse<any>[]>;\n };\n /**\n * Instance ID for multi-instance support.\n */\n instanceId: number;\n isInitialized: boolean;\n /**\n * Flag indicating whether the SDK is working in the background.\n */\n isLoading: boolean;\n /**\n * Flag indicating whether flow metadata is currently being fetched.\n */\n isMetaLoading: boolean;\n /**\n * Flag indicating whether the user is signed in or not.\n */\n isSignedIn: boolean;\n\n /**\n * Flow metadata returned by `GET /flow/meta` (v2 platform only).\n * `null` while loading or when `resolveFromMeta` is disabled.\n */\n meta: FlowMetadataResponse | null;\n\n organizationHandle: string | undefined;\n\n /**\n * Re-initializes the client with a new configuration.\n *\n * @remarks\n * This can be partial configuration to update only specific fields.\n *\n * @param config - New configuration to re-initialize the client with.\n * @returns Promise resolving to boolean indicating success.\n */\n reInitialize: (config: Partial<ThunderIDReactConfig>) => Promise<boolean>;\n\n /**\n * Recovery function to initiate the account/password recovery flow.\n */\n recover: (...args: any[]) => Promise<any>;\n\n /**\n * Resolves `{{ t(key) }}` and `{{ meta(path) }}` template expressions in a string,\n * using the current i18n translation function and flow metadata from context.\n *\n * Useful in render-props patterns where consumers need to expand template strings\n * that come from the server (e.g. component labels, placeholders, headings).\n *\n * @example\n * const {resolveFlowTemplateLiterals} = useThunderID();\n * resolveFlowTemplateLiterals('{{ t(signin.heading.label) }}') // → 'Sign In'\n * resolveFlowTemplateLiterals('Login to {{ meta(application.name) }}') // → 'Login to My App'\n */\n resolveFlowTemplateLiterals: (text: string | undefined) => string;\n\n /**\n * Sign-in function to initiate the authentication process.\n * @remark This is the programmatic version of the `SignInButton` component.\n * TODO: Fix the types.\n */\n signIn: (...args: any) => Promise<any>;\n\n /**\n * Optional additional parameters to be sent in the sign-in request.\n * This can include custom parameters that your authorization server supports.\n * These parameters will be included in the authorization request sent to the server.\n * If not provided, no additional parameters will be sent.\n *\n * @example\n * signInOptions: { prompt: \"login\", fidp: \"OrganizationSSO\" }\n */\n signInOptions?: SignInOptions;\n\n /**\n * Optional token request configuration. params are appended to the token endpoint POST body.\n *\n * @example\n * tokenRequest: { params: { resource: \"https://api.example.com\" } }\n */\n tokenRequest?: {\n params?: Record<string, unknown>;\n };\n\n /**\n * Silent sign-in function to re-authenticate the user without user interaction.\n * @remark This is the programmatic version of the `SilentSignIn` component.\n */\n signInSilently: ThunderIDReactClient['signInSilently'];\n\n signInUrl: string | undefined;\n /**\n * Sign-out function to terminate the authentication session.\n * @remark This is the programmatic version of the `SignOutButton` component.\n * FIXME: Fix the types.\n */\n signOut: any;\n\n /**\n * Sign-up function to initiate the registration process.\n * @remark This is the programmatic version of the `SignUpButton` component.\n */\n signUp: (...args: any[]) => Promise<any>;\n\n signUpUrl: string | undefined;\n\n user: any;\n\n /**\n * Schema metadata for the user type returned by GET /users/me/meta.\n */\n userSchema: Record<string, AttributeSchema> | null;\n\n /**\n * Vendor/brand namespace used to prefix storage keys, cookie names, and CSS class names.\n * Resolved from the `vendor` config option, defaulting to `'thunderid'`.\n */\n vendor: string;\n} & Pick<ThunderIDReactClient, 'clearSession'>;\n\n/**\n * Context object for managing the Authentication flow builder core context.\n */\nconst ThunderIDContext: Context<ThunderIDContextProps | null> = createContext<null | ThunderIDContextProps>({\n afterSignInUrl: undefined,\n applicationId: undefined,\n baseUrl: undefined,\n clearSession: () => {},\n clientId: undefined,\n preferences: undefined,\n scopes: undefined,\n discovery: {\n wellKnown: null,\n },\n exchangeToken: null as unknown as ThunderIDContextProps['exchangeToken'],\n getAccessToken: null as unknown as ThunderIDContextProps['getAccessToken'],\n getDecodedIdToken: null as unknown as ThunderIDContextProps['getDecodedIdToken'],\n getIdToken: null as unknown as ThunderIDContextProps['getIdToken'],\n getStorageManager: () => Promise.resolve(null),\n http: {\n request: () => null as unknown as Promise<HttpResponse<any>>,\n requestAll: () => null as unknown as Promise<HttpResponse<any>[]>,\n },\n instanceId: 0,\n isInitialized: false,\n isLoading: true,\n isMetaLoading: false,\n isSignedIn: false,\n meta: null,\n organizationHandle: undefined,\n reInitialize: null as unknown as ThunderIDContextProps['reInitialize'],\n recover: () => Promise.resolve({} as any),\n resolveFlowTemplateLiterals: (text: string | undefined) => text ?? '',\n signIn: () => Promise.resolve({} as any),\n signInSilently: () => Promise.resolve({} as any),\n signInUrl: undefined,\n signOut: () => Promise.resolve({} as any),\n signUp: () => Promise.resolve({} as any),\n signUpUrl: undefined,\n user: null,\n userSchema: null,\n vendor: VendorConstants.VENDOR_PREFIX,\n});\n\nThunderIDContext.displayName = 'ThunderIDContext';\n\nexport default ThunderIDContext;\n"],"mappings":";;;;;;;AA2NA,MAAMA,mBAA0D,cAA4C;CAC1G,gBAAgB;CAChB,eAAe;CACf,SAAS;CACT,oBAAoB;CACpB,UAAU;CACV,aAAa;CACb,QAAQ;CACR,WAAW,EACT,WAAW,MACZ;CACD,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,YAAY;CACZ,yBAAyB,QAAQ,QAAQ,KAAK;CAC9C,MAAM;EACJ,eAAe;EACf,kBAAkB;EACnB;CACD,YAAY;CACZ,eAAe;CACf,WAAW;CACX,eAAe;CACf,YAAY;CACZ,MAAM;CACN,oBAAoB;CACpB,cAAc;CACd,eAAe,QAAQ,QAAQ,EAAE,CAAQ;CACzC,8BAA8B,SAA6B,QAAQ;CACnE,cAAc,QAAQ,QAAQ,EAAE,CAAQ;CACxC,sBAAsB,QAAQ,QAAQ,EAAE,CAAQ;CAChD,WAAW;CACX,eAAe,QAAQ,QAAQ,EAAE,CAAQ;CACzC,cAAc,QAAQ,QAAQ,EAAE,CAAQ;CACxC,WAAW;CACX,MAAM;CACN,YAAY;CACZ,QAAQ,gBAAgB;CACzB,CAAC;AAEF,iBAAiB,cAAc;AAE/B,+BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/ThunderID/ThunderIDProvider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAC,EAAE,EAAa,iBAAiB,EAAkE,MAAM,OAAO,CAAC;AAGxH,OAAO,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAezD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE1D,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAqgBpE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/ThunderID/ThunderIDProvider.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAC,EAAE,EAAa,iBAAiB,EAAkE,MAAM,OAAO,CAAC;AAGxH,OAAO,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAiBzD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE1D,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAsiBpE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}