@thunderid/react 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs +2 -3
  2. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -1
  3. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs +2 -3
  4. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -1
  5. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs +2 -3
  6. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -1
  7. package/dist/cjs/components/adapters/Consent.cjs +34 -27
  8. package/dist/cjs/components/adapters/Consent.cjs.map +1 -1
  9. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +7 -8
  10. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -1
  11. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs +8 -9
  12. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -1
  13. package/dist/cjs/components/adapters/ImageComponent.cjs +13 -9
  14. package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -1
  15. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +3 -4
  16. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -1
  17. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs +11 -12
  18. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -1
  19. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +12 -16
  20. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  21. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs +18 -15
  22. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -1
  23. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +5 -6
  24. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -1
  25. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs +25 -26
  26. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -1
  27. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs +10 -31
  28. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -1
  29. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs +41 -9
  30. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -1
  31. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +75 -71
  32. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  33. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs +9 -22
  34. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -1
  35. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs +22 -9
  36. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -1
  37. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +11 -12
  38. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  39. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +11 -16
  40. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  41. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs +32 -27
  42. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -1
  43. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +11 -12
  44. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  45. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs +25 -26
  46. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -1
  47. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs +6 -7
  48. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs.map +1 -1
  49. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs +9 -10
  50. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs.map +1 -1
  51. package/dist/cjs/components/primitives/Alert/Alert.cjs +6 -7
  52. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -1
  53. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs +10 -11
  54. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -1
  55. package/dist/cjs/components/primitives/Avatar/Avatar.cjs +5 -6
  56. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -1
  57. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs +7 -8
  58. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -1
  59. package/dist/cjs/components/primitives/Button/Button.cjs +8 -12
  60. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -1
  61. package/dist/cjs/components/primitives/Button/Button.styles.cjs +23 -24
  62. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -1
  63. package/dist/cjs/components/primitives/Card/Card.cjs +8 -9
  64. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -1
  65. package/dist/cjs/components/primitives/Card/Card.styles.cjs +12 -13
  66. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -1
  67. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +5 -6
  68. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -1
  69. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs +7 -8
  70. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -1
  71. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs +6 -7
  72. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -1
  73. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs +4 -5
  74. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -1
  75. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs +5 -6
  76. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -1
  77. package/dist/cjs/components/primitives/Dialog/Dialog.cjs +7 -8
  78. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -1
  79. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs +8 -9
  80. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -1
  81. package/dist/cjs/components/primitives/Divider/Divider.cjs +7 -8
  82. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -1
  83. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs +7 -8
  84. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -1
  85. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +3 -4
  86. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -1
  87. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs +4 -5
  88. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -1
  89. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs +3 -4
  90. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -1
  91. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs +6 -7
  92. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -1
  93. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs +19 -20
  94. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -1
  95. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs +16 -17
  96. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -1
  97. package/dist/cjs/components/primitives/Logo/Logo.cjs +3 -4
  98. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -1
  99. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs +9 -10
  100. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -1
  101. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs +11 -12
  102. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -1
  103. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs +10 -11
  104. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -1
  105. package/dist/cjs/components/primitives/OtpField/OtpField.cjs +4 -5
  106. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -1
  107. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs +5 -6
  108. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -1
  109. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs +3 -4
  110. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -1
  111. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs +4 -5
  112. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -1
  113. package/dist/cjs/components/primitives/Select/Select.cjs +3 -4
  114. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -1
  115. package/dist/cjs/components/primitives/Select/Select.styles.cjs +5 -6
  116. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -1
  117. package/dist/cjs/components/primitives/Spinner/Spinner.cjs +4 -6
  118. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -1
  119. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs +20 -12
  120. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -1
  121. package/dist/cjs/components/primitives/TextField/TextField.cjs +6 -7
  122. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -1
  123. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs +8 -9
  124. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -1
  125. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +7 -8
  126. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -1
  127. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs +7 -8
  128. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -1
  129. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs +4 -5
  130. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs.map +1 -1
  131. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs +13 -14
  132. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs.map +1 -1
  133. package/dist/cjs/components/primitives/Typography/Typography.cjs +2 -3
  134. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -1
  135. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs +18 -19
  136. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -1
  137. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +4 -1
  138. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  139. package/dist/cjs/styles/emotion.cjs +64 -0
  140. package/dist/cjs/styles/emotion.cjs.map +1 -0
  141. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts.map +1 -1
  142. package/dist/components/actions/SignInButton/BaseSignInButton.js +1 -1
  143. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -1
  144. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts.map +1 -1
  145. package/dist/components/actions/SignOutButton/BaseSignOutButton.js +1 -1
  146. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -1
  147. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts.map +1 -1
  148. package/dist/components/actions/SignUpButton/BaseSignUpButton.js +1 -1
  149. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -1
  150. package/dist/components/adapters/Consent.d.ts.map +1 -1
  151. package/dist/components/adapters/Consent.js +34 -27
  152. package/dist/components/adapters/Consent.js.map +1 -1
  153. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  154. package/dist/components/adapters/ConsentCheckboxList.js +1 -1
  155. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  156. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts.map +1 -1
  157. package/dist/components/adapters/ConsentCheckboxList.styles.js +1 -1
  158. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -1
  159. package/dist/components/adapters/ImageComponent.d.ts.map +1 -1
  160. package/dist/components/adapters/ImageComponent.js +13 -9
  161. package/dist/components/adapters/ImageComponent.js.map +1 -1
  162. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts.map +1 -1
  163. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  164. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -1
  165. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts.map +1 -1
  166. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js +1 -1
  167. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -1
  168. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  169. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +5 -8
  170. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  171. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts.map +1 -1
  172. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js +5 -1
  173. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -1
  174. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  175. package/dist/components/presentation/UserProfile/BaseUserProfile.js +1 -1
  176. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -1
  177. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  178. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js +1 -1
  179. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -1
  180. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -1
  181. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js +7 -27
  182. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -1
  183. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -1
  184. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js +38 -5
  185. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -1
  186. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  187. package/dist/components/presentation/auth/AuthOptionFactory.js +68 -63
  188. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  189. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -1
  190. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js +5 -17
  191. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -1
  192. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -1
  193. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js +19 -5
  194. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -1
  195. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  196. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +1 -1
  197. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  198. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  199. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +2 -6
  200. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  201. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts.map +1 -1
  202. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js +7 -1
  203. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -1
  204. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  205. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +1 -1
  206. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  207. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts.map +1 -1
  208. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js +1 -1
  209. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -1
  210. package/dist/components/primitives/AffixedField/AffixedField.d.ts.map +1 -1
  211. package/dist/components/primitives/AffixedField/AffixedField.js +1 -1
  212. package/dist/components/primitives/AffixedField/AffixedField.js.map +1 -1
  213. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts.map +1 -1
  214. package/dist/components/primitives/AffixedField/AffixedField.styles.js +1 -1
  215. package/dist/components/primitives/AffixedField/AffixedField.styles.js.map +1 -1
  216. package/dist/components/primitives/Alert/Alert.d.ts.map +1 -1
  217. package/dist/components/primitives/Alert/Alert.js +1 -1
  218. package/dist/components/primitives/Alert/Alert.js.map +1 -1
  219. package/dist/components/primitives/Alert/Alert.styles.d.ts.map +1 -1
  220. package/dist/components/primitives/Alert/Alert.styles.js +1 -1
  221. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -1
  222. package/dist/components/primitives/Avatar/Avatar.d.ts.map +1 -1
  223. package/dist/components/primitives/Avatar/Avatar.js +1 -1
  224. package/dist/components/primitives/Avatar/Avatar.js.map +1 -1
  225. package/dist/components/primitives/Avatar/Avatar.styles.d.ts.map +1 -1
  226. package/dist/components/primitives/Avatar/Avatar.styles.js +1 -1
  227. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -1
  228. package/dist/components/primitives/Button/Button.d.ts.map +1 -1
  229. package/dist/components/primitives/Button/Button.js +2 -5
  230. package/dist/components/primitives/Button/Button.js.map +1 -1
  231. package/dist/components/primitives/Button/Button.styles.d.ts.map +1 -1
  232. package/dist/components/primitives/Button/Button.styles.js +1 -1
  233. package/dist/components/primitives/Button/Button.styles.js.map +1 -1
  234. package/dist/components/primitives/Card/Card.d.ts.map +1 -1
  235. package/dist/components/primitives/Card/Card.js +1 -1
  236. package/dist/components/primitives/Card/Card.js.map +1 -1
  237. package/dist/components/primitives/Card/Card.styles.d.ts.map +1 -1
  238. package/dist/components/primitives/Card/Card.styles.js +1 -1
  239. package/dist/components/primitives/Card/Card.styles.js.map +1 -1
  240. package/dist/components/primitives/Checkbox/Checkbox.d.ts.map +1 -1
  241. package/dist/components/primitives/Checkbox/Checkbox.js +1 -1
  242. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -1
  243. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts.map +1 -1
  244. package/dist/components/primitives/Checkbox/Checkbox.styles.js +1 -1
  245. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -1
  246. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts.map +1 -1
  247. package/dist/components/primitives/CopyableText/CopyableText.styles.js +1 -1
  248. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -1
  249. package/dist/components/primitives/DatePicker/DatePicker.d.ts.map +1 -1
  250. package/dist/components/primitives/DatePicker/DatePicker.js +1 -1
  251. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -1
  252. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts.map +1 -1
  253. package/dist/components/primitives/DatePicker/DatePicker.styles.js +1 -1
  254. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -1
  255. package/dist/components/primitives/Dialog/Dialog.d.ts.map +1 -1
  256. package/dist/components/primitives/Dialog/Dialog.js +1 -1
  257. package/dist/components/primitives/Dialog/Dialog.js.map +1 -1
  258. package/dist/components/primitives/Dialog/Dialog.styles.d.ts.map +1 -1
  259. package/dist/components/primitives/Dialog/Dialog.styles.js +1 -1
  260. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -1
  261. package/dist/components/primitives/Divider/Divider.d.ts.map +1 -1
  262. package/dist/components/primitives/Divider/Divider.js +1 -1
  263. package/dist/components/primitives/Divider/Divider.js.map +1 -1
  264. package/dist/components/primitives/Divider/Divider.styles.d.ts.map +1 -1
  265. package/dist/components/primitives/Divider/Divider.styles.js +1 -1
  266. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -1
  267. package/dist/components/primitives/FormControl/FormControl.d.ts.map +1 -1
  268. package/dist/components/primitives/FormControl/FormControl.js +1 -1
  269. package/dist/components/primitives/FormControl/FormControl.js.map +1 -1
  270. package/dist/components/primitives/FormControl/FormControl.styles.d.ts.map +1 -1
  271. package/dist/components/primitives/FormControl/FormControl.styles.js +1 -1
  272. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -1
  273. package/dist/components/primitives/InputLabel/InputLabel.d.ts.map +1 -1
  274. package/dist/components/primitives/InputLabel/InputLabel.js +1 -1
  275. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -1
  276. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts.map +1 -1
  277. package/dist/components/primitives/InputLabel/InputLabel.styles.js +1 -1
  278. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -1
  279. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts.map +1 -1
  280. package/dist/components/primitives/KeyValueInput/KeyValueInput.js +1 -1
  281. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -1
  282. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts.map +1 -1
  283. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js +1 -1
  284. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -1
  285. package/dist/components/primitives/Logo/Logo.d.ts.map +1 -1
  286. package/dist/components/primitives/Logo/Logo.js +1 -1
  287. package/dist/components/primitives/Logo/Logo.js.map +1 -1
  288. package/dist/components/primitives/Logo/Logo.styles.d.ts.map +1 -1
  289. package/dist/components/primitives/Logo/Logo.styles.js +1 -1
  290. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -1
  291. package/dist/components/primitives/MultiInput/MultiInput.d.ts.map +1 -1
  292. package/dist/components/primitives/MultiInput/MultiInput.js +1 -1
  293. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -1
  294. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts.map +1 -1
  295. package/dist/components/primitives/MultiInput/MultiInput.styles.js +1 -1
  296. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -1
  297. package/dist/components/primitives/OtpField/OtpField.d.ts.map +1 -1
  298. package/dist/components/primitives/OtpField/OtpField.js +1 -1
  299. package/dist/components/primitives/OtpField/OtpField.js.map +1 -1
  300. package/dist/components/primitives/OtpField/OtpField.styles.d.ts.map +1 -1
  301. package/dist/components/primitives/OtpField/OtpField.styles.js +1 -1
  302. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -1
  303. package/dist/components/primitives/PasswordField/PasswordField.d.ts.map +1 -1
  304. package/dist/components/primitives/PasswordField/PasswordField.js +1 -1
  305. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -1
  306. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts.map +1 -1
  307. package/dist/components/primitives/PasswordField/PasswordField.styles.js +1 -1
  308. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -1
  309. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  310. package/dist/components/primitives/Select/Select.js +1 -1
  311. package/dist/components/primitives/Select/Select.js.map +1 -1
  312. package/dist/components/primitives/Select/Select.styles.d.ts.map +1 -1
  313. package/dist/components/primitives/Select/Select.styles.js +1 -1
  314. package/dist/components/primitives/Select/Select.styles.js.map +1 -1
  315. package/dist/components/primitives/Spinner/Spinner.d.ts +5 -3
  316. package/dist/components/primitives/Spinner/Spinner.d.ts.map +1 -1
  317. package/dist/components/primitives/Spinner/Spinner.js +4 -5
  318. package/dist/components/primitives/Spinner/Spinner.js.map +1 -1
  319. package/dist/components/primitives/Spinner/Spinner.styles.d.ts +4 -1
  320. package/dist/components/primitives/Spinner/Spinner.styles.d.ts.map +1 -1
  321. package/dist/components/primitives/Spinner/Spinner.styles.js +16 -7
  322. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -1
  323. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  324. package/dist/components/primitives/TextField/TextField.js +1 -1
  325. package/dist/components/primitives/TextField/TextField.js.map +1 -1
  326. package/dist/components/primitives/TextField/TextField.styles.d.ts.map +1 -1
  327. package/dist/components/primitives/TextField/TextField.styles.js +1 -1
  328. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -1
  329. package/dist/components/primitives/Toggle/Toggle.d.ts.map +1 -1
  330. package/dist/components/primitives/Toggle/Toggle.js +1 -1
  331. package/dist/components/primitives/Toggle/Toggle.js.map +1 -1
  332. package/dist/components/primitives/Toggle/Toggle.styles.d.ts.map +1 -1
  333. package/dist/components/primitives/Toggle/Toggle.styles.js +1 -1
  334. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -1
  335. package/dist/components/primitives/Tooltip/Tooltip.d.ts.map +1 -1
  336. package/dist/components/primitives/Tooltip/Tooltip.js +1 -1
  337. package/dist/components/primitives/Tooltip/Tooltip.js.map +1 -1
  338. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts.map +1 -1
  339. package/dist/components/primitives/Tooltip/Tooltip.styles.js +1 -1
  340. package/dist/components/primitives/Tooltip/Tooltip.styles.js.map +1 -1
  341. package/dist/components/primitives/Typography/Typography.d.ts.map +1 -1
  342. package/dist/components/primitives/Typography/Typography.js +1 -1
  343. package/dist/components/primitives/Typography/Typography.js.map +1 -1
  344. package/dist/components/primitives/Typography/Typography.styles.d.ts.map +1 -1
  345. package/dist/components/primitives/Typography/Typography.styles.js +1 -1
  346. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -1
  347. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  348. package/dist/contexts/ThunderID/ThunderIDProvider.js +4 -1
  349. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  350. package/dist/models/config.d.ts +10 -1
  351. package/dist/models/config.d.ts.map +1 -1
  352. package/dist/styles/emotion.d.ts +36 -0
  353. package/dist/styles/emotion.d.ts.map +1 -0
  354. package/dist/styles/emotion.js +58 -0
  355. package/dist/styles/emotion.js.map +1 -0
  356. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  const require_useTheme = require('../../../contexts/Theme/useTheme.cjs');
