@thunderid/react 0.3.3 → 0.3.5

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,135 +0,0 @@
1
- /**
2
- * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
- import { AllOrganizationsApiResponse, Organization, Preferences } from '@thunderid/browser';
19
- import { CSSProperties, FC, ReactNode } from 'react';
20
- export interface OrganizationWithSwitchAccess extends Organization {
21
- canSwitch: boolean;
22
- }
23
- /**
24
- * Props interface for the BaseOrganizationList component.
25
- */
26
- export interface BaseOrganizationListProps {
27
- /**
28
- * List of organizations discoverable to the signed-in user.
29
- */
30
- allOrganizations: AllOrganizationsApiResponse;
31
- /**
32
- * Additional CSS class names to apply to the container
33
- */
34
- className?: string;
35
- /**
36
- * Error message to display
37
- */
38
- error?: string | null;
39
- /**
40
- * Function called when "Load More" is clicked
41
- */
42
- fetchMore?: () => Promise<void>;
43
- /**
44
- * Whether there are more organizations to load
45
- */
46
- hasMore?: boolean;
47
- /**
48
- * Whether the initial data is loading
49
- */
50
- isLoading?: boolean;
51
- /**
52
- * Whether more data is being loaded
53
- */
54
- isLoadingMore?: boolean;
55
- /**
56
- * Display mode: 'inline' for normal display, 'popup' for modal dialog
57
- */
58
- mode?: 'inline' | 'popup';
59
- /**
60
- * List of organizations associated to the signed-in user.
61
- */
62
- myOrganizations: Organization[];
63
- /**
64
- * Function called when popup open state changes (only used in popup mode)
65
- */
66
- onOpenChange?: (open: boolean) => void;
67
- /**
68
- * Function called when an organization is selected/clicked
69
- */
70
- onOrganizationSelect?: (organization: OrganizationWithSwitchAccess) => void;
71
- /**
72
- * Function called when refresh is requested
73
- */
74
- onRefresh?: () => Promise<void>;
75
- /**
76
- * Whether the popup is open (only used in popup mode)
77
- */
78
- open?: boolean;
79
- /**
80
- * Component-level preferences to override global i18n and theme settings.
81
- * Preferences are deep-merged with global ones, with component preferences
82
- * taking precedence. Affects this component and all its descendants.
83
- */
84
- preferences?: Preferences;
85
- /**
86
- * Custom renderer for when no organizations are found
87
- */
88
- renderEmpty?: () => ReactNode;
89
- /**
90
- * Custom renderer for the error state
91
- */
92
- renderError?: (error: string) => ReactNode;
93
- /**
94
- * Custom renderer for the load more button
95
- */
96
- renderLoadMore?: (onLoadMore: () => Promise<void>, isLoading: boolean) => ReactNode;
97
- /**
98
- * Custom renderer for the loading state
99
- */
100
- renderLoading?: () => ReactNode;
101
- /**
102
- * Custom renderer for each organization item
103
- */
104
- renderOrganization?: (organization: OrganizationWithSwitchAccess, index: number) => ReactNode;
105
- /**
106
- * Whether to show the organization status in the list
107
- */
108
- showStatus?: boolean;
109
- /**
110
- * Inline styles to apply to the container
111
- */
112
- style?: CSSProperties;
113
- /**
114
- * Title for the popup dialog (only used in popup mode)
115
- */
116
- title?: string;
117
- }
118
- /**
119
- * BaseOrganizationList component displays a list of organizations with pagination support.
120
- * This component serves as the base for framework-specific implementations.
121
- *
122
- * @example
123
- * ```tsx
124
- * <BaseOrganizationList
125
- * data={organizations}
126
- * isLoading={isLoading}
127
- * hasMore={hasMore}
128
- * fetchMore={fetchMore}
129
- * error={error}
130
- * />
131
- * ```
132
- */
133
- export declare const BaseOrganizationList: FC<BaseOrganizationListProps>;
134
- export default BaseOrganizationList;
135
- //# sourceMappingURL=BaseOrganizationList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseOrganizationList.d.ts","sourceRoot":"","sources":["../../../../src/components/presentation/OrganizationList/BaseOrganizationList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,2BAA2B,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAC,aAAa,EAAE,EAAE,EAA4B,SAAS,EAAU,MAAM,OAAO,CAAC;AAUtF,MAAM,WAAW,4BAA6B,SAAQ,YAAY;IAChE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,4BAA4B,KAAK,IAAI,CAAC;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,SAAS,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC3C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC;IACpF;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,SAAS,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9F;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgHD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA6K9D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,252 +0,0 @@
1
- import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
- import useTranslation_default from "../../../hooks/useTranslation.js";
3
- import Spinner_default from "../../primitives/Spinner/Spinner.js";
4
- import Button_default from "../../primitives/Button/Button.js";
5
- import Typography_default from "../../primitives/Typography/Typography.js";
6
- import { Avatar } from "../../primitives/Avatar/Avatar.js";
7
- import Dialog_default from "../../primitives/Dialog/Dialog.js";
8
- import BaseOrganizationList_styles_default from "./BaseOrganizationList.styles.js";
9
- import { useMemo } from "react";
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
- import { cx } from "@emotion/css";
12
-
13
- //#region src/components/presentation/OrganizationList/BaseOrganizationList.tsx
14
- /**
15
- * Default organization item renderer
16
- */
17
- const defaultRenderOrganization = (organization, styles, t, onOrganizationSelect, showStatus) => /* @__PURE__ */ jsxs("div", {
18
- className: cx(styles.organizationItem),
19
- children: [/* @__PURE__ */ jsxs("div", {
20
- className: cx(styles.organizationContent),
21
- children: [/* @__PURE__ */ jsx(Avatar, {
22
- variant: "square",
23
- name: organization.name,
24
- size: 48,
25
- alt: `${organization.name} logo`
26
- }), /* @__PURE__ */ jsxs("div", {
27
- className: cx(styles.organizationInfo),
28
- children: [
29
- /* @__PURE__ */ jsx(Typography_default, {
30
- variant: "h6",
31
- className: cx(styles.organizationName),
32
- children: organization.name
33
- }),
34
- /* @__PURE__ */ jsxs(Typography_default, {
35
- variant: "body2",
36
- color: "textSecondary",
37
- className: cx(styles.organizationHandle),
38
- children: ["@", organization.orgHandle]
39
- }),
40
- showStatus && /* @__PURE__ */ jsxs(Typography_default, {
41
- variant: "body2",
42
- color: "textSecondary",
43
- className: cx(styles.organizationStatus),
44
- children: [
45
- t("organization.switcher.status.label"),
46
- " ",
47
- /* @__PURE__ */ jsx("span", {
48
- className: cx(styles.statusText, organization.status === "ACTIVE" ? styles.statusTextActive : styles.statusTextInactive),
49
- children: organization.status
50
- })
51
- ]
52
- })
53
- ]
54
- })]
55
- }), organization.canSwitch && /* @__PURE__ */ jsx("div", {
56
- className: cx(styles.organizationActions),
57
- children: /* @__PURE__ */ jsx(Button_default, {
58
- onClick: (e) => {
59
- e.stopPropagation();
60
- onOrganizationSelect?.(organization);
61
- },
62
- type: "button",
63
- size: "small",
64
- children: t("organization.switcher.buttons.switch.text")
65
- })
66
- })]
67
- }, organization.id);
68
- /**
69
- * Default loading renderer
70
- */
71
- const defaultRenderLoading = (t, styles) => /* @__PURE__ */ jsxs("div", {
72
- className: cx(styles.loadingContainer),
73
- children: [/* @__PURE__ */ jsx(Spinner_default, { size: "medium" }), /* @__PURE__ */ jsx(Typography_default, {
74
- variant: "body1",
75
- color: "textSecondary",
76
- className: cx(styles.loadingText),
77
- children: t("organization.switcher.loading.placeholder.organizations")
78
- })]
79
- });
80
- /**
81
- * Default error renderer
82
- */
83
- const defaultRenderError = (errorMessage, t, styles) => /* @__PURE__ */ jsx("div", {
84
- className: cx(styles.errorContainer),
85
- children: /* @__PURE__ */ jsxs(Typography_default, {
86
- variant: "body1",
87
- color: "error",
88
- children: [
89
- /* @__PURE__ */ jsx("strong", { children: t("organization.switcher.error.prefix") }),
90
- " ",
91
- errorMessage
92
- ]
93
- })
94
- });
95
- /**
96
- * Default load more button renderer
97
- */
98
- const defaultRenderLoadMore = (onLoadMore, isLoadingMore, t, styles) => /* @__PURE__ */ jsx(Button_default, {
99
- onClick: onLoadMore,
100
- disabled: isLoadingMore,
101
- className: cx(styles.loadMoreButton),
102
- type: "button",
103
- fullWidth: true,
104
- children: isLoadingMore ? t("organization.switcher.loading.more") : t("organization.switcher.buttons.load_more.text")
105
- });
106
- /**
107
- * Default empty state renderer
108
- */
109
- const defaultRenderEmpty = (t, styles) => /* @__PURE__ */ jsx("div", {
110
- className: cx(styles.emptyContainer),
111
- children: /* @__PURE__ */ jsx(Typography_default, {
112
- variant: "body1",
113
- color: "textSecondary",
114
- className: cx(styles.emptyText),
115
- children: t("organization.switcher.no.organizations")
116
- })
117
- });
118
- /**
119
- * BaseOrganizationList component displays a list of organizations with pagination support.
120
- * This component serves as the base for framework-specific implementations.
121
- *
122
- * @example
123
- * ```tsx
124
- * <BaseOrganizationList
125
- * data={organizations}
126
- * isLoading={isLoading}
127
- * hasMore={hasMore}
128
- * fetchMore={fetchMore}
129
- * error={error}
130
- * />
131
- * ```
132
- */
133
- const BaseOrganizationList = ({ className = "", allOrganizations, myOrganizations, error, fetchMore, hasMore = false, isLoading = false, isLoadingMore = false, mode = "inline", onOpenChange, onOrganizationSelect, onRefresh, open = false, renderEmpty, renderError, renderLoading, renderLoadMore, renderOrganization, style, title = "Organizations", showStatus, preferences }) => {
134
- const { theme, colorScheme } = useTheme_default();
135
- const styles = BaseOrganizationList_styles_default(theme, colorScheme);
136
- const { t } = useTranslation_default(preferences?.i18n);
137
- const organizationsWithSwitchAccess = useMemo(() => {
138
- if (!allOrganizations?.organizations) return [];
139
- const myOrgIds = new Set(myOrganizations?.map((org) => org.id) || []);
140
- return allOrganizations.organizations.map((org) => ({
141
- ...org,
142
- canSwitch: myOrgIds.has(org.id)
143
- }));
144
- }, [allOrganizations?.organizations, myOrganizations]);
145
- const renderLoadingWithStyles = renderLoading || (() => defaultRenderLoading(t, styles));
146
- const renderErrorWithStyles = renderError || ((errorMsg) => defaultRenderError(errorMsg, t, styles));
147
- const renderEmptyWithStyles = renderEmpty || (() => defaultRenderEmpty(t, styles));
148
- const renderLoadMoreWithStyles = renderLoadMore || ((onLoadMore, loadingMore) => defaultRenderLoadMore(onLoadMore, loadingMore, t, styles));
149
- const renderOrganizationWithStyles = renderOrganization || ((org) => defaultRenderOrganization(org, styles, t, onOrganizationSelect, showStatus));
150
- if (isLoading && organizationsWithSwitchAccess?.length === 0) {
151
- const loadingContent = /* @__PURE__ */ jsx("div", {
152
- className: cx(styles["root"], className),
153
- style,
154
- children: renderLoadingWithStyles()
155
- });
156
- if (mode === "popup") return /* @__PURE__ */ jsx(Dialog_default, {
157
- open,
158
- onOpenChange,
159
- children: /* @__PURE__ */ jsxs(Dialog_default.Content, { children: [/* @__PURE__ */ jsx(Dialog_default.Heading, { children: title }), /* @__PURE__ */ jsx("div", {
160
- className: cx(styles["popupContent"]),
161
- children: loadingContent
162
- })] })
163
- });
164
- return loadingContent;
165
- }
166
- if (error && organizationsWithSwitchAccess?.length === 0) {
167
- const errorContent = /* @__PURE__ */ jsx("div", {
168
- className: cx(styles["root"], className),
169
- style,
170
- children: renderErrorWithStyles(error)
171
- });
172
- if (mode === "popup") return /* @__PURE__ */ jsx(Dialog_default, {
173
- open,
174
- onOpenChange,
175
- children: /* @__PURE__ */ jsxs(Dialog_default.Content, { children: [/* @__PURE__ */ jsx(Dialog_default.Heading, { children: title }), /* @__PURE__ */ jsx("div", {
176
- className: cx(styles["popupContent"]),
177
- children: errorContent
178
- })] })
179
- });
180
- return errorContent;
181
- }
182
- if (!isLoading && organizationsWithSwitchAccess?.length === 0) {
183
- const emptyContent = /* @__PURE__ */ jsx("div", {
184
- className: cx(styles["root"], className),
185
- style,
186
- children: renderEmptyWithStyles()
187
- });
188
- if (mode === "popup") return /* @__PURE__ */ jsx(Dialog_default, {
189
- open,
190
- onOpenChange,
191
- children: /* @__PURE__ */ jsxs(Dialog_default.Content, { children: [/* @__PURE__ */ jsx(Dialog_default.Heading, { children: title }), /* @__PURE__ */ jsx("div", {
192
- className: cx(styles["popupContent"]),
193
- children: emptyContent
194
- })] })
195
- });
196
- return emptyContent;
197
- }
198
- const organizationListContent = /* @__PURE__ */ jsxs("div", {
199
- className: cx(styles["root"], className),
200
- style,
201
- children: [
202
- /* @__PURE__ */ jsxs("div", {
203
- className: cx(styles["header"]),
204
- children: [/* @__PURE__ */ jsx("div", {
205
- className: cx(styles["headerInfo"]),
206
- children: /* @__PURE__ */ jsx(Typography_default, {
207
- variant: "body2",
208
- color: "textSecondary",
209
- className: cx(styles["subtitle"]),
210
- children: t("organization.switcher.showing.count", {
211
- showing: organizationsWithSwitchAccess?.length,
212
- total: allOrganizations?.organizations?.length || 0
213
- })
214
- })
215
- }), onRefresh && /* @__PURE__ */ jsx(Button_default, {
216
- onClick: onRefresh,
217
- className: cx(styles["refreshButton"]),
218
- type: "button",
219
- variant: "outline",
220
- size: "small",
221
- children: t("organization.switcher.buttons.refresh.text")
222
- })]
223
- }),
224
- /* @__PURE__ */ jsx("div", {
225
- className: cx(styles["listContainer"]),
226
- children: organizationsWithSwitchAccess?.map((organization, index) => renderOrganizationWithStyles(organization, index))
227
- }),
228
- error && organizationsWithSwitchAccess?.length > 0 && /* @__PURE__ */ jsx("div", {
229
- className: cx(styles["errorMargin"]),
230
- children: renderErrorWithStyles(error)
231
- }),
232
- hasMore && fetchMore && /* @__PURE__ */ jsx("div", {
233
- className: cx(styles["loadMoreMargin"]),
234
- children: renderLoadMoreWithStyles(fetchMore, isLoadingMore)
235
- })
236
- ]
237
- });
238
- if (mode === "popup") return /* @__PURE__ */ jsx(Dialog_default, {
239
- open,
240
- onOpenChange,
241
- children: /* @__PURE__ */ jsxs(Dialog_default.Content, { children: [/* @__PURE__ */ jsx(Dialog_default.Heading, { children: title }), /* @__PURE__ */ jsx("div", {
242
- className: cx(styles["popupContent"]),
243
- children: organizationListContent
244
- })] })
245
- });
246
- return organizationListContent;
247
- };
248
- var BaseOrganizationList_default = BaseOrganizationList;
249
-
250
- //#endregion
251
- export { BaseOrganizationList, BaseOrganizationList_default as default };
252
- //# sourceMappingURL=BaseOrganizationList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseOrganizationList.js","names":["AvatarPrimitive","Typography","Button","Spinner","BaseOrganizationList: FC<BaseOrganizationListProps>","useTheme","styles: ReturnType<typeof useStyles>","useStyles","useTranslation","organizationsWithSwitchAccess: OrganizationWithSwitchAccess[]","renderLoadingWithStyles: () => ReactNode","renderErrorWithStyles: (errorMsg: string) => ReactNode","renderEmptyWithStyles: () => ReactNode","renderLoadMoreWithStyles: (onLoadMore: () => Promise<void>, loadingMore: boolean) => ReactNode","renderOrganizationWithStyles: (org: OrganizationWithSwitchAccess, index: number) => ReactNode","loadingContent: ReactElement","DialogPrimitive","errorContent: ReactElement","emptyContent: ReactElement","organizationListContent: ReactElement"],"sources":["../../../../src/components/presentation/OrganizationList/BaseOrganizationList.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, Organization, Preferences} from '@thunderid/browser';\nimport {CSSProperties, FC, MouseEvent, ReactElement, ReactNode, useMemo} from 'react';\nimport useStyles from './BaseOrganizationList.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../hooks/useTranslation';\nimport {Avatar as AvatarPrimitive} from '../../primitives/Avatar/Avatar';\nimport Button from '../../primitives/Button/Button';\nimport DialogPrimitive from '../../primitives/Dialog/Dialog';\nimport Spinner from '../../primitives/Spinner/Spinner';\nimport Typography from '../../primitives/Typography/Typography';\n\nexport interface OrganizationWithSwitchAccess extends Organization {\n canSwitch: boolean;\n}\n\n/**\n * Props interface for the BaseOrganizationList component.\n */\nexport interface BaseOrganizationListProps {\n /**\n * List of organizations discoverable to the signed-in user.\n */\n allOrganizations: AllOrganizationsApiResponse;\n /**\n * Additional CSS class names to apply to the container\n */\n className?: string;\n /**\n * Error message to display\n */\n error?: string | null;\n /**\n * Function called when \"Load More\" is clicked\n */\n fetchMore?: () => Promise<void>;\n /**\n * Whether there are more organizations to load\n */\n hasMore?: boolean;\n /**\n * Whether the initial data is loading\n */\n isLoading?: boolean;\n /**\n * Whether more data is being loaded\n */\n isLoadingMore?: boolean;\n /**\n * Display mode: 'inline' for normal display, 'popup' for modal dialog\n */\n mode?: 'inline' | 'popup';\n /**\n * List of organizations associated to the signed-in user.\n */\n myOrganizations: Organization[];\n /**\n * Function called when popup open state changes (only used in popup mode)\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Function called when an organization is selected/clicked\n */\n onOrganizationSelect?: (organization: OrganizationWithSwitchAccess) => void;\n /**\n * Function called when refresh is requested\n */\n onRefresh?: () => Promise<void>;\n /**\n * Whether the popup is open (only used in popup mode)\n */\n open?: boolean;\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\n /**\n * Custom renderer for when no organizations are found\n */\n renderEmpty?: () => ReactNode;\n /**\n * Custom renderer for the error state\n */\n renderError?: (error: string) => ReactNode;\n /**\n * Custom renderer for the load more button\n */\n renderLoadMore?: (onLoadMore: () => Promise<void>, isLoading: boolean) => ReactNode;\n /**\n * Custom renderer for the loading state\n */\n renderLoading?: () => ReactNode;\n /**\n * Custom renderer for each organization item\n */\n renderOrganization?: (organization: OrganizationWithSwitchAccess, index: number) => ReactNode;\n /**\n * Whether to show the organization status in the list\n */\n showStatus?: boolean;\n /**\n * Inline styles to apply to the container\n */\n style?: CSSProperties;\n\n /**\n * Title for the popup dialog (only used in popup mode)\n */\n title?: string;\n}\n\n/**\n * Default organization item renderer\n */\nconst defaultRenderOrganization = (\n organization: OrganizationWithSwitchAccess,\n styles: any,\n t: (key: string, params?: Record<string, string | number>) => string,\n onOrganizationSelect?: (organization: OrganizationWithSwitchAccess) => void,\n showStatus?: boolean,\n): ReactNode => (\n <div key={organization.id} className={cx(styles.organizationItem)}>\n <div className={cx(styles.organizationContent)}>\n <AvatarPrimitive variant=\"square\" name={organization.name} size={48} alt={`${organization.name} logo`} />\n <div className={cx(styles.organizationInfo)}>\n <Typography variant=\"h6\" className={cx(styles.organizationName)}>\n {organization.name}\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\" className={cx(styles.organizationHandle)}>\n @{organization.orgHandle}\n </Typography>\n {showStatus && (\n <Typography variant=\"body2\" color=\"textSecondary\" className={cx(styles.organizationStatus)}>\n {t('organization.switcher.status.label')}{' '}\n <span\n className={cx(\n styles.statusText,\n organization.status === 'ACTIVE' ? styles.statusTextActive : styles.statusTextInactive,\n )}\n >\n {organization.status}\n </span>\n </Typography>\n )}\n </div>\n </div>\n {organization.canSwitch && (\n <div className={cx(styles.organizationActions)}>\n <Button\n onClick={(e: MouseEvent<HTMLButtonElement>): void => {\n e.stopPropagation();\n onOrganizationSelect?.(organization);\n }}\n type=\"button\"\n size=\"small\"\n >\n {t('organization.switcher.buttons.switch.text')}\n </Button>\n </div>\n )}\n </div>\n);\n\n/**\n * Default loading renderer\n */\nconst defaultRenderLoading = (\n t: (key: string, params?: Record<string, string | number>) => string,\n styles: any,\n): ReactNode => (\n <div className={cx(styles.loadingContainer)}>\n <Spinner size=\"medium\" />\n <Typography variant=\"body1\" color=\"textSecondary\" className={cx(styles.loadingText)}>\n {t('organization.switcher.loading.placeholder.organizations')}\n </Typography>\n </div>\n);\n\n/**\n * Default error renderer\n */\nconst defaultRenderError = (\n errorMessage: string,\n t: (key: string, params?: Record<string, string | number>) => string,\n styles: any,\n): ReactNode => (\n <div className={cx(styles.errorContainer)}>\n <Typography variant=\"body1\" color=\"error\">\n <strong>{t('organization.switcher.error.prefix')}</strong> {errorMessage}\n </Typography>\n </div>\n);\n\n/**\n * Default load more button renderer\n */\nconst defaultRenderLoadMore = (\n onLoadMore: () => Promise<void>,\n isLoadingMore: boolean,\n t: (key: string, params?: Record<string, string | number>) => string,\n styles: any,\n): ReactNode => (\n <Button onClick={onLoadMore} disabled={isLoadingMore} className={cx(styles.loadMoreButton)} type=\"button\" fullWidth>\n {isLoadingMore ? t('organization.switcher.loading.more') : t('organization.switcher.buttons.load_more.text')}\n </Button>\n);\n\n/**\n * Default empty state renderer\n */\nconst defaultRenderEmpty = (\n t: (key: string, params?: Record<string, string | number>) => string,\n styles: any,\n): ReactNode => (\n <div className={cx(styles.emptyContainer)}>\n <Typography variant=\"body1\" color=\"textSecondary\" className={cx(styles.emptyText)}>\n {t('organization.switcher.no.organizations')}\n </Typography>\n </div>\n);\n\n/**\n * BaseOrganizationList component displays a list of organizations with pagination support.\n * This component serves as the base for framework-specific implementations.\n *\n * @example\n * ```tsx\n * <BaseOrganizationList\n * data={organizations}\n * isLoading={isLoading}\n * hasMore={hasMore}\n * fetchMore={fetchMore}\n * error={error}\n * />\n * ```\n */\nexport const BaseOrganizationList: FC<BaseOrganizationListProps> = ({\n className = '',\n allOrganizations,\n myOrganizations,\n error,\n fetchMore,\n hasMore = false,\n isLoading = false,\n isLoadingMore = false,\n mode = 'inline',\n onOpenChange,\n onOrganizationSelect,\n onRefresh,\n open = false,\n renderEmpty,\n renderError,\n renderLoading,\n renderLoadMore,\n renderOrganization,\n style,\n title = 'Organizations',\n showStatus,\n preferences,\n}: BaseOrganizationListProps): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, colorScheme);\n const {t} = useTranslation(preferences?.i18n);\n\n const organizationsWithSwitchAccess: OrganizationWithSwitchAccess[] = useMemo(() => {\n if (!allOrganizations?.organizations) {\n return [];\n }\n\n const myOrgIds = new Set<string>(myOrganizations?.map((org: Organization) => org.id) || []);\n\n return allOrganizations.organizations.map((org: Organization) => ({\n ...org,\n canSwitch: myOrgIds.has(org.id),\n }));\n }, [allOrganizations?.organizations, myOrganizations]);\n\n const renderLoadingWithStyles: () => ReactNode = renderLoading || ((): ReactNode => defaultRenderLoading(t, styles));\n const renderErrorWithStyles: (errorMsg: string) => ReactNode =\n renderError || ((errorMsg: string): ReactNode => defaultRenderError(errorMsg, t, styles));\n const renderEmptyWithStyles: () => ReactNode = renderEmpty || ((): ReactNode => defaultRenderEmpty(t, styles));\n const renderLoadMoreWithStyles: (onLoadMore: () => Promise<void>, loadingMore: boolean) => ReactNode =\n renderLoadMore ||\n ((onLoadMore: () => Promise<void>, loadingMore: boolean): ReactNode =>\n defaultRenderLoadMore(onLoadMore, loadingMore, t, styles));\n const renderOrganizationWithStyles: (org: OrganizationWithSwitchAccess, index: number) => ReactNode =\n renderOrganization ||\n ((org: OrganizationWithSwitchAccess): ReactNode =>\n defaultRenderOrganization(org, styles, t, onOrganizationSelect, showStatus));\n\n if (isLoading && organizationsWithSwitchAccess?.length === 0) {\n const loadingContent: ReactElement = (\n <div className={cx(styles['root'], className)} style={style}>\n {renderLoadingWithStyles()}\n </div>\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['popupContent'])}>{loadingContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return loadingContent;\n }\n\n if (error && organizationsWithSwitchAccess?.length === 0) {\n const errorContent: ReactElement = (\n <div className={cx(styles['root'], className)} style={style}>\n {renderErrorWithStyles(error)}\n </div>\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['popupContent'])}>{errorContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return errorContent;\n }\n\n if (!isLoading && organizationsWithSwitchAccess?.length === 0) {\n const emptyContent: ReactElement = (\n <div className={cx(styles['root'], className)} style={style}>\n {renderEmptyWithStyles()}\n </div>\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['popupContent'])}>{emptyContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return emptyContent;\n }\n\n const organizationListContent: ReactElement = (\n <div className={cx(styles['root'], className)} style={style}>\n {/* Header with total count and refresh button */}\n <div className={cx(styles['header'])}>\n <div className={cx(styles['headerInfo'])}>\n <Typography variant=\"body2\" color=\"textSecondary\" className={cx(styles['subtitle'])}>\n {t('organization.switcher.showing.count', {\n showing: organizationsWithSwitchAccess?.length,\n total: allOrganizations?.organizations?.length || 0,\n })}\n </Typography>\n </div>\n {onRefresh && (\n <Button\n onClick={onRefresh}\n className={cx(styles['refreshButton'])}\n type=\"button\"\n variant=\"outline\"\n size=\"small\"\n >\n {t('organization.switcher.buttons.refresh.text')}\n </Button>\n )}\n </div>\n\n {/* Organizations list */}\n <div className={cx(styles['listContainer'])}>\n {organizationsWithSwitchAccess?.map((organization: OrganizationWithSwitchAccess, index: number) =>\n renderOrganizationWithStyles(organization, index),\n )}\n </div>\n\n {/* Error message for additional data */}\n {error && organizationsWithSwitchAccess?.length > 0 && (\n <div className={cx(styles['errorMargin'])}>{renderErrorWithStyles(error)}</div>\n )}\n\n {/* Load more button */}\n {hasMore && fetchMore && (\n <div className={cx(styles['loadMoreMargin'])}>{renderLoadMoreWithStyles(fetchMore, isLoadingMore)}</div>\n )}\n </div>\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['popupContent'])}>{organizationListContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return organizationListContent;\n};\n\nexport default BaseOrganizationList;\n"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
- import { Theme } from '@thunderid/browser';
19
- /**
20
- * Creates styles for the BaseOrganizationList component using BEM methodology
21
- * @param theme - The theme object containing design tokens
22
- * @param colorScheme - The current color scheme (used for memoization)
23
- * @returns Object containing CSS class names for component styling
24
- */
25
- declare const useStyles: (theme: Theme, colorScheme: string) => Record<string, string>;
26
- export default useStyles;
27
- //# sourceMappingURL=BaseOrganizationList.styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseOrganizationList.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/presentation/OrganizationList/BaseOrganizationList.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC;;;;;GAKG;AACH,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA0PxE,CAAC;AAEL,eAAe,SAAS,CAAC"}