@thunderid/react 0.3.3 → 0.3.4

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 (255) hide show
  1. package/dist/ThunderIDReactClient.d.ts +1 -5
  2. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  3. package/dist/ThunderIDReactClient.js +1 -68
  4. package/dist/ThunderIDReactClient.js.map +1 -1
  5. package/dist/cjs/ThunderIDReactClient.cjs +0 -67
  6. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
  7. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
  8. package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs +57 -0
  9. package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs.map +1 -0
  10. package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs +36 -0
  11. package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs.map +1 -0
  12. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +6 -5
  13. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  14. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +3 -15
  15. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  16. package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -1
  17. package/dist/cjs/contexts/Theme/ThemeProvider.cjs +2 -5
  18. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
  19. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +0 -2
  20. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  21. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +14 -90
  22. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  23. package/dist/cjs/index.cjs +6 -51
  24. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  25. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts +50 -0
  26. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts.map +1 -0
  27. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js +55 -0
  28. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js.map +1 -0
  29. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts +46 -0
  30. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts.map +1 -0
  31. package/dist/components/presentation/UserAvatar/UserAvatar.js +34 -0
  32. package/dist/components/presentation/UserAvatar/UserAvatar.js.map +1 -0
  33. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  34. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +6 -5
  35. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  36. package/dist/components/presentation/auth/AuthOptionFactory.d.ts +2 -2
  37. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  38. package/dist/components/presentation/auth/AuthOptionFactory.js +3 -15
  39. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  40. package/dist/contexts/Theme/ThemeContext.d.ts +0 -12
  41. package/dist/contexts/Theme/ThemeContext.d.ts.map +1 -1
  42. package/dist/contexts/Theme/ThemeContext.js.map +1 -1
  43. package/dist/contexts/Theme/ThemeProvider.d.ts +0 -4
  44. package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
  45. package/dist/contexts/Theme/ThemeProvider.js +2 -5
  46. package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
  47. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +2 -3
  48. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  49. package/dist/contexts/ThunderID/ThunderIDContext.js +0 -2
  50. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  51. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  52. package/dist/contexts/ThunderID/ThunderIDProvider.js +15 -91
  53. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  54. package/dist/index.d.ts +4 -40
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +5 -27
  57. package/package.json +2 -2
  58. package/dist/api/createOrganization.d.ts +0 -86
  59. package/dist/api/createOrganization.d.ts.map +0 -1
  60. package/dist/api/createOrganization.js +0 -80
  61. package/dist/api/createOrganization.js.map +0 -1
  62. package/dist/api/getAllOrganizations.d.ts +0 -78
  63. package/dist/api/getAllOrganizations.d.ts.map +0 -1
  64. package/dist/api/getAllOrganizations.js +0 -71
  65. package/dist/api/getAllOrganizations.js.map +0 -1
  66. package/dist/api/getMeOrganizations.d.ts +0 -82
  67. package/dist/api/getMeOrganizations.d.ts.map +0 -1
  68. package/dist/api/getMeOrganizations.js +0 -75
  69. package/dist/api/getMeOrganizations.js.map +0 -1
  70. package/dist/api/getOrganization.d.ts +0 -74
  71. package/dist/api/getOrganization.d.ts.map +0 -1
  72. package/dist/api/getOrganization.js +0 -67
  73. package/dist/api/getOrganization.js.map +0 -1
  74. package/dist/api/getSchemas.d.ts +0 -72
  75. package/dist/api/getSchemas.d.ts.map +0 -1
  76. package/dist/api/getSchemas.js +0 -65
  77. package/dist/api/getSchemas.js.map +0 -1
  78. package/dist/api/updateOrganization.d.ts +0 -81
  79. package/dist/api/updateOrganization.d.ts.map +0 -1
  80. package/dist/api/updateOrganization.js +0 -74
  81. package/dist/api/updateOrganization.js.map +0 -1
  82. package/dist/cjs/api/createOrganization.cjs +0 -82
  83. package/dist/cjs/api/createOrganization.cjs.map +0 -1
  84. package/dist/cjs/api/getAllOrganizations.cjs +0 -73
  85. package/dist/cjs/api/getAllOrganizations.cjs.map +0 -1
  86. package/dist/cjs/api/getMeOrganizations.cjs +0 -77
  87. package/dist/cjs/api/getMeOrganizations.cjs.map +0 -1
  88. package/dist/cjs/api/getOrganization.cjs +0 -69
  89. package/dist/cjs/api/getOrganization.cjs.map +0 -1
  90. package/dist/cjs/api/getSchemas.cjs +0 -67
  91. package/dist/cjs/api/getSchemas.cjs.map +0 -1
  92. package/dist/cjs/api/updateOrganization.cjs +0 -76
  93. package/dist/cjs/api/updateOrganization.cjs.map +0 -1
  94. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs +0 -34
  95. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs.map +0 -1
  96. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs +0 -58
  97. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs.map +0 -1
  98. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs +0 -183
  99. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs.map +0 -1
  100. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs +0 -150
  101. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map +0 -1
  102. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs +0 -90
  103. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs.map +0 -1
  104. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs +0 -41
  105. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs.map +0 -1
  106. package/dist/cjs/components/presentation/Organization/Organization.cjs +0 -49
  107. package/dist/cjs/components/presentation/Organization/Organization.cjs.map +0 -1
  108. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs +0 -257
  109. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs.map +0 -1
  110. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs +0 -236
  111. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs.map +0 -1
  112. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs +0 -86
  113. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs.map +0 -1
  114. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs +0 -75
  115. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs.map +0 -1
  116. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +0 -328
  117. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs.map +0 -1
  118. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs +0 -166
  119. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs.map +0 -1
  120. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs +0 -126
  121. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs.map +0 -1
  122. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs +0 -288
  123. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs.map +0 -1
  124. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs +0 -237
  125. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs.map +0 -1
  126. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs +0 -127
  127. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs.map +0 -1
  128. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.cjs +0 -183
  129. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.cjs.map +0 -1
  130. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.cjs +0 -128
  131. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.cjs.map +0 -1
  132. package/dist/cjs/components/primitives/Icons/Building.cjs +0 -75
  133. package/dist/cjs/components/primitives/Icons/Building.cjs.map +0 -1
  134. package/dist/cjs/contexts/Branding/BrandingContext.cjs +0 -12
  135. package/dist/cjs/contexts/Branding/BrandingContext.cjs.map +0 -1
  136. package/dist/cjs/contexts/Branding/BrandingProvider.cjs +0 -96
  137. package/dist/cjs/contexts/Branding/BrandingProvider.cjs.map +0 -1
  138. package/dist/cjs/contexts/Branding/useBrandingContext.cjs +0 -40
  139. package/dist/cjs/contexts/Branding/useBrandingContext.cjs.map +0 -1
  140. package/dist/cjs/contexts/Organization/OrganizationContext.cjs +0 -27
  141. package/dist/cjs/contexts/Organization/OrganizationContext.cjs.map +0 -1
  142. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs +0 -97
  143. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs.map +0 -1
  144. package/dist/cjs/contexts/Organization/useOrganization.cjs +0 -100
  145. package/dist/cjs/contexts/Organization/useOrganization.cjs.map +0 -1
  146. package/dist/cjs/hooks/useBranding.cjs +0 -71
  147. package/dist/cjs/hooks/useBranding.cjs.map +0 -1
  148. package/dist/components/control/OrganizationContext/OrganizationContext.d.ts +0 -40
  149. package/dist/components/control/OrganizationContext/OrganizationContext.d.ts.map +0 -1
  150. package/dist/components/control/OrganizationContext/OrganizationContext.js +0 -32
  151. package/dist/components/control/OrganizationContext/OrganizationContext.js.map +0 -1
  152. package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts +0 -35
  153. package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts.map +0 -1
  154. package/dist/components/control/OrganizationContext/OrganizationContextController.js +0 -55
  155. package/dist/components/control/OrganizationContext/OrganizationContextController.js.map +0 -1
  156. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts +0 -60
  157. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts.map +0 -1
  158. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +0 -178
  159. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js.map +0 -1
  160. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts +0 -27
  161. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts.map +0 -1
  162. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js +0 -147
  163. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js.map +0 -1
  164. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts +0 -68
  165. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +0 -1
  166. package/dist/components/presentation/CreateOrganization/CreateOrganization.js +0 -87
  167. package/dist/components/presentation/CreateOrganization/CreateOrganization.js.map +0 -1
  168. package/dist/components/presentation/Organization/BaseOrganization.d.ts +0 -67
  169. package/dist/components/presentation/Organization/BaseOrganization.d.ts.map +0 -1
  170. package/dist/components/presentation/Organization/BaseOrganization.js +0 -39
  171. package/dist/components/presentation/Organization/BaseOrganization.js.map +0 -1
  172. package/dist/components/presentation/Organization/Organization.d.ts +0 -67
  173. package/dist/components/presentation/Organization/Organization.d.ts.map +0 -1
  174. package/dist/components/presentation/Organization/Organization.js +0 -47
  175. package/dist/components/presentation/Organization/Organization.js.map +0 -1
  176. package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts +0 -135
  177. package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts.map +0 -1
  178. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js +0 -252
  179. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js.map +0 -1
  180. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts +0 -27
  181. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts.map +0 -1
  182. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js +0 -233
  183. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js.map +0 -1
  184. package/dist/components/presentation/OrganizationList/OrganizationList.d.ts +0 -93
  185. package/dist/components/presentation/OrganizationList/OrganizationList.d.ts.map +0 -1
  186. package/dist/components/presentation/OrganizationList/OrganizationList.js +0 -82
  187. package/dist/components/presentation/OrganizationList/OrganizationList.js.map +0 -1
  188. package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts +0 -27
  189. package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts.map +0 -1
  190. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js +0 -72
  191. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js.map +0 -1
  192. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts +0 -160
  193. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts.map +0 -1
  194. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +0 -323
  195. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js.map +0 -1
  196. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts +0 -27
  197. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts.map +0 -1
  198. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js +0 -163
  199. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js.map +0 -1
  200. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts +0 -120
  201. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts.map +0 -1
  202. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js +0 -122
  203. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js.map +0 -1
  204. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts +0 -149
  205. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts.map +0 -1
  206. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js +0 -282
  207. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js.map +0 -1
  208. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts +0 -27
  209. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts.map +0 -1
  210. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js +0 -234
  211. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js.map +0 -1
  212. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +0 -71
  213. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +0 -1
  214. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +0 -124
  215. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +0 -1
  216. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.d.ts +0 -30
  217. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.d.ts.map +0 -1
  218. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.js +0 -179
  219. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.js.map +0 -1
  220. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.d.ts +0 -21
  221. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.d.ts.map +0 -1
  222. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.js +0 -125
  223. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.js.map +0 -1
  224. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts +0 -20
  225. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts.map +0 -1
  226. package/dist/components/primitives/Icons/Building.js +0 -73
  227. package/dist/components/primitives/Icons/Building.js.map +0 -1
  228. package/dist/contexts/Branding/BrandingContext.d.ts +0 -53
  229. package/dist/contexts/Branding/BrandingContext.d.ts.map +0 -1
  230. package/dist/contexts/Branding/BrandingContext.js +0 -10
  231. package/dist/contexts/Branding/BrandingContext.js.map +0 -1
  232. package/dist/contexts/Branding/BrandingProvider.d.ts +0 -89
  233. package/dist/contexts/Branding/BrandingProvider.d.ts.map +0 -1
  234. package/dist/contexts/Branding/BrandingProvider.js +0 -92
  235. package/dist/contexts/Branding/BrandingProvider.js.map +0 -1
  236. package/dist/contexts/Branding/useBrandingContext.d.ts +0 -45
  237. package/dist/contexts/Branding/useBrandingContext.d.ts.map +0 -1
  238. package/dist/contexts/Branding/useBrandingContext.js +0 -38
  239. package/dist/contexts/Branding/useBrandingContext.js.map +0 -1
  240. package/dist/contexts/Organization/OrganizationContext.d.ts +0 -41
  241. package/dist/contexts/Organization/OrganizationContext.d.ts.map +0 -1
  242. package/dist/contexts/Organization/OrganizationContext.js +0 -25
  243. package/dist/contexts/Organization/OrganizationContext.js.map +0 -1
  244. package/dist/contexts/Organization/OrganizationProvider.d.ts +0 -94
  245. package/dist/contexts/Organization/OrganizationProvider.d.ts.map +0 -1
  246. package/dist/contexts/Organization/OrganizationProvider.js +0 -93
  247. package/dist/contexts/Organization/OrganizationProvider.js.map +0 -1
  248. package/dist/contexts/Organization/useOrganization.d.ts +0 -105
  249. package/dist/contexts/Organization/useOrganization.d.ts.map +0 -1
  250. package/dist/contexts/Organization/useOrganization.js +0 -98
  251. package/dist/contexts/Organization/useOrganization.js.map +0 -1
  252. package/dist/hooks/useBranding.d.ts +0 -128
  253. package/dist/hooks/useBranding.d.ts.map +0 -1
  254. package/dist/hooks/useBranding.js +0 -69
  255. package/dist/hooks/useBranding.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrganizationList.cjs","names":["OrganizationList: FC<OrganizationListProps>","useTheme","styles: ReturnType<typeof useStyles>","useStyles","useOrganization","BaseOrganizationListComponent"],"sources":["../../../../../src/components/presentation/OrganizationList/OrganizationList.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {AllOrganizationsApiResponse} from '@thunderid/browser';\nimport {FC, ReactElement, useEffect, useState} from 'react';\nimport {\n BaseOrganizationList as BaseOrganizationListComponent,\n BaseOrganizationListProps,\n OrganizationWithSwitchAccess,\n} from './BaseOrganizationList';\nimport useStyles from './OrganizationList.styles';\nimport useOrganization from '../../../contexts/Organization/useOrganization';\nimport useTheme from '../../../contexts/Theme/useTheme';\n\n/**\n * Configuration options for the OrganizationList component.\n */\nexport interface OrganizationListConfig {\n /**\n * Whether to automatically fetch organizations on mount\n */\n autoFetch?: boolean;\n /**\n * Filter string for organizations\n */\n filter?: string;\n /**\n * Number of organizations to fetch per page\n */\n limit?: number;\n /**\n * Whether to include recursive organizations\n */\n recursive?: boolean;\n}\n\n/**\n * Props interface for the OrganizationList component.\n * Uses the enhanced OrganizationContext instead of the useOrganizations hook.\n */\nexport interface OrganizationListProps\n extends Omit<\n BaseOrganizationListProps,\n 'myOrganizations' | 'allOrganizations' | 'error' | 'fetchMore' | 'hasMore' | 'isLoading' | 'isLoadingMore'\n >,\n OrganizationListConfig {\n /**\n * Function called when an organization is selected/clicked\n */\n onOrganizationSelect?: (organization: OrganizationWithSwitchAccess) => void;\n}\n\n/**\n * OrganizationList component that provides organization listing functionality with pagination.\n * This component uses the enhanced OrganizationContext, eliminating the polling issue and\n * providing better integration with the existing context system.\n *\n * @example\n * ```tsx\n * import { OrganizationList } from '@thunderid/react';\n *\n * // Basic usage\n * <OrganizationList />\n *\n * // With custom limit and filter\n * <OrganizationList\n * limit={20}\n * filter=\"active\"\n * onOrganizationSelect={(org) => {\n * console.log('Selected organization:', org.name);\n * }}\n * />\n *\n * // As a popup dialog\n * <OrganizationList\n * mode=\"popup\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * title=\"Select Organization\"\n * />\n *\n * // With custom organization renderer\n * <OrganizationList\n * renderOrganization={(org) => (\n * <div key={org.id}>\n * <h3>{org.name}</h3>\n * <p>Can switch: {org.canSwitch ? 'Yes' : 'No'}</p>\n * </div>\n * )}\n * />\n * ```\n */\nexport const OrganizationList: FC<OrganizationListProps> = (props: OrganizationListProps): ReactElement => {\n const {onOrganizationSelect, className = '', style, ...baseProps} = props;\n const {autoFetch, filter, limit, recursive, ...filteredBaseProps} = baseProps;\n\n const {theme, colorScheme} = useTheme();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, colorScheme);\n const {getAllOrganizations, error, isLoading, myOrganizations} = useOrganization();\n\n const [allOrganizations, setAllOrganizations] = useState<AllOrganizationsApiResponse>({\n organizations: [],\n });\n\n useEffect(() => {\n (async (): Promise<void> => {\n setAllOrganizations(await getAllOrganizations());\n })();\n }, []);\n\n return (\n <div className={cx(styles['root'], className)} style={style}>\n <div className={cx(styles['container'])}>\n <BaseOrganizationListComponent\n allOrganizations={allOrganizations}\n myOrganizations={myOrganizations}\n error={error}\n isLoading={isLoading}\n onOrganizationSelect={onOrganizationSelect}\n {...filteredBaseProps}\n />\n </div>\n </div>\n );\n};\n\nexport default OrganizationList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4GA,MAAaA,oBAA+C,UAA+C;CACzG,MAAM,EAAC,sBAAsB,YAAY,IAAI,MAAO,GAAG,cAAa;CACpE,MAAM,EAAC,WAAW,QAAQ,OAAO,UAAW,GAAG,sBAAqB;CAEpE,MAAM,EAAC,OAAO,gBAAeC,0BAAU;CACvC,MAAMC,SAAuCC,wCAAU,OAAO,YAAY;CAC1E,MAAM,EAAC,qBAAqB,OAAO,WAAW,oBAAmBC,iCAAiB;CAElF,MAAM,CAAC,kBAAkB,2CAA6D,EACpF,eAAe,EAAE,EAClB,CAAC;AAEF,4BAAgB;AACd,GAAC,YAA2B;AAC1B,uBAAoB,MAAM,qBAAqB,CAAC;MAC9C;IACH,EAAE,CAAC;AAEN,QACE,2CAAC;EAAI,iCAAc,OAAO,SAAS,UAAU;EAAS;YACpD,2CAAC;GAAI,iCAAc,OAAO,aAAa;aACrC,2CAACC;IACmB;IACD;IACV;IACI;IACW;IACtB,GAAI;KACJ;IACE;GACF;;AAIV,+BAAe"}