3
4
  const require_Plus = require('../Icons/Plus.cjs');
4
5
  const require_X = require('../Icons/X.cjs');
@@ -10,8 +11,6 @@ let react = require("react");
10
11
  react = require_rolldown_runtime.__toESM(react);
11
12
  let react_jsx_runtime = require("react/jsx-runtime");
12
13
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
- let __emotion_css = require("@emotion/css");
14
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
15
14
 
16
15
  //#region src/components/primitives/KeyValueInput/KeyValueInput.tsx
17
16
  /**
@@ -99,41 +98,41 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
99
98
  const isAddDisabled = disabled || readOnly || !canAddMore || !newKey.trim() || !newValue.trim();
100
99
  const renderReadOnlyContent = () => {
101
100
  if (pairs.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
102
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "empty-state")), styles["emptyState"]),
101
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "empty-state")), styles["emptyState"]),
103
102
  children: "No attributes defined"
104
103
  });
105
104
  return pairs.map((pair, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
106
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-pair")), styles["readOnlyPair"]),
105
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-pair")), styles["readOnlyPair"]),
107
106
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
108
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-key")), styles["readOnlyKey"]),
107
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-key")), styles["readOnlyKey"]),
109
108
  children: [pair.key, ":"]
110
109
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
111
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-value")), styles["readOnlyValue"]),
110
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "readonly-value")), styles["readOnlyValue"]),
112
111
  children: pair.value
113
112
  })]
114
113
  }, `${pair.key}-${index}`));
115
114
  };
116
115
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
117
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input")), styles["container"], className),
116
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input")), styles["container"], className),
118
117
  children: [
119
118
  label && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
120
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "label")), styles["label"]),
119
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "label")), styles["label"]),
121
120
  children: [label, required && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
122
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "required")), styles["requiredIndicator"]),
121
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "required")), styles["requiredIndicator"]),
123
122
  children: " *"
124
123
  })]
125
124
  }),
126
125
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
127
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pairs-list")), styles["pairsList"]),
126
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pairs-list")), styles["pairsList"]),
128
127
  children: [readOnly ? renderReadOnlyContent() : pairs.map((pair, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
129
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-row")), styles["pairRow"]),
128
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-row")), styles["pairRow"]),
130
129
  children: [
131
130
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
132
131
  placeholder: keyPlaceholder,
133
132
  value: pair.key,
134
133
  onChange: (e) => handleUpdatePair(index, "key", e.target.value),
135
134
  disabled: disabled || readOnly,
136
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
135
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
137
136
  "aria-label": `${keyLabel} ${index + 1}`
138
137
  }),
139
138
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
@@ -141,14 +140,14 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
141
140
  value: pair.value,
142
141
  onChange: (e) => handleUpdatePair(index, "value", e.target.value),
143
142
  disabled: disabled || readOnly,
144
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
143
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
145
144
  "aria-label": `${valueLabel} ${index + 1}`
146
145
  }),
147
146
  !readOnly && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
148
147
  type: "button",
149
148
  onClick: () => handleRemovePair(index),
150
149
  disabled,
151
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "remove-button")), styles["removeButton"]),
150
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "remove-button")), styles["removeButton"]),
152
151
  "aria-label": `${removeButtonText} ${pair.key}`,
153
152
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_X.default, {
154
153
  width: 16,
@@ -157,14 +156,14 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
157
156
  })
158
157
  ]
159
158
  }, `${pair.key}-${index}`)), !readOnly && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
160
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "add-row")), styles["addRow"]),
159
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "add-row")), styles["addRow"]),
161
160
  children: [
162
161
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
163
162
  placeholder: keyPlaceholder,
164
163
  value: newKey,
165
164
  onChange: (e) => setNewKey(e.target.value),
166
165
  disabled,
167
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
166
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
168
167
  "aria-label": "New key"
169
168
  }),
170
169
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
@@ -172,7 +171,7 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
172
171
  value: newValue,
173
172
  onChange: (e) => setNewValue(e.target.value),
174
173
  disabled,
175
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
174
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "pair-input")), styles["pairInput"]),
176
175
  "aria-label": "New value",
177
176
  onKeyPress: (e) => {
178
177
  if (e.key === "Enter" && !isAddDisabled) handleAddPair();
@@ -182,7 +181,7 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
182
181
  type: "button",
183
182
  onClick: handleAddPair,
184
183
  disabled: isAddDisabled,
185
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "add-button")), styles["addButton"]),
184
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "add-button")), styles["addButton"]),
186
185
  "aria-label": "Add new key-value pair",
187
186
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Plus.default, {
188
187
  width: 16,
@@ -193,11 +192,11 @@ const KeyValueInput = ({ className = "", disabled = false, error, helperText, ke
193
192
  })]
194
193
  }),
195
194
  (helperText || error) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
196
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "helper-text")), styles["helperText"]),
195
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "helper-text")), styles["helperText"]),
197
196
  children: error || helperText
198
197
  }),
199
198
  maxPairs && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
200
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "counter")), styles["counterText"]),
199
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("key-value-input", "counter")), styles["counterText"]),
201
200
  children: [
202
201
  pairs.length,
203
202
  " of ",
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueInput.cjs","names":["KeyValueInput: FC<KeyValueInputProps>","useTheme","styles: Record<string, string>","useStyles","handleAddPair: ReturnType<typeof useCallback>","newPair: KeyValuePair","updatedPairs: KeyValuePair[]","handleRemovePair: ReturnType<typeof useCallback>","pairToRemove: KeyValuePair","handleUpdatePair: ReturnType<typeof useCallback>","canAddMore: boolean","isAddDisabled: boolean","TextField","X","Plus"],"sources":["../../../../../src/components/primitives/KeyValueInput/KeyValueInput.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 {ChangeEvent, FC, KeyboardEvent, MouseEventHandler, ReactElement, useState, useCallback} from 'react';\nimport useStyles from './KeyValueInput.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {Plus, X} from '../Icons';\nimport TextField from '../TextField/TextField';\n\nexport interface KeyValuePair {\n key: string;\n value: string;\n}\n\nexport interface KeyValueInputProps {\n /**\n * CSS class name for styling the component.\n */\n className?: string;\n\n /**\n * Whether the input is disabled.\n */\n disabled?: boolean;\n\n /**\n * Error message to display.\n */\n error?: string;\n\n /**\n * Help text to display below the input.\n */\n helperText?: string;\n\n /**\n * Label for the key input field.\n */\n keyLabel?: string;\n\n /**\n * Placeholder text for the key input field.\n */\n keyPlaceholder?: string;\n\n /**\n * Label for the component.\n */\n label?: string;\n\n /**\n * Maximum number of key-value pairs allowed.\n */\n maxPairs?: number;\n /**\n * Callback fired when a pair is added.\n */\n onAdd?: (pair: KeyValuePair) => void;\n\n /**\n * Callback fired when the key-value pairs change.\n */\n onChange?: (pairs: KeyValuePair[]) => void;\n\n /**\n * Callback fired when a pair is removed.\n */\n onRemove?: (pair: KeyValuePair, index: number) => void;\n\n /**\n * Whether the component is in read-only mode.\n */\n readOnly?: boolean;\n\n /**\n * Text for the remove button.\n */\n removeButtonText?: string;\n\n /**\n * Whether the component is required.\n */\n required?: boolean;\n\n /**\n * Current key-value pairs.\n */\n value?: Record<string, any> | KeyValuePair[];\n\n /**\n * Label for the value input field.\n */\n valueLabel?: string;\n\n /**\n * Placeholder text for the value input field.\n */\n valuePlaceholder?: string;\n}\n\n/**\n * KeyValueInput component allows users to manage key-value pairs with add/remove functionality.\n * It provides a user-friendly interface for editing organization attributes or similar data structures.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <KeyValueInput\n * label=\"Organization Attributes\"\n * onChange={(pairs) => console.log(pairs)}\n * />\n *\n * // With initial values\n * <KeyValueInput\n * label=\"Organization Attributes\"\n * value={{department: 'IT', location: 'New York'}}\n * onChange={(pairs) => console.log(pairs)}\n * />\n *\n * // With add/remove callbacks\n * <KeyValueInput\n * label=\"Custom Attributes\"\n * value={attributes}\n * onChange={(pairs) => setAttributes(pairs)}\n * onAdd={(pair) => console.log('Added:', pair)}\n * onRemove={(pair, index) => console.log('Removed:', pair, 'at index:', index)}\n * />\n * ```\n */\nconst KeyValueInput: FC<KeyValueInputProps> = ({\n className = '',\n disabled = false,\n error,\n helperText,\n keyLabel = 'Key',\n keyPlaceholder = 'Enter key',\n label,\n maxPairs,\n onChange,\n onAdd,\n onRemove,\n readOnly = false,\n removeButtonText = 'Remove',\n required = false,\n value = {},\n valueLabel = 'Value',\n valuePlaceholder = 'Enter value',\n}: KeyValueInputProps): ReactElement => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme, disabled, readOnly, !!error);\n\n // Convert value to array format\n const initialPairs: KeyValuePair[] = Array.isArray(value)\n ? value\n : Object.entries(value).map(([key, val]: [string, any]) => ({key, value: String(val)}));\n\n const [pairs, setPairs] = useState<KeyValuePair[]>(initialPairs);\n const [newKey, setNewKey] = useState('');\n const [newValue, setNewValue] = useState('');\n\n const handleAddPair: ReturnType<typeof useCallback> = useCallback(() => {\n if (!newKey.trim() || !newValue.trim()) return;\n if (maxPairs && pairs.length >= maxPairs) return;\n\n const newPair: KeyValuePair = {\n key: newKey.trim(),\n value: newValue.trim(),\n };\n\n const updatedPairs: KeyValuePair[] = [...pairs, newPair];\n setPairs(updatedPairs);\n setNewKey('');\n setNewValue('');\n\n if (onChange) {\n onChange(updatedPairs);\n }\n\n if (onAdd) {\n onAdd(newPair);\n }\n }, [newKey, newValue, pairs, maxPairs, onChange, onAdd]);\n\n const handleRemovePair: ReturnType<typeof useCallback> = useCallback(\n (index: number) => {\n const pairToRemove: KeyValuePair = pairs[index];\n const updatedPairs: KeyValuePair[] = pairs.filter((_: KeyValuePair, i: number) => i !== index);\n setPairs(updatedPairs);\n\n if (onChange) {\n onChange(updatedPairs);\n }\n\n if (onRemove) {\n onRemove(pairToRemove, index);\n }\n },\n [pairs, onChange, onRemove],\n );\n\n const handleUpdatePair: ReturnType<typeof useCallback> = useCallback(\n (index: number, field: 'key' | 'value', newVal: string) => {\n const updatedPairs: KeyValuePair[] = pairs.map((pair: KeyValuePair, i: number) => {\n if (i === index) {\n return {...pair, [field]: newVal};\n }\n return pair;\n });\n setPairs(updatedPairs);\n\n if (onChange) {\n onChange(updatedPairs);\n }\n },\n [pairs, onChange],\n );\n\n const canAddMore: boolean = !maxPairs || pairs.length < maxPairs;\n const isAddDisabled: boolean = disabled || readOnly || !canAddMore || !newKey.trim() || !newValue.trim();\n\n const renderReadOnlyContent = (): ReactElement | ReactElement[] => {\n if (pairs.length === 0) {\n return (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'empty-state')), styles['emptyState'])}>\n No attributes defined\n </div>\n );\n }\n\n return pairs.map((pair: KeyValuePair, index: number) => (\n <div\n key={`${pair.key}-${index}`}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-pair')), styles['readOnlyPair'])}\n >\n <span className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-key')), styles['readOnlyKey'])}>\n {pair.key}:\n </span>\n <span\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-value')), styles['readOnlyValue'])}\n >\n {pair.value}\n </span>\n </div>\n ));\n };\n\n return (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input')), styles['container'], className)}>\n {label && (\n <label className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'label')), styles['label'])}>\n {label}\n {required && (\n <span\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'required')), styles['requiredIndicator'])}\n >\n {' *'}\n </span>\n )}\n </label>\n )}\n\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pairs-list')), styles['pairsList'])}>\n {readOnly\n ? renderReadOnlyContent()\n : pairs.map((pair: KeyValuePair, index: number) => (\n <div\n key={`${pair.key}-${index}`}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-row')), styles['pairRow'])}\n >\n <TextField\n placeholder={keyPlaceholder}\n value={pair.key}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleUpdatePair(index, 'key', e.target.value)}\n disabled={disabled || readOnly}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label={`${keyLabel} ${index + 1}`}\n />\n <TextField\n placeholder={valuePlaceholder}\n value={pair.value}\n onChange={(e: ChangeEvent<HTMLInputElement>): void =>\n handleUpdatePair(index, 'value', e.target.value)\n }\n disabled={disabled || readOnly}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label={`${valueLabel} ${index + 1}`}\n />\n {!readOnly && (\n <button\n type=\"button\"\n onClick={(): void => handleRemovePair(index)}\n disabled={disabled}\n className={cx(\n withVendorCSSClassPrefix(bem('key-value-input', 'remove-button')),\n styles['removeButton'],\n )}\n aria-label={`${removeButtonText} ${pair.key}`}\n >\n <X width={16} height={16} />\n </button>\n )}\n </div>\n ))}\n\n {!readOnly && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'add-row')), styles['addRow'])}>\n <TextField\n placeholder={keyPlaceholder}\n value={newKey}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => setNewKey(e.target.value)}\n disabled={disabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label=\"New key\"\n />\n <TextField\n placeholder={valuePlaceholder}\n value={newValue}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => setNewValue(e.target.value)}\n disabled={disabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label=\"New value\"\n onKeyPress={(e: KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === 'Enter' && !isAddDisabled) {\n handleAddPair();\n }\n }}\n />\n <button\n type=\"button\"\n onClick={handleAddPair as MouseEventHandler<HTMLButtonElement>}\n disabled={isAddDisabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'add-button')), styles['addButton'])}\n aria-label=\"Add new key-value pair\"\n >\n <Plus width={16} height={16} />\n </button>\n </div>\n )}\n </div>\n\n {(helperText || error) && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'helper-text')), styles['helperText'])}>\n {error || helperText}\n </div>\n )}\n\n {maxPairs && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'counter')), styles['counterText'])}>\n {pairs.length} of {maxPairs} pairs used\n </div>\n )}\n </div>\n );\n};\n\nexport default KeyValueInput;\n"],"mappings":"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"}
1
+ {"version":3,"file":"KeyValueInput.cjs","names":["KeyValueInput: FC<KeyValueInputProps>","useTheme","styles: Record<string, string>","useStyles","handleAddPair: ReturnType<typeof useCallback>","newPair: KeyValuePair","updatedPairs: KeyValuePair[]","handleRemovePair: ReturnType<typeof useCallback>","pairToRemove: KeyValuePair","handleUpdatePair: ReturnType<typeof useCallback>","canAddMore: boolean","isAddDisabled: boolean","cx","TextField","X","Plus"],"sources":["../../../../../src/components/primitives/KeyValueInput/KeyValueInput.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem} from '@thunderid/browser';\nimport {ChangeEvent, FC, KeyboardEvent, MouseEventHandler, ReactElement, useState, useCallback} from 'react';\nimport useStyles from './KeyValueInput.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\nimport {Plus, X} from '../Icons';\nimport TextField from '../TextField/TextField';\n\nexport interface KeyValuePair {\n key: string;\n value: string;\n}\n\nexport interface KeyValueInputProps {\n /**\n * CSS class name for styling the component.\n */\n className?: string;\n\n /**\n * Whether the input is disabled.\n */\n disabled?: boolean;\n\n /**\n * Error message to display.\n */\n error?: string;\n\n /**\n * Help text to display below the input.\n */\n helperText?: string;\n\n /**\n * Label for the key input field.\n */\n keyLabel?: string;\n\n /**\n * Placeholder text for the key input field.\n */\n keyPlaceholder?: string;\n\n /**\n * Label for the component.\n */\n label?: string;\n\n /**\n * Maximum number of key-value pairs allowed.\n */\n maxPairs?: number;\n /**\n * Callback fired when a pair is added.\n */\n onAdd?: (pair: KeyValuePair) => void;\n\n /**\n * Callback fired when the key-value pairs change.\n */\n onChange?: (pairs: KeyValuePair[]) => void;\n\n /**\n * Callback fired when a pair is removed.\n */\n onRemove?: (pair: KeyValuePair, index: number) => void;\n\n /**\n * Whether the component is in read-only mode.\n */\n readOnly?: boolean;\n\n /**\n * Text for the remove button.\n */\n removeButtonText?: string;\n\n /**\n * Whether the component is required.\n */\n required?: boolean;\n\n /**\n * Current key-value pairs.\n */\n value?: Record<string, any> | KeyValuePair[];\n\n /**\n * Label for the value input field.\n */\n valueLabel?: string;\n\n /**\n * Placeholder text for the value input field.\n */\n valuePlaceholder?: string;\n}\n\n/**\n * KeyValueInput component allows users to manage key-value pairs with add/remove functionality.\n * It provides a user-friendly interface for editing organization attributes or similar data structures.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <KeyValueInput\n * label=\"Organization Attributes\"\n * onChange={(pairs) => console.log(pairs)}\n * />\n *\n * // With initial values\n * <KeyValueInput\n * label=\"Organization Attributes\"\n * value={{department: 'IT', location: 'New York'}}\n * onChange={(pairs) => console.log(pairs)}\n * />\n *\n * // With add/remove callbacks\n * <KeyValueInput\n * label=\"Custom Attributes\"\n * value={attributes}\n * onChange={(pairs) => setAttributes(pairs)}\n * onAdd={(pair) => console.log('Added:', pair)}\n * onRemove={(pair, index) => console.log('Removed:', pair, 'at index:', index)}\n * />\n * ```\n */\nconst KeyValueInput: FC<KeyValueInputProps> = ({\n className = '',\n disabled = false,\n error,\n helperText,\n keyLabel = 'Key',\n keyPlaceholder = 'Enter key',\n label,\n maxPairs,\n onChange,\n onAdd,\n onRemove,\n readOnly = false,\n removeButtonText = 'Remove',\n required = false,\n value = {},\n valueLabel = 'Value',\n valuePlaceholder = 'Enter value',\n}: KeyValueInputProps): ReactElement => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme, disabled, readOnly, !!error);\n\n // Convert value to array format\n const initialPairs: KeyValuePair[] = Array.isArray(value)\n ? value\n : Object.entries(value).map(([key, val]: [string, any]) => ({key, value: String(val)}));\n\n const [pairs, setPairs] = useState<KeyValuePair[]>(initialPairs);\n const [newKey, setNewKey] = useState('');\n const [newValue, setNewValue] = useState('');\n\n const handleAddPair: ReturnType<typeof useCallback> = useCallback(() => {\n if (!newKey.trim() || !newValue.trim()) return;\n if (maxPairs && pairs.length >= maxPairs) return;\n\n const newPair: KeyValuePair = {\n key: newKey.trim(),\n value: newValue.trim(),\n };\n\n const updatedPairs: KeyValuePair[] = [...pairs, newPair];\n setPairs(updatedPairs);\n setNewKey('');\n setNewValue('');\n\n if (onChange) {\n onChange(updatedPairs);\n }\n\n if (onAdd) {\n onAdd(newPair);\n }\n }, [newKey, newValue, pairs, maxPairs, onChange, onAdd]);\n\n const handleRemovePair: ReturnType<typeof useCallback> = useCallback(\n (index: number) => {\n const pairToRemove: KeyValuePair = pairs[index];\n const updatedPairs: KeyValuePair[] = pairs.filter((_: KeyValuePair, i: number) => i !== index);\n setPairs(updatedPairs);\n\n if (onChange) {\n onChange(updatedPairs);\n }\n\n if (onRemove) {\n onRemove(pairToRemove, index);\n }\n },\n [pairs, onChange, onRemove],\n );\n\n const handleUpdatePair: ReturnType<typeof useCallback> = useCallback(\n (index: number, field: 'key' | 'value', newVal: string) => {\n const updatedPairs: KeyValuePair[] = pairs.map((pair: KeyValuePair, i: number) => {\n if (i === index) {\n return {...pair, [field]: newVal};\n }\n return pair;\n });\n setPairs(updatedPairs);\n\n if (onChange) {\n onChange(updatedPairs);\n }\n },\n [pairs, onChange],\n );\n\n const canAddMore: boolean = !maxPairs || pairs.length < maxPairs;\n const isAddDisabled: boolean = disabled || readOnly || !canAddMore || !newKey.trim() || !newValue.trim();\n\n const renderReadOnlyContent = (): ReactElement | ReactElement[] => {\n if (pairs.length === 0) {\n return (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'empty-state')), styles['emptyState'])}>\n No attributes defined\n </div>\n );\n }\n\n return pairs.map((pair: KeyValuePair, index: number) => (\n <div\n key={`${pair.key}-${index}`}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-pair')), styles['readOnlyPair'])}\n >\n <span className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-key')), styles['readOnlyKey'])}>\n {pair.key}:\n </span>\n <span\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'readonly-value')), styles['readOnlyValue'])}\n >\n {pair.value}\n </span>\n </div>\n ));\n };\n\n return (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input')), styles['container'], className)}>\n {label && (\n <label className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'label')), styles['label'])}>\n {label}\n {required && (\n <span\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'required')), styles['requiredIndicator'])}\n >\n {' *'}\n </span>\n )}\n </label>\n )}\n\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pairs-list')), styles['pairsList'])}>\n {readOnly\n ? renderReadOnlyContent()\n : pairs.map((pair: KeyValuePair, index: number) => (\n <div\n key={`${pair.key}-${index}`}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-row')), styles['pairRow'])}\n >\n <TextField\n placeholder={keyPlaceholder}\n value={pair.key}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleUpdatePair(index, 'key', e.target.value)}\n disabled={disabled || readOnly}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label={`${keyLabel} ${index + 1}`}\n />\n <TextField\n placeholder={valuePlaceholder}\n value={pair.value}\n onChange={(e: ChangeEvent<HTMLInputElement>): void =>\n handleUpdatePair(index, 'value', e.target.value)\n }\n disabled={disabled || readOnly}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label={`${valueLabel} ${index + 1}`}\n />\n {!readOnly && (\n <button\n type=\"button\"\n onClick={(): void => handleRemovePair(index)}\n disabled={disabled}\n className={cx(\n withVendorCSSClassPrefix(bem('key-value-input', 'remove-button')),\n styles['removeButton'],\n )}\n aria-label={`${removeButtonText} ${pair.key}`}\n >\n <X width={16} height={16} />\n </button>\n )}\n </div>\n ))}\n\n {!readOnly && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'add-row')), styles['addRow'])}>\n <TextField\n placeholder={keyPlaceholder}\n value={newKey}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => setNewKey(e.target.value)}\n disabled={disabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label=\"New key\"\n />\n <TextField\n placeholder={valuePlaceholder}\n value={newValue}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => setNewValue(e.target.value)}\n disabled={disabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'pair-input')), styles['pairInput'])}\n aria-label=\"New value\"\n onKeyPress={(e: KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === 'Enter' && !isAddDisabled) {\n handleAddPair();\n }\n }}\n />\n <button\n type=\"button\"\n onClick={handleAddPair as MouseEventHandler<HTMLButtonElement>}\n disabled={isAddDisabled}\n className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'add-button')), styles['addButton'])}\n aria-label=\"Add new key-value pair\"\n >\n <Plus width={16} height={16} />\n </button>\n </div>\n )}\n </div>\n\n {(helperText || error) && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'helper-text')), styles['helperText'])}>\n {error || helperText}\n </div>\n )}\n\n {maxPairs && (\n <div className={cx(withVendorCSSClassPrefix(bem('key-value-input', 'counter')), styles['counterText'])}>\n {pairs.length} of {maxPairs} pairs used\n </div>\n )}\n </div>\n );\n};\n\nexport default KeyValueInput;\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  let react = require("react");
3
4
  react = require_rolldown_runtime.__toESM(react);
4
- let __emotion_css = require("@emotion/css");
5
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
6
5
 
7
6
  //#region src/components/primitives/KeyValueInput/KeyValueInput.styles.ts
8
7
  /**
@@ -15,27 +14,27 @@ __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
15
14
  * @returns Object containing CSS class names for component styling
16
15
  */
17
16
  const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, react.useMemo)(() => {
18
- const container = __emotion_css.css`
17
+ const container = require_emotion.css`
19
18
  display: flex;
20
19
  flex-direction: column;
21
20
  font-family: ${theme.vars.typography.fontFamily};
22
21
  gap: calc(${theme.vars.spacing.unit} / 2);
23
22
  `;
24
- const label = __emotion_css.css`
23
+ const label = require_emotion.css`
25
24
  font-size: 0.875rem;
26
25
  font-weight: 500;
27
26
  color: ${theme.vars.colors.text.primary};
28
27
  margin-bottom: calc(${theme.vars.spacing.unit} / 2);
29
28
  `;
30
- const requiredIndicator = __emotion_css.css`
29
+ const requiredIndicator = require_emotion.css`
31
30
  color: ${theme.vars.colors.error.main};
32
31
  `;
33
- const pairsList = __emotion_css.css`
32
+ const pairsList = require_emotion.css`
34
33
  display: flex;
35
34
  flex-direction: column;
36
35
  gap: calc(${theme.vars.spacing.unit} / 4);
37
36
  `;
38
- const pairRow = __emotion_css.css`
37
+ const pairRow = require_emotion.css`
39
38
  display: flex;
40
39
  align-items: center;
41
40
  gap: calc(${theme.vars.spacing.unit} / 2);
@@ -48,11 +47,11 @@ const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, reac
48
47
  background-color: ${theme.vars.colors.action.hover};
49
48
  }
50
49
  `;
51
- const pairInput = __emotion_css.css`
50
+ const pairInput = require_emotion.css`
52
51
  flex: 1;
53
52
  min-width: 0;
54
53
  `;
55
- const addRow = __emotion_css.css`
54
+ const addRow = require_emotion.css`
56
55
  display: flex;
57
56
  align-items: center;
58
57
  gap: calc(${theme.vars.spacing.unit} / 2);
@@ -62,7 +61,7 @@ const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, reac
62
61
  background-color: transparent;
63
62
  margin-top: calc(${theme.vars.spacing.unit} / 2);
64
63
  `;
65
- const removeButton = __emotion_css.css`
64
+ const removeButton = require_emotion.css`
66
65
  min-width: auto;
67
66
  width: 24px;
68
67
  height: 24px;
@@ -85,7 +84,7 @@ const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, reac
85
84
  opacity: 0.6;
86
85
  }
87
86
  `;
88
- const addButton = __emotion_css.css`
87
+ const addButton = require_emotion.css`
89
88
  min-width: auto;
90
89
  width: 24px;
91
90
  height: 24px;
@@ -108,33 +107,33 @@ const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, reac
108
107
  opacity: 0.6;
109
108
  }
110
109
  `;
111
- const helperText = __emotion_css.css`
110
+ const helperText = require_emotion.css`
112
111
  font-size: 0.75rem;
113
112
  color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.text.secondary};
114
113
  margin-top: calc(${theme.vars.spacing.unit} / 2);
115
114
  `;
116
- const emptyState = __emotion_css.css`
115
+ const emptyState = require_emotion.css`
117
116
  padding: ${theme.vars.spacing.unit};
118
117
  text-align: center;
119
118
  color: ${theme.vars.colors.text.secondary};
120
119
  font-style: italic;
121
120
  font-size: 0.75rem;
122
121
  `;
123
- const readOnlyPair = __emotion_css.css`
122
+ const readOnlyPair = require_emotion.css`
124
123
  display: flex;
125
124
  align-items: center;
126
125
  gap: calc(${theme.vars.spacing.unit} / 2);
127
126
  padding: calc(${theme.vars.spacing.unit} / 4) 0;
128
127
  min-height: 20px;
129
128
  `;
130
- const readOnlyKey = __emotion_css.css`
129
+ const readOnlyKey = require_emotion.css`
131
130
  font-size: 0.75rem;
132
131
  font-weight: 500;
133
132
  color: ${theme.vars.colors.text.secondary};
134
133
  min-width: 80px;
135
134
  flex-shrink: 0;
136
135
  `;
137
- const readOnlyValue = __emotion_css.css`
136
+ const readOnlyValue = require_emotion.css`
138
137
  font-size: 0.75rem;
139
138
  color: ${theme.vars.colors.text.primary};
140
139
  word-break: break-word;
@@ -144,7 +143,7 @@ const useStyles = (theme, colorScheme, disabled, readOnly, hasError) => (0, reac
144
143
  addButton,
145
144
  addRow,
146
145
  container,
147
- counterText: __emotion_css.css`
146
+ counterText: require_emotion.css`
148
147
  font-size: 0.75rem;
149
148
  color: ${theme.vars.colors.text.secondary};
150
149
  margin-top: calc(${theme.vars.spacing.unit} / 2);
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueInput.styles.cjs","names":["container: string","label: string","requiredIndicator: string","pairsList: string","pairRow: string","pairInput: string","addRow: string","removeButton: string","addButton: string","helperText: string","emptyState: string","readOnlyPair: string","readOnlyKey: string","readOnlyValue: string"],"sources":["../../../../../src/components/primitives/KeyValueInput/KeyValueInput.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\n/**\n * Creates styles for the KeyValueInput 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 readOnly - Whether the component is read-only\n * @param hasError - Whether the component has an error\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n disabled: boolean,\n readOnly: boolean,\n hasError: boolean,\n): Record<string, string> =>\n useMemo(() => {\n const container: string = css`\n display: flex;\n flex-direction: column;\n font-family: ${theme.vars.typography.fontFamily};\n gap: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const label: string = css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.primary};\n margin-bottom: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const requiredIndicator: string = css`\n color: ${theme.vars.colors.error.main};\n `;\n\n const pairsList: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} / 4);\n `;\n\n const pairRow: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 2);\n border-radius: ${theme.vars.borderRadius.small};\n background-color: transparent;\n border: none;\n\n &:hover {\n background-color: ${theme.vars.colors.action.hover};\n }\n `;\n\n const pairInput: string = css`\n flex: 1;\n min-width: 0;\n `;\n\n const addRow: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 2);\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n background-color: transparent;\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const removeButton: string = css`\n min-width: auto;\n width: 24px;\n height: 24px;\n padding: 0;\n background-color: transparent;\n color: ${theme.vars.colors.text.secondary};\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n\n &:hover:not(:disabled) {\n background-color: ${theme.vars.colors.action.hover};\n color: ${theme.vars.colors.error.main};\n }\n\n &:disabled {\n opacity: 0.6;\n }\n `;\n\n const addButton: string = css`\n min-width: auto;\n width: 24px;\n height: 24px;\n padding: 0;\n background-color: transparent;\n color: ${theme.vars.colors.primary.main};\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n\n &:hover:not(:disabled) {\n background-color: ${theme.vars.colors.primary.main};\n color: ${theme.vars.colors.primary.contrastText};\n }\n\n &:disabled {\n opacity: 0.6;\n }\n `;\n\n const helperText: string = css`\n font-size: 0.75rem;\n color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.text.secondary};\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const emptyState: string = css`\n padding: ${theme.vars.spacing.unit};\n text-align: center;\n color: ${theme.vars.colors.text.secondary};\n font-style: italic;\n font-size: 0.75rem;\n `;\n\n const readOnlyPair: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 4) 0;\n min-height: 20px;\n `;\n\n const readOnlyKey: string = css`\n font-size: 0.75rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.secondary};\n min-width: 80px;\n flex-shrink: 0;\n `;\n\n const readOnlyValue: string = css`\n font-size: 0.75rem;\n color: ${theme.vars.colors.text.primary};\n word-break: break-word;\n flex: 1;\n `;\n\n const counterText: string = css`\n font-size: 0.75rem;\n color: ${theme.vars.colors.text.secondary};\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n return {\n addButton,\n addRow,\n container,\n counterText,\n emptyState,\n helperText,\n label,\n pairInput,\n pairRow,\n pairsList,\n readOnlyKey,\n readOnlyPair,\n readOnlyValue,\n removeButton,\n requiredIndicator,\n };\n }, [theme, colorScheme, disabled, readOnly, hasError]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAM,aACJ,OACA,aACA,UACA,UACA,sCAEc;CACZ,MAAMA,YAAoB,iBAAG;;;qBAGZ,MAAM,KAAK,WAAW,WAAW;kBACpC,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,QAAgB,iBAAG;;;eAGd,MAAM,KAAK,OAAO,KAAK,QAAQ;4BAClB,MAAM,KAAK,QAAQ,KAAK;;CAGhD,MAAMC,oBAA4B,iBAAG;eAC1B,MAAM,KAAK,OAAO,MAAM,KAAK;;CAGxC,MAAMC,YAAoB,iBAAG;;;kBAGf,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,UAAkB,iBAAG;;;kBAGb,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;uBACvB,MAAM,KAAK,aAAa,MAAM;;;;;4BAKzB,MAAM,KAAK,OAAO,OAAO,MAAM;;;CAIvD,MAAMC,YAAoB,iBAAG;;;;CAK7B,MAAMC,SAAiB,iBAAG;;;kBAGZ,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;;uBAEvB,MAAM,KAAK,aAAa,MAAM;;yBAE5B,MAAM,KAAK,QAAQ,KAAK;;CAG7C,MAAMC,eAAuB,iBAAG;;;;;;eAMrB,MAAM,KAAK,OAAO,KAAK,UAAU;;uBAEzB,MAAM,KAAK,aAAa,MAAM;;;;gBAIrC,WAAW,gBAAgB,UAAU;;;4BAGzB,MAAM,KAAK,OAAO,OAAO,MAAM;iBAC1C,MAAM,KAAK,OAAO,MAAM,KAAK;;;;;;;CAQ1C,MAAMC,YAAoB,iBAAG;;;;;;eAMlB,MAAM,KAAK,OAAO,QAAQ,KAAK;;uBAEvB,MAAM,KAAK,aAAa,MAAM;;;;gBAIrC,WAAW,gBAAgB,UAAU;;;4BAGzB,MAAM,KAAK,OAAO,QAAQ,KAAK;iBAC1C,MAAM,KAAK,OAAO,QAAQ,aAAa;;;;;;;CAQpD,MAAMC,aAAqB,iBAAG;;eAEnB,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,KAAK,UAAU;yBACjE,MAAM,KAAK,QAAQ,KAAK;;CAG7C,MAAMC,aAAqB,iBAAG;iBACjB,MAAM,KAAK,QAAQ,KAAK;;eAE1B,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK5C,MAAMC,eAAuB,iBAAG;;;kBAGlB,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;;;CAI1C,MAAMC,cAAsB,iBAAG;;;eAGpB,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK5C,MAAMC,gBAAwB,iBAAG;;eAEtB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;AAW1C,QAAO;EACL;EACA;EACA;EACA,aAV0B,iBAAG;;eAEpB,MAAM,KAAK,OAAO,KAAK,UAAU;yBACvB,MAAM,KAAK,QAAQ,KAAK;;EAQ3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAU;CAAU;CAAS,CAAC;AAExD,mCAAe"}
1
+ {"version":3,"file":"KeyValueInput.styles.cjs","names":["container: string","label: string","requiredIndicator: string","pairsList: string","pairRow: string","pairInput: string","addRow: string","removeButton: string","addButton: string","helperText: string","emptyState: string","readOnlyPair: string","readOnlyKey: string","readOnlyValue: string"],"sources":["../../../../../src/components/primitives/KeyValueInput/KeyValueInput.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\n/**\n * Creates styles for the KeyValueInput 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 readOnly - Whether the component is read-only\n * @param hasError - Whether the component has an error\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (\n theme: Theme,\n colorScheme: string,\n disabled: boolean,\n readOnly: boolean,\n hasError: boolean,\n): Record<string, string> =>\n useMemo(() => {\n const container: string = css`\n display: flex;\n flex-direction: column;\n font-family: ${theme.vars.typography.fontFamily};\n gap: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const label: string = css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.primary};\n margin-bottom: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const requiredIndicator: string = css`\n color: ${theme.vars.colors.error.main};\n `;\n\n const pairsList: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} / 4);\n `;\n\n const pairRow: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 2);\n border-radius: ${theme.vars.borderRadius.small};\n background-color: transparent;\n border: none;\n\n &:hover {\n background-color: ${theme.vars.colors.action.hover};\n }\n `;\n\n const pairInput: string = css`\n flex: 1;\n min-width: 0;\n `;\n\n const addRow: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 2);\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n background-color: transparent;\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const removeButton: string = css`\n min-width: auto;\n width: 24px;\n height: 24px;\n padding: 0;\n background-color: transparent;\n color: ${theme.vars.colors.text.secondary};\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n\n &:hover:not(:disabled) {\n background-color: ${theme.vars.colors.action.hover};\n color: ${theme.vars.colors.error.main};\n }\n\n &:disabled {\n opacity: 0.6;\n }\n `;\n\n const addButton: string = css`\n min-width: auto;\n width: 24px;\n height: 24px;\n padding: 0;\n background-color: transparent;\n color: ${theme.vars.colors.primary.main};\n border: none;\n border-radius: ${theme.vars.borderRadius.small};\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n\n &:hover:not(:disabled) {\n background-color: ${theme.vars.colors.primary.main};\n color: ${theme.vars.colors.primary.contrastText};\n }\n\n &:disabled {\n opacity: 0.6;\n }\n `;\n\n const helperText: string = css`\n font-size: 0.75rem;\n color: ${hasError ? theme.vars.colors.error.main : theme.vars.colors.text.secondary};\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const emptyState: string = css`\n padding: ${theme.vars.spacing.unit};\n text-align: center;\n color: ${theme.vars.colors.text.secondary};\n font-style: italic;\n font-size: 0.75rem;\n `;\n\n const readOnlyPair: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} / 2);\n padding: calc(${theme.vars.spacing.unit} / 4) 0;\n min-height: 20px;\n `;\n\n const readOnlyKey: string = css`\n font-size: 0.75rem;\n font-weight: 500;\n color: ${theme.vars.colors.text.secondary};\n min-width: 80px;\n flex-shrink: 0;\n `;\n\n const readOnlyValue: string = css`\n font-size: 0.75rem;\n color: ${theme.vars.colors.text.primary};\n word-break: break-word;\n flex: 1;\n `;\n\n const counterText: string = css`\n font-size: 0.75rem;\n color: ${theme.vars.colors.text.secondary};\n margin-top: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n return {\n addButton,\n addRow,\n container,\n counterText,\n emptyState,\n helperText,\n label,\n pairInput,\n pairRow,\n pairsList,\n readOnlyKey,\n readOnlyPair,\n readOnlyValue,\n removeButton,\n requiredIndicator,\n };\n }, [theme, colorScheme, disabled, readOnly, hasError]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAM,aACJ,OACA,aACA,UACA,UACA,sCAEc;CACZ,MAAMA,YAAoB,mBAAG;;;qBAGZ,MAAM,KAAK,WAAW,WAAW;kBACpC,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,QAAgB,mBAAG;;;eAGd,MAAM,KAAK,OAAO,KAAK,QAAQ;4BAClB,MAAM,KAAK,QAAQ,KAAK;;CAGhD,MAAMC,oBAA4B,mBAAG;eAC1B,MAAM,KAAK,OAAO,MAAM,KAAK;;CAGxC,MAAMC,YAAoB,mBAAG;;;kBAGf,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,UAAkB,mBAAG;;;kBAGb,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;uBACvB,MAAM,KAAK,aAAa,MAAM;;;;;4BAKzB,MAAM,KAAK,OAAO,OAAO,MAAM;;;CAIvD,MAAMC,YAAoB,mBAAG;;;;CAK7B,MAAMC,SAAiB,mBAAG;;;kBAGZ,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;;uBAEvB,MAAM,KAAK,aAAa,MAAM;;yBAE5B,MAAM,KAAK,QAAQ,KAAK;;CAG7C,MAAMC,eAAuB,mBAAG;;;;;;eAMrB,MAAM,KAAK,OAAO,KAAK,UAAU;;uBAEzB,MAAM,KAAK,aAAa,MAAM;;;;gBAIrC,WAAW,gBAAgB,UAAU;;;4BAGzB,MAAM,KAAK,OAAO,OAAO,MAAM;iBAC1C,MAAM,KAAK,OAAO,MAAM,KAAK;;;;;;;CAQ1C,MAAMC,YAAoB,mBAAG;;;;;;eAMlB,MAAM,KAAK,OAAO,QAAQ,KAAK;;uBAEvB,MAAM,KAAK,aAAa,MAAM;;;;gBAIrC,WAAW,gBAAgB,UAAU;;;4BAGzB,MAAM,KAAK,OAAO,QAAQ,KAAK;iBAC1C,MAAM,KAAK,OAAO,QAAQ,aAAa;;;;;;;CAQpD,MAAMC,aAAqB,mBAAG;;eAEnB,WAAW,MAAM,KAAK,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,KAAK,UAAU;yBACjE,MAAM,KAAK,QAAQ,KAAK;;CAG7C,MAAMC,aAAqB,mBAAG;iBACjB,MAAM,KAAK,QAAQ,KAAK;;eAE1B,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK5C,MAAMC,eAAuB,mBAAG;;;kBAGlB,MAAM,KAAK,QAAQ,KAAK;sBACpB,MAAM,KAAK,QAAQ,KAAK;;;CAI1C,MAAMC,cAAsB,mBAAG;;;eAGpB,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK5C,MAAMC,gBAAwB,mBAAG;;eAEtB,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;AAW1C,QAAO;EACL;EACA;EACA;EACA,aAV0B,mBAAG;;eAEpB,MAAM,KAAK,OAAO,KAAK,UAAU;yBACvB,MAAM,KAAK,QAAQ,KAAK;;EAQ3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;GACA;CAAC;CAAO;CAAa;CAAU;CAAU;CAAS,CAAC;AAExD,mCAAe"}
@@ -1,12 +1,11 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  const require_useTheme = require('../../../contexts/Theme/useTheme.cjs');
3
4
  const require_Logo_styles = require('./Logo.styles.cjs');
4
5
  let __thunderid_browser = require("@thunderid/browser");
5
6
  __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
7
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
8
- let __emotion_css = require("@emotion/css");
9
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
10
9
 
11
10
  //#region src/components/primitives/Logo/Logo.tsx
12
11
  /**
@@ -28,14 +27,14 @@ const Logo = ({ className, src, alt, title, size = "medium" }) => {
28
27
  role: "img",
29
28
  "aria-label": logoAlt,
30
29
  title: logoTitle,
31
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo")), (0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo", size)), styles["emoji"], styles["emojiSize"], className),
30
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo")), (0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo", size)), styles["emoji"], styles["emojiSize"], className),
32
31
  children: resolvedLogo.glyph
33
32
  });
34
33
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
35
34
  src: resolvedLogo.imgSrc,
36
35
  alt: logoAlt,
37
36
  title: logoTitle,
38
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo")), (0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo", size)), styles["logo"], styles["size"], className)
37
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo")), (0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("logo", size)), styles["logo"], styles["size"], className)
39
38
  });
40
39
  };
41
40
  var Logo_default = Logo;
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.cjs","names":["Logo: FC<LogoProps>","useTheme","styles: Record<string, string>","useStyles","logoConfig: Record<string, string> | undefined","logoSpec: string | undefined","logoAlt: string","logoTitle: string | undefined","resolvedLogo: ResolvedLogo"],"sources":["../../../../../src/components/primitives/Logo/Logo.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {withVendorCSSClassPrefix, bem, resolveLogoUri, ResolvedLogo} from '@thunderid/browser';\nimport {FC} from 'react';\nimport useStyles from './Logo.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\n\nexport type LogoSize = 'small' | 'medium' | 'large';\n\n/**\n * Props for the Logo component.\n */\nexport interface LogoProps {\n /**\n * Custom alt text for the logo.\n */\n alt?: string;\n /**\n * Custom CSS class name for the logo.\n */\n className?: string;\n /**\n * Size of the logo.\n */\n size?: LogoSize;\n /**\n * Custom logo URL to override theme logo.\n */\n src?: string;\n /**\n * Custom title for the logo.\n */\n title?: string;\n}\n\n/**\n * Logo component that displays the brand logo from theme or custom source.\n *\n * @param props - The props for the Logo component.\n * @returns The rendered Logo component.\n */\nconst Logo: FC<LogoProps> = ({className, src, alt, title, size = 'medium'}: LogoProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme, size);\n\n const logoConfig: Record<string, string> | undefined = theme.images?.logo as Record<string, string> | undefined;\n\n const logoSpec: string | undefined = src || logoConfig?.['url'];\n\n const logoAlt: string = alt || logoConfig?.['alt'] || 'Logo';\n\n const logoTitle: string | undefined = title || logoConfig?.['title'];\n\n if (!logoSpec) {\n return null;\n }\n\n const resolvedLogo: ResolvedLogo = resolveLogoUri(logoSpec, logoAlt);\n\n if (resolvedLogo.kind === 'emoji') {\n return (\n <span\n role=\"img\"\n aria-label={logoAlt}\n title={logoTitle}\n className={cx(\n withVendorCSSClassPrefix(bem('logo')),\n withVendorCSSClassPrefix(bem('logo', size)),\n styles['emoji'],\n styles['emojiSize'],\n className,\n )}\n >\n {resolvedLogo.glyph}\n </span>\n );\n }\n\n return (\n <img\n src={resolvedLogo.imgSrc}\n alt={logoAlt}\n title={logoTitle}\n className={cx(\n withVendorCSSClassPrefix(bem('logo')),\n withVendorCSSClassPrefix(bem('logo', size)),\n styles['logo'],\n styles['size'],\n className,\n )}\n />\n );\n};\n\nexport default Logo;\n"],"mappings":";;;;;;;;;;;;;;;;;AA2CA,MAAMA,QAAuB,EAAC,WAAW,KAAK,KAAK,OAAO,OAAO,eAAyB;CACxF,MAAM,EAAC,OAAO,gBAA4CC,0BAAU;CACpE,MAAMC,SAAiCC,4BAAU,OAAO,aAAa,KAAK;CAE1E,MAAMC,aAAiD,MAAM,QAAQ;CAErE,MAAMC,WAA+B,OAAO,aAAa;CAEzD,MAAMC,UAAkB,OAAO,aAAa,UAAU;CAEtD,MAAMC,YAAgC,SAAS,aAAa;AAE5D,KAAI,CAAC,SACH,QAAO;CAGT,MAAMC,uDAA4C,UAAU,QAAQ;AAEpE,KAAI,aAAa,SAAS,QACxB,QACE,2CAAC;EACC,MAAK;EACL,cAAY;EACZ,OAAO;EACP,gHAC+B,OAAO,CAAC,iFACR,QAAQ,KAAK,CAAC,EAC3C,OAAO,UACP,OAAO,cACP,UACD;YAEA,aAAa;GACT;AAIX,QACE,2CAAC;EACC,KAAK,aAAa;EAClB,KAAK;EACL,OAAO;EACP,gHAC+B,OAAO,CAAC,iFACR,QAAQ,KAAK,CAAC,EAC3C,OAAO,SACP,OAAO,SACP,UACD;GACD;;AAIN,mBAAe"}
1
+ {"version":3,"file":"Logo.cjs","names":["Logo: FC<LogoProps>","useTheme","styles: Record<string, string>","useStyles","logoConfig: Record<string, string> | undefined","logoSpec: string | undefined","logoAlt: string","logoTitle: string | undefined","resolvedLogo: ResolvedLogo","cx"],"sources":["../../../../../src/components/primitives/Logo/Logo.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {withVendorCSSClassPrefix, bem, resolveLogoUri, ResolvedLogo} from '@thunderid/browser';\nimport {FC} from 'react';\nimport useStyles from './Logo.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {cx} from '../../../styles/emotion';\n\nexport type LogoSize = 'small' | 'medium' | 'large';\n\n/**\n * Props for the Logo component.\n */\nexport interface LogoProps {\n /**\n * Custom alt text for the logo.\n */\n alt?: string;\n /**\n * Custom CSS class name for the logo.\n */\n className?: string;\n /**\n * Size of the logo.\n */\n size?: LogoSize;\n /**\n * Custom logo URL to override theme logo.\n */\n src?: string;\n /**\n * Custom title for the logo.\n */\n title?: string;\n}\n\n/**\n * Logo component that displays the brand logo from theme or custom source.\n *\n * @param props - The props for the Logo component.\n * @returns The rendered Logo component.\n */\nconst Logo: FC<LogoProps> = ({className, src, alt, title, size = 'medium'}: LogoProps) => {\n const {theme, colorScheme}: ReturnType<typeof useTheme> = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme, size);\n\n const logoConfig: Record<string, string> | undefined = theme.images?.logo as Record<string, string> | undefined;\n\n const logoSpec: string | undefined = src || logoConfig?.['url'];\n\n const logoAlt: string = alt || logoConfig?.['alt'] || 'Logo';\n\n const logoTitle: string | undefined = title || logoConfig?.['title'];\n\n if (!logoSpec) {\n return null;\n }\n\n const resolvedLogo: ResolvedLogo = resolveLogoUri(logoSpec, logoAlt);\n\n if (resolvedLogo.kind === 'emoji') {\n return (\n <span\n role=\"img\"\n aria-label={logoAlt}\n title={logoTitle}\n className={cx(\n withVendorCSSClassPrefix(bem('logo')),\n withVendorCSSClassPrefix(bem('logo', size)),\n styles['emoji'],\n styles['emojiSize'],\n className,\n )}\n >\n {resolvedLogo.glyph}\n </span>\n );\n }\n\n return (\n <img\n src={resolvedLogo.imgSrc}\n alt={logoAlt}\n title={logoTitle}\n className={cx(\n withVendorCSSClassPrefix(bem('logo')),\n withVendorCSSClassPrefix(bem('logo', size)),\n styles['logo'],\n styles['size'],\n className,\n )}\n />\n );\n};\n\nexport default Logo;\n"],"mappings":";;;;;;;;;;;;;;;;AA2CA,MAAMA,QAAuB,EAAC,WAAW,KAAK,KAAK,OAAO,OAAO,eAAyB;CACxF,MAAM,EAAC,OAAO,gBAA4CC,0BAAU;CACpE,MAAMC,SAAiCC,4BAAU,OAAO,aAAa,KAAK;CAE1E,MAAMC,aAAiD,MAAM,QAAQ;CAErE,MAAMC,WAA+B,OAAO,aAAa;CAEzD,MAAMC,UAAkB,OAAO,aAAa,UAAU;CAEtD,MAAMC,YAAgC,SAAS,aAAa;AAE5D,KAAI,CAAC,SACH,QAAO;CAGT,MAAMC,uDAA4C,UAAU,QAAQ;AAEpE,KAAI,aAAa,SAAS,QACxB,QACE,2CAAC;EACC,MAAK;EACL,cAAY;EACZ,OAAO;EACP,WAAWC,kGACoB,OAAO,CAAC,iFACR,QAAQ,KAAK,CAAC,EAC3C,OAAO,UACP,OAAO,cACP,UACD;YAEA,aAAa;GACT;AAIX,QACE,2CAAC;EACC,KAAK,aAAa;EAClB,KAAK;EACL,OAAO;EACP,WAAWA,kGACoB,OAAO,CAAC,iFACR,QAAQ,KAAK,CAAC,EAC3C,OAAO,SACP,OAAO,SACP,UACD;GACD;;AAIN,mBAAe"}
@@ -1,8 +1,7 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  let react = require("react");
3
4
  react = require_rolldown_runtime.__toESM(react);
4
- let __emotion_css = require("@emotion/css");
5
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
6
5
 
7
6
  //#region src/components/primitives/Logo/Logo.styles.ts
8
7
  /**
@@ -13,20 +12,20 @@ __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
13
12
  * @returns Object containing CSS class names for component styling
14
13
  */
15
14
  const useStyles = (theme, colorScheme, size) => (0, react.useMemo)(() => {
16
- const baseLogo = __emotion_css.css`
15
+ const baseLogo = require_emotion.css`
17
16
  width: auto;
18
17
  object-fit: contain;
19
18
  display: block;
20
19
  `;
