@clerk/ui 1.15.1 → 1.15.2-canary.v20260610150433

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 (170) hide show
  1. package/dist/ClerkUI.js +2 -2
  2. package/dist/components/OAuthConsent/OAuthConsent.js +1 -1
  3. package/dist/components/OAuthConsent/OAuthConsent.js.map +1 -1
  4. package/dist/components/OrganizationProfile/OrganizationGeneralPage.js +1 -1
  5. package/dist/components/OrganizationProfile/OrganizationGeneralPage.js.map +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/no-rhc/ClerkUI.js +2 -2
  8. package/dist/no-rhc/components/OAuthConsent/OAuthConsent.js +1 -1
  9. package/dist/no-rhc/components/OAuthConsent/OAuthConsent.js.map +1 -1
  10. package/dist/no-rhc/components/OrganizationProfile/OrganizationGeneralPage.js +1 -1
  11. package/dist/no-rhc/components/OrganizationProfile/OrganizationGeneralPage.js.map +1 -1
  12. package/dist/no-rhc/index.js +1 -1
  13. package/dist/{oauthConsent_ui_4471dd_1.15.1.js → oauthConsent_ui_2a7d08_1.15.2-canary.v20260610150433.js} +1 -1
  14. package/dist/{oauthConsent_ui_678f63_1.15.1.js → oauthConsent_ui_765ade_1.15.2-canary.v20260610150433.js} +1 -1
  15. package/dist/oauthConsent_ui_8db072_1.15.2-canary.v20260610150433.js +1 -0
  16. package/dist/organizationprofile_ui_2a7d08_1.15.2-canary.v20260610150433.js +1 -0
  17. package/dist/organizationprofile_ui_765ade_1.15.2-canary.v20260610150433.js +1 -0
  18. package/dist/organizationprofile_ui_8db072_1.15.2-canary.v20260610150433.js +1 -0
  19. package/dist/server.js +1 -1
  20. package/dist/ui.browser.js +7 -7
  21. package/dist/ui.legacy.browser.js +1 -1
  22. package/dist/ui.shared.browser.js +2 -2
  23. package/package.json +3 -3
  24. package/dist/oauthConsent_ui_e40ff8_1.15.1.js +0 -1
  25. package/dist/organizationprofile_ui_4471dd_1.15.1.js +0 -1
  26. package/dist/organizationprofile_ui_678f63_1.15.1.js +0 -1
  27. package/dist/organizationprofile_ui_e40ff8_1.15.1.js +0 -1
  28. /package/dist/{2037_ui_678f63_1.15.1.js → 2037_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  29. /package/dist/{2037_ui_e40ff8_1.15.1.js → 2037_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  30. /package/dist/{295_ui_4471dd_1.15.1.js → 295_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  31. /package/dist/{37_ui_4471dd_1.15.1.js → 37_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  32. /package/dist/{4718_ui_678f63_1.15.1.js → 4718_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  33. /package/dist/{4718_ui_e40ff8_1.15.1.js → 4718_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  34. /package/dist/{5829_ui_678f63_1.15.1.js → 5829_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  35. /package/dist/{5829_ui_e40ff8_1.15.1.js → 5829_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  36. /package/dist/{606_ui_4471dd_1.15.1.js → 606_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  37. /package/dist/{606_ui_678f63_1.15.1.js → 606_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  38. /package/dist/{606_ui_e40ff8_1.15.1.js → 606_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  39. /package/dist/{718_ui_4471dd_1.15.1.js → 718_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  40. /package/dist/{746_ui_4471dd_1.15.1.js → 746_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  41. /package/dist/{76_ui_4471dd_1.15.1.js → 76_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  42. /package/dist/{76_ui_678f63_1.15.1.js → 76_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  43. /package/dist/{76_ui_e40ff8_1.15.1.js → 76_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  44. /package/dist/{8295_ui_678f63_1.15.1.js → 8295_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  45. /package/dist/{8295_ui_e40ff8_1.15.1.js → 8295_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  46. /package/dist/{829_ui_4471dd_1.15.1.js → 829_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  47. /package/dist/{8746_ui_678f63_1.15.1.js → 8746_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  48. /package/dist/{8746_ui_e40ff8_1.15.1.js → 8746_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  49. /package/dist/{apiKeys_ui_4471dd_1.15.1.js → apiKeys_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  50. /package/dist/{apiKeys_ui_678f63_1.15.1.js → apiKeys_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  51. /package/dist/{apiKeys_ui_e40ff8_1.15.1.js → apiKeys_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  52. /package/dist/{blankcaptcha_ui_4471dd_1.15.1.js → blankcaptcha_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  53. /package/dist/{blankcaptcha_ui_678f63_1.15.1.js → blankcaptcha_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  54. /package/dist/{blankcaptcha_ui_e40ff8_1.15.1.js → blankcaptcha_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  55. /package/dist/{checkout_ui_4471dd_1.15.1.js → checkout_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  56. /package/dist/{checkout_ui_678f63_1.15.1.js → checkout_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  57. /package/dist/{checkout_ui_e40ff8_1.15.1.js → checkout_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  58. /package/dist/{configureSSO_ui_4471dd_1.15.1.js → configureSSO_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  59. /package/dist/{configureSSO_ui_678f63_1.15.1.js → configureSSO_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  60. /package/dist/{configureSSO_ui_e40ff8_1.15.1.js → configureSSO_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  61. /package/dist/{copy-api-key-modal_ui_4471dd_1.15.1.js → copy-api-key-modal_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  62. /package/dist/{copy-api-key-modal_ui_678f63_1.15.1.js → copy-api-key-modal_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  63. /package/dist/{copy-api-key-modal_ui_e40ff8_1.15.1.js → copy-api-key-modal_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  64. /package/dist/{createorganization_ui_4471dd_1.15.1.js → createorganization_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  65. /package/dist/{createorganization_ui_678f63_1.15.1.js → createorganization_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  66. /package/dist/{createorganization_ui_e40ff8_1.15.1.js → createorganization_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  67. /package/dist/{enableOrganizationsPrompt_ui_4471dd_1.15.1.js → enableOrganizationsPrompt_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  68. /package/dist/{enableOrganizationsPrompt_ui_678f63_1.15.1.js → enableOrganizationsPrompt_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  69. /package/dist/{enableOrganizationsPrompt_ui_e40ff8_1.15.1.js → enableOrganizationsPrompt_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  70. /package/dist/{framework_ui_678f63_1.15.1.js → framework_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  71. /package/dist/{framework_ui_e40ff8_1.15.1.js → framework_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  72. /package/dist/{impersonationfab_ui_4471dd_1.15.1.js → impersonationfab_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  73. /package/dist/{impersonationfab_ui_678f63_1.15.1.js → impersonationfab_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  74. /package/dist/{impersonationfab_ui_e40ff8_1.15.1.js → impersonationfab_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  75. /package/dist/{keylessPrompt_ui_4471dd_1.15.1.js → keylessPrompt_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  76. /package/dist/{keylessPrompt_ui_678f63_1.15.1.js → keylessPrompt_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  77. /package/dist/{keylessPrompt_ui_e40ff8_1.15.1.js → keylessPrompt_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  78. /package/dist/{onetap_ui_4471dd_1.15.1.js → onetap_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  79. /package/dist/{onetap_ui_678f63_1.15.1.js → onetap_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  80. /package/dist/{onetap_ui_e40ff8_1.15.1.js → onetap_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  81. /package/dist/{op-api-keys-page_ui_4471dd_1.15.1.js → op-api-keys-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  82. /package/dist/{op-api-keys-page_ui_678f63_1.15.1.js → op-api-keys-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  83. /package/dist/{op-api-keys-page_ui_e40ff8_1.15.1.js → op-api-keys-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  84. /package/dist/{op-billing-page_ui_4471dd_1.15.1.js → op-billing-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  85. /package/dist/{op-billing-page_ui_678f63_1.15.1.js → op-billing-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  86. /package/dist/{op-billing-page_ui_e40ff8_1.15.1.js → op-billing-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  87. /package/dist/{op-plans-page_ui_4471dd_1.15.1.js → op-plans-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  88. /package/dist/{op-plans-page_ui_678f63_1.15.1.js → op-plans-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  89. /package/dist/{op-plans-page_ui_e40ff8_1.15.1.js → op-plans-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  90. /package/dist/{op-self-serve-sso-page_ui_4471dd_1.15.1.js → op-self-serve-sso-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  91. /package/dist/{op-self-serve-sso-page_ui_678f63_1.15.1.js → op-self-serve-sso-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  92. /package/dist/{op-self-serve-sso-page_ui_e40ff8_1.15.1.js → op-self-serve-sso-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  93. /package/dist/{organizationlist_ui_4471dd_1.15.1.js → organizationlist_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  94. /package/dist/{organizationlist_ui_678f63_1.15.1.js → organizationlist_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  95. /package/dist/{organizationlist_ui_e40ff8_1.15.1.js → organizationlist_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  96. /package/dist/{organizationswitcher_ui_4471dd_1.15.1.js → organizationswitcher_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  97. /package/dist/{organizationswitcher_ui_678f63_1.15.1.js → organizationswitcher_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  98. /package/dist/{organizationswitcher_ui_e40ff8_1.15.1.js → organizationswitcher_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  99. /package/dist/{payment-attempt-page_ui_4471dd_1.15.1.js → payment-attempt-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  100. /package/dist/{payment-attempt-page_ui_678f63_1.15.1.js → payment-attempt-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  101. /package/dist/{payment-attempt-page_ui_e40ff8_1.15.1.js → payment-attempt-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  102. /package/dist/{planDetails_ui_4471dd_1.15.1.js → planDetails_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  103. /package/dist/{planDetails_ui_678f63_1.15.1.js → planDetails_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  104. /package/dist/{planDetails_ui_e40ff8_1.15.1.js → planDetails_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  105. /package/dist/{prefetchorganizationlist_ui_4471dd_1.15.1.js → prefetchorganizationlist_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  106. /package/dist/{prefetchorganizationlist_ui_678f63_1.15.1.js → prefetchorganizationlist_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  107. /package/dist/{prefetchorganizationlist_ui_e40ff8_1.15.1.js → prefetchorganizationlist_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  108. /package/dist/{pricingTable_ui_4471dd_1.15.1.js → pricingTable_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  109. /package/dist/{pricingTable_ui_678f63_1.15.1.js → pricingTable_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  110. /package/dist/{pricingTable_ui_e40ff8_1.15.1.js → pricingTable_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  111. /package/dist/{revoke-api-key-modal_ui_4471dd_1.15.1.js → revoke-api-key-modal_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  112. /package/dist/{revoke-api-key-modal_ui_678f63_1.15.1.js → revoke-api-key-modal_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  113. /package/dist/{revoke-api-key-modal_ui_e40ff8_1.15.1.js → revoke-api-key-modal_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  114. /package/dist/{sessionTasks_ui_4471dd_1.15.1.js → sessionTasks_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  115. /package/dist/{sessionTasks_ui_678f63_1.15.1.js → sessionTasks_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  116. /package/dist/{sessionTasks_ui_e40ff8_1.15.1.js → sessionTasks_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  117. /package/dist/{signin_ui_4471dd_1.15.1.js → signin_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  118. /package/dist/{signin_ui_678f63_1.15.1.js → signin_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  119. /package/dist/{signin_ui_e40ff8_1.15.1.js → signin_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  120. /package/dist/{signup_ui_4471dd_1.15.1.js → signup_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  121. /package/dist/{signup_ui_678f63_1.15.1.js → signup_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  122. /package/dist/{signup_ui_e40ff8_1.15.1.js → signup_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  123. /package/dist/{statement-page_ui_4471dd_1.15.1.js → statement-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  124. /package/dist/{statement-page_ui_678f63_1.15.1.js → statement-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  125. /package/dist/{statement-page_ui_e40ff8_1.15.1.js → statement-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  126. /package/dist/{subscriptionDetails_ui_4471dd_1.15.1.js → subscriptionDetails_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  127. /package/dist/{subscriptionDetails_ui_678f63_1.15.1.js → subscriptionDetails_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  128. /package/dist/{subscriptionDetails_ui_e40ff8_1.15.1.js → subscriptionDetails_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  129. /package/dist/{taskChooseOrganization_ui_4471dd_1.15.1.js → taskChooseOrganization_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  130. /package/dist/{taskChooseOrganization_ui_678f63_1.15.1.js → taskChooseOrganization_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  131. /package/dist/{taskChooseOrganization_ui_e40ff8_1.15.1.js → taskChooseOrganization_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  132. /package/dist/{taskResetPassword_ui_4471dd_1.15.1.js → taskResetPassword_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  133. /package/dist/{taskResetPassword_ui_678f63_1.15.1.js → taskResetPassword_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  134. /package/dist/{taskResetPassword_ui_e40ff8_1.15.1.js → taskResetPassword_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  135. /package/dist/{taskSetupMFA_ui_4471dd_1.15.1.js → taskSetupMFA_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  136. /package/dist/{taskSetupMFA_ui_678f63_1.15.1.js → taskSetupMFA_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  137. /package/dist/{taskSetupMFA_ui_e40ff8_1.15.1.js → taskSetupMFA_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  138. /package/dist/{ui-common_ui_4471dd_1.15.1.js → ui-common_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  139. /package/dist/{ui-common_ui_678f63_1.15.1.js → ui-common_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  140. /package/dist/{ui-common_ui_e40ff8_1.15.1.js → ui-common_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  141. /package/dist/{up-api-keys-page_ui_4471dd_1.15.1.js → up-api-keys-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  142. /package/dist/{up-api-keys-page_ui_678f63_1.15.1.js → up-api-keys-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  143. /package/dist/{up-api-keys-page_ui_e40ff8_1.15.1.js → up-api-keys-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  144. /package/dist/{up-billing-page_ui_4471dd_1.15.1.js → up-billing-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  145. /package/dist/{up-billing-page_ui_678f63_1.15.1.js → up-billing-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  146. /package/dist/{up-billing-page_ui_e40ff8_1.15.1.js → up-billing-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  147. /package/dist/{up-plans-page_ui_4471dd_1.15.1.js → up-plans-page_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  148. /package/dist/{up-plans-page_ui_678f63_1.15.1.js → up-plans-page_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  149. /package/dist/{up-plans-page_ui_e40ff8_1.15.1.js → up-plans-page_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  150. /package/dist/{useravatar_ui_4471dd_1.15.1.js → useravatar_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  151. /package/dist/{useravatar_ui_678f63_1.15.1.js → useravatar_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  152. /package/dist/{useravatar_ui_e40ff8_1.15.1.js → useravatar_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  153. /package/dist/{userbutton_ui_4471dd_1.15.1.js → userbutton_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  154. /package/dist/{userbutton_ui_678f63_1.15.1.js → userbutton_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  155. /package/dist/{userbutton_ui_e40ff8_1.15.1.js → userbutton_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  156. /package/dist/{userprofile_ui_4471dd_1.15.1.js → userprofile_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  157. /package/dist/{userprofile_ui_678f63_1.15.1.js → userprofile_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  158. /package/dist/{userprofile_ui_e40ff8_1.15.1.js → userprofile_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  159. /package/dist/{userverification_ui_4471dd_1.15.1.js → userverification_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  160. /package/dist/{userverification_ui_678f63_1.15.1.js → userverification_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  161. /package/dist/{userverification_ui_e40ff8_1.15.1.js → userverification_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  162. /package/dist/{vendors_ui_4471dd_1.15.1.js → vendors_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  163. /package/dist/{vendors_ui_678f63_1.15.1.js → vendors_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  164. /package/dist/{vendors_ui_e40ff8_1.15.1.js → vendors_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  165. /package/dist/{waitlist_ui_4471dd_1.15.1.js → waitlist_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  166. /package/dist/{waitlist_ui_678f63_1.15.1.js → waitlist_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  167. /package/dist/{waitlist_ui_e40ff8_1.15.1.js → waitlist_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
  168. /package/dist/{web3-solana-wallet-buttons_ui_4471dd_1.15.1.js → web3-solana-wallet-buttons_ui_2a7d08_1.15.2-canary.v20260610150433.js} +0 -0
  169. /package/dist/{web3-solana-wallet-buttons_ui_678f63_1.15.1.js → web3-solana-wallet-buttons_ui_765ade_1.15.2-canary.v20260610150433.js} +0 -0
  170. /package/dist/{web3-solana-wallet-buttons_ui_e40ff8_1.15.1.js → web3-solana-wallet-buttons_ui_8db072_1.15.2-canary.v20260610150433.js} +0 -0
package/dist/ClerkUI.js CHANGED
@@ -23,8 +23,8 @@ import { isVersionAtLeast, parseVersion } from "@clerk/shared/versionCheck";
23
23
  * @public
24
24
  */
25
25
  var ClerkUI = class ClerkUI {
26
- static version = "1.15.1";
27
- version = "1.15.1";
26
+ static version = "1.15.2-canary.v20260610150433";
27
+ version = "1.15.2-canary.v20260610150433";
28
28
  #componentRenderer;
29
29
  /**
30
30
  * Creates a new `ClerkUI` instance and mounts the internal component renderer.
@@ -81,7 +81,7 @@ function _OAuthConsent() {
81
81
  else ctx.onDeny?.();
82
82
  };
83
83
  const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;
84
- const displayedScopes = scopes.filter((item) => ![OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE].includes(item.scope));
84
+ const displayedScopes = scopes.filter((item) => item.scope !== OFFLINE_ACCESS_SCOPE);
85
85
  const hasOfflineAccess = scopes.some((item) => item.scope === OFFLINE_ACCESS_SCOPE);
86
86
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("form", {
87
87
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthConsent.js","names":["t"],"sources":["../../../src/components/OAuthConsent/OAuthConsent.tsx"],"sourcesContent":["import { useClerk, useOAuthConsent, useUser } from '@clerk/shared/react';\nimport { useState } from 'react';\n\nimport { useEnvironment, useOAuthConsentContext, withCoreUserGuard } from '@/ui/contexts';\nimport { Box, Button, Flow, Grid, localizationKeys, Text, useLocalizations } from '@/ui/customizables';\nimport { ApplicationLogo } from '@/ui/elements/ApplicationLogo';\nimport { Card } from '@/ui/elements/Card';\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { Header } from '@/ui/elements/Header';\nimport { LoadingCardContainer } from '@/ui/elements/LoadingCard';\nimport { Modal } from '@/ui/elements/Modal';\nimport { Alert, Textarea } from '@/ui/primitives';\nimport { Route, Switch } from '@/ui/router';\n\nimport { InlineAction } from './InlineAction';\nimport {\n ListGroup,\n ListGroupContent,\n ListGroupHeader,\n ListGroupHeaderTitle,\n ListGroupItem,\n ListGroupItemLabel,\n} from './ListGroup';\nimport { LogoGroup, LogoGroupIcon, LogoGroupItem, LogoGroupSeparator } from './LogoGroup';\nimport { OrgSelect } from './OrgSelect';\nimport { getForwardedParams, getOAuthConsentFromSearch, getRedirectDisplay, getRedirectUriFromSearch } from './utils';\n\nconst OFFLINE_ACCESS_SCOPE = 'offline_access';\nconst USER_ORG_READ_SCOPE = 'user:org:read';\n\nfunction _OAuthConsent() {\n const ctx = useOAuthConsentContext();\n const clerk = useClerk();\n const { user } = useUser();\n const {\n displayConfig: { applicationName, logoImageUrl },\n organizationSettings,\n } = useEnvironment();\n const [isUriModalOpen, setIsUriModalOpen] = useState(false);\n\n const [selectedOrg, setSelectedOrg] = useState<string | null>(null);\n\n // onAllow and onDeny are always provided as a pair by the accounts portal.\n const hasContextCallbacks = Boolean(ctx.onAllow || ctx.onDeny);\n\n // Resolve oauthClientId and scope once: context overrides URL fallback.\n const fromUrl = getOAuthConsentFromSearch();\n const oauthClientId = ctx.oauthClientId ?? fromUrl.oauthClientId;\n const scope = ctx.scope ?? fromUrl.scope;\n\n // Public path: fetch via hook. Disabled on the accounts portal path\n // (which already has all data via context) to avoid a wasted FAPI request.\n const redirectUri = ctx.redirectUrl ?? getRedirectUriFromSearch();\n const { data, isLoading, error } = useOAuthConsent({\n oauthClientId,\n scope,\n redirectUri: redirectUri || undefined,\n // TODO: Remove this once account portal is refactored to use this component\n enabled: !hasContextCallbacks,\n });\n\n // Hook returns camelCase `requiresConsent`; the render logic uses snake_case.\n const mappedHookScopes = data?.scopes?.map(s => ({\n scope: s.scope,\n description: s.description,\n requires_consent: s.requiresConsent,\n }));\n\n // Context (accounts portal path) wins over hook data (public path).\n const scopes = ctx.scopes ?? mappedHookScopes ?? [];\n const oauthApplicationName = ctx.oauthApplicationName ?? data?.oauthApplicationName ?? '';\n const oauthApplicationLogoUrl = ctx.oauthApplicationLogoUrl ?? data?.oauthApplicationLogoUrl;\n const oauthApplicationUrl = ctx.oauthApplicationUrl ?? data?.oauthApplicationUrl;\n const redirectUrl = ctx.redirectUrl ?? redirectUri;\n\n const hasOrgReadScope = scopes.some(s => s.scope === USER_ORG_READ_SCOPE);\n const orgSelectionEnabled = !!(hasOrgReadScope && organizationSettings.enabled);\n const orgOptions = orgSelectionEnabled\n ? (user?.organizationMemberships ?? []).map(m => ({\n value: m.organization.id,\n label: m.organization.name,\n logoUrl: m.organization.imageUrl,\n }))\n : [];\n const lastActiveOrgId = clerk.session?.lastActiveOrganizationId;\n const defaultOrg = orgOptions.find(o => o.value === lastActiveOrgId)?.value ?? orgOptions[0]?.value ?? null;\n const effectiveOrg = selectedOrg ?? defaultOrg;\n\n const { t } = useLocalizations();\n const domainAction = data?.redirectDomain ?? getRedirectDisplay(redirectUrl);\n const viewFullUrlText = t(localizationKeys('oauthConsent.viewFullUrl'));\n\n // Error states only apply to the public flow.\n if (!hasContextCallbacks) {\n const errorMessage = !oauthClientId\n ? 'The client ID is missing.'\n : !redirectUrl\n ? 'The redirect URI is missing.'\n : error\n ? (error.message ?? 'Failed to load consent information.')\n : undefined;\n\n if (errorMessage) {\n return (\n <Card.Root>\n <Card.Content>\n <Card.Alert>{errorMessage}</Card.Alert>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n\n if (isLoading) {\n return (\n <Card.Root>\n <Card.Content>\n <LoadingCardContainer />\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n }\n\n const actionUrl = clerk.oauthApplication.buildConsentActionUrl({ clientId: oauthClientId });\n const forwardedParams = getForwardedParams();\n\n // Accounts portal path delegates to context callbacks; public path lets the form submit natively.\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n if (!hasContextCallbacks) {\n return;\n }\n e.preventDefault();\n const submitter = (e.nativeEvent as SubmitEvent).submitter as HTMLButtonElement | null;\n if (submitter?.value === 'true') {\n ctx.onAllow?.();\n } else {\n ctx.onDeny?.();\n }\n };\n\n const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;\n\n const displayedScopes = scopes.filter(item => ![OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE].includes(item.scope));\n const hasOfflineAccess = scopes.some(item => item.scope === OFFLINE_ACCESS_SCOPE);\n\n return (\n <>\n <form\n method='POST'\n action={actionUrl}\n onSubmit={handleSubmit}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n {/* both have avatars */}\n {oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* only OAuth app has an avatar */}\n {oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <Box sx={{ position: 'relative' }}>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n <LogoGroupIcon\n size='sm'\n sx={t => ({\n position: 'absolute',\n bottom: `calc(${t.space.$3} * -1)`,\n insetInlineEnd: `calc(${t.space.$3} * -1)`,\n })}\n />\n </Box>\n </LogoGroup>\n )}\n {/* only Clerk application has an avatar */}\n {!oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <LogoGroupIcon />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* no avatars */}\n {!oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <LogoGroupIcon />\n </LogoGroup>\n )}\n <Header.Title localizationKey={oauthApplicationName} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.subtitle', {\n applicationName,\n identifier: primaryIdentifier || '',\n })}\n />\n </Header.Root>\n {orgSelectionEnabled && orgOptions.length > 0 && effectiveOrg && (\n <OrgSelect\n options={orgOptions}\n value={effectiveOrg}\n onChange={setSelectedOrg}\n />\n )}\n <ListGroup>\n <ListGroupHeader>\n <ListGroupHeaderTitle\n localizationKey={localizationKeys('oauthConsent.scopeList.title', {\n applicationName: oauthApplicationName,\n })}\n />\n </ListGroupHeader>\n <ListGroupContent>\n {displayedScopes.map(item => (\n <ListGroupItem key={item.scope}>\n <ListGroupItemLabel>{item.description || item.scope || ''}</ListGroupItemLabel>\n </ListGroupItem>\n ))}\n </ListGroupContent>\n </ListGroup>\n <Alert colorScheme='warning'>\n <Text\n colorScheme='warning'\n variant='caption'\n >\n <InlineAction\n text={t(\n localizationKeys('oauthConsent.warning', {\n applicationName: oauthApplicationName || applicationName,\n domainAction,\n }),\n )}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n </Text>\n </Alert>\n <Grid\n columns={2}\n gap={3}\n >\n <Button\n type='submit'\n name='consented'\n value='false'\n colorScheme='secondary'\n variant='outline'\n localizationKey={localizationKeys('oauthConsent.action__deny')}\n />\n <Button\n type='submit'\n name='consented'\n value='true'\n localizationKey={localizationKeys('oauthConsent.action__allow')}\n />\n <Text\n sx={{ gridColumn: 'span 2' }}\n colorScheme='secondary'\n variant='caption'\n >\n <InlineAction\n text={t(localizationKeys('oauthConsent.redirectNotice', { domainAction }))}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n {hasOfflineAccess && t(localizationKeys('oauthConsent.offlineAccessNotice'))}\n </Text>\n </Grid>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n {!hasContextCallbacks &&\n forwardedParams.map(([key, value]) => (\n <input\n key={key}\n type='hidden'\n name={key}\n value={value}\n />\n ))}\n {!hasContextCallbacks && orgSelectionEnabled && effectiveOrg && (\n <input\n type='hidden'\n name='organization_id'\n value={effectiveOrg}\n />\n )}\n </form>\n <RedirectUriModal\n isOpen={isUriModalOpen}\n onOpen={() => setIsUriModalOpen(true)}\n onClose={() => setIsUriModalOpen(false)}\n redirectUri={redirectUrl}\n oauthApplicationName={oauthApplicationName}\n />\n </>\n );\n}\n\ntype RedirectUriModalProps = {\n onOpen: () => void;\n onClose: () => void;\n isOpen: boolean;\n redirectUri: string;\n oauthApplicationName: string;\n};\n\nfunction RedirectUriModal({ onOpen, onClose, isOpen, redirectUri, oauthApplicationName }: RedirectUriModalProps) {\n if (!isOpen) {\n return null;\n }\n\n return (\n <Modal\n handleOpen={onOpen}\n handleClose={onClose}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n <Header.Title localizationKey={localizationKeys('oauthConsent.redirectUriModal.title')} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.redirectUriModal.subtitle', {\n applicationName: oauthApplicationName,\n })}\n />\n </Header.Root>\n <Textarea\n style={{ maxHeight: 'none' }}\n cols={50}\n rows={6}\n defaultValue={redirectUri}\n readOnly\n />\n </Card.Content>\n </Card.Root>\n </Modal>\n );\n}\n\nconst AuthenticatedRoutes = withCoreUserGuard(withCardStateProvider(_OAuthConsent));\n\nconst OAuthConsentInternal = () => {\n return (\n <Flow.Root flow='oauthConsent'>\n <Flow.Part>\n <Switch>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nexport const OAuthConsent = OAuthConsentInternal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"OAuthConsent.js","names":["t"],"sources":["../../../src/components/OAuthConsent/OAuthConsent.tsx"],"sourcesContent":["import { useClerk, useOAuthConsent, useUser } from '@clerk/shared/react';\nimport { useState } from 'react';\n\nimport { useEnvironment, useOAuthConsentContext, withCoreUserGuard } from '@/ui/contexts';\nimport { Box, Button, Flow, Grid, localizationKeys, Text, useLocalizations } from '@/ui/customizables';\nimport { ApplicationLogo } from '@/ui/elements/ApplicationLogo';\nimport { Card } from '@/ui/elements/Card';\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { Header } from '@/ui/elements/Header';\nimport { LoadingCardContainer } from '@/ui/elements/LoadingCard';\nimport { Modal } from '@/ui/elements/Modal';\nimport { Alert, Textarea } from '@/ui/primitives';\nimport { Route, Switch } from '@/ui/router';\n\nimport { InlineAction } from './InlineAction';\nimport {\n ListGroup,\n ListGroupContent,\n ListGroupHeader,\n ListGroupHeaderTitle,\n ListGroupItem,\n ListGroupItemLabel,\n} from './ListGroup';\nimport { LogoGroup, LogoGroupIcon, LogoGroupItem, LogoGroupSeparator } from './LogoGroup';\nimport { OrgSelect } from './OrgSelect';\nimport { getForwardedParams, getOAuthConsentFromSearch, getRedirectDisplay, getRedirectUriFromSearch } from './utils';\n\nconst OFFLINE_ACCESS_SCOPE = 'offline_access';\nconst USER_ORG_READ_SCOPE = 'user:org:read';\n\nfunction _OAuthConsent() {\n const ctx = useOAuthConsentContext();\n const clerk = useClerk();\n const { user } = useUser();\n const {\n displayConfig: { applicationName, logoImageUrl },\n organizationSettings,\n } = useEnvironment();\n const [isUriModalOpen, setIsUriModalOpen] = useState(false);\n\n const [selectedOrg, setSelectedOrg] = useState<string | null>(null);\n\n // onAllow and onDeny are always provided as a pair by the accounts portal.\n const hasContextCallbacks = Boolean(ctx.onAllow || ctx.onDeny);\n\n // Resolve oauthClientId and scope once: context overrides URL fallback.\n const fromUrl = getOAuthConsentFromSearch();\n const oauthClientId = ctx.oauthClientId ?? fromUrl.oauthClientId;\n const scope = ctx.scope ?? fromUrl.scope;\n\n // Public path: fetch via hook. Disabled on the accounts portal path\n // (which already has all data via context) to avoid a wasted FAPI request.\n const redirectUri = ctx.redirectUrl ?? getRedirectUriFromSearch();\n const { data, isLoading, error } = useOAuthConsent({\n oauthClientId,\n scope,\n redirectUri: redirectUri || undefined,\n // TODO: Remove this once account portal is refactored to use this component\n enabled: !hasContextCallbacks,\n });\n\n // Hook returns camelCase `requiresConsent`; the render logic uses snake_case.\n const mappedHookScopes = data?.scopes?.map(s => ({\n scope: s.scope,\n description: s.description,\n requires_consent: s.requiresConsent,\n }));\n\n // Context (accounts portal path) wins over hook data (public path).\n const scopes = ctx.scopes ?? mappedHookScopes ?? [];\n const oauthApplicationName = ctx.oauthApplicationName ?? data?.oauthApplicationName ?? '';\n const oauthApplicationLogoUrl = ctx.oauthApplicationLogoUrl ?? data?.oauthApplicationLogoUrl;\n const oauthApplicationUrl = ctx.oauthApplicationUrl ?? data?.oauthApplicationUrl;\n const redirectUrl = ctx.redirectUrl ?? redirectUri;\n\n const hasOrgReadScope = scopes.some(s => s.scope === USER_ORG_READ_SCOPE);\n const orgSelectionEnabled = !!(hasOrgReadScope && organizationSettings.enabled);\n const orgOptions = orgSelectionEnabled\n ? (user?.organizationMemberships ?? []).map(m => ({\n value: m.organization.id,\n label: m.organization.name,\n logoUrl: m.organization.imageUrl,\n }))\n : [];\n const lastActiveOrgId = clerk.session?.lastActiveOrganizationId;\n const defaultOrg = orgOptions.find(o => o.value === lastActiveOrgId)?.value ?? orgOptions[0]?.value ?? null;\n const effectiveOrg = selectedOrg ?? defaultOrg;\n\n const { t } = useLocalizations();\n const domainAction = data?.redirectDomain ?? getRedirectDisplay(redirectUrl);\n const viewFullUrlText = t(localizationKeys('oauthConsent.viewFullUrl'));\n\n // Error states only apply to the public flow.\n if (!hasContextCallbacks) {\n const errorMessage = !oauthClientId\n ? 'The client ID is missing.'\n : !redirectUrl\n ? 'The redirect URI is missing.'\n : error\n ? (error.message ?? 'Failed to load consent information.')\n : undefined;\n\n if (errorMessage) {\n return (\n <Card.Root>\n <Card.Content>\n <Card.Alert>{errorMessage}</Card.Alert>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n\n if (isLoading) {\n return (\n <Card.Root>\n <Card.Content>\n <LoadingCardContainer />\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n }\n\n const actionUrl = clerk.oauthApplication.buildConsentActionUrl({ clientId: oauthClientId });\n const forwardedParams = getForwardedParams();\n\n // Accounts portal path delegates to context callbacks; public path lets the form submit natively.\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n if (!hasContextCallbacks) {\n return;\n }\n e.preventDefault();\n const submitter = (e.nativeEvent as SubmitEvent).submitter as HTMLButtonElement | null;\n if (submitter?.value === 'true') {\n ctx.onAllow?.();\n } else {\n ctx.onDeny?.();\n }\n };\n\n const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;\n\n const displayedScopes = scopes.filter(item => item.scope !== OFFLINE_ACCESS_SCOPE);\n const hasOfflineAccess = scopes.some(item => item.scope === OFFLINE_ACCESS_SCOPE);\n\n return (\n <>\n <form\n method='POST'\n action={actionUrl}\n onSubmit={handleSubmit}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n {/* both have avatars */}\n {oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* only OAuth app has an avatar */}\n {oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <Box sx={{ position: 'relative' }}>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n <LogoGroupIcon\n size='sm'\n sx={t => ({\n position: 'absolute',\n bottom: `calc(${t.space.$3} * -1)`,\n insetInlineEnd: `calc(${t.space.$3} * -1)`,\n })}\n />\n </Box>\n </LogoGroup>\n )}\n {/* only Clerk application has an avatar */}\n {!oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <LogoGroupIcon />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* no avatars */}\n {!oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <LogoGroupIcon />\n </LogoGroup>\n )}\n <Header.Title localizationKey={oauthApplicationName} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.subtitle', {\n applicationName,\n identifier: primaryIdentifier || '',\n })}\n />\n </Header.Root>\n {orgSelectionEnabled && orgOptions.length > 0 && effectiveOrg && (\n <OrgSelect\n options={orgOptions}\n value={effectiveOrg}\n onChange={setSelectedOrg}\n />\n )}\n <ListGroup>\n <ListGroupHeader>\n <ListGroupHeaderTitle\n localizationKey={localizationKeys('oauthConsent.scopeList.title', {\n applicationName: oauthApplicationName,\n })}\n />\n </ListGroupHeader>\n <ListGroupContent>\n {displayedScopes.map(item => (\n <ListGroupItem key={item.scope}>\n <ListGroupItemLabel>{item.description || item.scope || ''}</ListGroupItemLabel>\n </ListGroupItem>\n ))}\n </ListGroupContent>\n </ListGroup>\n <Alert colorScheme='warning'>\n <Text\n colorScheme='warning'\n variant='caption'\n >\n <InlineAction\n text={t(\n localizationKeys('oauthConsent.warning', {\n applicationName: oauthApplicationName || applicationName,\n domainAction,\n }),\n )}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n </Text>\n </Alert>\n <Grid\n columns={2}\n gap={3}\n >\n <Button\n type='submit'\n name='consented'\n value='false'\n colorScheme='secondary'\n variant='outline'\n localizationKey={localizationKeys('oauthConsent.action__deny')}\n />\n <Button\n type='submit'\n name='consented'\n value='true'\n localizationKey={localizationKeys('oauthConsent.action__allow')}\n />\n <Text\n sx={{ gridColumn: 'span 2' }}\n colorScheme='secondary'\n variant='caption'\n >\n <InlineAction\n text={t(localizationKeys('oauthConsent.redirectNotice', { domainAction }))}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n {hasOfflineAccess && t(localizationKeys('oauthConsent.offlineAccessNotice'))}\n </Text>\n </Grid>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n {!hasContextCallbacks &&\n forwardedParams.map(([key, value]) => (\n <input\n key={key}\n type='hidden'\n name={key}\n value={value}\n />\n ))}\n {!hasContextCallbacks && orgSelectionEnabled && effectiveOrg && (\n <input\n type='hidden'\n name='organization_id'\n value={effectiveOrg}\n />\n )}\n </form>\n <RedirectUriModal\n isOpen={isUriModalOpen}\n onOpen={() => setIsUriModalOpen(true)}\n onClose={() => setIsUriModalOpen(false)}\n redirectUri={redirectUrl}\n oauthApplicationName={oauthApplicationName}\n />\n </>\n );\n}\n\ntype RedirectUriModalProps = {\n onOpen: () => void;\n onClose: () => void;\n isOpen: boolean;\n redirectUri: string;\n oauthApplicationName: string;\n};\n\nfunction RedirectUriModal({ onOpen, onClose, isOpen, redirectUri, oauthApplicationName }: RedirectUriModalProps) {\n if (!isOpen) {\n return null;\n }\n\n return (\n <Modal\n handleOpen={onOpen}\n handleClose={onClose}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n <Header.Title localizationKey={localizationKeys('oauthConsent.redirectUriModal.title')} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.redirectUriModal.subtitle', {\n applicationName: oauthApplicationName,\n })}\n />\n </Header.Root>\n <Textarea\n style={{ maxHeight: 'none' }}\n cols={50}\n rows={6}\n defaultValue={redirectUri}\n readOnly\n />\n </Card.Content>\n </Card.Root>\n </Modal>\n );\n}\n\nconst AuthenticatedRoutes = withCoreUserGuard(withCardStateProvider(_OAuthConsent));\n\nconst OAuthConsentInternal = () => {\n return (\n <Flow.Root flow='oauthConsent'>\n <Flow.Part>\n <Switch>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nexport const OAuthConsent = OAuthConsentInternal;\n"],"mappings":"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"}
@@ -120,7 +120,7 @@ const OrganizationDomainsSection = () => {
120
120
  id: "organizationDomains"
121
121
  }), /* @__PURE__ */ jsx(Text, {
122
122
  localizationKey: localizationKeys("organizationProfile.profilePage.domainSection.subtitle"),
123
- sx: (t) => ({ paddingInlineStart: t.space.$9 }),
123
+ sx: (t) => ({ paddingInlineStart: t.space.$8x5 }),
124
124
  colorScheme: "secondary"
125
125
  })] })
126
126
  }), /* @__PURE__ */ jsx(Action.Open, {
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationGeneralPage.js","names":[],"sources":["../../../src/components/OrganizationProfile/OrganizationGeneralPage.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\n\nimport { Header } from '@/ui/elements/Header';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\nimport { ProfileSection } from '@/ui/elements/Section';\n\nimport { Protect, useProtect } from '../../common';\nimport { useEnvironment } from '../../contexts';\nimport { Col, descriptors, localizationKeys, Text } from '../../customizables';\nimport { Action } from '../../elements/Action';\nimport { useActionContext } from '../../elements/Action/ActionRoot';\nimport { DeleteOrganizationForm, LeaveOrganizationForm } from './ActionConfirmationPage';\nimport { AddDomainForm } from './AddDomainForm';\nimport { DomainList } from './DomainList';\nimport { ProfileForm } from './ProfileForm';\n\nconst ProfileScreen = () => {\n const { close } = useActionContext();\n return (\n <ProfileForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst AddDomainScreen = () => {\n const { close } = useActionContext();\n return (\n <AddDomainForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst LeaveOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <LeaveOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst DeleteOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <DeleteOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nexport const OrganizationGeneralPage = () => {\n return (\n <ProfileCard.Page>\n <Col\n elementDescriptor={descriptors.page}\n sx={t => ({ gap: t.space.$8 })}\n >\n <Col\n elementDescriptor={descriptors.profilePage}\n elementId={descriptors.profilePage.setId('organizationGeneral')}\n >\n <Header.Root>\n <Header.Title\n localizationKey={localizationKeys('organizationProfile.start.headerTitle__general')}\n sx={t => ({ marginBottom: t.space.$4 })}\n textVariant='h2'\n />\n </Header.Root>\n <OrganizationProfileSection />\n <Protect permission='org:sys_domains:read'>\n <OrganizationDomainsSection />\n </Protect>\n <OrganizationLeaveSection />\n <OrganizationDeleteSection />\n </Col>\n </Col>\n </ProfileCard.Page>\n );\n};\n\nconst OrganizationProfileSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n const profile = (\n <OrganizationPreview\n size='lg'\n mainIdentifierVariant='subtitle'\n organization={organization}\n />\n );\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.start.profileSection.title')}\n id='organizationProfile'\n >\n <Action.Root>\n <Protect\n permission={'org:sys_profile:manage'}\n fallback={profile}\n >\n <Action.Closed value='edit'>\n <ProfileSection.Item id='organizationProfile'>\n {profile}\n\n <Action.Trigger value='edit'>\n <ProfileSection.Button\n id='organizationProfile'\n localizationKey={localizationKeys('organizationProfile.start.profileSection.primaryButton')}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n </Protect>\n\n <Action.Open value='edit'>\n <Action.Card>\n <ProfileScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDomainsSection = () => {\n const { organizationSettings } = useEnvironment();\n const { organization } = useOrganization();\n\n if (!organizationSettings || !organization) {\n return null;\n }\n\n if (!organizationSettings.domains.enabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.profilePage.domainSection.title')}\n id='organizationDomains'\n centered={false}\n >\n <Action.Root>\n <DomainList />\n\n <Protect permission='org:sys_domains:manage'>\n <Action.Trigger value='add'>\n <Col>\n <ProfileSection.ArrowButton\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.primaryButton')}\n id='organizationDomains'\n />\n <Text\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.subtitle')}\n sx={t => ({\n paddingInlineStart: t.space.$9,\n })}\n colorScheme='secondary'\n />\n </Col>\n </Action.Trigger>\n\n <Action.Open value='add'>\n <Action.Card>\n <AddDomainScreen />\n </Action.Card>\n </Action.Open>\n </Protect>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationLeaveSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.leaveOrganization.title')}\n >\n <Action.Root>\n <Action.Closed value='leave'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id='organizationDanger'\n >\n <Action.Trigger value='leave'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.leaveOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='leave'>\n <Action.Card variant='destructive'>\n <LeaveOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDeleteSection = () => {\n const { organization } = useOrganization();\n const canDeleteOrganization = useProtect({ permission: 'org:sys_profile:delete' });\n\n if (!organization) {\n return null;\n }\n\n const adminDeleteEnabled = organization.adminDeleteEnabled;\n\n if (!canDeleteOrganization || !adminDeleteEnabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.deleteOrganization.title')}\n sx={t => ({ marginBottom: t.space.$4 })}\n >\n <Action.Root>\n <Action.Closed value='delete'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id={'organizationDanger'}\n >\n <Action.Trigger value='delete'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.deleteOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='delete'>\n <Action.Card variant='destructive'>\n <DeleteOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"OrganizationGeneralPage.js","names":[],"sources":["../../../src/components/OrganizationProfile/OrganizationGeneralPage.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\n\nimport { Header } from '@/ui/elements/Header';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\nimport { ProfileSection } from '@/ui/elements/Section';\n\nimport { Protect, useProtect } from '../../common';\nimport { useEnvironment } from '../../contexts';\nimport { Col, descriptors, localizationKeys, Text } from '../../customizables';\nimport { Action } from '../../elements/Action';\nimport { useActionContext } from '../../elements/Action/ActionRoot';\nimport { DeleteOrganizationForm, LeaveOrganizationForm } from './ActionConfirmationPage';\nimport { AddDomainForm } from './AddDomainForm';\nimport { DomainList } from './DomainList';\nimport { ProfileForm } from './ProfileForm';\n\nconst ProfileScreen = () => {\n const { close } = useActionContext();\n return (\n <ProfileForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst AddDomainScreen = () => {\n const { close } = useActionContext();\n return (\n <AddDomainForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst LeaveOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <LeaveOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst DeleteOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <DeleteOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nexport const OrganizationGeneralPage = () => {\n return (\n <ProfileCard.Page>\n <Col\n elementDescriptor={descriptors.page}\n sx={t => ({ gap: t.space.$8 })}\n >\n <Col\n elementDescriptor={descriptors.profilePage}\n elementId={descriptors.profilePage.setId('organizationGeneral')}\n >\n <Header.Root>\n <Header.Title\n localizationKey={localizationKeys('organizationProfile.start.headerTitle__general')}\n sx={t => ({ marginBottom: t.space.$4 })}\n textVariant='h2'\n />\n </Header.Root>\n <OrganizationProfileSection />\n <Protect permission='org:sys_domains:read'>\n <OrganizationDomainsSection />\n </Protect>\n <OrganizationLeaveSection />\n <OrganizationDeleteSection />\n </Col>\n </Col>\n </ProfileCard.Page>\n );\n};\n\nconst OrganizationProfileSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n const profile = (\n <OrganizationPreview\n size='lg'\n mainIdentifierVariant='subtitle'\n organization={organization}\n />\n );\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.start.profileSection.title')}\n id='organizationProfile'\n >\n <Action.Root>\n <Protect\n permission={'org:sys_profile:manage'}\n fallback={profile}\n >\n <Action.Closed value='edit'>\n <ProfileSection.Item id='organizationProfile'>\n {profile}\n\n <Action.Trigger value='edit'>\n <ProfileSection.Button\n id='organizationProfile'\n localizationKey={localizationKeys('organizationProfile.start.profileSection.primaryButton')}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n </Protect>\n\n <Action.Open value='edit'>\n <Action.Card>\n <ProfileScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDomainsSection = () => {\n const { organizationSettings } = useEnvironment();\n const { organization } = useOrganization();\n\n if (!organizationSettings || !organization) {\n return null;\n }\n\n if (!organizationSettings.domains.enabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.profilePage.domainSection.title')}\n id='organizationDomains'\n centered={false}\n >\n <Action.Root>\n <DomainList />\n\n <Protect permission='org:sys_domains:manage'>\n <Action.Trigger value='add'>\n <Col>\n <ProfileSection.ArrowButton\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.primaryButton')}\n id='organizationDomains'\n />\n <Text\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.subtitle')}\n sx={t => ({\n paddingInlineStart: t.space.$8x5,\n })}\n colorScheme='secondary'\n />\n </Col>\n </Action.Trigger>\n\n <Action.Open value='add'>\n <Action.Card>\n <AddDomainScreen />\n </Action.Card>\n </Action.Open>\n </Protect>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationLeaveSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.leaveOrganization.title')}\n >\n <Action.Root>\n <Action.Closed value='leave'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id='organizationDanger'\n >\n <Action.Trigger value='leave'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.leaveOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='leave'>\n <Action.Card variant='destructive'>\n <LeaveOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDeleteSection = () => {\n const { organization } = useOrganization();\n const canDeleteOrganization = useProtect({ permission: 'org:sys_profile:delete' });\n\n if (!organization) {\n return null;\n }\n\n const adminDeleteEnabled = organization.adminDeleteEnabled;\n\n if (!canDeleteOrganization || !adminDeleteEnabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.deleteOrganization.title')}\n sx={t => ({ marginBottom: t.space.$4 })}\n >\n <Action.Root>\n <Action.Closed value='delete'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id={'organizationDanger'}\n >\n <Action.Trigger value='delete'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.deleteOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='delete'>\n <Action.Card variant='destructive'>\n <DeleteOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ import { UI_BRAND } from "./internal/index.js";
17
17
  */
18
18
  const ui = {
19
19
  __brand: UI_BRAND,
20
- version: "1.15.1",
20
+ version: "1.15.2-canary.v20260610150433",
21
21
  ClerkUI
22
22
  };
23
23
 
@@ -23,8 +23,8 @@ import { isVersionAtLeast, parseVersion } from "@clerk/shared/versionCheck";
23
23
  * @public
24
24
  */
25
25
  var ClerkUI = class ClerkUI {
26
- static version = "1.15.1";
27
- version = "1.15.1";
26
+ static version = "1.15.2-canary.v20260610150433";
27
+ version = "1.15.2-canary.v20260610150433";
28
28
  #componentRenderer;
29
29
  /**
30
30
  * Creates a new `ClerkUI` instance and mounts the internal component renderer.
@@ -81,7 +81,7 @@ function _OAuthConsent() {
81
81
  else ctx.onDeny?.();
82
82
  };
83
83
  const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;
84
- const displayedScopes = scopes.filter((item) => ![OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE].includes(item.scope));
84
+ const displayedScopes = scopes.filter((item) => item.scope !== OFFLINE_ACCESS_SCOPE);
85
85
  const hasOfflineAccess = scopes.some((item) => item.scope === OFFLINE_ACCESS_SCOPE);
86
86
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("form", {
87
87
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthConsent.js","names":["t"],"sources":["../../../../src/components/OAuthConsent/OAuthConsent.tsx"],"sourcesContent":["import { useClerk, useOAuthConsent, useUser } from '@clerk/shared/react';\nimport { useState } from 'react';\n\nimport { useEnvironment, useOAuthConsentContext, withCoreUserGuard } from '@/ui/contexts';\nimport { Box, Button, Flow, Grid, localizationKeys, Text, useLocalizations } from '@/ui/customizables';\nimport { ApplicationLogo } from '@/ui/elements/ApplicationLogo';\nimport { Card } from '@/ui/elements/Card';\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { Header } from '@/ui/elements/Header';\nimport { LoadingCardContainer } from '@/ui/elements/LoadingCard';\nimport { Modal } from '@/ui/elements/Modal';\nimport { Alert, Textarea } from '@/ui/primitives';\nimport { Route, Switch } from '@/ui/router';\n\nimport { InlineAction } from './InlineAction';\nimport {\n ListGroup,\n ListGroupContent,\n ListGroupHeader,\n ListGroupHeaderTitle,\n ListGroupItem,\n ListGroupItemLabel,\n} from './ListGroup';\nimport { LogoGroup, LogoGroupIcon, LogoGroupItem, LogoGroupSeparator } from './LogoGroup';\nimport { OrgSelect } from './OrgSelect';\nimport { getForwardedParams, getOAuthConsentFromSearch, getRedirectDisplay, getRedirectUriFromSearch } from './utils';\n\nconst OFFLINE_ACCESS_SCOPE = 'offline_access';\nconst USER_ORG_READ_SCOPE = 'user:org:read';\n\nfunction _OAuthConsent() {\n const ctx = useOAuthConsentContext();\n const clerk = useClerk();\n const { user } = useUser();\n const {\n displayConfig: { applicationName, logoImageUrl },\n organizationSettings,\n } = useEnvironment();\n const [isUriModalOpen, setIsUriModalOpen] = useState(false);\n\n const [selectedOrg, setSelectedOrg] = useState<string | null>(null);\n\n // onAllow and onDeny are always provided as a pair by the accounts portal.\n const hasContextCallbacks = Boolean(ctx.onAllow || ctx.onDeny);\n\n // Resolve oauthClientId and scope once: context overrides URL fallback.\n const fromUrl = getOAuthConsentFromSearch();\n const oauthClientId = ctx.oauthClientId ?? fromUrl.oauthClientId;\n const scope = ctx.scope ?? fromUrl.scope;\n\n // Public path: fetch via hook. Disabled on the accounts portal path\n // (which already has all data via context) to avoid a wasted FAPI request.\n const redirectUri = ctx.redirectUrl ?? getRedirectUriFromSearch();\n const { data, isLoading, error } = useOAuthConsent({\n oauthClientId,\n scope,\n redirectUri: redirectUri || undefined,\n // TODO: Remove this once account portal is refactored to use this component\n enabled: !hasContextCallbacks,\n });\n\n // Hook returns camelCase `requiresConsent`; the render logic uses snake_case.\n const mappedHookScopes = data?.scopes?.map(s => ({\n scope: s.scope,\n description: s.description,\n requires_consent: s.requiresConsent,\n }));\n\n // Context (accounts portal path) wins over hook data (public path).\n const scopes = ctx.scopes ?? mappedHookScopes ?? [];\n const oauthApplicationName = ctx.oauthApplicationName ?? data?.oauthApplicationName ?? '';\n const oauthApplicationLogoUrl = ctx.oauthApplicationLogoUrl ?? data?.oauthApplicationLogoUrl;\n const oauthApplicationUrl = ctx.oauthApplicationUrl ?? data?.oauthApplicationUrl;\n const redirectUrl = ctx.redirectUrl ?? redirectUri;\n\n const hasOrgReadScope = scopes.some(s => s.scope === USER_ORG_READ_SCOPE);\n const orgSelectionEnabled = !!(hasOrgReadScope && organizationSettings.enabled);\n const orgOptions = orgSelectionEnabled\n ? (user?.organizationMemberships ?? []).map(m => ({\n value: m.organization.id,\n label: m.organization.name,\n logoUrl: m.organization.imageUrl,\n }))\n : [];\n const lastActiveOrgId = clerk.session?.lastActiveOrganizationId;\n const defaultOrg = orgOptions.find(o => o.value === lastActiveOrgId)?.value ?? orgOptions[0]?.value ?? null;\n const effectiveOrg = selectedOrg ?? defaultOrg;\n\n const { t } = useLocalizations();\n const domainAction = data?.redirectDomain ?? getRedirectDisplay(redirectUrl);\n const viewFullUrlText = t(localizationKeys('oauthConsent.viewFullUrl'));\n\n // Error states only apply to the public flow.\n if (!hasContextCallbacks) {\n const errorMessage = !oauthClientId\n ? 'The client ID is missing.'\n : !redirectUrl\n ? 'The redirect URI is missing.'\n : error\n ? (error.message ?? 'Failed to load consent information.')\n : undefined;\n\n if (errorMessage) {\n return (\n <Card.Root>\n <Card.Content>\n <Card.Alert>{errorMessage}</Card.Alert>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n\n if (isLoading) {\n return (\n <Card.Root>\n <Card.Content>\n <LoadingCardContainer />\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n }\n\n const actionUrl = clerk.oauthApplication.buildConsentActionUrl({ clientId: oauthClientId });\n const forwardedParams = getForwardedParams();\n\n // Accounts portal path delegates to context callbacks; public path lets the form submit natively.\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n if (!hasContextCallbacks) {\n return;\n }\n e.preventDefault();\n const submitter = (e.nativeEvent as SubmitEvent).submitter as HTMLButtonElement | null;\n if (submitter?.value === 'true') {\n ctx.onAllow?.();\n } else {\n ctx.onDeny?.();\n }\n };\n\n const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;\n\n const displayedScopes = scopes.filter(item => ![OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE].includes(item.scope));\n const hasOfflineAccess = scopes.some(item => item.scope === OFFLINE_ACCESS_SCOPE);\n\n return (\n <>\n <form\n method='POST'\n action={actionUrl}\n onSubmit={handleSubmit}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n {/* both have avatars */}\n {oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* only OAuth app has an avatar */}\n {oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <Box sx={{ position: 'relative' }}>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n <LogoGroupIcon\n size='sm'\n sx={t => ({\n position: 'absolute',\n bottom: `calc(${t.space.$3} * -1)`,\n insetInlineEnd: `calc(${t.space.$3} * -1)`,\n })}\n />\n </Box>\n </LogoGroup>\n )}\n {/* only Clerk application has an avatar */}\n {!oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <LogoGroupIcon />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* no avatars */}\n {!oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <LogoGroupIcon />\n </LogoGroup>\n )}\n <Header.Title localizationKey={oauthApplicationName} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.subtitle', {\n applicationName,\n identifier: primaryIdentifier || '',\n })}\n />\n </Header.Root>\n {orgSelectionEnabled && orgOptions.length > 0 && effectiveOrg && (\n <OrgSelect\n options={orgOptions}\n value={effectiveOrg}\n onChange={setSelectedOrg}\n />\n )}\n <ListGroup>\n <ListGroupHeader>\n <ListGroupHeaderTitle\n localizationKey={localizationKeys('oauthConsent.scopeList.title', {\n applicationName: oauthApplicationName,\n })}\n />\n </ListGroupHeader>\n <ListGroupContent>\n {displayedScopes.map(item => (\n <ListGroupItem key={item.scope}>\n <ListGroupItemLabel>{item.description || item.scope || ''}</ListGroupItemLabel>\n </ListGroupItem>\n ))}\n </ListGroupContent>\n </ListGroup>\n <Alert colorScheme='warning'>\n <Text\n colorScheme='warning'\n variant='caption'\n >\n <InlineAction\n text={t(\n localizationKeys('oauthConsent.warning', {\n applicationName: oauthApplicationName || applicationName,\n domainAction,\n }),\n )}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n </Text>\n </Alert>\n <Grid\n columns={2}\n gap={3}\n >\n <Button\n type='submit'\n name='consented'\n value='false'\n colorScheme='secondary'\n variant='outline'\n localizationKey={localizationKeys('oauthConsent.action__deny')}\n />\n <Button\n type='submit'\n name='consented'\n value='true'\n localizationKey={localizationKeys('oauthConsent.action__allow')}\n />\n <Text\n sx={{ gridColumn: 'span 2' }}\n colorScheme='secondary'\n variant='caption'\n >\n <InlineAction\n text={t(localizationKeys('oauthConsent.redirectNotice', { domainAction }))}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n {hasOfflineAccess && t(localizationKeys('oauthConsent.offlineAccessNotice'))}\n </Text>\n </Grid>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n {!hasContextCallbacks &&\n forwardedParams.map(([key, value]) => (\n <input\n key={key}\n type='hidden'\n name={key}\n value={value}\n />\n ))}\n {!hasContextCallbacks && orgSelectionEnabled && effectiveOrg && (\n <input\n type='hidden'\n name='organization_id'\n value={effectiveOrg}\n />\n )}\n </form>\n <RedirectUriModal\n isOpen={isUriModalOpen}\n onOpen={() => setIsUriModalOpen(true)}\n onClose={() => setIsUriModalOpen(false)}\n redirectUri={redirectUrl}\n oauthApplicationName={oauthApplicationName}\n />\n </>\n );\n}\n\ntype RedirectUriModalProps = {\n onOpen: () => void;\n onClose: () => void;\n isOpen: boolean;\n redirectUri: string;\n oauthApplicationName: string;\n};\n\nfunction RedirectUriModal({ onOpen, onClose, isOpen, redirectUri, oauthApplicationName }: RedirectUriModalProps) {\n if (!isOpen) {\n return null;\n }\n\n return (\n <Modal\n handleOpen={onOpen}\n handleClose={onClose}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n <Header.Title localizationKey={localizationKeys('oauthConsent.redirectUriModal.title')} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.redirectUriModal.subtitle', {\n applicationName: oauthApplicationName,\n })}\n />\n </Header.Root>\n <Textarea\n style={{ maxHeight: 'none' }}\n cols={50}\n rows={6}\n defaultValue={redirectUri}\n readOnly\n />\n </Card.Content>\n </Card.Root>\n </Modal>\n );\n}\n\nconst AuthenticatedRoutes = withCoreUserGuard(withCardStateProvider(_OAuthConsent));\n\nconst OAuthConsentInternal = () => {\n return (\n <Flow.Root flow='oauthConsent'>\n <Flow.Part>\n <Switch>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nexport const OAuthConsent = OAuthConsentInternal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"OAuthConsent.js","names":["t"],"sources":["../../../../src/components/OAuthConsent/OAuthConsent.tsx"],"sourcesContent":["import { useClerk, useOAuthConsent, useUser } from '@clerk/shared/react';\nimport { useState } from 'react';\n\nimport { useEnvironment, useOAuthConsentContext, withCoreUserGuard } from '@/ui/contexts';\nimport { Box, Button, Flow, Grid, localizationKeys, Text, useLocalizations } from '@/ui/customizables';\nimport { ApplicationLogo } from '@/ui/elements/ApplicationLogo';\nimport { Card } from '@/ui/elements/Card';\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { Header } from '@/ui/elements/Header';\nimport { LoadingCardContainer } from '@/ui/elements/LoadingCard';\nimport { Modal } from '@/ui/elements/Modal';\nimport { Alert, Textarea } from '@/ui/primitives';\nimport { Route, Switch } from '@/ui/router';\n\nimport { InlineAction } from './InlineAction';\nimport {\n ListGroup,\n ListGroupContent,\n ListGroupHeader,\n ListGroupHeaderTitle,\n ListGroupItem,\n ListGroupItemLabel,\n} from './ListGroup';\nimport { LogoGroup, LogoGroupIcon, LogoGroupItem, LogoGroupSeparator } from './LogoGroup';\nimport { OrgSelect } from './OrgSelect';\nimport { getForwardedParams, getOAuthConsentFromSearch, getRedirectDisplay, getRedirectUriFromSearch } from './utils';\n\nconst OFFLINE_ACCESS_SCOPE = 'offline_access';\nconst USER_ORG_READ_SCOPE = 'user:org:read';\n\nfunction _OAuthConsent() {\n const ctx = useOAuthConsentContext();\n const clerk = useClerk();\n const { user } = useUser();\n const {\n displayConfig: { applicationName, logoImageUrl },\n organizationSettings,\n } = useEnvironment();\n const [isUriModalOpen, setIsUriModalOpen] = useState(false);\n\n const [selectedOrg, setSelectedOrg] = useState<string | null>(null);\n\n // onAllow and onDeny are always provided as a pair by the accounts portal.\n const hasContextCallbacks = Boolean(ctx.onAllow || ctx.onDeny);\n\n // Resolve oauthClientId and scope once: context overrides URL fallback.\n const fromUrl = getOAuthConsentFromSearch();\n const oauthClientId = ctx.oauthClientId ?? fromUrl.oauthClientId;\n const scope = ctx.scope ?? fromUrl.scope;\n\n // Public path: fetch via hook. Disabled on the accounts portal path\n // (which already has all data via context) to avoid a wasted FAPI request.\n const redirectUri = ctx.redirectUrl ?? getRedirectUriFromSearch();\n const { data, isLoading, error } = useOAuthConsent({\n oauthClientId,\n scope,\n redirectUri: redirectUri || undefined,\n // TODO: Remove this once account portal is refactored to use this component\n enabled: !hasContextCallbacks,\n });\n\n // Hook returns camelCase `requiresConsent`; the render logic uses snake_case.\n const mappedHookScopes = data?.scopes?.map(s => ({\n scope: s.scope,\n description: s.description,\n requires_consent: s.requiresConsent,\n }));\n\n // Context (accounts portal path) wins over hook data (public path).\n const scopes = ctx.scopes ?? mappedHookScopes ?? [];\n const oauthApplicationName = ctx.oauthApplicationName ?? data?.oauthApplicationName ?? '';\n const oauthApplicationLogoUrl = ctx.oauthApplicationLogoUrl ?? data?.oauthApplicationLogoUrl;\n const oauthApplicationUrl = ctx.oauthApplicationUrl ?? data?.oauthApplicationUrl;\n const redirectUrl = ctx.redirectUrl ?? redirectUri;\n\n const hasOrgReadScope = scopes.some(s => s.scope === USER_ORG_READ_SCOPE);\n const orgSelectionEnabled = !!(hasOrgReadScope && organizationSettings.enabled);\n const orgOptions = orgSelectionEnabled\n ? (user?.organizationMemberships ?? []).map(m => ({\n value: m.organization.id,\n label: m.organization.name,\n logoUrl: m.organization.imageUrl,\n }))\n : [];\n const lastActiveOrgId = clerk.session?.lastActiveOrganizationId;\n const defaultOrg = orgOptions.find(o => o.value === lastActiveOrgId)?.value ?? orgOptions[0]?.value ?? null;\n const effectiveOrg = selectedOrg ?? defaultOrg;\n\n const { t } = useLocalizations();\n const domainAction = data?.redirectDomain ?? getRedirectDisplay(redirectUrl);\n const viewFullUrlText = t(localizationKeys('oauthConsent.viewFullUrl'));\n\n // Error states only apply to the public flow.\n if (!hasContextCallbacks) {\n const errorMessage = !oauthClientId\n ? 'The client ID is missing.'\n : !redirectUrl\n ? 'The redirect URI is missing.'\n : error\n ? (error.message ?? 'Failed to load consent information.')\n : undefined;\n\n if (errorMessage) {\n return (\n <Card.Root>\n <Card.Content>\n <Card.Alert>{errorMessage}</Card.Alert>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n\n if (isLoading) {\n return (\n <Card.Root>\n <Card.Content>\n <LoadingCardContainer />\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n );\n }\n }\n\n const actionUrl = clerk.oauthApplication.buildConsentActionUrl({ clientId: oauthClientId });\n const forwardedParams = getForwardedParams();\n\n // Accounts portal path delegates to context callbacks; public path lets the form submit natively.\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n if (!hasContextCallbacks) {\n return;\n }\n e.preventDefault();\n const submitter = (e.nativeEvent as SubmitEvent).submitter as HTMLButtonElement | null;\n if (submitter?.value === 'true') {\n ctx.onAllow?.();\n } else {\n ctx.onDeny?.();\n }\n };\n\n const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;\n\n const displayedScopes = scopes.filter(item => item.scope !== OFFLINE_ACCESS_SCOPE);\n const hasOfflineAccess = scopes.some(item => item.scope === OFFLINE_ACCESS_SCOPE);\n\n return (\n <>\n <form\n method='POST'\n action={actionUrl}\n onSubmit={handleSubmit}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n {/* both have avatars */}\n {oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* only OAuth app has an avatar */}\n {oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <Box sx={{ position: 'relative' }}>\n <ApplicationLogo\n src={oauthApplicationLogoUrl}\n alt={oauthApplicationName}\n href={oauthApplicationUrl}\n isExternal\n />\n <LogoGroupIcon\n size='sm'\n sx={t => ({\n position: 'absolute',\n bottom: `calc(${t.space.$3} * -1)`,\n insetInlineEnd: `calc(${t.space.$3} * -1)`,\n })}\n />\n </Box>\n </LogoGroup>\n )}\n {/* only Clerk application has an avatar */}\n {!oauthApplicationLogoUrl && logoImageUrl && (\n <LogoGroup>\n <LogoGroupItem justify='end'>\n <LogoGroupIcon />\n </LogoGroupItem>\n <LogoGroupSeparator />\n <LogoGroupItem justify='start'>\n <ApplicationLogo />\n </LogoGroupItem>\n </LogoGroup>\n )}\n {/* no avatars */}\n {!oauthApplicationLogoUrl && !logoImageUrl && (\n <LogoGroup>\n <LogoGroupIcon />\n </LogoGroup>\n )}\n <Header.Title localizationKey={oauthApplicationName} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.subtitle', {\n applicationName,\n identifier: primaryIdentifier || '',\n })}\n />\n </Header.Root>\n {orgSelectionEnabled && orgOptions.length > 0 && effectiveOrg && (\n <OrgSelect\n options={orgOptions}\n value={effectiveOrg}\n onChange={setSelectedOrg}\n />\n )}\n <ListGroup>\n <ListGroupHeader>\n <ListGroupHeaderTitle\n localizationKey={localizationKeys('oauthConsent.scopeList.title', {\n applicationName: oauthApplicationName,\n })}\n />\n </ListGroupHeader>\n <ListGroupContent>\n {displayedScopes.map(item => (\n <ListGroupItem key={item.scope}>\n <ListGroupItemLabel>{item.description || item.scope || ''}</ListGroupItemLabel>\n </ListGroupItem>\n ))}\n </ListGroupContent>\n </ListGroup>\n <Alert colorScheme='warning'>\n <Text\n colorScheme='warning'\n variant='caption'\n >\n <InlineAction\n text={t(\n localizationKeys('oauthConsent.warning', {\n applicationName: oauthApplicationName || applicationName,\n domainAction,\n }),\n )}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n </Text>\n </Alert>\n <Grid\n columns={2}\n gap={3}\n >\n <Button\n type='submit'\n name='consented'\n value='false'\n colorScheme='secondary'\n variant='outline'\n localizationKey={localizationKeys('oauthConsent.action__deny')}\n />\n <Button\n type='submit'\n name='consented'\n value='true'\n localizationKey={localizationKeys('oauthConsent.action__allow')}\n />\n <Text\n sx={{ gridColumn: 'span 2' }}\n colorScheme='secondary'\n variant='caption'\n >\n <InlineAction\n text={t(localizationKeys('oauthConsent.redirectNotice', { domainAction }))}\n actionText={domainAction}\n onClick={() => setIsUriModalOpen(true)}\n tooltipText={viewFullUrlText}\n />\n {hasOfflineAccess && t(localizationKeys('oauthConsent.offlineAccessNotice'))}\n </Text>\n </Grid>\n </Card.Content>\n <Card.Footer />\n </Card.Root>\n {!hasContextCallbacks &&\n forwardedParams.map(([key, value]) => (\n <input\n key={key}\n type='hidden'\n name={key}\n value={value}\n />\n ))}\n {!hasContextCallbacks && orgSelectionEnabled && effectiveOrg && (\n <input\n type='hidden'\n name='organization_id'\n value={effectiveOrg}\n />\n )}\n </form>\n <RedirectUriModal\n isOpen={isUriModalOpen}\n onOpen={() => setIsUriModalOpen(true)}\n onClose={() => setIsUriModalOpen(false)}\n redirectUri={redirectUrl}\n oauthApplicationName={oauthApplicationName}\n />\n </>\n );\n}\n\ntype RedirectUriModalProps = {\n onOpen: () => void;\n onClose: () => void;\n isOpen: boolean;\n redirectUri: string;\n oauthApplicationName: string;\n};\n\nfunction RedirectUriModal({ onOpen, onClose, isOpen, redirectUri, oauthApplicationName }: RedirectUriModalProps) {\n if (!isOpen) {\n return null;\n }\n\n return (\n <Modal\n handleOpen={onOpen}\n handleClose={onClose}\n >\n <Card.Root>\n <Card.Content>\n <Header.Root>\n <Header.Title localizationKey={localizationKeys('oauthConsent.redirectUriModal.title')} />\n <Header.Subtitle\n localizationKey={localizationKeys('oauthConsent.redirectUriModal.subtitle', {\n applicationName: oauthApplicationName,\n })}\n />\n </Header.Root>\n <Textarea\n style={{ maxHeight: 'none' }}\n cols={50}\n rows={6}\n defaultValue={redirectUri}\n readOnly\n />\n </Card.Content>\n </Card.Root>\n </Modal>\n );\n}\n\nconst AuthenticatedRoutes = withCoreUserGuard(withCardStateProvider(_OAuthConsent));\n\nconst OAuthConsentInternal = () => {\n return (\n <Flow.Root flow='oauthConsent'>\n <Flow.Part>\n <Switch>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nexport const OAuthConsent = OAuthConsentInternal;\n"],"mappings":"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"}
@@ -120,7 +120,7 @@ const OrganizationDomainsSection = () => {
120
120
  id: "organizationDomains"
121
121
  }), /* @__PURE__ */ jsx(Text, {
122
122
  localizationKey: localizationKeys("organizationProfile.profilePage.domainSection.subtitle"),
123
- sx: (t) => ({ paddingInlineStart: t.space.$9 }),
123
+ sx: (t) => ({ paddingInlineStart: t.space.$8x5 }),
124
124
  colorScheme: "secondary"
125
125
  })] })
126
126
  }), /* @__PURE__ */ jsx(Action.Open, {
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationGeneralPage.js","names":[],"sources":["../../../../src/components/OrganizationProfile/OrganizationGeneralPage.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\n\nimport { Header } from '@/ui/elements/Header';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\nimport { ProfileSection } from '@/ui/elements/Section';\n\nimport { Protect, useProtect } from '../../common';\nimport { useEnvironment } from '../../contexts';\nimport { Col, descriptors, localizationKeys, Text } from '../../customizables';\nimport { Action } from '../../elements/Action';\nimport { useActionContext } from '../../elements/Action/ActionRoot';\nimport { DeleteOrganizationForm, LeaveOrganizationForm } from './ActionConfirmationPage';\nimport { AddDomainForm } from './AddDomainForm';\nimport { DomainList } from './DomainList';\nimport { ProfileForm } from './ProfileForm';\n\nconst ProfileScreen = () => {\n const { close } = useActionContext();\n return (\n <ProfileForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst AddDomainScreen = () => {\n const { close } = useActionContext();\n return (\n <AddDomainForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst LeaveOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <LeaveOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst DeleteOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <DeleteOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nexport const OrganizationGeneralPage = () => {\n return (\n <ProfileCard.Page>\n <Col\n elementDescriptor={descriptors.page}\n sx={t => ({ gap: t.space.$8 })}\n >\n <Col\n elementDescriptor={descriptors.profilePage}\n elementId={descriptors.profilePage.setId('organizationGeneral')}\n >\n <Header.Root>\n <Header.Title\n localizationKey={localizationKeys('organizationProfile.start.headerTitle__general')}\n sx={t => ({ marginBottom: t.space.$4 })}\n textVariant='h2'\n />\n </Header.Root>\n <OrganizationProfileSection />\n <Protect permission='org:sys_domains:read'>\n <OrganizationDomainsSection />\n </Protect>\n <OrganizationLeaveSection />\n <OrganizationDeleteSection />\n </Col>\n </Col>\n </ProfileCard.Page>\n );\n};\n\nconst OrganizationProfileSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n const profile = (\n <OrganizationPreview\n size='lg'\n mainIdentifierVariant='subtitle'\n organization={organization}\n />\n );\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.start.profileSection.title')}\n id='organizationProfile'\n >\n <Action.Root>\n <Protect\n permission={'org:sys_profile:manage'}\n fallback={profile}\n >\n <Action.Closed value='edit'>\n <ProfileSection.Item id='organizationProfile'>\n {profile}\n\n <Action.Trigger value='edit'>\n <ProfileSection.Button\n id='organizationProfile'\n localizationKey={localizationKeys('organizationProfile.start.profileSection.primaryButton')}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n </Protect>\n\n <Action.Open value='edit'>\n <Action.Card>\n <ProfileScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDomainsSection = () => {\n const { organizationSettings } = useEnvironment();\n const { organization } = useOrganization();\n\n if (!organizationSettings || !organization) {\n return null;\n }\n\n if (!organizationSettings.domains.enabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.profilePage.domainSection.title')}\n id='organizationDomains'\n centered={false}\n >\n <Action.Root>\n <DomainList />\n\n <Protect permission='org:sys_domains:manage'>\n <Action.Trigger value='add'>\n <Col>\n <ProfileSection.ArrowButton\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.primaryButton')}\n id='organizationDomains'\n />\n <Text\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.subtitle')}\n sx={t => ({\n paddingInlineStart: t.space.$9,\n })}\n colorScheme='secondary'\n />\n </Col>\n </Action.Trigger>\n\n <Action.Open value='add'>\n <Action.Card>\n <AddDomainScreen />\n </Action.Card>\n </Action.Open>\n </Protect>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationLeaveSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.leaveOrganization.title')}\n >\n <Action.Root>\n <Action.Closed value='leave'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id='organizationDanger'\n >\n <Action.Trigger value='leave'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.leaveOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='leave'>\n <Action.Card variant='destructive'>\n <LeaveOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDeleteSection = () => {\n const { organization } = useOrganization();\n const canDeleteOrganization = useProtect({ permission: 'org:sys_profile:delete' });\n\n if (!organization) {\n return null;\n }\n\n const adminDeleteEnabled = organization.adminDeleteEnabled;\n\n if (!canDeleteOrganization || !adminDeleteEnabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.deleteOrganization.title')}\n sx={t => ({ marginBottom: t.space.$4 })}\n >\n <Action.Root>\n <Action.Closed value='delete'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id={'organizationDanger'}\n >\n <Action.Trigger value='delete'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.deleteOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='delete'>\n <Action.Card variant='destructive'>\n <DeleteOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"OrganizationGeneralPage.js","names":[],"sources":["../../../../src/components/OrganizationProfile/OrganizationGeneralPage.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\n\nimport { Header } from '@/ui/elements/Header';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\nimport { ProfileSection } from '@/ui/elements/Section';\n\nimport { Protect, useProtect } from '../../common';\nimport { useEnvironment } from '../../contexts';\nimport { Col, descriptors, localizationKeys, Text } from '../../customizables';\nimport { Action } from '../../elements/Action';\nimport { useActionContext } from '../../elements/Action/ActionRoot';\nimport { DeleteOrganizationForm, LeaveOrganizationForm } from './ActionConfirmationPage';\nimport { AddDomainForm } from './AddDomainForm';\nimport { DomainList } from './DomainList';\nimport { ProfileForm } from './ProfileForm';\n\nconst ProfileScreen = () => {\n const { close } = useActionContext();\n return (\n <ProfileForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst AddDomainScreen = () => {\n const { close } = useActionContext();\n return (\n <AddDomainForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst LeaveOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <LeaveOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nconst DeleteOrganizationScreen = () => {\n const { close } = useActionContext();\n return (\n <DeleteOrganizationForm\n onSuccess={close}\n onReset={close}\n />\n );\n};\n\nexport const OrganizationGeneralPage = () => {\n return (\n <ProfileCard.Page>\n <Col\n elementDescriptor={descriptors.page}\n sx={t => ({ gap: t.space.$8 })}\n >\n <Col\n elementDescriptor={descriptors.profilePage}\n elementId={descriptors.profilePage.setId('organizationGeneral')}\n >\n <Header.Root>\n <Header.Title\n localizationKey={localizationKeys('organizationProfile.start.headerTitle__general')}\n sx={t => ({ marginBottom: t.space.$4 })}\n textVariant='h2'\n />\n </Header.Root>\n <OrganizationProfileSection />\n <Protect permission='org:sys_domains:read'>\n <OrganizationDomainsSection />\n </Protect>\n <OrganizationLeaveSection />\n <OrganizationDeleteSection />\n </Col>\n </Col>\n </ProfileCard.Page>\n );\n};\n\nconst OrganizationProfileSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n const profile = (\n <OrganizationPreview\n size='lg'\n mainIdentifierVariant='subtitle'\n organization={organization}\n />\n );\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.start.profileSection.title')}\n id='organizationProfile'\n >\n <Action.Root>\n <Protect\n permission={'org:sys_profile:manage'}\n fallback={profile}\n >\n <Action.Closed value='edit'>\n <ProfileSection.Item id='organizationProfile'>\n {profile}\n\n <Action.Trigger value='edit'>\n <ProfileSection.Button\n id='organizationProfile'\n localizationKey={localizationKeys('organizationProfile.start.profileSection.primaryButton')}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n </Protect>\n\n <Action.Open value='edit'>\n <Action.Card>\n <ProfileScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDomainsSection = () => {\n const { organizationSettings } = useEnvironment();\n const { organization } = useOrganization();\n\n if (!organizationSettings || !organization) {\n return null;\n }\n\n if (!organizationSettings.domains.enabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n title={localizationKeys('organizationProfile.profilePage.domainSection.title')}\n id='organizationDomains'\n centered={false}\n >\n <Action.Root>\n <DomainList />\n\n <Protect permission='org:sys_domains:manage'>\n <Action.Trigger value='add'>\n <Col>\n <ProfileSection.ArrowButton\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.primaryButton')}\n id='organizationDomains'\n />\n <Text\n localizationKey={localizationKeys('organizationProfile.profilePage.domainSection.subtitle')}\n sx={t => ({\n paddingInlineStart: t.space.$8x5,\n })}\n colorScheme='secondary'\n />\n </Col>\n </Action.Trigger>\n\n <Action.Open value='add'>\n <Action.Card>\n <AddDomainScreen />\n </Action.Card>\n </Action.Open>\n </Protect>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationLeaveSection = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.leaveOrganization.title')}\n >\n <Action.Root>\n <Action.Closed value='leave'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id='organizationDanger'\n >\n <Action.Trigger value='leave'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.leaveOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='leave'>\n <Action.Card variant='destructive'>\n <LeaveOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n\nconst OrganizationDeleteSection = () => {\n const { organization } = useOrganization();\n const canDeleteOrganization = useProtect({ permission: 'org:sys_profile:delete' });\n\n if (!organization) {\n return null;\n }\n\n const adminDeleteEnabled = organization.adminDeleteEnabled;\n\n if (!canDeleteOrganization || !adminDeleteEnabled) {\n return null;\n }\n\n return (\n <ProfileSection.Root\n id='organizationDanger'\n title={localizationKeys('organizationProfile.profilePage.dangerSection.deleteOrganization.title')}\n sx={t => ({ marginBottom: t.space.$4 })}\n >\n <Action.Root>\n <Action.Closed value='delete'>\n <ProfileSection.Item\n sx={t => ({\n paddingTop: 0,\n paddingBottom: 0,\n paddingInlineStart: t.space.$1,\n })}\n id={'organizationDanger'}\n >\n <Action.Trigger value='delete'>\n <ProfileSection.Button\n id='organizationDanger'\n variant='ghost'\n colorScheme='danger'\n textVariant='buttonLarge'\n localizationKey={localizationKeys(\n 'organizationProfile.profilePage.dangerSection.deleteOrganization.title',\n )}\n />\n </Action.Trigger>\n </ProfileSection.Item>\n </Action.Closed>\n\n <Action.Open value='delete'>\n <Action.Card variant='destructive'>\n <DeleteOrganizationScreen />\n </Action.Card>\n </Action.Open>\n </Action.Root>\n </ProfileSection.Root>\n );\n};\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ import { ClerkUI } from "./ClerkUI.js";
17
17
  */
18
18
  const ui = {
19
19
  __brand: UI_BRAND,
20
- version: "1.15.1",
20
+ version: "1.15.2-canary.v20260610150433",
21
21
  ClerkUI
22
22
  };
23
23
 
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["591"],{9972(e,n,o){o.r(n),o.d(n,{OAuthConsent:()=>q});var t=o(9763),i=o(6918),r=o(630),a=o(4480),l=o(1868),c=o(9203),s=o(4722),d=o(8342),u=o(7996),p=o(1522),h=o(914),m=o(7904),g=o(7308),f=o(2824),Y=o(9095),b=o(2574),$=o(6674),y=o(4339),x=o(6661),C=o(9922),k=o(5880);function v({text:e,actionText:n,onClick:o,tooltipText:i}){let r=e.indexOf(n);if(-1===r)return(0,t.Y)(t.FK,{children:e});let a=e.slice(0,r),l=e.slice(r+n.length),c="",s="";a.endsWith("(")&&(a=a.slice(0,-1),c="("),l.startsWith(")")&&(l=l.slice(1),s=")");let d=(0,t.FD)(k.m_.Root,{children:[(0,t.Y)(k.m_.Trigger,{children:(0,t.Y)(u.EY,{as:"span",role:"button",tabIndex:0,"aria-label":i,variant:"caption",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},sx:e=>({textDecoration:"underline",textDecorationStyle:"dotted",cursor:"pointer",outline:"none",display:"inline-block","&:focus-visible":{outline:"2px solid",outlineColor:e.colors.$colorRing}}),children:n})}),(0,t.Y)(k.m_.Content,{text:i})]});return(0,t.FD)(t.FK,{children:[a,c||s?(0,t.FD)(u.EY,{as:"span",sx:{whiteSpace:"nowrap"},children:[c,d,s]}):d,l]})}var z=o(6447),D=o(8343),F=o(7877);function w({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({textAlign:"start",borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,borderRadius:e.radii.$lg,overflow:"hidden"}),n],elementDescriptor:z.$z.listGroup,children:e})}function A({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({padding:e.space.$3,background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50)}),n],elementDescriptor:z.$z.listGroupHeader,children:e})}function S(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupHeaderTitle})}function G({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"ul",sx:[e=>({margin:e.sizes.$none,padding:e.sizes.$none,maxBlockSize:"10.9375rem",backgroundColor:e.colors.$colorBackground,overflowY:"auto",...D.s.unstyledScrollbar(e),"--fade-distance":"2.5rem","&::before, &::after":{content:'""',display:"block",position:"sticky",insetInline:0,blockSize:"var(--fade-distance)",pointerEvents:"none",zIndex:1,opacity:0},"&::before":{insetBlockStart:0,marginBlockEnd:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to bottom, ${e.colors.$colorBackground}, transparent)`},"&::after":{insetBlockEnd:0,marginBlockStart:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to top, ${e.colors.$colorBackground}, transparent)`},"@keyframes list-fade-top":{from:{opacity:0},to:{opacity:1}},"@keyframes list-fade-bottom":{from:{opacity:1},to:{opacity:0}},"@supports (animation-timeline: scroll())":{"&::before":{animationName:"list-fade-top",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"0 var(--fade-distance)"},"&::after":{animationName:"list-fade-bottom",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"calc(100% - var(--fade-distance)) 100%"}}}),n],elementDescriptor:z.$z.listGroupContent,children:e})}function I({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"li",sx:[e=>({display:"flex",alignItems:"baseline",paddingInline:e.space.$3,paddingBlock:e.space.$2,borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,"&::before":{content:'""',display:"inline-block",width:e.space.$1,height:e.space.$1,background:e.colors.$colorMutedForeground,borderRadius:e.radii.$circle,transform:"translateY(-0.1875rem)",marginInlineEnd:e.space.$2,flexShrink:0}}),n],elementDescriptor:z.$z.listGroupItem,children:e})}function T(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupItemLabel})}var R=o(5033);function U({children:e}){return(0,t.Y)(u.so,{justify:"center",align:"center",gap:4,sx:e=>({marginBlockEnd:e.space.$6}),elementDescriptor:z.$z.logoGroup,children:e})}function E({children:e,sx:n,...o}){return(0,t.Y)(u.so,{...o,sx:[{flex:1},n],elementDescriptor:z.$z.logoGroupItem,children:e})}function _({size:e="md",sx:n}){let o=n=>{let o="sm"===e?n.space.$6:n.space.$12;return{width:o,height:o}};return(0,t.Y)(u.az,{sx:e=>[{background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50),borderRadius:e.radii.$circle,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",alignItems:"center",justifyContent:"center"},o,n],elementDescriptor:z.$z.logoGroupIcon,children:(0,t.Y)(u.In,{icon:R.A,sx:e=>({color:e.colors.$primary500})})})}function B(){return(0,t.Y)(u.az,{as:"svg",fill:"none",viewBox:"0 0 16 2",height:2,"aria-hidden":!0,sx:e=>({color:e.colors.$colorMutedForeground}),elementDescriptor:z.$z.logoGroupSeparator,children:(0,t.Y)("path",{stroke:"currentColor",strokeDasharray:"0.1 4",strokeLinecap:"round",strokeWidth:"2",d:"M1 1h14"})})}var W=o(1017),N=o(3693);function O({options:e,value:n,onChange:o}){let i=(0,r.useRef)(null),a=e.find(e=>e.value===n);return(0,t.FD)(W.l6,{options:e,value:n,onChange:e=>o(e.value),referenceElement:i,renderOption:(e,n,o)=>(0,t.FD)(u.az,{as:"span",sx:e=>({width:"100%",display:"grid",gridTemplateColumns:`${e.sizes.$5} 1fr ${e.sizes.$3}`,columnGap:e.space.$2,paddingInlineStart:e.space.$1,paddingInlineEnd:e.space.$1x5,paddingBlock:e.space.$1,alignItems:"center",borderRadius:e.radii.$md,'&:hover, &[data-focused="true"]':{background:D.s.mutedBackground(e)}}),children:[(0,t.Y)(u._V,{src:e.logoUrl,alt:e.label,sx:e=>({width:e.sizes.$5,height:e.sizes.$5,objectFit:"contain",flexShrink:0,borderRadius:e.radii.$md})}),(0,t.Y)(u.EY,{sx:{flex:1,textAlign:"start",minWidth:0,maxInlineSize:"200px"},truncate:!0,as:"span",variant:"subtitle",children:e.label}),o&&(0,t.Y)(u.In,{icon:N.A,sx:e=>({color:e.colors.$primary500})})]}),children:[(0,t.FD)(W.JC,{ref:i,"aria-haspopup":"listbox",sx:e=>({paddingInline:e.space.$3}),children:[(0,t.Y)(u._V,{src:a?.logoUrl||"",alt:a?.label||"",sx:e=>({width:e.sizes.$5,height:e.sizes.$5,borderRadius:e.radii.$md,objectFit:"contain",flexShrink:0})}),(0,t.Y)(u.EY,{colorScheme:"body",as:"span",truncate:!0,sx:{flex:1,minWidth:0,textAlign:"start"},children:a?.label||"Select an option"})]}),(0,t.Y)(W.UL,{})]})}let Z=()=>"u">typeof window&&!!window.location,K=/^(\d{1,3}\.){3}\d{1,3}$/,L="offline_access",M="user:org:read";function j({onOpen:e,onClose:n,isOpen:o,redirectUri:i,oauthApplicationName:r}){return o?(0,t.Y)(b.Modal,{handleOpen:e,handleClose:n,children:(0,t.Y)(m.Z.Root,{children:(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[(0,t.Y)(f.Y.Title,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.title")}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.subtitle",{applicationName:r})})]}),(0,t.Y)(y.TM,{style:{maxHeight:"none"},cols:50,rows:6,defaultValue:i,readOnly:!0})]})})}):null}let P=(0,c.G)((0,g.dm)(function(){let e=(0,a.W)(),n=(0,i.ho)(),{user:o}=(0,i.Jd)(),{displayConfig:{applicationName:c,logoImageUrl:p},organizationSettings:g}=(0,l.O)(),[b,y]=(0,r.useState)(!1),[x,C]=(0,r.useState)(null),k=!!(e.onAllow||e.onDeny),z=function(){if(!Z())return{oauthClientId:""};let e=new URLSearchParams(window.location.search),n=e.get("client_id")??"",o=e.get("scope")??void 0;return void 0!==o?{oauthClientId:n,scope:o}:{oauthClientId:n}}(),D=e.oauthClientId??z.oauthClientId,F=e.scope??z.scope,R=e.redirectUrl??(Z()?new URL(window.location.href).searchParams.get("redirect_uri")??"":""),{data:W,isLoading:N,error:P}=(0,i.$U)({oauthClientId:D,scope:F,redirectUri:R||void 0,enabled:!k}),q=W?.scopes?.map(e=>({scope:e.scope,description:e.description,requires_consent:e.requiresConsent})),H=e.scopes??q??[],V=e.oauthApplicationName??W?.oauthApplicationName??"",J=e.oauthApplicationLogoUrl??W?.oauthApplicationLogoUrl,Q=e.oauthApplicationUrl??W?.oauthApplicationUrl,X=e.redirectUrl??R,ee=!!(H.some(e=>e.scope===M)&&g.enabled),en=ee?(o?.organizationMemberships??[]).map(e=>({value:e.organization.id,label:e.organization.name,logoUrl:e.organization.imageUrl})):[],eo=n.session?.lastActiveOrganizationId,et=en.find(e=>e.value===eo)?.value??en[0]?.value??null,ei=x??et,{t:er}=(0,s._)(),ea=W?.redirectDomain??function(e){let n;try{n=new URL(e).hostname}catch{return""}if(!n)return"";let o=n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1):n;return K.test(o)?o:o.includes(":")?`[${o}]`:o.split(".").slice(-2).join(".")}(X),el=er((0,d.G)("oauthConsent.viewFullUrl"));if(!k){let e=D?X?P?P.message??"Failed to load consent information.":void 0:"The redirect URI is missing.":"The client ID is missing.";if(e)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(m.Z.Alert,{children:e})}),(0,t.Y)(m.Z.Footer,{})]});if(N)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(Y.W,{})}),(0,t.Y)(m.Z.Footer,{})]})}let ec=n.oauthApplication.buildConsentActionUrl({clientId:D}),es=Z()?Array.from(new URLSearchParams(window.location.search).entries()):[],ed=o?.primaryEmailAddress?.emailAddress||o?.primaryPhoneNumber?.phoneNumber,eu=H.filter(e=>![L,M].includes(e.scope)),ep=H.some(e=>e.scope===L);return(0,t.FD)(t.FK,{children:[(0,t.FD)("form",{method:"POST",action:ec,onSubmit:n=>{if(!k)return;n.preventDefault();let o=n.nativeEvent.submitter;o?.value==="true"?e.onAllow?.():e.onDeny?.()},children:[(0,t.FD)(m.Z.Root,{children:[(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[J&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(h.G,{src:J,alt:V,href:Q,isExternal:!0})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),J&&!p&&(0,t.Y)(U,{children:(0,t.FD)(u.az,{sx:{position:"relative"},children:[(0,t.Y)(h.G,{src:J,alt:V,href:Q,isExternal:!0}),(0,t.Y)(_,{size:"sm",sx:e=>({position:"absolute",bottom:`calc(${e.space.$3} * -1)`,insetInlineEnd:`calc(${e.space.$3} * -1)`})})]})}),!J&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(_,{})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),!J&&!p&&(0,t.Y)(U,{children:(0,t.Y)(_,{})}),(0,t.Y)(f.Y.Title,{localizationKey:V}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.subtitle",{applicationName:c,identifier:ed||""})})]}),ee&&en.length>0&&ei&&(0,t.Y)(O,{options:en,value:ei,onChange:C}),(0,t.FD)(w,{children:[(0,t.Y)(A,{children:(0,t.Y)(S,{localizationKey:(0,d.G)("oauthConsent.scopeList.title",{applicationName:V})})}),(0,t.Y)(G,{children:eu.map(e=>(0,t.Y)(I,{children:(0,t.Y)(T,{children:e.description||e.scope||""})},e.scope))})]}),(0,t.Y)($.F,{colorScheme:"warning",children:(0,t.Y)(u.EY,{colorScheme:"warning",variant:"caption",children:(0,t.Y)(v,{text:er((0,d.G)("oauthConsent.warning",{applicationName:V||c,domainAction:ea})),actionText:ea,onClick:()=>y(!0),tooltipText:el})})}),(0,t.FD)(u.xA,{columns:2,gap:3,children:[(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"false",colorScheme:"secondary",variant:"outline",localizationKey:(0,d.G)("oauthConsent.action__deny")}),(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"true",localizationKey:(0,d.G)("oauthConsent.action__allow")}),(0,t.FD)(u.EY,{sx:{gridColumn:"span 2"},colorScheme:"secondary",variant:"caption",children:[(0,t.Y)(v,{text:er((0,d.G)("oauthConsent.redirectNotice",{domainAction:ea})),actionText:ea,onClick:()=>y(!0),tooltipText:el}),ep&&er((0,d.G)("oauthConsent.offlineAccessNotice"))]})]})]}),(0,t.Y)(m.Z.Footer,{})]}),!k&&es.map(([e,n])=>(0,t.Y)("input",{type:"hidden",name:e,value:n},e)),!k&&ee&&ei&&(0,t.Y)("input",{type:"hidden",name:"organization_id",value:ei})]}),(0,t.Y)(j,{isOpen:b,onOpen:()=>y(!0),onClose:()=>y(!1),redirectUri:X,oauthApplicationName:V})]})})),q=()=>(0,t.Y)(p.n.Root,{flow:"oauthConsent",children:(0,t.Y)(p.n.Part,{children:(0,t.Y)(x.d,{children:(0,t.Y)(C.q,{children:(0,t.Y)(P,{})})})})})},4480(e,n,o){o.d(n,{W:()=>r,n:()=>i});var t=o(630);let i=(0,t.createContext)(null),r=()=>{let e=(0,t.useContext)(i);if(null===e)throw Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");return e}}}]);
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["591"],{9972(e,n,o){o.r(n),o.d(n,{OAuthConsent:()=>P});var t=o(9763),i=o(6918),r=o(630),a=o(4480),l=o(1868),c=o(9203),s=o(4722),d=o(8342),u=o(7996),p=o(1522),h=o(914),m=o(7904),g=o(7308),f=o(2824),Y=o(9095),b=o(2574),$=o(6674),y=o(4339),x=o(6661),C=o(9922),k=o(5880);function v({text:e,actionText:n,onClick:o,tooltipText:i}){let r=e.indexOf(n);if(-1===r)return(0,t.Y)(t.FK,{children:e});let a=e.slice(0,r),l=e.slice(r+n.length),c="",s="";a.endsWith("(")&&(a=a.slice(0,-1),c="("),l.startsWith(")")&&(l=l.slice(1),s=")");let d=(0,t.FD)(k.m_.Root,{children:[(0,t.Y)(k.m_.Trigger,{children:(0,t.Y)(u.EY,{as:"span",role:"button",tabIndex:0,"aria-label":i,variant:"caption",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},sx:e=>({textDecoration:"underline",textDecorationStyle:"dotted",cursor:"pointer",outline:"none",display:"inline-block","&:focus-visible":{outline:"2px solid",outlineColor:e.colors.$colorRing}}),children:n})}),(0,t.Y)(k.m_.Content,{text:i})]});return(0,t.FD)(t.FK,{children:[a,c||s?(0,t.FD)(u.EY,{as:"span",sx:{whiteSpace:"nowrap"},children:[c,d,s]}):d,l]})}var z=o(6447),D=o(8343),F=o(7877);function w({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({textAlign:"start",borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,borderRadius:e.radii.$lg,overflow:"hidden"}),n],elementDescriptor:z.$z.listGroup,children:e})}function A({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({padding:e.space.$3,background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50)}),n],elementDescriptor:z.$z.listGroupHeader,children:e})}function S(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupHeaderTitle})}function G({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"ul",sx:[e=>({margin:e.sizes.$none,padding:e.sizes.$none,maxBlockSize:"10.9375rem",backgroundColor:e.colors.$colorBackground,overflowY:"auto",...D.s.unstyledScrollbar(e),"--fade-distance":"2.5rem","&::before, &::after":{content:'""',display:"block",position:"sticky",insetInline:0,blockSize:"var(--fade-distance)",pointerEvents:"none",zIndex:1,opacity:0},"&::before":{insetBlockStart:0,marginBlockEnd:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to bottom, ${e.colors.$colorBackground}, transparent)`},"&::after":{insetBlockEnd:0,marginBlockStart:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to top, ${e.colors.$colorBackground}, transparent)`},"@keyframes list-fade-top":{from:{opacity:0},to:{opacity:1}},"@keyframes list-fade-bottom":{from:{opacity:1},to:{opacity:0}},"@supports (animation-timeline: scroll())":{"&::before":{animationName:"list-fade-top",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"0 var(--fade-distance)"},"&::after":{animationName:"list-fade-bottom",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"calc(100% - var(--fade-distance)) 100%"}}}),n],elementDescriptor:z.$z.listGroupContent,children:e})}function I({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"li",sx:[e=>({display:"flex",alignItems:"baseline",paddingInline:e.space.$3,paddingBlock:e.space.$2,borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,"&::before":{content:'""',display:"inline-block",width:e.space.$1,height:e.space.$1,background:e.colors.$colorMutedForeground,borderRadius:e.radii.$circle,transform:"translateY(-0.1875rem)",marginInlineEnd:e.space.$2,flexShrink:0}}),n],elementDescriptor:z.$z.listGroupItem,children:e})}function T(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupItemLabel})}var R=o(5033);function U({children:e}){return(0,t.Y)(u.so,{justify:"center",align:"center",gap:4,sx:e=>({marginBlockEnd:e.space.$6}),elementDescriptor:z.$z.logoGroup,children:e})}function E({children:e,sx:n,...o}){return(0,t.Y)(u.so,{...o,sx:[{flex:1},n],elementDescriptor:z.$z.logoGroupItem,children:e})}function _({size:e="md",sx:n}){let o=n=>{let o="sm"===e?n.space.$6:n.space.$12;return{width:o,height:o}};return(0,t.Y)(u.az,{sx:e=>[{background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50),borderRadius:e.radii.$circle,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",alignItems:"center",justifyContent:"center"},o,n],elementDescriptor:z.$z.logoGroupIcon,children:(0,t.Y)(u.In,{icon:R.A,sx:e=>({color:e.colors.$primary500})})})}function B(){return(0,t.Y)(u.az,{as:"svg",fill:"none",viewBox:"0 0 16 2",height:2,"aria-hidden":!0,sx:e=>({color:e.colors.$colorMutedForeground}),elementDescriptor:z.$z.logoGroupSeparator,children:(0,t.Y)("path",{stroke:"currentColor",strokeDasharray:"0.1 4",strokeLinecap:"round",strokeWidth:"2",d:"M1 1h14"})})}var W=o(1017),N=o(3693);function O({options:e,value:n,onChange:o}){let i=(0,r.useRef)(null),a=e.find(e=>e.value===n);return(0,t.FD)(W.l6,{options:e,value:n,onChange:e=>o(e.value),referenceElement:i,renderOption:(e,n,o)=>(0,t.FD)(u.az,{as:"span",sx:e=>({width:"100%",display:"grid",gridTemplateColumns:`${e.sizes.$5} 1fr ${e.sizes.$3}`,columnGap:e.space.$2,paddingInlineStart:e.space.$1,paddingInlineEnd:e.space.$1x5,paddingBlock:e.space.$1,alignItems:"center",borderRadius:e.radii.$md,'&:hover, &[data-focused="true"]':{background:D.s.mutedBackground(e)}}),children:[(0,t.Y)(u._V,{src:e.logoUrl,alt:e.label,sx:e=>({width:e.sizes.$5,height:e.sizes.$5,objectFit:"contain",flexShrink:0,borderRadius:e.radii.$md})}),(0,t.Y)(u.EY,{sx:{flex:1,textAlign:"start",minWidth:0,maxInlineSize:"200px"},truncate:!0,as:"span",variant:"subtitle",children:e.label}),o&&(0,t.Y)(u.In,{icon:N.A,sx:e=>({color:e.colors.$primary500})})]}),children:[(0,t.FD)(W.JC,{ref:i,"aria-haspopup":"listbox",sx:e=>({paddingInline:e.space.$3}),children:[(0,t.Y)(u._V,{src:a?.logoUrl||"",alt:a?.label||"",sx:e=>({width:e.sizes.$5,height:e.sizes.$5,borderRadius:e.radii.$md,objectFit:"contain",flexShrink:0})}),(0,t.Y)(u.EY,{colorScheme:"body",as:"span",truncate:!0,sx:{flex:1,minWidth:0,textAlign:"start"},children:a?.label||"Select an option"})]}),(0,t.Y)(W.UL,{})]})}let Z=()=>"u">typeof window&&!!window.location,K=/^(\d{1,3}\.){3}\d{1,3}$/,L="offline_access";function M({onOpen:e,onClose:n,isOpen:o,redirectUri:i,oauthApplicationName:r}){return o?(0,t.Y)(b.Modal,{handleOpen:e,handleClose:n,children:(0,t.Y)(m.Z.Root,{children:(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[(0,t.Y)(f.Y.Title,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.title")}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.subtitle",{applicationName:r})})]}),(0,t.Y)(y.TM,{style:{maxHeight:"none"},cols:50,rows:6,defaultValue:i,readOnly:!0})]})})}):null}let j=(0,c.G)((0,g.dm)(function(){let e=(0,a.W)(),n=(0,i.ho)(),{user:o}=(0,i.Jd)(),{displayConfig:{applicationName:c,logoImageUrl:p},organizationSettings:g}=(0,l.O)(),[b,y]=(0,r.useState)(!1),[x,C]=(0,r.useState)(null),k=!!(e.onAllow||e.onDeny),z=function(){if(!Z())return{oauthClientId:""};let e=new URLSearchParams(window.location.search),n=e.get("client_id")??"",o=e.get("scope")??void 0;return void 0!==o?{oauthClientId:n,scope:o}:{oauthClientId:n}}(),D=e.oauthClientId??z.oauthClientId,F=e.scope??z.scope,R=e.redirectUrl??(Z()?new URL(window.location.href).searchParams.get("redirect_uri")??"":""),{data:W,isLoading:N,error:j}=(0,i.$U)({oauthClientId:D,scope:F,redirectUri:R||void 0,enabled:!k}),P=W?.scopes?.map(e=>({scope:e.scope,description:e.description,requires_consent:e.requiresConsent})),q=e.scopes??P??[],H=e.oauthApplicationName??W?.oauthApplicationName??"",V=e.oauthApplicationLogoUrl??W?.oauthApplicationLogoUrl,J=e.oauthApplicationUrl??W?.oauthApplicationUrl,Q=e.redirectUrl??R,X=!!(q.some(e=>"user:org:read"===e.scope)&&g.enabled),ee=X?(o?.organizationMemberships??[]).map(e=>({value:e.organization.id,label:e.organization.name,logoUrl:e.organization.imageUrl})):[],en=n.session?.lastActiveOrganizationId,eo=ee.find(e=>e.value===en)?.value??ee[0]?.value??null,et=x??eo,{t:ei}=(0,s._)(),er=W?.redirectDomain??function(e){let n;try{n=new URL(e).hostname}catch{return""}if(!n)return"";let o=n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1):n;return K.test(o)?o:o.includes(":")?`[${o}]`:o.split(".").slice(-2).join(".")}(Q),ea=ei((0,d.G)("oauthConsent.viewFullUrl"));if(!k){let e=D?Q?j?j.message??"Failed to load consent information.":void 0:"The redirect URI is missing.":"The client ID is missing.";if(e)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(m.Z.Alert,{children:e})}),(0,t.Y)(m.Z.Footer,{})]});if(N)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(Y.W,{})}),(0,t.Y)(m.Z.Footer,{})]})}let el=n.oauthApplication.buildConsentActionUrl({clientId:D}),ec=Z()?Array.from(new URLSearchParams(window.location.search).entries()):[],es=o?.primaryEmailAddress?.emailAddress||o?.primaryPhoneNumber?.phoneNumber,ed=q.filter(e=>e.scope!==L),eu=q.some(e=>e.scope===L);return(0,t.FD)(t.FK,{children:[(0,t.FD)("form",{method:"POST",action:el,onSubmit:n=>{if(!k)return;n.preventDefault();let o=n.nativeEvent.submitter;o?.value==="true"?e.onAllow?.():e.onDeny?.()},children:[(0,t.FD)(m.Z.Root,{children:[(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[V&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(h.G,{src:V,alt:H,href:J,isExternal:!0})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),V&&!p&&(0,t.Y)(U,{children:(0,t.FD)(u.az,{sx:{position:"relative"},children:[(0,t.Y)(h.G,{src:V,alt:H,href:J,isExternal:!0}),(0,t.Y)(_,{size:"sm",sx:e=>({position:"absolute",bottom:`calc(${e.space.$3} * -1)`,insetInlineEnd:`calc(${e.space.$3} * -1)`})})]})}),!V&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(_,{})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),!V&&!p&&(0,t.Y)(U,{children:(0,t.Y)(_,{})}),(0,t.Y)(f.Y.Title,{localizationKey:H}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.subtitle",{applicationName:c,identifier:es||""})})]}),X&&ee.length>0&&et&&(0,t.Y)(O,{options:ee,value:et,onChange:C}),(0,t.FD)(w,{children:[(0,t.Y)(A,{children:(0,t.Y)(S,{localizationKey:(0,d.G)("oauthConsent.scopeList.title",{applicationName:H})})}),(0,t.Y)(G,{children:ed.map(e=>(0,t.Y)(I,{children:(0,t.Y)(T,{children:e.description||e.scope||""})},e.scope))})]}),(0,t.Y)($.F,{colorScheme:"warning",children:(0,t.Y)(u.EY,{colorScheme:"warning",variant:"caption",children:(0,t.Y)(v,{text:ei((0,d.G)("oauthConsent.warning",{applicationName:H||c,domainAction:er})),actionText:er,onClick:()=>y(!0),tooltipText:ea})})}),(0,t.FD)(u.xA,{columns:2,gap:3,children:[(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"false",colorScheme:"secondary",variant:"outline",localizationKey:(0,d.G)("oauthConsent.action__deny")}),(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"true",localizationKey:(0,d.G)("oauthConsent.action__allow")}),(0,t.FD)(u.EY,{sx:{gridColumn:"span 2"},colorScheme:"secondary",variant:"caption",children:[(0,t.Y)(v,{text:ei((0,d.G)("oauthConsent.redirectNotice",{domainAction:er})),actionText:er,onClick:()=>y(!0),tooltipText:ea}),eu&&ei((0,d.G)("oauthConsent.offlineAccessNotice"))]})]})]}),(0,t.Y)(m.Z.Footer,{})]}),!k&&ec.map(([e,n])=>(0,t.Y)("input",{type:"hidden",name:e,value:n},e)),!k&&X&&et&&(0,t.Y)("input",{type:"hidden",name:"organization_id",value:et})]}),(0,t.Y)(M,{isOpen:b,onOpen:()=>y(!0),onClose:()=>y(!1),redirectUri:Q,oauthApplicationName:H})]})})),P=()=>(0,t.Y)(p.n.Root,{flow:"oauthConsent",children:(0,t.Y)(p.n.Part,{children:(0,t.Y)(x.d,{children:(0,t.Y)(C.q,{children:(0,t.Y)(j,{})})})})})},4480(e,n,o){o.d(n,{W:()=>r,n:()=>i});var t=o(630);let i=(0,t.createContext)(null),r=()=>{let e=(0,t.useContext)(i);if(null===e)throw Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");return e}}}]);
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["5591"],{9972(e,n,o){o.r(n),o.d(n,{OAuthConsent:()=>q});var t=o(9763),i=o(6918),r=o(9701),a=o(4480),l=o(1868),c=o(9203),s=o(4722),d=o(8342),u=o(7996),p=o(1522),h=o(914),m=o(7904),g=o(7308),f=o(2824),Y=o(9095),b=o(2574),$=o(6674),y=o(4339),x=o(6661),C=o(9922),k=o(5880);function v({text:e,actionText:n,onClick:o,tooltipText:i}){let r=e.indexOf(n);if(-1===r)return(0,t.Y)(t.FK,{children:e});let a=e.slice(0,r),l=e.slice(r+n.length),c="",s="";a.endsWith("(")&&(a=a.slice(0,-1),c="("),l.startsWith(")")&&(l=l.slice(1),s=")");let d=(0,t.FD)(k.m_.Root,{children:[(0,t.Y)(k.m_.Trigger,{children:(0,t.Y)(u.EY,{as:"span",role:"button",tabIndex:0,"aria-label":i,variant:"caption",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},sx:e=>({textDecoration:"underline",textDecorationStyle:"dotted",cursor:"pointer",outline:"none",display:"inline-block","&:focus-visible":{outline:"2px solid",outlineColor:e.colors.$colorRing}}),children:n})}),(0,t.Y)(k.m_.Content,{text:i})]});return(0,t.FD)(t.FK,{children:[a,c||s?(0,t.FD)(u.EY,{as:"span",sx:{whiteSpace:"nowrap"},children:[c,d,s]}):d,l]})}var z=o(6447),D=o(8343),F=o(7877);function w({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({textAlign:"start",borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,borderRadius:e.radii.$lg,overflow:"hidden"}),n],elementDescriptor:z.$z.listGroup,children:e})}function A({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({padding:e.space.$3,background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50)}),n],elementDescriptor:z.$z.listGroupHeader,children:e})}function S(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupHeaderTitle})}function G({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"ul",sx:[e=>({margin:e.sizes.$none,padding:e.sizes.$none,maxBlockSize:"10.9375rem",backgroundColor:e.colors.$colorBackground,overflowY:"auto",...D.s.unstyledScrollbar(e),"--fade-distance":"2.5rem","&::before, &::after":{content:'""',display:"block",position:"sticky",insetInline:0,blockSize:"var(--fade-distance)",pointerEvents:"none",zIndex:1,opacity:0},"&::before":{insetBlockStart:0,marginBlockEnd:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to bottom, ${e.colors.$colorBackground}, transparent)`},"&::after":{insetBlockEnd:0,marginBlockStart:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to top, ${e.colors.$colorBackground}, transparent)`},"@keyframes list-fade-top":{from:{opacity:0},to:{opacity:1}},"@keyframes list-fade-bottom":{from:{opacity:1},to:{opacity:0}},"@supports (animation-timeline: scroll())":{"&::before":{animationName:"list-fade-top",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"0 var(--fade-distance)"},"&::after":{animationName:"list-fade-bottom",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"calc(100% - var(--fade-distance)) 100%"}}}),n],elementDescriptor:z.$z.listGroupContent,children:e})}function I({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"li",sx:[e=>({display:"flex",alignItems:"baseline",paddingInline:e.space.$3,paddingBlock:e.space.$2,borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,"&::before":{content:'""',display:"inline-block",width:e.space.$1,height:e.space.$1,background:e.colors.$colorMutedForeground,borderRadius:e.radii.$circle,transform:"translateY(-0.1875rem)",marginInlineEnd:e.space.$2,flexShrink:0}}),n],elementDescriptor:z.$z.listGroupItem,children:e})}function T(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupItemLabel})}var R=o(5033);function U({children:e}){return(0,t.Y)(u.so,{justify:"center",align:"center",gap:4,sx:e=>({marginBlockEnd:e.space.$6}),elementDescriptor:z.$z.logoGroup,children:e})}function E({children:e,sx:n,...o}){return(0,t.Y)(u.so,{...o,sx:[{flex:1},n],elementDescriptor:z.$z.logoGroupItem,children:e})}function _({size:e="md",sx:n}){let o=n=>{let o="sm"===e?n.space.$6:n.space.$12;return{width:o,height:o}};return(0,t.Y)(u.az,{sx:e=>[{background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50),borderRadius:e.radii.$circle,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",alignItems:"center",justifyContent:"center"},o,n],elementDescriptor:z.$z.logoGroupIcon,children:(0,t.Y)(u.In,{icon:R.A,sx:e=>({color:e.colors.$primary500})})})}function B(){return(0,t.Y)(u.az,{as:"svg",fill:"none",viewBox:"0 0 16 2",height:2,"aria-hidden":!0,sx:e=>({color:e.colors.$colorMutedForeground}),elementDescriptor:z.$z.logoGroupSeparator,children:(0,t.Y)("path",{stroke:"currentColor",strokeDasharray:"0.1 4",strokeLinecap:"round",strokeWidth:"2",d:"M1 1h14"})})}var W=o(1017),N=o(3693);function O({options:e,value:n,onChange:o}){let i=(0,r.useRef)(null),a=e.find(e=>e.value===n);return(0,t.FD)(W.l6,{options:e,value:n,onChange:e=>o(e.value),referenceElement:i,renderOption:(e,n,o)=>(0,t.FD)(u.az,{as:"span",sx:e=>({width:"100%",display:"grid",gridTemplateColumns:`${e.sizes.$5} 1fr ${e.sizes.$3}`,columnGap:e.space.$2,paddingInlineStart:e.space.$1,paddingInlineEnd:e.space.$1x5,paddingBlock:e.space.$1,alignItems:"center",borderRadius:e.radii.$md,'&:hover, &[data-focused="true"]':{background:D.s.mutedBackground(e)}}),children:[(0,t.Y)(u._V,{src:e.logoUrl,alt:e.label,sx:e=>({width:e.sizes.$5,height:e.sizes.$5,objectFit:"contain",flexShrink:0,borderRadius:e.radii.$md})}),(0,t.Y)(u.EY,{sx:{flex:1,textAlign:"start",minWidth:0,maxInlineSize:"200px"},truncate:!0,as:"span",variant:"subtitle",children:e.label}),o&&(0,t.Y)(u.In,{icon:N.A,sx:e=>({color:e.colors.$primary500})})]}),children:[(0,t.FD)(W.JC,{ref:i,"aria-haspopup":"listbox",sx:e=>({paddingInline:e.space.$3}),children:[(0,t.Y)(u._V,{src:a?.logoUrl||"",alt:a?.label||"",sx:e=>({width:e.sizes.$5,height:e.sizes.$5,borderRadius:e.radii.$md,objectFit:"contain",flexShrink:0})}),(0,t.Y)(u.EY,{colorScheme:"body",as:"span",truncate:!0,sx:{flex:1,minWidth:0,textAlign:"start"},children:a?.label||"Select an option"})]}),(0,t.Y)(W.UL,{})]})}let Z=()=>"u">typeof window&&!!window.location,K=/^(\d{1,3}\.){3}\d{1,3}$/,L="offline_access",M="user:org:read";function j({onOpen:e,onClose:n,isOpen:o,redirectUri:i,oauthApplicationName:r}){return o?(0,t.Y)(b.Modal,{handleOpen:e,handleClose:n,children:(0,t.Y)(m.Z.Root,{children:(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[(0,t.Y)(f.Y.Title,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.title")}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.subtitle",{applicationName:r})})]}),(0,t.Y)(y.TM,{style:{maxHeight:"none"},cols:50,rows:6,defaultValue:i,readOnly:!0})]})})}):null}let P=(0,c.G)((0,g.dm)(function(){let e=(0,a.W)(),n=(0,i.ho)(),{user:o}=(0,i.Jd)(),{displayConfig:{applicationName:c,logoImageUrl:p},organizationSettings:g}=(0,l.O)(),[b,y]=(0,r.useState)(!1),[x,C]=(0,r.useState)(null),k=!!(e.onAllow||e.onDeny),z=function(){if(!Z())return{oauthClientId:""};let e=new URLSearchParams(window.location.search),n=e.get("client_id")??"",o=e.get("scope")??void 0;return void 0!==o?{oauthClientId:n,scope:o}:{oauthClientId:n}}(),D=e.oauthClientId??z.oauthClientId,F=e.scope??z.scope,R=e.redirectUrl??(Z()?new URL(window.location.href).searchParams.get("redirect_uri")??"":""),{data:W,isLoading:N,error:P}=(0,i.$U)({oauthClientId:D,scope:F,redirectUri:R||void 0,enabled:!k}),q=W?.scopes?.map(e=>({scope:e.scope,description:e.description,requires_consent:e.requiresConsent})),H=e.scopes??q??[],V=e.oauthApplicationName??W?.oauthApplicationName??"",J=e.oauthApplicationLogoUrl??W?.oauthApplicationLogoUrl,Q=e.oauthApplicationUrl??W?.oauthApplicationUrl,X=e.redirectUrl??R,ee=!!(H.some(e=>e.scope===M)&&g.enabled),en=ee?(o?.organizationMemberships??[]).map(e=>({value:e.organization.id,label:e.organization.name,logoUrl:e.organization.imageUrl})):[],eo=n.session?.lastActiveOrganizationId,et=en.find(e=>e.value===eo)?.value??en[0]?.value??null,ei=x??et,{t:er}=(0,s._)(),ea=W?.redirectDomain??function(e){let n;try{n=new URL(e).hostname}catch{return""}if(!n)return"";let o=n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1):n;return K.test(o)?o:o.includes(":")?`[${o}]`:o.split(".").slice(-2).join(".")}(X),el=er((0,d.G)("oauthConsent.viewFullUrl"));if(!k){let e=D?X?P?P.message??"Failed to load consent information.":void 0:"The redirect URI is missing.":"The client ID is missing.";if(e)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(m.Z.Alert,{children:e})}),(0,t.Y)(m.Z.Footer,{})]});if(N)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(Y.W,{})}),(0,t.Y)(m.Z.Footer,{})]})}let ec=n.oauthApplication.buildConsentActionUrl({clientId:D}),es=Z()?Array.from(new URLSearchParams(window.location.search).entries()):[],ed=o?.primaryEmailAddress?.emailAddress||o?.primaryPhoneNumber?.phoneNumber,eu=H.filter(e=>![L,M].includes(e.scope)),ep=H.some(e=>e.scope===L);return(0,t.FD)(t.FK,{children:[(0,t.FD)("form",{method:"POST",action:ec,onSubmit:n=>{if(!k)return;n.preventDefault();let o=n.nativeEvent.submitter;o?.value==="true"?e.onAllow?.():e.onDeny?.()},children:[(0,t.FD)(m.Z.Root,{children:[(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[J&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(h.G,{src:J,alt:V,href:Q,isExternal:!0})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),J&&!p&&(0,t.Y)(U,{children:(0,t.FD)(u.az,{sx:{position:"relative"},children:[(0,t.Y)(h.G,{src:J,alt:V,href:Q,isExternal:!0}),(0,t.Y)(_,{size:"sm",sx:e=>({position:"absolute",bottom:`calc(${e.space.$3} * -1)`,insetInlineEnd:`calc(${e.space.$3} * -1)`})})]})}),!J&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(_,{})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),!J&&!p&&(0,t.Y)(U,{children:(0,t.Y)(_,{})}),(0,t.Y)(f.Y.Title,{localizationKey:V}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.subtitle",{applicationName:c,identifier:ed||""})})]}),ee&&en.length>0&&ei&&(0,t.Y)(O,{options:en,value:ei,onChange:C}),(0,t.FD)(w,{children:[(0,t.Y)(A,{children:(0,t.Y)(S,{localizationKey:(0,d.G)("oauthConsent.scopeList.title",{applicationName:V})})}),(0,t.Y)(G,{children:eu.map(e=>(0,t.Y)(I,{children:(0,t.Y)(T,{children:e.description||e.scope||""})},e.scope))})]}),(0,t.Y)($.F,{colorScheme:"warning",children:(0,t.Y)(u.EY,{colorScheme:"warning",variant:"caption",children:(0,t.Y)(v,{text:er((0,d.G)("oauthConsent.warning",{applicationName:V||c,domainAction:ea})),actionText:ea,onClick:()=>y(!0),tooltipText:el})})}),(0,t.FD)(u.xA,{columns:2,gap:3,children:[(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"false",colorScheme:"secondary",variant:"outline",localizationKey:(0,d.G)("oauthConsent.action__deny")}),(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"true",localizationKey:(0,d.G)("oauthConsent.action__allow")}),(0,t.FD)(u.EY,{sx:{gridColumn:"span 2"},colorScheme:"secondary",variant:"caption",children:[(0,t.Y)(v,{text:er((0,d.G)("oauthConsent.redirectNotice",{domainAction:ea})),actionText:ea,onClick:()=>y(!0),tooltipText:el}),ep&&er((0,d.G)("oauthConsent.offlineAccessNotice"))]})]})]}),(0,t.Y)(m.Z.Footer,{})]}),!k&&es.map(([e,n])=>(0,t.Y)("input",{type:"hidden",name:e,value:n},e)),!k&&ee&&ei&&(0,t.Y)("input",{type:"hidden",name:"organization_id",value:ei})]}),(0,t.Y)(j,{isOpen:b,onOpen:()=>y(!0),onClose:()=>y(!1),redirectUri:X,oauthApplicationName:V})]})})),q=()=>(0,t.Y)(p.n.Root,{flow:"oauthConsent",children:(0,t.Y)(p.n.Part,{children:(0,t.Y)(x.d,{children:(0,t.Y)(C.q,{children:(0,t.Y)(P,{})})})})})},4480(e,n,o){o.d(n,{W:()=>r,n:()=>i});var t=o(9701);let i=(0,t.createContext)(null),r=()=>{let e=(0,t.useContext)(i);if(null===e)throw Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");return e}}}]);
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["5591"],{9972(e,n,o){o.r(n),o.d(n,{OAuthConsent:()=>P});var t=o(9763),i=o(6918),r=o(9701),a=o(4480),l=o(1868),c=o(9203),s=o(4722),d=o(8342),u=o(7996),p=o(1522),h=o(914),m=o(7904),g=o(7308),f=o(2824),Y=o(9095),b=o(2574),$=o(6674),y=o(4339),x=o(6661),C=o(9922),k=o(5880);function v({text:e,actionText:n,onClick:o,tooltipText:i}){let r=e.indexOf(n);if(-1===r)return(0,t.Y)(t.FK,{children:e});let a=e.slice(0,r),l=e.slice(r+n.length),c="",s="";a.endsWith("(")&&(a=a.slice(0,-1),c="("),l.startsWith(")")&&(l=l.slice(1),s=")");let d=(0,t.FD)(k.m_.Root,{children:[(0,t.Y)(k.m_.Trigger,{children:(0,t.Y)(u.EY,{as:"span",role:"button",tabIndex:0,"aria-label":i,variant:"caption",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},sx:e=>({textDecoration:"underline",textDecorationStyle:"dotted",cursor:"pointer",outline:"none",display:"inline-block","&:focus-visible":{outline:"2px solid",outlineColor:e.colors.$colorRing}}),children:n})}),(0,t.Y)(k.m_.Content,{text:i})]});return(0,t.FD)(t.FK,{children:[a,c||s?(0,t.FD)(u.EY,{as:"span",sx:{whiteSpace:"nowrap"},children:[c,d,s]}):d,l]})}var z=o(6447),D=o(8343),F=o(7877);function w({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({textAlign:"start",borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,borderRadius:e.radii.$lg,overflow:"hidden"}),n],elementDescriptor:z.$z.listGroup,children:e})}function A({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,sx:[e=>({padding:e.space.$3,background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50)}),n],elementDescriptor:z.$z.listGroupHeader,children:e})}function S(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupHeaderTitle})}function G({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"ul",sx:[e=>({margin:e.sizes.$none,padding:e.sizes.$none,maxBlockSize:"10.9375rem",backgroundColor:e.colors.$colorBackground,overflowY:"auto",...D.s.unstyledScrollbar(e),"--fade-distance":"2.5rem","&::before, &::after":{content:'""',display:"block",position:"sticky",insetInline:0,blockSize:"var(--fade-distance)",pointerEvents:"none",zIndex:1,opacity:0},"&::before":{insetBlockStart:0,marginBlockEnd:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to bottom, ${e.colors.$colorBackground}, transparent)`},"&::after":{insetBlockEnd:0,marginBlockStart:"calc(var(--fade-distance) * -1)",background:`linear-gradient(to top, ${e.colors.$colorBackground}, transparent)`},"@keyframes list-fade-top":{from:{opacity:0},to:{opacity:1}},"@keyframes list-fade-bottom":{from:{opacity:1},to:{opacity:0}},"@supports (animation-timeline: scroll())":{"&::before":{animationName:"list-fade-top",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"0 var(--fade-distance)"},"&::after":{animationName:"list-fade-bottom",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"calc(100% - var(--fade-distance)) 100%"}}}),n],elementDescriptor:z.$z.listGroupContent,children:e})}function I({children:e,sx:n,...o}){return(0,t.Y)(u.az,{...o,as:"li",sx:[e=>({display:"flex",alignItems:"baseline",paddingInline:e.space.$3,paddingBlock:e.space.$2,borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,"&::before":{content:'""',display:"inline-block",width:e.space.$1,height:e.space.$1,background:e.colors.$colorMutedForeground,borderRadius:e.radii.$circle,transform:"translateY(-0.1875rem)",marginInlineEnd:e.space.$2,flexShrink:0}}),n],elementDescriptor:z.$z.listGroupItem,children:e})}function T(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupItemLabel})}var R=o(5033);function U({children:e}){return(0,t.Y)(u.so,{justify:"center",align:"center",gap:4,sx:e=>({marginBlockEnd:e.space.$6}),elementDescriptor:z.$z.logoGroup,children:e})}function E({children:e,sx:n,...o}){return(0,t.Y)(u.so,{...o,sx:[{flex:1},n],elementDescriptor:z.$z.logoGroupItem,children:e})}function _({size:e="md",sx:n}){let o=n=>{let o="sm"===e?n.space.$6:n.space.$12;return{width:o,height:o}};return(0,t.Y)(u.az,{sx:e=>[{background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50),borderRadius:e.radii.$circle,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",alignItems:"center",justifyContent:"center"},o,n],elementDescriptor:z.$z.logoGroupIcon,children:(0,t.Y)(u.In,{icon:R.A,sx:e=>({color:e.colors.$primary500})})})}function B(){return(0,t.Y)(u.az,{as:"svg",fill:"none",viewBox:"0 0 16 2",height:2,"aria-hidden":!0,sx:e=>({color:e.colors.$colorMutedForeground}),elementDescriptor:z.$z.logoGroupSeparator,children:(0,t.Y)("path",{stroke:"currentColor",strokeDasharray:"0.1 4",strokeLinecap:"round",strokeWidth:"2",d:"M1 1h14"})})}var W=o(1017),N=o(3693);function O({options:e,value:n,onChange:o}){let i=(0,r.useRef)(null),a=e.find(e=>e.value===n);return(0,t.FD)(W.l6,{options:e,value:n,onChange:e=>o(e.value),referenceElement:i,renderOption:(e,n,o)=>(0,t.FD)(u.az,{as:"span",sx:e=>({width:"100%",display:"grid",gridTemplateColumns:`${e.sizes.$5} 1fr ${e.sizes.$3}`,columnGap:e.space.$2,paddingInlineStart:e.space.$1,paddingInlineEnd:e.space.$1x5,paddingBlock:e.space.$1,alignItems:"center",borderRadius:e.radii.$md,'&:hover, &[data-focused="true"]':{background:D.s.mutedBackground(e)}}),children:[(0,t.Y)(u._V,{src:e.logoUrl,alt:e.label,sx:e=>({width:e.sizes.$5,height:e.sizes.$5,objectFit:"contain",flexShrink:0,borderRadius:e.radii.$md})}),(0,t.Y)(u.EY,{sx:{flex:1,textAlign:"start",minWidth:0,maxInlineSize:"200px"},truncate:!0,as:"span",variant:"subtitle",children:e.label}),o&&(0,t.Y)(u.In,{icon:N.A,sx:e=>({color:e.colors.$primary500})})]}),children:[(0,t.FD)(W.JC,{ref:i,"aria-haspopup":"listbox",sx:e=>({paddingInline:e.space.$3}),children:[(0,t.Y)(u._V,{src:a?.logoUrl||"",alt:a?.label||"",sx:e=>({width:e.sizes.$5,height:e.sizes.$5,borderRadius:e.radii.$md,objectFit:"contain",flexShrink:0})}),(0,t.Y)(u.EY,{colorScheme:"body",as:"span",truncate:!0,sx:{flex:1,minWidth:0,textAlign:"start"},children:a?.label||"Select an option"})]}),(0,t.Y)(W.UL,{})]})}let Z=()=>"u">typeof window&&!!window.location,K=/^(\d{1,3}\.){3}\d{1,3}$/,L="offline_access";function M({onOpen:e,onClose:n,isOpen:o,redirectUri:i,oauthApplicationName:r}){return o?(0,t.Y)(b.Modal,{handleOpen:e,handleClose:n,children:(0,t.Y)(m.Z.Root,{children:(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[(0,t.Y)(f.Y.Title,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.title")}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.subtitle",{applicationName:r})})]}),(0,t.Y)(y.TM,{style:{maxHeight:"none"},cols:50,rows:6,defaultValue:i,readOnly:!0})]})})}):null}let j=(0,c.G)((0,g.dm)(function(){let e=(0,a.W)(),n=(0,i.ho)(),{user:o}=(0,i.Jd)(),{displayConfig:{applicationName:c,logoImageUrl:p},organizationSettings:g}=(0,l.O)(),[b,y]=(0,r.useState)(!1),[x,C]=(0,r.useState)(null),k=!!(e.onAllow||e.onDeny),z=function(){if(!Z())return{oauthClientId:""};let e=new URLSearchParams(window.location.search),n=e.get("client_id")??"",o=e.get("scope")??void 0;return void 0!==o?{oauthClientId:n,scope:o}:{oauthClientId:n}}(),D=e.oauthClientId??z.oauthClientId,F=e.scope??z.scope,R=e.redirectUrl??(Z()?new URL(window.location.href).searchParams.get("redirect_uri")??"":""),{data:W,isLoading:N,error:j}=(0,i.$U)({oauthClientId:D,scope:F,redirectUri:R||void 0,enabled:!k}),P=W?.scopes?.map(e=>({scope:e.scope,description:e.description,requires_consent:e.requiresConsent})),q=e.scopes??P??[],H=e.oauthApplicationName??W?.oauthApplicationName??"",V=e.oauthApplicationLogoUrl??W?.oauthApplicationLogoUrl,J=e.oauthApplicationUrl??W?.oauthApplicationUrl,Q=e.redirectUrl??R,X=!!(q.some(e=>"user:org:read"===e.scope)&&g.enabled),ee=X?(o?.organizationMemberships??[]).map(e=>({value:e.organization.id,label:e.organization.name,logoUrl:e.organization.imageUrl})):[],en=n.session?.lastActiveOrganizationId,eo=ee.find(e=>e.value===en)?.value??ee[0]?.value??null,et=x??eo,{t:ei}=(0,s._)(),er=W?.redirectDomain??function(e){let n;try{n=new URL(e).hostname}catch{return""}if(!n)return"";let o=n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1):n;return K.test(o)?o:o.includes(":")?`[${o}]`:o.split(".").slice(-2).join(".")}(Q),ea=ei((0,d.G)("oauthConsent.viewFullUrl"));if(!k){let e=D?Q?j?j.message??"Failed to load consent information.":void 0:"The redirect URI is missing.":"The client ID is missing.";if(e)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(m.Z.Alert,{children:e})}),(0,t.Y)(m.Z.Footer,{})]});if(N)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(Y.W,{})}),(0,t.Y)(m.Z.Footer,{})]})}let el=n.oauthApplication.buildConsentActionUrl({clientId:D}),ec=Z()?Array.from(new URLSearchParams(window.location.search).entries()):[],es=o?.primaryEmailAddress?.emailAddress||o?.primaryPhoneNumber?.phoneNumber,ed=q.filter(e=>e.scope!==L),eu=q.some(e=>e.scope===L);return(0,t.FD)(t.FK,{children:[(0,t.FD)("form",{method:"POST",action:el,onSubmit:n=>{if(!k)return;n.preventDefault();let o=n.nativeEvent.submitter;o?.value==="true"?e.onAllow?.():e.onDeny?.()},children:[(0,t.FD)(m.Z.Root,{children:[(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[V&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(h.G,{src:V,alt:H,href:J,isExternal:!0})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),V&&!p&&(0,t.Y)(U,{children:(0,t.FD)(u.az,{sx:{position:"relative"},children:[(0,t.Y)(h.G,{src:V,alt:H,href:J,isExternal:!0}),(0,t.Y)(_,{size:"sm",sx:e=>({position:"absolute",bottom:`calc(${e.space.$3} * -1)`,insetInlineEnd:`calc(${e.space.$3} * -1)`})})]})}),!V&&p&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(_,{})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),!V&&!p&&(0,t.Y)(U,{children:(0,t.Y)(_,{})}),(0,t.Y)(f.Y.Title,{localizationKey:H}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.subtitle",{applicationName:c,identifier:es||""})})]}),X&&ee.length>0&&et&&(0,t.Y)(O,{options:ee,value:et,onChange:C}),(0,t.FD)(w,{children:[(0,t.Y)(A,{children:(0,t.Y)(S,{localizationKey:(0,d.G)("oauthConsent.scopeList.title",{applicationName:H})})}),(0,t.Y)(G,{children:ed.map(e=>(0,t.Y)(I,{children:(0,t.Y)(T,{children:e.description||e.scope||""})},e.scope))})]}),(0,t.Y)($.F,{colorScheme:"warning",children:(0,t.Y)(u.EY,{colorScheme:"warning",variant:"caption",children:(0,t.Y)(v,{text:ei((0,d.G)("oauthConsent.warning",{applicationName:H||c,domainAction:er})),actionText:er,onClick:()=>y(!0),tooltipText:ea})})}),(0,t.FD)(u.xA,{columns:2,gap:3,children:[(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"false",colorScheme:"secondary",variant:"outline",localizationKey:(0,d.G)("oauthConsent.action__deny")}),(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"true",localizationKey:(0,d.G)("oauthConsent.action__allow")}),(0,t.FD)(u.EY,{sx:{gridColumn:"span 2"},colorScheme:"secondary",variant:"caption",children:[(0,t.Y)(v,{text:ei((0,d.G)("oauthConsent.redirectNotice",{domainAction:er})),actionText:er,onClick:()=>y(!0),tooltipText:ea}),eu&&ei((0,d.G)("oauthConsent.offlineAccessNotice"))]})]})]}),(0,t.Y)(m.Z.Footer,{})]}),!k&&ec.map(([e,n])=>(0,t.Y)("input",{type:"hidden",name:e,value:n},e)),!k&&X&&et&&(0,t.Y)("input",{type:"hidden",name:"organization_id",value:et})]}),(0,t.Y)(M,{isOpen:b,onOpen:()=>y(!0),onClose:()=>y(!1),redirectUri:Q,oauthApplicationName:H})]})})),P=()=>(0,t.Y)(p.n.Root,{flow:"oauthConsent",children:(0,t.Y)(p.n.Part,{children:(0,t.Y)(x.d,{children:(0,t.Y)(C.q,{children:(0,t.Y)(j,{})})})})})},4480(e,n,o){o.d(n,{W:()=>r,n:()=>i});var t=o(9701);let i=(0,t.createContext)(null),r=()=>{let e=(0,t.useContext)(i);if(null===e)throw Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");return e}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["5591"],{89972(e,n,o){o.r(n),o.d(n,{OAuthConsent:()=>P}),o(36395),o(42949),o(37891),o(12021),o(49678),o(18723);var t=o(59763),i=o(86918),l=o(59701),r=o(64480),a=o(91868),c=o(9203),s=o(84722),d=o(78342),u=o(67996),p=o(41522),h=o(30914),m=o(27904),g=o(17308),f=o(42824),Y=o(89095),b=o(62574),v=o(96674),$=o(24339),y=o(66661),x=o(59922),C=o(75880);function k(e){let{text:n,actionText:o,onClick:i,tooltipText:l}=e,r=n.indexOf(o);if(-1===r)return(0,t.Y)(t.FK,{children:n});let a=n.slice(0,r),c=n.slice(r+o.length),s="",d="";a.endsWith("(")&&(a=a.slice(0,-1),s="("),c.startsWith(")")&&(c=c.slice(1),d=")");let p=(0,t.FD)(C.m_.Root,{children:[(0,t.Y)(C.m_.Trigger,{children:(0,t.Y)(u.EY,{as:"span",role:"button",tabIndex:0,"aria-label":l,variant:"caption",onClick:i,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),i())},sx:e=>({textDecoration:"underline",textDecorationStyle:"dotted",cursor:"pointer",outline:"none",display:"inline-block","&:focus-visible":{outline:"2px solid",outlineColor:e.colors.$colorRing}}),children:o})}),(0,t.Y)(C.m_.Content,{text:l})]});return(0,t.FD)(t.FK,{children:[a,s||d?(0,t.FD)(u.EY,{as:"span",sx:{whiteSpace:"nowrap"},children:[s,p,d]}):p,c]})}var z=o(26447),D=o(8343),F=o(47877);function w(e){let{children:n,sx:o,...i}=e;return(0,t.Y)(u.az,{...i,sx:[e=>({textAlign:"start",borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,borderRadius:e.radii.$lg,overflow:"hidden"}),o],elementDescriptor:z.$z.listGroup,children:n})}function A(e){let{children:n,sx:o,...i}=e;return(0,t.Y)(u.az,{...i,sx:[e=>({padding:e.space.$3,background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50)}),o],elementDescriptor:z.$z.listGroupHeader,children:n})}function S(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupHeaderTitle})}function G(e){let{children:n,sx:o,...i}=e;return(0,t.Y)(u.az,{...i,as:"ul",sx:[e=>({margin:e.sizes.$none,padding:e.sizes.$none,maxBlockSize:"10.9375rem",backgroundColor:e.colors.$colorBackground,overflowY:"auto",...D.s.unstyledScrollbar(e),"--fade-distance":"2.5rem","&::before, &::after":{content:'""',display:"block",position:"sticky",insetInline:0,blockSize:"var(--fade-distance)",pointerEvents:"none",zIndex:1,opacity:0},"&::before":{insetBlockStart:0,marginBlockEnd:"calc(var(--fade-distance) * -1)",background:"linear-gradient(to bottom, ".concat(e.colors.$colorBackground,", transparent)")},"&::after":{insetBlockEnd:0,marginBlockStart:"calc(var(--fade-distance) * -1)",background:"linear-gradient(to top, ".concat(e.colors.$colorBackground,", transparent)")},"@keyframes list-fade-top":{from:{opacity:0},to:{opacity:1}},"@keyframes list-fade-bottom":{from:{opacity:1},to:{opacity:0}},"@supports (animation-timeline: scroll())":{"&::before":{animationName:"list-fade-top",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"0 var(--fade-distance)"},"&::after":{animationName:"list-fade-bottom",animationDuration:"auto",animationTimingFunction:"linear",animationFillMode:"both",animationTimeline:"scroll(y)",animationRange:"calc(100% - var(--fade-distance)) 100%"}}}),o],elementDescriptor:z.$z.listGroupContent,children:n})}function I(e){let{children:n,sx:o,...i}=e;return(0,t.Y)(u.az,{...i,as:"li",sx:[e=>({display:"flex",alignItems:"baseline",paddingInline:e.space.$3,paddingBlock:e.space.$2,borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,"&::before":{content:'""',display:"inline-block",width:e.space.$1,height:e.space.$1,background:e.colors.$colorMutedForeground,borderRadius:e.radii.$circle,transform:"translateY(-0.1875rem)",marginInlineEnd:e.space.$2,flexShrink:0}}),o],elementDescriptor:z.$z.listGroupItem,children:n})}function T(e){return(0,t.Y)(u.EY,{...e,variant:"subtitle",elementDescriptor:z.$z.listGroupItemLabel})}var R=o(55033);function U(e){let{children:n}=e;return(0,t.Y)(u.so,{justify:"center",align:"center",gap:4,sx:e=>({marginBlockEnd:e.space.$6}),elementDescriptor:z.$z.logoGroup,children:n})}function E(e){let{children:n,sx:o,...i}=e;return(0,t.Y)(u.so,{...i,sx:[{flex:1},o],elementDescriptor:z.$z.logoGroupItem,children:n})}function _(e){let{size:n="md",sx:o}=e,i=e=>{let o="sm"===n?e.space.$6:e.space.$12;return{width:o,height:o}};return(0,t.Y)(u.az,{sx:e=>[{background:D.s.mergedColorsBackground(F.T.setAlpha(e.colors.$colorBackground,1),e.colors.$neutralAlpha50),borderRadius:e.radii.$circle,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",alignItems:"center",justifyContent:"center"},i,o],elementDescriptor:z.$z.logoGroupIcon,children:(0,t.Y)(u.In,{icon:R.A,sx:e=>({color:e.colors.$primary500})})})}function B(){return(0,t.Y)(u.az,{as:"svg",fill:"none",viewBox:"0 0 16 2",height:2,"aria-hidden":!0,sx:e=>({color:e.colors.$colorMutedForeground}),elementDescriptor:z.$z.logoGroupSeparator,children:(0,t.Y)("path",{stroke:"currentColor",strokeDasharray:"0.1 4",strokeLinecap:"round",strokeWidth:"2",d:"M1 1h14"})})}var W=o(1017),N=o(53693);function O(e){let{options:n,value:o,onChange:i}=e,r=(0,l.useRef)(null),a=n.find(e=>e.value===o);return(0,t.FD)(W.l6,{options:n,value:o,onChange:e=>i(e.value),referenceElement:r,renderOption:(e,n,o)=>(0,t.FD)(u.az,{as:"span",sx:e=>({width:"100%",display:"grid",gridTemplateColumns:"".concat(e.sizes.$5," 1fr ").concat(e.sizes.$3),columnGap:e.space.$2,paddingInlineStart:e.space.$1,paddingInlineEnd:e.space.$1x5,paddingBlock:e.space.$1,alignItems:"center",borderRadius:e.radii.$md,'&:hover, &[data-focused="true"]':{background:D.s.mutedBackground(e)}}),children:[(0,t.Y)(u._V,{src:e.logoUrl,alt:e.label,sx:e=>({width:e.sizes.$5,height:e.sizes.$5,objectFit:"contain",flexShrink:0,borderRadius:e.radii.$md})}),(0,t.Y)(u.EY,{sx:{flex:1,textAlign:"start",minWidth:0,maxInlineSize:"200px"},truncate:!0,as:"span",variant:"subtitle",children:e.label}),o&&(0,t.Y)(u.In,{icon:N.A,sx:e=>({color:e.colors.$primary500})})]}),children:[(0,t.FD)(W.JC,{ref:r,"aria-haspopup":"listbox",sx:e=>({paddingInline:e.space.$3}),children:[(0,t.Y)(u._V,{src:(null==a?void 0:a.logoUrl)||"",alt:(null==a?void 0:a.label)||"",sx:e=>({width:e.sizes.$5,height:e.sizes.$5,borderRadius:e.radii.$md,objectFit:"contain",flexShrink:0})}),(0,t.Y)(u.EY,{colorScheme:"body",as:"span",truncate:!0,sx:{flex:1,minWidth:0,textAlign:"start"},children:(null==a?void 0:a.label)||"Select an option"})]}),(0,t.Y)(W.UL,{})]})}o(74302),o(30686),o(38978),o(52205),o(40768),o(76235),o(85281),o(52277);let Z=()=>"u">typeof window&&!!window.location,K=/^(\d{1,3}\.){3}\d{1,3}$/,L="offline_access";function M(e){let{onOpen:n,onClose:o,isOpen:i,redirectUri:l,oauthApplicationName:r}=e;return i?(0,t.Y)(b.Modal,{handleOpen:n,handleClose:o,children:(0,t.Y)(m.Z.Root,{children:(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[(0,t.Y)(f.Y.Title,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.title")}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.redirectUriModal.subtitle",{applicationName:r})})]}),(0,t.Y)($.TM,{style:{maxHeight:"none"},cols:50,rows:6,defaultValue:l,readOnly:!0})]})})}):null}let j=(0,c.G)((0,g.dm)(function(){var e,n,o,c,p,g,b,$,y,x,C,z,D,F,R,W,N,j,P,q,H,V;let J=(0,r.W)(),Q=(0,i.ho)(),{user:X}=(0,i.Jd)(),{displayConfig:{applicationName:ee,logoImageUrl:en},organizationSettings:eo}=(0,a.O)(),[et,ei]=(0,l.useState)(!1),[el,er]=(0,l.useState)(null),ea=!!(J.onAllow||J.onDeny),ec=function(){var e,n;if(!Z())return{oauthClientId:""};let o=new URLSearchParams(window.location.search),t=null!=(e=o.get("client_id"))?e:"",i=null!=(n=o.get("scope"))?n:void 0;return void 0!==i?{oauthClientId:t,scope:i}:{oauthClientId:t}}(),es=null!=(e=J.oauthClientId)?e:ec.oauthClientId,ed=null!=(n=J.scope)?n:ec.scope,eu=null!=(o=J.redirectUrl)?o:Z()&&null!=(V=new URL(window.location.href).searchParams.get("redirect_uri"))?V:"",{data:ep,isLoading:eh,error:em}=(0,i.$U)({oauthClientId:es,scope:ed,redirectUri:eu||void 0,enabled:!ea}),eg=null==ep||null==(R=ep.scopes)?void 0:R.map(e=>({scope:e.scope,description:e.description,requires_consent:e.requiresConsent})),ef=null!=(c=null!=(p=J.scopes)?p:eg)?c:[],eY=null!=(g=null!=(b=J.oauthApplicationName)?b:null==ep?void 0:ep.oauthApplicationName)?g:"",eb=null!=($=J.oauthApplicationLogoUrl)?$:null==ep?void 0:ep.oauthApplicationLogoUrl,ev=null!=(y=J.oauthApplicationUrl)?y:null==ep?void 0:ep.oauthApplicationUrl,e$=null!=(x=J.redirectUrl)?x:eu,ey=!!(ef.some(e=>"user:org:read"===e.scope)&&eo.enabled),ex=ey?(null!=(C=null==X?void 0:X.organizationMemberships)?C:[]).map(e=>({value:e.organization.id,label:e.organization.name,logoUrl:e.organization.imageUrl})):[],eC=null==(W=Q.session)?void 0:W.lastActiveOrganizationId,ek=null!=(z=null!=(D=null==(N=ex.find(e=>e.value===eC))?void 0:N.value)?D:null==(j=ex[0])?void 0:j.value)?z:null,ez=null!=el?el:ek,{t:eD}=(0,s._)(),eF=null!=(F=null==ep?void 0:ep.redirectDomain)?F:function(e){let n;try{n=new URL(e).hostname}catch{return""}if(!n)return"";let o=n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1):n;return K.test(o)?o:o.includes(":")?"[".concat(o,"]"):o.split(".").slice(-2).join(".")}(e$),ew=eD((0,d.G)("oauthConsent.viewFullUrl"));if(!ea){let e=es?e$?em?null!=(H=em.message)?H:"Failed to load consent information.":void 0:"The redirect URI is missing.":"The client ID is missing.";if(e)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(m.Z.Alert,{children:e})}),(0,t.Y)(m.Z.Footer,{})]});if(eh)return(0,t.FD)(m.Z.Root,{children:[(0,t.Y)(m.Z.Content,{children:(0,t.Y)(Y.W,{})}),(0,t.Y)(m.Z.Footer,{})]})}let eA=Q.oauthApplication.buildConsentActionUrl({clientId:es}),eS=Z()?Array.from(new URLSearchParams(window.location.search).entries()):[],eG=(null==X||null==(P=X.primaryEmailAddress)?void 0:P.emailAddress)||(null==X||null==(q=X.primaryPhoneNumber)?void 0:q.phoneNumber),eI=ef.filter(e=>e.scope!==L),eT=ef.some(e=>e.scope===L);return(0,t.FD)(t.FK,{children:[(0,t.FD)("form",{method:"POST",action:eA,onSubmit:e=>{var n,o;if(!ea)return;e.preventDefault();let t=e.nativeEvent.submitter;(null==t?void 0:t.value)==="true"?null==(n=J.onAllow)||n.call(J):null==(o=J.onDeny)||o.call(J)},children:[(0,t.FD)(m.Z.Root,{children:[(0,t.FD)(m.Z.Content,{children:[(0,t.FD)(f.Y.Root,{children:[eb&&en&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(h.G,{src:eb,alt:eY,href:ev,isExternal:!0})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),eb&&!en&&(0,t.Y)(U,{children:(0,t.FD)(u.az,{sx:{position:"relative"},children:[(0,t.Y)(h.G,{src:eb,alt:eY,href:ev,isExternal:!0}),(0,t.Y)(_,{size:"sm",sx:e=>({position:"absolute",bottom:"calc(".concat(e.space.$3," * -1)"),insetInlineEnd:"calc(".concat(e.space.$3," * -1)")})})]})}),!eb&&en&&(0,t.FD)(U,{children:[(0,t.Y)(E,{justify:"end",children:(0,t.Y)(_,{})}),(0,t.Y)(B,{}),(0,t.Y)(E,{justify:"start",children:(0,t.Y)(h.G,{})})]}),!eb&&!en&&(0,t.Y)(U,{children:(0,t.Y)(_,{})}),(0,t.Y)(f.Y.Title,{localizationKey:eY}),(0,t.Y)(f.Y.Subtitle,{localizationKey:(0,d.G)("oauthConsent.subtitle",{applicationName:ee,identifier:eG||""})})]}),ey&&ex.length>0&&ez&&(0,t.Y)(O,{options:ex,value:ez,onChange:er}),(0,t.FD)(w,{children:[(0,t.Y)(A,{children:(0,t.Y)(S,{localizationKey:(0,d.G)("oauthConsent.scopeList.title",{applicationName:eY})})}),(0,t.Y)(G,{children:eI.map(e=>(0,t.Y)(I,{children:(0,t.Y)(T,{children:e.description||e.scope||""})},e.scope))})]}),(0,t.Y)(v.F,{colorScheme:"warning",children:(0,t.Y)(u.EY,{colorScheme:"warning",variant:"caption",children:(0,t.Y)(k,{text:eD((0,d.G)("oauthConsent.warning",{applicationName:eY||ee,domainAction:eF})),actionText:eF,onClick:()=>ei(!0),tooltipText:ew})})}),(0,t.FD)(u.xA,{columns:2,gap:3,children:[(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"false",colorScheme:"secondary",variant:"outline",localizationKey:(0,d.G)("oauthConsent.action__deny")}),(0,t.Y)(u.$n,{type:"submit",name:"consented",value:"true",localizationKey:(0,d.G)("oauthConsent.action__allow")}),(0,t.FD)(u.EY,{sx:{gridColumn:"span 2"},colorScheme:"secondary",variant:"caption",children:[(0,t.Y)(k,{text:eD((0,d.G)("oauthConsent.redirectNotice",{domainAction:eF})),actionText:eF,onClick:()=>ei(!0),tooltipText:ew}),eT&&eD((0,d.G)("oauthConsent.offlineAccessNotice"))]})]})]}),(0,t.Y)(m.Z.Footer,{})]}),!ea&&eS.map(e=>{let[n,o]=e;return(0,t.Y)("input",{type:"hidden",name:n,value:o},n)}),!ea&&ey&&ez&&(0,t.Y)("input",{type:"hidden",name:"organization_id",value:ez})]}),(0,t.Y)(M,{isOpen:et,onOpen:()=>ei(!0),onClose:()=>ei(!1),redirectUri:e$,oauthApplicationName:eY})]})})),P=()=>(0,t.Y)(p.n.Root,{flow:"oauthConsent",children:(0,t.Y)(p.n.Part,{children:(0,t.Y)(y.d,{children:(0,t.Y)(x.q,{children:(0,t.Y)(j,{})})})})})},64480(e,n,o){o.d(n,{W:()=>l,n:()=>i}),o(15254);var t=o(59701);let i=(0,t.createContext)(null),l=()=>{let e=(0,t.useContext)(i);if(null===e)throw Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");return e}}}]);