@@ -1,75 +0,0 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- let react = require("react");
3
- react = require_rolldown_runtime.__toESM(react);
4
- let __emotion_css = require("@emotion/css");
5
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
6
-
7
- //#region src/components/presentation/OrganizationList/OrganizationList.styles.ts
8
- /**
9
- * Creates styles for the OrganizationList component using BEM methodology
10
- * @param theme - The theme object containing design tokens
11
- * @param colorScheme - The current color scheme (used for memoization)
12
- * @returns Object containing CSS class names for component styling
13
- */
14
- const useStyles = (theme, colorScheme) => (0, react.useMemo)(() => {
15
- const cssOrganizationListWrapper = __emotion_css.css`
16
- /* Container wrapper styles for OrganizationList component */
17
- width: 100%;
18
- font-family: ${theme.vars.typography.fontFamily};
19
-
20
- &__container {
21
- position: relative;
22
- width: 100%;
23
- }
24
-
25
- &__error-state {
26
- padding: calc(${theme.vars.spacing.unit} * 2);
27
- background-color: color-mix(in srgb, ${theme.vars.colors.error.main} 10%, transparent);
28
- border: 1px solid ${theme.vars.colors.error.main};
29
- border-radius: ${theme.vars.borderRadius.medium};
30
- color: ${theme.vars.colors.error.main};
31
- text-align: center;
32
- }
33
-
34
- &__loading-overlay {
35
- position: absolute;
36
- inset: 0;
37
- background-color: color-mix(in srgb, ${theme.vars.colors.background.surface} 80%, transparent);
38
- display: flex;
39
- align-items: center;
40
- justify-content: center;
41
- border-radius: ${theme.vars.borderRadius.large};
42
- backdrop-filter: blur(2px);
43
- }
44
- `;
45
- return {
46
- container: __emotion_css.css`
47
- position: relative;
48
- width: 100%;
49
- `,
50
- errorState: __emotion_css.css`
51
- padding: calc(${theme.vars.spacing.unit} * 2);
52
- background-color: color-mix(in srgb, ${theme.vars.colors.error.main} 10%, transparent);
53
- border: 1px solid ${theme.vars.colors.error.main};
54
- border-radius: ${theme.vars.borderRadius.medium};
55
- color: ${theme.vars.colors.error.main};
56
- text-align: center;
57
- `,
58
- loadingOverlay: __emotion_css.css`
59
- position: absolute;
60
- inset: 0;
61
- background-color: color-mix(in srgb, ${theme.vars.colors.background.surface} 80%, transparent);
62
- display: flex;
63
- align-items: center;
64
- justify-content: center;
65
- border-radius: ${theme.vars.borderRadius.large};
66
- backdrop-filter: blur(2px);
67
- `,
68
- root: cssOrganizationListWrapper
69
- };
70
- }, [theme, colorScheme]);
71
- var OrganizationList_styles_default = useStyles;
72
-
73
- //#endregion
74
- exports.default = OrganizationList_styles_default;
75
- //# sourceMappingURL=OrganizationList.styles.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrganizationList.styles.cjs","names":["cssOrganizationListWrapper: string"],"sources":["../../../../../src/components/presentation/OrganizationList/OrganizationList.styles.ts"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\n/**\n * Creates styles for the OrganizationList component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> =>\n useMemo(() => {\n const cssOrganizationListWrapper: string = css`\n /* Container wrapper styles for OrganizationList component */\n width: 100%;\n font-family: ${theme.vars.typography.fontFamily};\n\n &__container {\n position: relative;\n width: 100%;\n }\n\n &__error-state {\n padding: calc(${theme.vars.spacing.unit} * 2);\n background-color: color-mix(in srgb, ${theme.vars.colors.error.main} 10%, transparent);\n border: 1px solid ${theme.vars.colors.error.main};\n border-radius: ${theme.vars.borderRadius.medium};\n color: ${theme.vars.colors.error.main};\n text-align: center;\n }\n\n &__loading-overlay {\n position: absolute;\n inset: 0;\n background-color: color-mix(in srgb, ${theme.vars.colors.background.surface} 80%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${theme.vars.borderRadius.large};\n backdrop-filter: blur(2px);\n }\n `;\n\n return {\n container: css`\n position: relative;\n width: 100%;\n `,\n errorState: css`\n padding: calc(${theme.vars.spacing.unit} * 2);\n background-color: color-mix(in srgb, ${theme.vars.colors.error.main} 10%, transparent);\n border: 1px solid ${theme.vars.colors.error.main};\n border-radius: ${theme.vars.borderRadius.medium};\n color: ${theme.vars.colors.error.main};\n text-align: center;\n `,\n loadingOverlay: css`\n position: absolute;\n inset: 0;\n background-color: color-mix(in srgb, ${theme.vars.colors.background.surface} 80%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${theme.vars.borderRadius.large};\n backdrop-filter: blur(2px);\n `,\n root: cssOrganizationListWrapper,\n };\n }, [theme, colorScheme]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,aAAa,OAAc,yCACjB;CACZ,MAAMA,6BAAqC,iBAAG;;;qBAG7B,MAAM,KAAK,WAAW,WAAW;;;;;;;;wBAQ9B,MAAM,KAAK,QAAQ,KAAK;+CACD,MAAM,KAAK,OAAO,MAAM,KAAK;4BAChD,MAAM,KAAK,OAAO,MAAM,KAAK;yBAChC,MAAM,KAAK,aAAa,OAAO;iBACvC,MAAM,KAAK,OAAO,MAAM,KAAK;;;;;;;+CAOC,MAAM,KAAK,OAAO,WAAW,QAAQ;;;;yBAI3D,MAAM,KAAK,aAAa,MAAM;;;;AAKnD,QAAO;EACL,WAAW,iBAAG;;;;EAId,YAAY,iBAAG;wBACG,MAAM,KAAK,QAAQ,KAAK;+CACD,MAAM,KAAK,OAAO,MAAM,KAAK;4BAChD,MAAM,KAAK,OAAO,MAAM,KAAK;yBAChC,MAAM,KAAK,aAAa,OAAO;iBACvC,MAAM,KAAK,OAAO,MAAM,KAAK;;;EAGxC,gBAAgB,iBAAG;;;+CAGsB,MAAM,KAAK,OAAO,WAAW,QAAQ;;;;yBAI3D,MAAM,KAAK,aAAa,MAAM;;;EAGjD,MAAM;EACP;GACA,CAAC,OAAO,YAAY,CAAC;AAE1B,sCAAe"}
@@ -1,328 +0,0 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- const require_useTheme = require('../../../contexts/Theme/useTheme.cjs');
3
- const require_Button = require('../../primitives/Button/Button.cjs');
4
- const require_Card = require('../../primitives/Card/Card.cjs');
5
- const require_TextField = require('../../primitives/TextField/TextField.cjs');
6
- const require_Avatar = require('../../primitives/Avatar/Avatar.cjs');
7
- const require_Dialog = require('../../primitives/Dialog/Dialog.cjs');
8
- const require_BaseOrganizationProfile_styles = require('./BaseOrganizationProfile.styles.cjs');
9
- const require_KeyValueInput = require('../../primitives/KeyValueInput/KeyValueInput.cjs');
10
- let __thunderid_browser = require("@thunderid/browser");
11
- __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
12
- let react = require("react");
13
- react = require_rolldown_runtime.__toESM(react);
14
- let react_jsx_runtime = require("react/jsx-runtime");
15
- react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
16
- let __emotion_css = require("@emotion/css");
17
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
18
-
19
- //#region src/components/presentation/OrganizationProfile/BaseOrganizationProfile.tsx
20
- /**
21
- * BaseOrganizationProfile component displays organization information in a
22
- * structured and styled format. It shows organization details such as name,
23
- * description, status, and other available information with support for inline editing.
24
- *
25
- * This is the base component that can be used in any context where you have
26
- * an organization object available. It provides editing capabilities similar to
27
- * the UserProfile component, allowing users to modify organization fields directly.
28
- *
29
- * @example
30
- * ```tsx
31
- * // Basic usage
32
- * <BaseOrganizationProfile organization={organizationData} />
33
- *
34
- * // With editing enabled and update handler
35
- * <BaseOrganizationProfile
36
- * organization={organizationData}
37
- * editable={true}
38
- * onUpdate={async (payload) => {
39
- * await updateOrganizationAPI(orgId, payload);
40
- * }}
41
- * />
42
- *
43
- * // With card layout and custom title
44
- * <BaseOrganizationProfile
45
- * organization={organizationData}
46
- * cardLayout={true}
47
- * title="Organization Details"
48
- * fallback={<div>No organization data available</div>}
49
- * />
50
- *
51
- * // With custom fields configuration
52
- * <BaseOrganizationProfile
53
- * organization={organizationData}
54
- * fields={[
55
- * { key: 'id', label: 'Organization ID', editable: false },
56
- * { key: 'name', label: 'Organization Name', editable: true },
57
- * { key: 'description', label: 'Description', editable: true, render: (value) => value || 'No description' },
58
- * { key: 'created', label: 'Created Date', editable: false, render: (value) => new Date(value).toLocaleDateString() },
59
- * { key: 'attributes', label: 'Custom Attributes', editable: true }
60
- * ]}
61
- * onUpdate={handleUpdate}
62
- * />
63
- *
64
- * // In popup mode
65
- * <BaseOrganizationProfile
66
- * organization={organizationData}
67
- * mode="popup"
68
- * open={isOpen}
69
- * onOpenChange={setIsOpen}
70
- * title="Edit Organization"
71
- * />
72
- * ```
73
- * <BaseOrganizationProfile
74
- * organization={organizationData}
75
- * fields={[
76
- * { key: 'id', label: 'Organization ID' },
77
- * { key: 'name', label: 'Organization Name' },
78
- * { key: 'description', label: 'Description', render: (value) => value || 'No description' },
79
- * { key: 'created', label: 'Created Date', render: (value) => new Date(value).toLocaleDateString() },
80
- * { key: 'attributes', label: 'Custom Attributes' }
81
- * ]}
82
- * />
83
- * ```
84
- */
85
- const BaseOrganizationProfile = ({ fallback = null, className = "", cardLayout = true, organization, title = "Organization Profile", mode = "inline", editable = true, onOpenChange, onUpdate, open = false, saveButtonText = "Save Changes", cancelButtonText = "Cancel", fields = [
86
- {
87
- editable: false,
88
- key: "id",
89
- label: "Organization ID"
90
- },
91
- {
92
- editable: true,
93
- key: "name",
94
- label: "Organization Name"
95
- },
96
- {
97
- editable: true,
98
- key: "description",
99
- label: "Organization Description",
100
- render: (value) => value || "-"
101
- },
102
- {
103
- editable: false,
104
- key: "created",
105
- label: "Created Date",
106
- render: (value) => (0, __thunderid_browser.formatDate)(value)
107
- },
108
- {
109
- editable: false,
110
- key: "lastModified",
111
- label: "Last Modified Date",
112
- render: (value) => (0, __thunderid_browser.formatDate)(value)
113
- }
114
- ] }) => {
115
- const { theme, colorScheme } = require_useTheme.default();
116
- const styles = require_BaseOrganizationProfile_styles.default(theme, colorScheme);
117
- const [editedOrganization, setEditedOrganization] = (0, react.useState)(organization);
118
- const [editingFields, setEditingFields] = (0, react.useState)({});
119
- const PencilIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
120
- width: "16",
121
- height: "16",
122
- viewBox: "0 0 24 24",
123
- fill: "none",
124
- stroke: "currentColor",
125
- strokeWidth: "2",
126
- strokeLinecap: "round",
127
- strokeLinejoin: "round",
128
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" })
129
- });
130
- const toggleFieldEdit = (0, react.useCallback)((fieldName) => {
131
- setEditingFields((prev) => ({
132
- ...prev,
133
- [fieldName]: !prev[fieldName]
134
- }));
135
- }, []);
136
- const getFieldPlaceholder = (0, react.useCallback)((fieldKey) => {
137
- return `Enter ${{
138
- description: "organization description",
139
- name: "organization name",
140
- orgHandle: "organization handle",
141
- status: "organization status",
142
- type: "organization type"
143
- }[fieldKey] || fieldKey.toLowerCase()}`;
144
- }, []);
145
- const handleFieldSave = (0, react.useCallback)((fieldKey) => {
146
- if (!onUpdate || !fieldKey) return;
147
- let fieldValue;
148
- if (editedOrganization && fieldKey && editedOrganization[fieldKey] !== void 0) fieldValue = editedOrganization[fieldKey];
149
- else if (organization?.[fieldKey] !== void 0) fieldValue = organization[fieldKey];
150
- else fieldValue = "";
151
- onUpdate({ [fieldKey]: fieldValue });
152
- toggleFieldEdit(fieldKey);
153
- }, [
154
- editedOrganization,
155
- organization,
156
- onUpdate,
157
- toggleFieldEdit
158
- ]);
159
- const handleFieldCancel = (0, react.useCallback)((fieldKey) => {
160
- setEditedOrganization((prev) => ({
161
- ...prev,
162
- [fieldKey]: organization?.[fieldKey]
163
- }));
164
- toggleFieldEdit(fieldKey);
165
- }, [organization, toggleFieldEdit]);
166
- const getOrgInitials = (name) => {
167
- if (!name) return "ORG";
168
- return name.split(" ").map((word) => word.charAt(0)).join("").toUpperCase().slice(0, 2);
169
- };
170
- const renderField = (field, isEditing, onEditValue, onStartEdit) => {
171
- if (!field) return null;
172
- const { key, label, editable: fieldEditable = true } = field;
173
- const value = key === "attributes" ? organization?.attributes || {} : organization?.[key];
174
- const renderedValue = field.render ? field.render(value, organization) : value;
175
- if (isEditing && onEditValue && fieldEditable && editable) {
176
- const fieldValue = editedOrganization && key && editedOrganization[key] !== void 0 ? editedOrganization[key] : value || "";
177
- const commonProps = {
178
- className: (0, __emotion_css.cx)(styles["fieldInput"]),
179
- label: void 0,
180
- onChange: (e) => onEditValue(e.target ? e.target.value : e),
181
- placeholder: getFieldPlaceholder(key),
182
- value: typeof fieldValue === "object" ? JSON.stringify(fieldValue) : String(fieldValue || "")
183
- };
184
- let fieldInput;
185
- if (key === "attributes") fieldInput = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_KeyValueInput.default, {
186
- value: typeof fieldValue === "object" && fieldValue !== null ? fieldValue : {},
187
- onChange: (pairs) => {
188
- onEditValue(pairs.reduce((acc, pair) => {
189
- acc[pair.key] = pair.value;
190
- return acc;
191
- }, {}));
192
- },
193
- onAdd: (pair) => {
194
- if (onUpdate) onUpdate([{
195
- operation: "ADD",
196
- path: `/attributes/${pair.key}`,
197
- value: pair.value
198
- }]);
199
- },
200
- onRemove: (pair) => {
201
- if (onUpdate) onUpdate([{
202
- operation: "REMOVE",
203
- path: `/attributes/${pair.key}`,
204
- value: ""
205
- }]);
206
- },
207
- label: "",
208
- keyPlaceholder: "Attribute name",
209
- valuePlaceholder: "Attribute value",
210
- helperText: "Add custom attributes as key-value pairs"
211
- });
212
- else fieldInput = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, { ...commonProps });
213
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
214
- className: (0, __emotion_css.cx)(styles["label"]),
215
- children: label
216
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
217
- className: (0, __emotion_css.cx)(styles["value"]),
218
- children: fieldInput
219
- })] });
220
- }
221
- const hasValue = value !== void 0 && value !== null && value !== "";
222
- const isFieldEditable = editable && fieldEditable;
223
- let displayValue;
224
- if (hasValue) displayValue = key === "attributes" && typeof value === "object" && value !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_KeyValueInput.default, {
225
- value,
226
- readOnly: true,
227
- label: ""
228
- }) : String(renderedValue);
229
- else if (isFieldEditable) displayValue = getFieldPlaceholder(key);
230
- else displayValue = "-";
231
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
232
- className: (0, __emotion_css.cx)(styles["label"]),
233
- children: label
234
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
235
- className: (0, __emotion_css.cx)(styles["value"], !hasValue && styles["valueEmpty"]),
236
- children: !hasValue && isFieldEditable && onStartEdit ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
237
- onClick: onStartEdit,
238
- variant: "text",
239
- color: "secondary",
240
- size: "small",
241
- title: "Click to edit",
242
- className: (0, __emotion_css.cx)(styles["placeholderButton"]),
243
- children: displayValue
244
- }) : displayValue
245
- })] });
246
- };
247
- const renderOrganizationField = (field) => {
248
- if (!field?.key) return null;
249
- const hasValue = organization?.[field.key] !== void 0 && organization?.[field.key] !== "" && organization?.[field.key] !== null;
250
- const isFieldEditing = editingFields[field.key];
251
- const isFieldEditable = editable && field.editable !== false;
252
- if (!(hasValue || isFieldEditing || isFieldEditable)) return null;
253
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
254
- className: (0, __emotion_css.cx)(styles["field"]),
255
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
256
- className: (0, __emotion_css.cx)(styles["fieldContent"]),
257
- children: renderField(field, isFieldEditing, (value) => {
258
- const tempEditedOrganization = { ...editedOrganization };
259
- tempEditedOrganization[field.key] = value;
260
- setEditedOrganization(tempEditedOrganization);
261
- }, () => toggleFieldEdit(field.key))
262
- }), isFieldEditable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
263
- className: (0, __emotion_css.cx)(styles["fieldActions"]),
264
- children: isFieldEditing ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
265
- onClick: () => handleFieldSave(field.key),
266
- color: "primary",
267
- variant: "solid",
268
- size: "small",
269
- title: "Save changes",
270
- children: saveButtonText
271
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
272
- onClick: () => handleFieldCancel(field.key),
273
- color: "secondary",
274
- variant: "solid",
275
- size: "small",
276
- title: "Cancel editing",
277
- children: cancelButtonText
278
- })] }) : hasValue && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
279
- onClick: () => toggleFieldEdit(field.key),
280
- variant: "text",
281
- color: "secondary",
282
- size: "small",
283
- title: "Edit field",
284
- className: (0, __emotion_css.cx)(styles["editButton"]),
285
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PencilIcon, {})
286
- })
287
- })]
288
- }, field.key);
289
- };
290
- if (!organization) return fallback;
291
- const profileContent = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default, {
292
- className: (0, __emotion_css.cx)(styles["root"], cardLayout && styles["card"], className),
293
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
294
- className: (0, __emotion_css.cx)(styles["header"]),
295
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Avatar.Avatar, {
296
- name: getOrgInitials(organization.name),
297
- size: 80,
298
- alt: `${organization.name} logo`
299
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
300
- className: (0, __emotion_css.cx)(styles["orgInfo"]),
301
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
302
- className: (0, __emotion_css.cx)(styles["name"]),
303
- children: organization.name
304
- }), organization.orgHandle && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
305
- className: (0, __emotion_css.cx)(styles["handle"]),
306
- children: ["@", organization.orgHandle]
307
- })]
308
- })]
309
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
310
- className: (0, __emotion_css.cx)(styles["infoContainer"]),
311
- children: fields.map((field) => renderOrganizationField(field))
312
- })]
313
- });
314
- if (mode === "popup") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.default, {
315
- open,
316
- onOpenChange,
317
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Dialog.default.Content, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.default.Heading, { children: title }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
318
- className: (0, __emotion_css.cx)(styles["popup"]),
319
- children: profileContent
320
- })] })
321
- });
322
- return profileContent;
323
- };
324
- var BaseOrganizationProfile_default = BaseOrganizationProfile;
325
-
326
- //#endregion
327
- exports.default = BaseOrganizationProfile_default;
328
- //# sourceMappingURL=BaseOrganizationProfile.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseOrganizationProfile.cjs","names":["BaseOrganizationProfile: FC<BaseOrganizationProfileProps>","useTheme","styles: Record<string, string>","useStyles","toggleFieldEdit: (fieldName: string) => void","getFieldPlaceholder: (fieldKey: string) => string","handleFieldSave: (fieldKey: string) => void","fieldValue: any","handleFieldCancel: (fieldKey: string) => void","value: any","renderedValue: any","commonProps: any","fieldInput: ReactElement","KeyValueInput","TextField","hasValue: boolean","isFieldEditable: boolean","displayValue: string | ReactElement","Button","isFieldEditing: boolean","tempEditedOrganization: any","profileContent: ReactElement","CardPrimitive","Avatar","DialogPrimitive"],"sources":["../../../../../src/components/presentation/OrganizationProfile/BaseOrganizationProfile.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {OrganizationDetails, formatDate, Preferences} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode, useState, useCallback} from 'react';\nimport useStyles from './BaseOrganizationProfile.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport {Avatar} from '../../primitives/Avatar/Avatar';\nimport Button from '../../primitives/Button/Button';\nimport CardPrimitive from '../../primitives/Card/Card';\nimport DialogPrimitive from '../../primitives/Dialog/Dialog';\nimport KeyValueInput from '../../primitives/KeyValueInput/KeyValueInput';\nimport TextField from '../../primitives/TextField/TextField';\n\nexport interface BaseOrganizationProfileProps {\n /**\n * Callback fired when the cancel button is clicked (only used in editable mode).\n */\n cancelButtonText?: string;\n\n /**\n * Whether to display the profile in a card layout.\n */\n cardLayout?: boolean;\n\n /**\n * CSS class name for styling the component.\n */\n className?: string;\n\n /**\n * Whether the organization profile is editable.\n */\n editable?: boolean;\n\n /**\n * Component to render when no organization data is available.\n */\n fallback?: ReactElement | null;\n\n /**\n * Array of field configurations to display. Each field specifies what organization data to show.\n */\n fields?: {\n editable?: boolean;\n key: keyof OrganizationDetails | 'attributes';\n label: string;\n render?: (value: any, organization: OrganizationDetails) => ReactNode;\n }[];\n\n /**\n * Display mode for the component.\n */\n mode?: 'inline' | 'popup';\n\n /**\n * Callback fired when a field value changes.\n */\n onChange?: (field: string, value: any) => void;\n\n /**\n * Callback fired when the popup should be closed (only used in popup mode).\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * Callback fired when the form is submitted (only used in editable mode).\n */\n onSubmit?: (data: any) => void;\n\n /**\n * Callback fired when the organization should be updated.\n */\n onUpdate?: (payload: any) => Promise<void>;\n\n /**\n * Whether the popup is open (only used in popup mode).\n */\n open?: boolean;\n\n /**\n * The organization details to display.\n */\n organization?: OrganizationDetails | null;\n\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\n\n /**\n * Text for the save button (only used in editable mode).\n */\n saveButtonText?: string;\n\n /**\n * Custom title for the profile.\n */\n title?: string;\n}\n\n/**\n * BaseOrganizationProfile component displays organization information in a\n * structured and styled format. It shows organization details such as name,\n * description, status, and other available information with support for inline editing.\n *\n * This is the base component that can be used in any context where you have\n * an organization object available. It provides editing capabilities similar to\n * the UserProfile component, allowing users to modify organization fields directly.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <BaseOrganizationProfile organization={organizationData} />\n *\n * // With editing enabled and update handler\n * <BaseOrganizationProfile\n * organization={organizationData}\n * editable={true}\n * onUpdate={async (payload) => {\n * await updateOrganizationAPI(orgId, payload);\n * }}\n * />\n *\n * // With card layout and custom title\n * <BaseOrganizationProfile\n * organization={organizationData}\n * cardLayout={true}\n * title=\"Organization Details\"\n * fallback={<div>No organization data available</div>}\n * />\n *\n * // With custom fields configuration\n * <BaseOrganizationProfile\n * organization={organizationData}\n * fields={[\n * { key: 'id', label: 'Organization ID', editable: false },\n * { key: 'name', label: 'Organization Name', editable: true },\n * { key: 'description', label: 'Description', editable: true, render: (value) => value || 'No description' },\n * { key: 'created', label: 'Created Date', editable: false, render: (value) => new Date(value).toLocaleDateString() },\n * { key: 'attributes', label: 'Custom Attributes', editable: true }\n * ]}\n * onUpdate={handleUpdate}\n * />\n *\n * // In popup mode\n * <BaseOrganizationProfile\n * organization={organizationData}\n * mode=\"popup\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * title=\"Edit Organization\"\n * />\n * ```\n * <BaseOrganizationProfile\n * organization={organizationData}\n * fields={[\n * { key: 'id', label: 'Organization ID' },\n * { key: 'name', label: 'Organization Name' },\n * { key: 'description', label: 'Description', render: (value) => value || 'No description' },\n * { key: 'created', label: 'Created Date', render: (value) => new Date(value).toLocaleDateString() },\n * { key: 'attributes', label: 'Custom Attributes' }\n * ]}\n * />\n * ```\n */\nconst BaseOrganizationProfile: FC<BaseOrganizationProfileProps> = ({\n fallback = null,\n className = '',\n cardLayout = true,\n organization,\n title = 'Organization Profile',\n mode = 'inline',\n editable = true,\n onOpenChange,\n onUpdate,\n open = false,\n saveButtonText = 'Save Changes',\n cancelButtonText = 'Cancel',\n fields = [\n {\n editable: false,\n key: 'id',\n label: 'Organization ID',\n },\n {\n editable: true,\n key: 'name',\n label: 'Organization Name',\n },\n {\n editable: true,\n key: 'description',\n label: 'Organization Description',\n render: (value: any): any => value || '-',\n },\n {\n editable: false,\n key: 'created',\n label: 'Created Date',\n render: (value: any): any => formatDate(value),\n },\n {\n editable: false,\n key: 'lastModified',\n label: 'Last Modified Date',\n render: (value: any): any => formatDate(value),\n },\n ],\n}: BaseOrganizationProfileProps): ReactElement | null => {\n const {theme, colorScheme} = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme);\n const [editedOrganization, setEditedOrganization] = useState(organization);\n const [editingFields, setEditingFields] = useState<Record<string, boolean>>({});\n\n const PencilIcon = (): ReactElement => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\" />\n </svg>\n );\n\n const toggleFieldEdit: (fieldName: string) => void = useCallback((fieldName: string) => {\n setEditingFields((prev: Record<string, boolean>) => ({\n ...prev,\n [fieldName]: !prev[fieldName],\n }));\n }, []);\n\n const getFieldPlaceholder: (fieldKey: string) => string = useCallback((fieldKey: string): string => {\n const fieldLabels: Record<string, string> = {\n description: 'organization description',\n name: 'organization name',\n orgHandle: 'organization handle',\n status: 'organization status',\n type: 'organization type',\n };\n\n const fieldLabel: string = fieldLabels[fieldKey] || fieldKey.toLowerCase();\n return `Enter ${fieldLabel}`;\n }, []);\n\n const handleFieldSave: (fieldKey: string) => void = useCallback(\n (fieldKey: string): void => {\n if (!onUpdate || !fieldKey) return;\n\n let fieldValue: any;\n if (editedOrganization && fieldKey && editedOrganization[fieldKey as keyof OrganizationDetails] !== undefined) {\n fieldValue = editedOrganization[fieldKey as keyof OrganizationDetails];\n } else if (organization?.[fieldKey as keyof OrganizationDetails] !== undefined) {\n fieldValue = organization[fieldKey as keyof OrganizationDetails];\n } else {\n fieldValue = '';\n }\n\n const payload: Record<string, any> = {\n [fieldKey]: fieldValue,\n };\n\n onUpdate(payload);\n toggleFieldEdit(fieldKey);\n },\n [editedOrganization, organization, onUpdate, toggleFieldEdit],\n );\n\n const handleFieldCancel: (fieldKey: string) => void = useCallback(\n (fieldKey: string) => {\n setEditedOrganization((prev: any) => ({\n ...prev,\n [fieldKey]: organization?.[fieldKey as keyof OrganizationDetails],\n }));\n toggleFieldEdit(fieldKey);\n },\n [organization, toggleFieldEdit],\n );\n\n const getOrgInitials = (name?: string): string => {\n if (!name) return 'ORG';\n return name\n .split(' ')\n .map((word: string) => word.charAt(0))\n .join('')\n .toUpperCase()\n .slice(0, 2);\n };\n\n const renderField = (\n field: any,\n isEditing: boolean,\n onEditValue?: (value: any) => void,\n onStartEdit?: () => void,\n ): ReactElement | null => {\n if (!field) return null;\n\n const {key, label, editable: fieldEditable = true} = field;\n const value: any =\n key === 'attributes' ? organization?.attributes || {} : organization?.[key as keyof OrganizationDetails];\n\n const renderedValue: any = field.render ? field.render(value, organization) : value;\n\n if (isEditing && onEditValue && fieldEditable && editable) {\n const fieldValue: any =\n editedOrganization && key && editedOrganization[key as keyof OrganizationDetails] !== undefined\n ? editedOrganization[key as keyof OrganizationDetails]\n : value || '';\n\n const commonProps: any = {\n className: cx(styles['fieldInput']),\n label: undefined,\n onChange: (e: any): void => onEditValue(e.target ? e.target.value : e),\n placeholder: getFieldPlaceholder(key),\n value: typeof fieldValue === 'object' ? JSON.stringify(fieldValue) : String(fieldValue || ''),\n };\n\n let fieldInput: ReactElement;\n\n if (key === 'attributes') {\n const attributesValue: any = typeof fieldValue === 'object' && fieldValue !== null ? fieldValue : {};\n fieldInput = (\n <KeyValueInput\n value={attributesValue}\n onChange={(pairs: any): void => {\n const attributesObject: Record<string, any> = pairs.reduce(\n (acc: any, pair: any) => {\n acc[pair.key] = pair.value;\n return acc;\n },\n {} as Record<string, any>,\n );\n onEditValue(attributesObject);\n }}\n onAdd={(pair: any): void => {\n if (onUpdate) {\n const operation: any = {\n operation: 'ADD',\n path: `/attributes/${pair.key}`,\n value: pair.value,\n };\n onUpdate([operation]);\n }\n }}\n onRemove={(pair: any): void => {\n if (onUpdate) {\n const operation: any = {\n operation: 'REMOVE',\n path: `/attributes/${pair.key}`,\n value: '',\n };\n onUpdate([operation]);\n }\n }}\n label=\"\"\n keyPlaceholder=\"Attribute name\"\n valuePlaceholder=\"Attribute value\"\n helperText=\"Add custom attributes as key-value pairs\"\n />\n );\n } else {\n fieldInput = <TextField {...commonProps} />;\n }\n\n return (\n <>\n <span className={cx(styles['label'])}>{label}</span>\n <div className={cx(styles['value'])}>{fieldInput}</div>\n </>\n );\n }\n\n const hasValue: boolean = value !== undefined && value !== null && value !== '';\n const isFieldEditable: boolean = editable && fieldEditable;\n\n let displayValue: string | ReactElement;\n if (hasValue) {\n displayValue =\n key === 'attributes' && typeof value === 'object' && value !== null ? (\n <KeyValueInput value={value} readOnly={true} label=\"\" />\n ) : (\n String(renderedValue)\n );\n } else if (isFieldEditable) {\n displayValue = getFieldPlaceholder(key);\n } else {\n displayValue = '-';\n }\n\n return (\n <>\n <span className={cx(styles['label'])}>{label}</span>\n <div className={cx(styles['value'], !hasValue && styles['valueEmpty'])}>\n {!hasValue && isFieldEditable && onStartEdit ? (\n <Button\n onClick={onStartEdit}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Click to edit\"\n className={cx(styles['placeholderButton'])}\n >\n {displayValue}\n </Button>\n ) : (\n displayValue\n )}\n </div>\n </>\n );\n };\n\n const renderOrganizationField = (field: any): ReactElement | null => {\n if (!field?.key) return null;\n\n const hasValue: boolean =\n organization?.[field.key as keyof OrganizationDetails] !== undefined &&\n organization?.[field.key as keyof OrganizationDetails] !== '' &&\n organization?.[field.key as keyof OrganizationDetails] !== null;\n const isFieldEditing: boolean = editingFields[field.key];\n const isFieldEditable: boolean = editable && field.editable !== false;\n\n const shouldShow: boolean = hasValue || isFieldEditing || isFieldEditable;\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div className={cx(styles['field'])} key={field.key}>\n <div className={cx(styles['fieldContent'])}>\n {renderField(\n field,\n isFieldEditing,\n (value: any): void => {\n const tempEditedOrganization: any = {...editedOrganization};\n tempEditedOrganization[field.key as keyof OrganizationDetails] = value;\n setEditedOrganization(tempEditedOrganization);\n },\n (): void => toggleFieldEdit(field.key),\n )}\n </div>\n {isFieldEditable && (\n <div className={cx(styles['fieldActions'])}>\n {isFieldEditing ? (\n <>\n <Button\n onClick={(): void => handleFieldSave(field.key)}\n color=\"primary\"\n variant=\"solid\"\n size=\"small\"\n title=\"Save changes\"\n >\n {saveButtonText}\n </Button>\n <Button\n onClick={(): void => handleFieldCancel(field.key)}\n color=\"secondary\"\n variant=\"solid\"\n size=\"small\"\n title=\"Cancel editing\"\n >\n {cancelButtonText}\n </Button>\n </>\n ) : (\n hasValue && (\n <Button\n onClick={(): void => toggleFieldEdit(field.key)}\n variant=\"text\"\n color=\"secondary\"\n size=\"small\"\n title=\"Edit field\"\n className={cx(styles['editButton'])}\n >\n <PencilIcon />\n </Button>\n )\n )}\n </div>\n )}\n </div>\n );\n };\n\n if (!organization) {\n return fallback;\n }\n\n const profileContent: ReactElement = (\n <CardPrimitive className={cx(styles['root'], cardLayout && styles['card'], className)}>\n <div className={cx(styles['header'])}>\n <Avatar name={getOrgInitials(organization.name)} size={80} alt={`${organization.name} logo`} />\n <div className={cx(styles['orgInfo'])}>\n <h2 className={cx(styles['name'])}>{organization.name}</h2>\n {organization.orgHandle && <p className={cx(styles['handle'])}>@{organization.orgHandle}</p>}\n </div>\n </div>\n\n <div className={cx(styles['infoContainer'])}>{fields.map((field: any) => renderOrganizationField(field))}</div>\n </CardPrimitive>\n );\n\n if (mode === 'popup') {\n return (\n <DialogPrimitive open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Content>\n <DialogPrimitive.Heading>{title}</DialogPrimitive.Heading>\n <div className={cx(styles['popup'])}>{profileContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return profileContent;\n};\n\nexport default BaseOrganizationProfile;\n"],"mappings":"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"}
@@ -1,166 +0,0 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- let react = require("react");
3
- react = require_rolldown_runtime.__toESM(react);
4
- let __emotion_css = require("@emotion/css");
5
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
6
-
7
- //#region src/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.ts
8
- /**
9
- * Creates styles for the BaseOrganizationProfile component using BEM methodology
10
- * @param theme - The theme object containing design tokens
11
- * @param colorScheme - The current color scheme (used for memoization)
12
- * @returns Object containing CSS class names for component styling
13
- */
14
- const useStyles = (theme, colorScheme) => (0, react.useMemo)(() => ({
15
- attributeItem: __emotion_css.css`
16
- display: flex;
17
- gap: ${theme.vars.spacing.unit};
18
- padding: calc(${theme.vars.spacing.unit} / 4) 0;
19
- align-items: center;
20
- `,
21
- attributeKey: __emotion_css.css`
22
- font-size: 0.75rem;
23
- font-weight: 500;
24
- color: ${theme.vars.colors.text.secondary};
25
- min-width: 80px;
26
- flex-shrink: 0;
27
- `,
28
- attributeValue: __emotion_css.css`
29
- font-size: 0.75rem;
30
- color: ${theme.vars.colors.text.primary};
31
- word-break: break-word;
32
- flex: 1;
33
- `,
34
- attributesList: __emotion_css.css`
35
- display: flex;
36
- flex-direction: column;
37
- gap: calc(${theme.vars.spacing.unit} / 4);
38
- `,
39
- card: __emotion_css.css`
40
- background: ${theme.vars.colors.background.surface};
41
- border-radius: ${theme.vars.borderRadius.large};
42
- `,
43
- editButton: __emotion_css.css`
44
- min-width: auto;
45
- padding: calc(${theme.vars.spacing.unit} / 2);
46
- min-height: auto;
47
- `,
48
- field: __emotion_css.css`
49
- display: flex;
50
- align-items: flex-start;
51
- padding: calc(${theme.vars.spacing.unit} / 2) 0;
52
- border-bottom: 1px solid ${theme.vars.colors.border};
53
- min-height: 28px;
54
- gap: ${theme.vars.spacing.unit};
55
- `,
56
- fieldActions: __emotion_css.css`
57
- display: flex;
58
- align-items: center;
59
- gap: calc(${theme.vars.spacing.unit} / 2);
60
- `,
61
- fieldContent: __emotion_css.css`
62
- flex: 1;
63
- display: flex;
64
- align-items: center;
65
- gap: ${theme.vars.spacing.unit};
66
- `,
67
- fieldInput: __emotion_css.css`
68
- margin-bottom: 0;
69
- `,
70
- fieldLast: __emotion_css.css`
71
- border-bottom: none;
72
- `,
73
- handle: __emotion_css.css`
74
- font-size: 1rem;
75
- color: ${theme.vars.colors.text.secondary};
76
- margin: 0;
77
- font-family: monospace;
78
- `,
79
- header: __emotion_css.css`
80
- display: flex;
81
- align-items: center;
82
- gap: calc(${theme.vars.spacing.unit} * 2);
83
- margin-bottom: calc(${theme.vars.spacing.unit} * 3);
84
- padding-bottom: calc(${theme.vars.spacing.unit} * 2);
85
- `,
86
- infoContainer: __emotion_css.css`
87
- display: flex;
88
- flex-direction: column;
89
- gap: ${theme.vars.spacing.unit};
90
- `,
91
- label: __emotion_css.css`
92
- font-size: 0.875rem;
93
- font-weight: 500;
94
- color: ${theme.vars.colors.text.secondary};
95
- width: 120px;
96
- flex-shrink: 0;
97
- line-height: 28px;
98
- `,
99
- name: __emotion_css.css`
100
- font-size: 1.5rem;
101
- font-weight: 600;
102
- margin: 0 0 8px 0;
103
- color: ${theme.vars.colors.text.primary};
104
- `,
105
- orgInfo: __emotion_css.css`
106
- flex: 1;
107
- `,
108
- permissionBadge: __emotion_css.css`
109
- padding: calc(${theme.vars.spacing.unit} / 4) ${theme.vars.spacing.unit};
110
- border-radius: ${theme.vars.borderRadius.small};
111
- font-size: 0.75rem;
112
- background-color: ${theme.vars.colors.primary.main};
113
- color: ${theme.vars.colors.primary.contrastText};
114
- border: 1px solid ${theme.vars.colors.border};
115
- `,
116
- permissionsList: __emotion_css.css`
117
- display: flex;
118
- flex-wrap: wrap;
119
- gap: calc(${theme.vars.spacing.unit} / 2);
120
- `,
121
- placeholderButton: __emotion_css.css`
122
- font-style: italic;
123
- text-decoration: underline;
124
- opacity: 0.7;
125
- padding: 0;
126
- min-height: auto;
127
- `,
128
- popup: __emotion_css.css`
129
- padding: calc(${theme.vars.spacing.unit} * 2);
130
- `,
131
- root: __emotion_css.css`
132
- padding: calc(${theme.vars.spacing.unit} * 4);
133
- min-width: 600px;
134
- margin: 0 auto;
135
- font-family: ${theme.vars.typography.fontFamily};
136
- `,
137
- statusBadge: __emotion_css.css`
138
- padding: calc(${theme.vars.spacing.unit} / 2) ${theme.vars.spacing.unit};
139
- border-radius: ${theme.vars.borderRadius.small};
140
- font-size: 0.75rem;
141
- font-weight: 500;
142
- color: white;
143
- text-transform: uppercase;
144
- letter-spacing: 0.5px;
145
- `,
146
- value: __emotion_css.css`
147
- color: ${theme.vars.colors.text.primary};
148
- flex: 1;
149
- display: flex;
150
- align-items: center;
151
- gap: ${theme.vars.spacing.unit};
152
- overflow: hidden;
153
- min-height: 28px;
154
- line-height: 28px;
155
- word-break: break-word;
156
- `,
157
- valueEmpty: __emotion_css.css`
158
- font-style: italic;
159
- opacity: 0.7;
160
- `
161
- }), [theme, colorScheme]);
162
- var BaseOrganizationProfile_styles_default = useStyles;
163
-
164
- //#endregion
165
- exports.default = BaseOrganizationProfile_styles_default;
166
- //# sourceMappingURL=BaseOrganizationProfile.styles.cjs.map