21
- const smallLogo = __emotion_css.css`
20
+ const smallLogo = require_emotion.css`
22
21
  height: 32px;
23
22
  max-width: 120px;
24
23
  `;
25
- const mediumLogo = __emotion_css.css`
24
+ const mediumLogo = require_emotion.css`
26
25
  height: 48px;
27
26
  max-width: 180px;
28
27
  `;
29
- const largeLogo = __emotion_css.css`
28
+ const largeLogo = require_emotion.css`
30
29
  height: 64px;
31
30
  max-width: 240px;
32
31
  `;
@@ -36,24 +35,24 @@ const useStyles = (theme, colorScheme, size) => (0, react.useMemo)(() => {
36
35
  small: smallLogo
37
36
  };
38
37
  return {
39
- emoji: __emotion_css.css`
38
+ emoji: require_emotion.css`
40
39
  display: flex;
41
40
  align-items: center;
42
41
  justify-content: center;
43
42
  line-height: 1;
44
43
  `,
45
44
  emojiSize: {
46
- large: __emotion_css.css`
45
+ large: require_emotion.css`
47
46
  width: 64px;
48
47
  height: 64px;
49
48
  font-size: 36px;
50
49
  `,
51
- medium: __emotion_css.css`
50
+ medium: require_emotion.css`
52
51
  width: 48px;
53
52
  height: 48px;
54
53
  font-size: 28px;
55
54
  `,
56
- small: __emotion_css.css`
55
+ small: require_emotion.css`
57
56
  width: 32px;
58
57
  height: 32px;
59
58
  font-size: 20px;
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.styles.cjs","names":["baseLogo: string","smallLogo: string","mediumLogo: string","largeLogo: string","sizeStyles: Record<string, string>"],"sources":["../../../../../src/components/primitives/Logo/Logo.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 LogoSize = 'small' | 'medium' | 'large';\n\n/**\n * Creates styles for the Logo 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 logo\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string, size: LogoSize): Record<string, string> =>\n useMemo(() => {\n const baseLogo: string = css`\n width: auto;\n object-fit: contain;\n display: block;\n `;\n\n const smallLogo: string = css`\n height: 32px;\n max-width: 120px;\n `;\n\n const mediumLogo: string = css`\n height: 48px;\n max-width: 180px;\n `;\n\n const largeLogo: string = css`\n height: 64px;\n max-width: 240px;\n `;\n\n const sizeStyles: Record<string, string> = {\n large: largeLogo,\n medium: mediumLogo,\n small: smallLogo,\n };\n\n const baseEmoji: string = css`\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n `;\n\n const emojiSizeStyles: Record<LogoSize, string> = {\n large: css`\n width: 64px;\n height: 64px;\n font-size: 36px;\n `,\n medium: css`\n width: 48px;\n height: 48px;\n font-size: 28px;\n `,\n small: css`\n width: 32px;\n height: 32px;\n font-size: 20px;\n `,\n };\n\n return {\n emoji: baseEmoji,\n emojiSize: emojiSizeStyles[size],\n large: largeLogo,\n logo: baseLogo,\n medium: mediumLogo,\n size: sizeStyles[size],\n small: smallLogo,\n };\n }, [theme, colorScheme, size]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAM,aAAa,OAAc,aAAqB,kCACtC;CACZ,MAAMA,WAAmB,iBAAG;;;;;CAM5B,MAAMC,YAAoB,iBAAG;;;;CAK7B,MAAMC,aAAqB,iBAAG;;;;CAK9B,MAAMC,YAAoB,iBAAG;;;;CAK7B,MAAMC,aAAqC;EACzC,OAAO;EACP,QAAQ;EACR,OAAO;EACR;AA2BD,QAAO;EACL,OA1BwB,iBAAG;;;;;;EA2B3B,WApBgD;GAChD,OAAO,iBAAG;;;;;GAKV,QAAQ,iBAAG;;;;;GAKX,OAAO,iBAAG;;;;;GAKX,CAI4B;EAC3B,OAAO;EACP,MAAM;EACN,QAAQ;EACR,MAAM,WAAW;EACjB,OAAO;EACR;GACA;CAAC;CAAO;CAAa;CAAK,CAAC;AAEhC,0BAAe"}
1
+ {"version":3,"file":"Logo.styles.cjs","names":["baseLogo: string","smallLogo: string","mediumLogo: string","largeLogo: string","sizeStyles: Record<string, string>"],"sources":["../../../../../src/components/primitives/Logo/Logo.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 LogoSize = 'small' | 'medium' | 'large';\n\n/**\n * Creates styles for the Logo 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 logo\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string, size: LogoSize): Record<string, string> =>\n useMemo(() => {\n const baseLogo: string = css`\n width: auto;\n object-fit: contain;\n display: block;\n `;\n\n const smallLogo: string = css`\n height: 32px;\n max-width: 120px;\n `;\n\n const mediumLogo: string = css`\n height: 48px;\n max-width: 180px;\n `;\n\n const largeLogo: string = css`\n height: 64px;\n max-width: 240px;\n `;\n\n const sizeStyles: Record<string, string> = {\n large: largeLogo,\n medium: mediumLogo,\n small: smallLogo,\n };\n\n const baseEmoji: string = css`\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n `;\n\n const emojiSizeStyles: Record<LogoSize, string> = {\n large: css`\n width: 64px;\n height: 64px;\n font-size: 36px;\n `,\n medium: css`\n width: 48px;\n height: 48px;\n font-size: 28px;\n `,\n small: css`\n width: 32px;\n height: 32px;\n font-size: 20px;\n `,\n };\n\n return {\n emoji: baseEmoji,\n emojiSize: emojiSizeStyles[size],\n large: largeLogo,\n logo: baseLogo,\n medium: mediumLogo,\n size: sizeStyles[size],\n small: smallLogo,\n };\n }, [theme, colorScheme, size]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAM,aAAa,OAAc,aAAqB,kCACtC;CACZ,MAAMA,WAAmB,mBAAG;;;;;CAM5B,MAAMC,YAAoB,mBAAG;;;;CAK7B,MAAMC,aAAqB,mBAAG;;;;CAK9B,MAAMC,YAAoB,mBAAG;;;;CAK7B,MAAMC,aAAqC;EACzC,OAAO;EACP,QAAQ;EACR,OAAO;EACR;AA2BD,QAAO;EACL,OA1BwB,mBAAG;;;;;;EA2B3B,WApBgD;GAChD,OAAO,mBAAG;;;;;GAKV,QAAQ,mBAAG;;;;;GAKX,OAAO,mBAAG;;;;;GAKX,CAI4B;EAC3B,OAAO;EACP,MAAM;EACN,QAAQ;EACR,MAAM,WAAW;EACjB,OAAO;EACR;GACA;CAAC;CAAO;CAAa;CAAK,CAAC;AAEhC,0BAAe"}
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_emotion = require('../../../styles/emotion.cjs');
2
3
  const require_useTheme = require('../../../contexts/Theme/useTheme.cjs');
3
4
  const require_FormControl = require('../FormControl/FormControl.cjs');
4
5
  const require_InputLabel = require('../InputLabel/InputLabel.cjs');
@@ -12,8 +13,6 @@ let react = require("react");
12
13
  react = require_rolldown_runtime.__toESM(react);
13
14
  let react_jsx_runtime = require("react/jsx-runtime");
14
15
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
15
- let __emotion_css = require("@emotion/css");
16
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
17
16
 
18
17
  //#region src/components/primitives/MultiInput/MultiInput.tsx
19
18
  const MultiInput = ({ label, error, required, className, disabled, helperText, placeholder = "Enter value", values = [], onChange, type = "text", fieldType = "STRING", startIcon, endIcon, minFields = 1, maxFields, style = {} }) => {
@@ -25,14 +24,14 @@ const MultiInput = ({ label, error, required, className, disabled, helperText, p
25
24
  width: "16",
26
25
  height: "16",
27
26
  viewBox: "0 0 24 24",
28
- className: (0, __emotion_css.cx)(styles["icon"], iconClassName),
27
+ className: require_emotion.cx(styles["icon"], iconClassName),
29
28
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 5v14M5 12h14" })
30
29
  });
31
30
  const BinIcon = ({ iconClassName }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
32
31
  width: "16",
33
32
  height: "16",
34
33
  viewBox: "0 0 24 24",
35
- className: (0, __emotion_css.cx)(styles["icon"], iconClassName),
34
+ className: require_emotion.cx(styles["icon"], iconClassName),
36
35
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h14ZM10 11v6M14 11v6" })
37
36
  });
38
37
  const handleAddValue = (0, react.useCallback)((newValue) => {
@@ -101,32 +100,32 @@ const MultiInput = ({ label, error, required, className, disabled, helperText, p
101
100
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_FormControl.default, {
102
101
  error,
103
102
  helperText,
104
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input")), className),
103
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input")), className),
105
104
  style,
106
105
  children: [label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InputLabel.default, {
107
106
  required,
108
107
  error: !!error,
109
108
  children: label
110
109
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
111
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "container")), styles["container"]),
110
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "container")), styles["container"]),
112
111
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
113
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "input-row")), styles["inputRow"]),
112
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "input-row")), styles["inputRow"]),
114
113
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
115
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "input-wrapper")), styles["inputWrapper"]),
114
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "input-wrapper")), styles["inputWrapper"]),
116
115
  children: renderInputField(currentInputValue, setCurrentInputValue, canAddMore ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PlusIcon, { iconClassName: styles["plusIcon"] }) : void 0, canAddMore ? handleInputSubmit : void 0)
117
116
  })
118
117
  }), values.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
119
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-container")), styles["listContainer"]),
118
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-container")), styles["listContainer"]),
120
119
  children: values.map((value, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
121
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-item")), styles["listItem"]),
120
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-item")), styles["listItem"]),
122
121
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
123
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-item-text")), styles["listItemText"]),
122
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "list-item-text")), styles["listItemText"]),
124
123
  children: value
125
124
  }), canRemove && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
126
125
  type: "button",
127
126
  onClick: () => handleRemoveValue(index),
128
127
  disabled,
129
- className: (0, __emotion_css.cx)((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "remove-button")), styles["removeButton"]),
128
+ className: require_emotion.cx((0, __thunderid_browser.withVendorCSSClassPrefix)((0, __thunderid_browser.bem)("multi-input", "remove-button")), styles["removeButton"]),
130
129
  title: "Remove value",
131
130
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BinIcon, { iconClassName: styles["icon"] })
132
131
  })]