@webiny/cognito 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/Cognito.js +23 -24
  2. package/Cognito.js.map +1 -1
  3. package/admin/Cognito.js +35 -41
  4. package/admin/Cognito.js.map +1 -1
  5. package/admin/CognitoLogin.js +8 -13
  6. package/admin/CognitoLogin.js.map +1 -1
  7. package/admin/Extension.js +17 -16
  8. package/admin/Extension.js.map +1 -1
  9. package/admin/SecurityPermission.js +11 -14
  10. package/admin/SecurityPermission.js.map +1 -1
  11. package/admin/domain/permissionsSchema.js +14 -9
  12. package/admin/domain/permissionsSchema.js.map +1 -1
  13. package/admin/features/permissions/abstractions.js +2 -1
  14. package/admin/features/permissions/abstractions.js.map +1 -1
  15. package/admin/features/permissions/feature.js +2 -1
  16. package/admin/features/permissions/feature.js.map +1 -1
  17. package/admin/federatedIdentityProviders.js +7 -6
  18. package/admin/federatedIdentityProviders.js.map +1 -1
  19. package/admin/presentation/Cognito/CognitoLoginScreen.js +39 -42
  20. package/admin/presentation/Cognito/CognitoLoginScreen.js.map +1 -1
  21. package/admin/presentation/Cognito/CognitoPresenter.js +250 -275
  22. package/admin/presentation/Cognito/CognitoPresenter.js.map +1 -1
  23. package/admin/presentation/Cognito/abstractions.js +2 -1
  24. package/admin/presentation/Cognito/abstractions.js.map +1 -1
  25. package/admin/presentation/Cognito/components/Divider.js +12 -13
  26. package/admin/presentation/Cognito/components/Divider.js.map +1 -1
  27. package/admin/presentation/Cognito/components/FederatedLogin.js +24 -29
  28. package/admin/presentation/Cognito/components/FederatedLogin.js.map +1 -1
  29. package/admin/presentation/Cognito/components/FederatedProviders.js +7 -10
  30. package/admin/presentation/Cognito/components/FederatedProviders.js.map +1 -1
  31. package/admin/presentation/Cognito/components/FooterSignIn.js +9 -12
  32. package/admin/presentation/Cognito/components/FooterSignIn.js.map +1 -1
  33. package/admin/presentation/Cognito/components/PasswordResetCodeSent.js +33 -37
  34. package/admin/presentation/Cognito/components/PasswordResetCodeSent.js.map +1 -1
  35. package/admin/presentation/Cognito/components/RequestPasswordResetCode.js +35 -39
  36. package/admin/presentation/Cognito/components/RequestPasswordResetCode.js.map +1 -1
  37. package/admin/presentation/Cognito/components/RequireNewPassword.js +44 -48
  38. package/admin/presentation/Cognito/components/RequireNewPassword.js.map +1 -1
  39. package/admin/presentation/Cognito/components/SetNewPassword.js +70 -71
  40. package/admin/presentation/Cognito/components/SetNewPassword.js.map +1 -1
  41. package/admin/presentation/Cognito/components/SignIn.js +52 -59
  42. package/admin/presentation/Cognito/components/SignIn.js.map +1 -1
  43. package/admin/presentation/Cognito/components/View.js +41 -60
  44. package/admin/presentation/Cognito/components/View.js.map +1 -1
  45. package/admin/presentation/Cognito/feature.js +12 -11
  46. package/admin/presentation/Cognito/feature.js.map +1 -1
  47. package/admin/presentation/shared/createPasswordValidator.js +13 -24
  48. package/admin/presentation/shared/createPasswordValidator.js.map +1 -1
  49. package/admin/presentation/shared/usePasswordValidator.js +11 -10
  50. package/admin/presentation/shared/usePasswordValidator.js.map +1 -1
  51. package/admin/presentation/userMenu/AccountDetails.js +15 -18
  52. package/admin/presentation/userMenu/AccountDetails.js.map +1 -1
  53. package/admin/presentation/userMenu/useIsDefaultTenant.js +5 -11
  54. package/admin/presentation/userMenu/useIsDefaultTenant.js.map +1 -1
  55. package/admin/routes.js +16 -17
  56. package/admin/routes.js.map +1 -1
  57. package/admin/ui/UserItem.js +0 -3
  58. package/admin/ui/components/AvatarImage/AvatarImage.js +25 -37
  59. package/admin/ui/components/AvatarImage/AvatarImage.js.map +1 -1
  60. package/admin/ui/components/AvatarImage/AvatarImagePreview.js +49 -51
  61. package/admin/ui/components/AvatarImage/AvatarImagePreview.js.map +1 -1
  62. package/admin/ui/components/AvatarImage/AvatarImageTrigger.js +25 -26
  63. package/admin/ui/components/AvatarImage/AvatarImageTrigger.js.map +1 -1
  64. package/admin/ui/components/AvatarImage/index.js +0 -2
  65. package/admin/ui/views/Account/Account.js +117 -130
  66. package/admin/ui/views/Account/Account.js.map +1 -1
  67. package/admin/ui/views/Account/graphql.js +5 -4
  68. package/admin/ui/views/Account/graphql.js.map +1 -1
  69. package/admin/ui/views/Account/index.js +0 -2
  70. package/admin/ui/views/Users/UsersDataList.js +146 -159
  71. package/admin/ui/views/Users/UsersDataList.js.map +1 -1
  72. package/admin/ui/views/Users/UsersForm.js +151 -162
  73. package/admin/ui/views/Users/UsersForm.js.map +1 -1
  74. package/admin/ui/views/Users/UsersView.js +9 -9
  75. package/admin/ui/views/Users/UsersView.js.map +1 -1
  76. package/admin/ui/views/Users/components/DeleteAction.js +23 -30
  77. package/admin/ui/views/Users/components/DeleteAction.js.map +1 -1
  78. package/admin/ui/views/Users/graphql.js +9 -10
  79. package/admin/ui/views/Users/graphql.js.map +1 -1
  80. package/admin/ui/views/Users/hooks/useUserForm.js +104 -114
  81. package/admin/ui/views/Users/hooks/useUserForm.js.map +1 -1
  82. package/admin/ui/views/Users/search.js +21 -0
  83. package/admin/ui/views/Users/search.js.map +1 -0
  84. package/admin/ui/views/utils.js +9 -7
  85. package/admin/ui/views/utils.js.map +1 -1
  86. package/api/CognitoApiFeature.js +15 -17
  87. package/api/CognitoApiFeature.js.map +1 -1
  88. package/api/domain/Username.js +5 -4
  89. package/api/domain/Username.js.map +1 -1
  90. package/api/domain/errors.js +37 -56
  91. package/api/domain/errors.js.map +1 -1
  92. package/api/features/CognitoIdp/CognitoIdentityProvider.js +49 -51
  93. package/api/features/CognitoIdp/CognitoIdentityProvider.js.map +1 -1
  94. package/api/features/CognitoIdp/abstractions.js +2 -1
  95. package/api/features/CognitoIdp/abstractions.js.map +1 -1
  96. package/api/features/CognitoIdp/feature.js +6 -5
  97. package/api/features/CognitoIdp/feature.js.map +1 -1
  98. package/api/features/CognitoIdp/index.js +0 -2
  99. package/api/features/CognitoService/CognitoService.js +93 -83
  100. package/api/features/CognitoService/CognitoService.js.map +1 -1
  101. package/api/features/CognitoService/abstractions.js +3 -5
  102. package/api/features/CognitoService/abstractions.js.map +1 -1
  103. package/api/features/CognitoService/feature.js +7 -6
  104. package/api/features/CognitoService/feature.js.map +1 -1
  105. package/api/features/CognitoService/index.js +0 -2
  106. package/api/features/CreateUser/CreateUserUseCase.js +62 -88
  107. package/api/features/CreateUser/CreateUserUseCase.js.map +1 -1
  108. package/api/features/CreateUser/abstractions.js +2 -1
  109. package/api/features/CreateUser/abstractions.js.map +1 -1
  110. package/api/features/CreateUser/feature.js +6 -5
  111. package/api/features/CreateUser/feature.js.map +1 -1
  112. package/api/features/CreateUser/index.js +0 -2
  113. package/api/features/CreateUser/schema.js +14 -13
  114. package/api/features/CreateUser/schema.js.map +1 -1
  115. package/api/features/DeleteUser/DeleteUserUseCase.js +34 -41
  116. package/api/features/DeleteUser/DeleteUserUseCase.js.map +1 -1
  117. package/api/features/DeleteUser/abstractions.js +2 -1
  118. package/api/features/DeleteUser/abstractions.js.map +1 -1
  119. package/api/features/DeleteUser/feature.js +6 -5
  120. package/api/features/DeleteUser/feature.js.map +1 -1
  121. package/api/features/DeleteUser/index.js +0 -2
  122. package/api/features/UpdateUser/UpdateUserUseCase.js +49 -71
  123. package/api/features/UpdateUser/UpdateUserUseCase.js.map +1 -1
  124. package/api/features/UpdateUser/abstractions.js +2 -1
  125. package/api/features/UpdateUser/abstractions.js.map +1 -1
  126. package/api/features/UpdateUser/feature.js +6 -5
  127. package/api/features/UpdateUser/feature.js.map +1 -1
  128. package/api/features/UpdateUser/index.js +0 -2
  129. package/api/features/UpdateUser/schema.js +13 -12
  130. package/api/features/UpdateUser/schema.js.map +1 -1
  131. package/api/features/UserInstaller/UserInstaller.js +36 -36
  132. package/api/features/UserInstaller/UserInstaller.js.map +1 -1
  133. package/api/features/UserInstaller/feature.js +6 -5
  134. package/api/features/UserInstaller/feature.js.map +1 -1
  135. package/api/graphql/user.gql.js +83 -107
  136. package/api/graphql/user.gql.js.map +1 -1
  137. package/index.js +0 -2
  138. package/package.json +23 -24
  139. package/static/svg/search.43fa797c.svg +20 -0
  140. package/admin/ui/UserItem.js.map +0 -1
  141. package/admin/ui/components/AvatarImage/index.js.map +0 -1
  142. package/admin/ui/views/Account/index.js.map +0 -1
  143. package/api/features/CognitoIdp/index.js.map +0 -1
  144. package/api/features/CognitoService/index.js.map +0 -1
  145. package/api/features/CreateUser/index.js.map +0 -1
  146. package/api/features/DeleteUser/index.js.map +0 -1
  147. package/api/features/UpdateUser/index.js.map +0 -1
  148. package/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ValidationError","createPasswordValidator","policy","value","requireSymbols","requireNumber","requireLowercase","requireUppercase","minimumLength","undefined","length","test","requireNumbers"],"sources":["createPasswordValidator.ts"],"sourcesContent":["import { ValidationError } from \"@webiny/validation\";\n\nexport interface PasswordPolicy {\n minimumLength?: number;\n requireLowercase?: boolean;\n requireNumbers?: boolean;\n requireSymbols?: boolean;\n requireUppercase?: boolean;\n}\n\nexport const createPasswordValidator =\n (policy: PasswordPolicy) =>\n (value?: string): void => {\n if (!value) {\n return;\n }\n\n const requireSymbols = /([=+\\-^$*.[\\]{}()?\"!@#%&/,><':;|_~`])+/;\n const requireNumber = /[0-9]/;\n const requireLowercase = /[a-z]/;\n const requireUppercase = /[A-Z]/;\n\n if (policy.minimumLength !== undefined && value.length < policy.minimumLength) {\n throw new ValidationError(\n `Value requires at least ${policy.minimumLength} characters.`\n );\n }\n\n if (policy.requireLowercase && !requireLowercase.test(value)) {\n throw new ValidationError(\"Value must contain a lowercase character.\");\n }\n\n if (policy.requireNumbers && !requireNumber.test(value)) {\n throw new ValidationError(\"Value must contain a number.\");\n }\n\n if (policy.requireUppercase && !requireUppercase.test(value)) {\n throw new ValidationError(\"Value must contain an uppercase character.\");\n }\n\n if (policy.requireSymbols && !requireSymbols.test(value)) {\n throw new ValidationError(\"Value must contain a special character.\");\n }\n };\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AAUpD,OAAO,MAAMC,uBAAuB,GAC/BC,MAAsB,IACtBC,KAAc,IAAW;EACtB,IAAI,CAACA,KAAK,EAAE;IACR;EACJ;EAEA,MAAMC,cAAc,GAAG,wCAAwC;EAC/D,MAAMC,aAAa,GAAG,OAAO;EAC7B,MAAMC,gBAAgB,GAAG,OAAO;EAChC,MAAMC,gBAAgB,GAAG,OAAO;EAEhC,IAAIL,MAAM,CAACM,aAAa,KAAKC,SAAS,IAAIN,KAAK,CAACO,MAAM,GAAGR,MAAM,CAACM,aAAa,EAAE;IAC3E,MAAM,IAAIR,eAAe,CACrB,2BAA2BE,MAAM,CAACM,aAAa,cACnD,CAAC;EACL;EAEA,IAAIN,MAAM,CAACI,gBAAgB,IAAI,CAACA,gBAAgB,CAACK,IAAI,CAACR,KAAK,CAAC,EAAE;IAC1D,MAAM,IAAIH,eAAe,CAAC,2CAA2C,CAAC;EAC1E;EAEA,IAAIE,MAAM,CAACU,cAAc,IAAI,CAACP,aAAa,CAACM,IAAI,CAACR,KAAK,CAAC,EAAE;IACrD,MAAM,IAAIH,eAAe,CAAC,8BAA8B,CAAC;EAC7D;EAEA,IAAIE,MAAM,CAACK,gBAAgB,IAAI,CAACA,gBAAgB,CAACI,IAAI,CAACR,KAAK,CAAC,EAAE;IAC1D,MAAM,IAAIH,eAAe,CAAC,4CAA4C,CAAC;EAC3E;EAEA,IAAIE,MAAM,CAACE,cAAc,IAAI,CAACA,cAAc,CAACO,IAAI,CAACR,KAAK,CAAC,EAAE;IACtD,MAAM,IAAIH,eAAe,CAAC,yCAAyC,CAAC;EACxE;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/presentation/shared/createPasswordValidator.js","sources":["../../../../src/admin/presentation/shared/createPasswordValidator.ts"],"sourcesContent":["import { ValidationError } from \"@webiny/validation\";\n\nexport interface PasswordPolicy {\n minimumLength?: number;\n requireLowercase?: boolean;\n requireNumbers?: boolean;\n requireSymbols?: boolean;\n requireUppercase?: boolean;\n}\n\nexport const createPasswordValidator =\n (policy: PasswordPolicy) =>\n (value?: string): void => {\n if (!value) {\n return;\n }\n\n const requireSymbols = /([=+\\-^$*.[\\]{}()?\"!@#%&/,><':;|_~`])+/;\n const requireNumber = /[0-9]/;\n const requireLowercase = /[a-z]/;\n const requireUppercase = /[A-Z]/;\n\n if (policy.minimumLength !== undefined && value.length < policy.minimumLength) {\n throw new ValidationError(\n `Value requires at least ${policy.minimumLength} characters.`\n );\n }\n\n if (policy.requireLowercase && !requireLowercase.test(value)) {\n throw new ValidationError(\"Value must contain a lowercase character.\");\n }\n\n if (policy.requireNumbers && !requireNumber.test(value)) {\n throw new ValidationError(\"Value must contain a number.\");\n }\n\n if (policy.requireUppercase && !requireUppercase.test(value)) {\n throw new ValidationError(\"Value must contain an uppercase character.\");\n }\n\n if (policy.requireSymbols && !requireSymbols.test(value)) {\n throw new ValidationError(\"Value must contain a special character.\");\n }\n };\n"],"names":["createPasswordValidator","policy","value","requireSymbols","requireNumber","requireLowercase","requireUppercase","undefined","ValidationError"],"mappings":";AAUO,MAAMA,0BACT,CAACC,SACD,CAACC;QACG,IAAI,CAACA,OACD;QAGJ,MAAMC,iBAAiB;QACvB,MAAMC,gBAAgB;QACtB,MAAMC,mBAAmB;QACzB,MAAMC,mBAAmB;QAEzB,IAAIL,AAAyBM,WAAzBN,OAAO,aAAa,IAAkBC,MAAM,MAAM,GAAGD,OAAO,aAAa,EACzE,MAAM,IAAIO,gBACN,CAAC,wBAAwB,EAAEP,OAAO,aAAa,CAAC,YAAY,CAAC;QAIrE,IAAIA,OAAO,gBAAgB,IAAI,CAACI,iBAAiB,IAAI,CAACH,QAClD,MAAM,IAAIM,gBAAgB;QAG9B,IAAIP,OAAO,cAAc,IAAI,CAACG,cAAc,IAAI,CAACF,QAC7C,MAAM,IAAIM,gBAAgB;QAG9B,IAAIP,OAAO,gBAAgB,IAAI,CAACK,iBAAiB,IAAI,CAACJ,QAClD,MAAM,IAAIM,gBAAgB;QAG9B,IAAIP,OAAO,cAAc,IAAI,CAACE,eAAe,IAAI,CAACD,QAC9C,MAAM,IAAIM,gBAAgB;IAElC"}
@@ -1,15 +1,16 @@
1
- import { config as appConfig } from "@webiny/app/config.js";
1
+ import { config } from "@webiny/app/config.js";
2
2
  import { useMemo } from "react";
3
3
  import { createPasswordValidator } from "./createPasswordValidator.js";
4
- export function usePasswordValidator() {
5
- let envPasswordValidatorPolicy;
6
- try {
7
- envPasswordValidatorPolicy = JSON.parse(process.env.REACT_APP_USER_POOL_PASSWORD_POLICY);
8
- } catch {
9
- // Do nothing.
10
- }
11
- const passwordValidatorPolicy = appConfig.getKey("USER_POOL_PASSWORD_POLICY", envPasswordValidatorPolicy);
12
- return useMemo(() => createPasswordValidator(passwordValidatorPolicy), [passwordValidatorPolicy]);
4
+ function usePasswordValidator() {
5
+ let envPasswordValidatorPolicy;
6
+ try {
7
+ envPasswordValidatorPolicy = JSON.parse(process.env.REACT_APP_USER_POOL_PASSWORD_POLICY);
8
+ } catch {}
9
+ const passwordValidatorPolicy = config.getKey("USER_POOL_PASSWORD_POLICY", envPasswordValidatorPolicy);
10
+ return useMemo(()=>createPasswordValidator(passwordValidatorPolicy), [
11
+ passwordValidatorPolicy
12
+ ]);
13
13
  }
14
+ export { usePasswordValidator };
14
15
 
15
16
  //# sourceMappingURL=usePasswordValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["config","appConfig","useMemo","createPasswordValidator","usePasswordValidator","envPasswordValidatorPolicy","JSON","parse","process","env","REACT_APP_USER_POOL_PASSWORD_POLICY","passwordValidatorPolicy","getKey"],"sources":["usePasswordValidator.ts"],"sourcesContent":["import { config as appConfig } from \"@webiny/app/config.js\";\nimport { useMemo } from \"react\";\nimport { createPasswordValidator, type PasswordPolicy } from \"./createPasswordValidator.js\";\n\nexport function usePasswordValidator() {\n let envPasswordValidatorPolicy;\n try {\n envPasswordValidatorPolicy = JSON.parse(\n process.env.REACT_APP_USER_POOL_PASSWORD_POLICY as string\n );\n } catch {\n // Do nothing.\n }\n\n const passwordValidatorPolicy = appConfig.getKey<PasswordPolicy>(\n \"USER_POOL_PASSWORD_POLICY\",\n envPasswordValidatorPolicy\n );\n\n return useMemo(\n () => createPasswordValidator(passwordValidatorPolicy),\n [passwordValidatorPolicy]\n );\n}\n"],"mappings":"AAAA,SAASA,MAAM,IAAIC,SAAS,QAAQ,uBAAuB;AAC3D,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,uBAAuB;AAEhC,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACnC,IAAIC,0BAA0B;EAC9B,IAAI;IACAA,0BAA0B,GAAGC,IAAI,CAACC,KAAK,CACnCC,OAAO,CAACC,GAAG,CAACC,mCAChB,CAAC;EACL,CAAC,CAAC,MAAM;IACJ;EAAA;EAGJ,MAAMC,uBAAuB,GAAGV,SAAS,CAACW,MAAM,CAC5C,2BAA2B,EAC3BP,0BACJ,CAAC;EAED,OAAOH,OAAO,CACV,MAAMC,uBAAuB,CAACQ,uBAAuB,CAAC,EACtD,CAACA,uBAAuB,CAC5B,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"admin/presentation/shared/usePasswordValidator.js","sources":["../../../../src/admin/presentation/shared/usePasswordValidator.ts"],"sourcesContent":["import { config as appConfig } from \"@webiny/app/config.js\";\nimport { useMemo } from \"react\";\nimport { createPasswordValidator, type PasswordPolicy } from \"./createPasswordValidator.js\";\n\nexport function usePasswordValidator() {\n let envPasswordValidatorPolicy;\n try {\n envPasswordValidatorPolicy = JSON.parse(\n process.env.REACT_APP_USER_POOL_PASSWORD_POLICY as string\n );\n } catch {\n // Do nothing.\n }\n\n const passwordValidatorPolicy = appConfig.getKey<PasswordPolicy>(\n \"USER_POOL_PASSWORD_POLICY\",\n envPasswordValidatorPolicy\n );\n\n return useMemo(\n () => createPasswordValidator(passwordValidatorPolicy),\n [passwordValidatorPolicy]\n );\n}\n"],"names":["usePasswordValidator","envPasswordValidatorPolicy","JSON","process","passwordValidatorPolicy","appConfig","useMemo","createPasswordValidator"],"mappings":";;;AAIO,SAASA;IACZ,IAAIC;IACJ,IAAI;QACAA,6BAA6BC,KAAK,KAAK,CACnCC,QAAQ,GAAG,CAAC,mCAAmC;IAEvD,EAAE,OAAM,CAER;IAEA,MAAMC,0BAA0BC,OAAAA,MAAgB,CAC5C,6BACAJ;IAGJ,OAAOK,QACH,IAAMC,wBAAwBH,0BAC9B;QAACA;KAAwB;AAEjC"}
@@ -1,23 +1,20 @@
1
- import React from "react";
2
- import { ReactComponent as AccountIcon } from "@webiny/icons/account_circle.svg";
1
+ import react from "react";
2
+ import { ReactComponent } from "@webiny/icons/account_circle.svg";
3
3
  import { AdminConfig } from "@webiny/app-admin";
4
4
  import { useIsDefaultTenant } from "./useIsDefaultTenant.js";
5
- const {
6
- Menu
7
- } = AdminConfig;
8
- export const AccountDetails = props => {
9
- const isDefaultTenant = useIsDefaultTenant();
10
- if (!isDefaultTenant) {
11
- return null;
12
- }
13
- return /*#__PURE__*/React.createElement(Menu.User.Link, {
14
- icon: /*#__PURE__*/React.createElement(Menu.User.Item.Icon, {
15
- element: /*#__PURE__*/React.createElement(AccountIcon, null),
16
- label: "Account settings"
17
- }),
18
- text: "Account settings",
19
- to: props.accountRoute
20
- });
5
+ const { Menu: Menu } = AdminConfig;
6
+ const AccountDetails = (props)=>{
7
+ const isDefaultTenant = useIsDefaultTenant();
8
+ if (!isDefaultTenant) return null;
9
+ return /*#__PURE__*/ react.createElement(Menu.User.Link, {
10
+ icon: /*#__PURE__*/ react.createElement(Menu.User.Item.Icon, {
11
+ element: /*#__PURE__*/ react.createElement(ReactComponent, null),
12
+ label: "Account settings"
13
+ }),
14
+ text: "Account settings",
15
+ to: props.accountRoute
16
+ });
21
17
  };
18
+ export { AccountDetails };
22
19
 
23
20
  //# sourceMappingURL=AccountDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","AccountIcon","AdminConfig","useIsDefaultTenant","Menu","AccountDetails","props","isDefaultTenant","createElement","User","Link","icon","Item","Icon","element","label","text","to","accountRoute"],"sources":["AccountDetails.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as AccountIcon } from \"@webiny/icons/account_circle.svg\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { useIsDefaultTenant } from \"./useIsDefaultTenant.js\";\n\nconst { Menu } = AdminConfig;\n\ninterface AccountDetailsProps {\n accountRoute: string;\n}\n\nexport const AccountDetails = (props: AccountDetailsProps) => {\n const isDefaultTenant = useIsDefaultTenant();\n\n if (!isDefaultTenant) {\n return null;\n }\n return (\n <Menu.User.Link\n icon={<Menu.User.Item.Icon element={<AccountIcon />} label={\"Account settings\"} />}\n text={\"Account settings\"}\n to={props.accountRoute}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,WAAW,QAAQ,kCAAkC;AAChF,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,kBAAkB;AAE3B,MAAM;EAAEC;AAAK,CAAC,GAAGF,WAAW;AAM5B,OAAO,MAAMG,cAAc,GAAIC,KAA0B,IAAK;EAC1D,MAAMC,eAAe,GAAGJ,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACI,eAAe,EAAE;IAClB,OAAO,IAAI;EACf;EACA,oBACIR,KAAA,CAAAS,aAAA,CAACJ,IAAI,CAACK,IAAI,CAACC,IAAI;IACXC,IAAI,eAAEZ,KAAA,CAAAS,aAAA,CAACJ,IAAI,CAACK,IAAI,CAACG,IAAI,CAACC,IAAI;MAACC,OAAO,eAAEf,KAAA,CAAAS,aAAA,CAACP,WAAW,MAAE,CAAE;MAACc,KAAK,EAAE;IAAmB,CAAE,CAAE;IACnFC,IAAI,EAAE,kBAAmB;IACzBC,EAAE,EAAEX,KAAK,CAACY;EAAa,CAC1B,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/presentation/userMenu/AccountDetails.js","sources":["../../../../src/admin/presentation/userMenu/AccountDetails.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as AccountIcon } from \"@webiny/icons/account_circle.svg\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { useIsDefaultTenant } from \"./useIsDefaultTenant.js\";\n\nconst { Menu } = AdminConfig;\n\ninterface AccountDetailsProps {\n accountRoute: string;\n}\n\nexport const AccountDetails = (props: AccountDetailsProps) => {\n const isDefaultTenant = useIsDefaultTenant();\n\n if (!isDefaultTenant) {\n return null;\n }\n return (\n <Menu.User.Link\n icon={<Menu.User.Item.Icon element={<AccountIcon />} label={\"Account settings\"} />}\n text={\"Account settings\"}\n to={props.accountRoute}\n />\n );\n};\n"],"names":["Menu","AdminConfig","AccountDetails","props","isDefaultTenant","useIsDefaultTenant","AccountIcon"],"mappings":";;;;AAKA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AAMV,MAAMC,iBAAiB,CAACC;IAC3B,MAAMC,kBAAkBC;IAExB,IAAI,CAACD,iBACD,OAAO;IAEX,OAAO,WAAP,GACI,oBAACJ,KAAK,IAAI,CAAC,IAAI;QACX,oBAAM,oBAACA,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI;YAAC,uBAAS,oBAACM,gBAAWA;YAAK,OAAO;;QAC5D,MAAM;QACN,IAAIH,MAAM,YAAY;;AAGlC"}
@@ -1,15 +1,9 @@
1
1
  import { useIdentity } from "@webiny/app-admin";
2
- export function useIsDefaultTenant() {
3
- const {
4
- identity
5
- } = useIdentity();
6
-
7
- // This is only applicable in multi-tenant environments
8
- const {
9
- currentTenant,
10
- defaultTenant
11
- } = identity;
12
- return currentTenant.id === defaultTenant.id;
2
+ function useIsDefaultTenant() {
3
+ const { identity } = useIdentity();
4
+ const { currentTenant, defaultTenant } = identity;
5
+ return currentTenant.id === defaultTenant.id;
13
6
  }
7
+ export { useIsDefaultTenant };
14
8
 
15
9
  //# sourceMappingURL=useIsDefaultTenant.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useIdentity","useIsDefaultTenant","identity","currentTenant","defaultTenant","id"],"sources":["useIsDefaultTenant.ts"],"sourcesContent":["import { useIdentity } from \"@webiny/app-admin\";\n\nexport function useIsDefaultTenant(): boolean {\n const { identity } = useIdentity();\n\n // This is only applicable in multi-tenant environments\n const { currentTenant, defaultTenant } = identity;\n\n return currentTenant.id === defaultTenant.id;\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,SAASC,kBAAkBA,CAAA,EAAY;EAC1C,MAAM;IAAEC;EAAS,CAAC,GAAGF,WAAW,CAAC,CAAC;;EAElC;EACA,MAAM;IAAEG,aAAa;IAAEC;EAAc,CAAC,GAAGF,QAAQ;EAEjD,OAAOC,aAAa,CAACE,EAAE,KAAKD,aAAa,CAACC,EAAE;AAChD","ignoreList":[]}
1
+ {"version":3,"file":"admin/presentation/userMenu/useIsDefaultTenant.js","sources":["../../../../src/admin/presentation/userMenu/useIsDefaultTenant.ts"],"sourcesContent":["import { useIdentity } from \"@webiny/app-admin\";\n\nexport function useIsDefaultTenant(): boolean {\n const { identity } = useIdentity();\n\n // This is only applicable in multi-tenant environments\n const { currentTenant, defaultTenant } = identity;\n\n return currentTenant.id === defaultTenant.id;\n}\n"],"names":["useIsDefaultTenant","identity","useIdentity","currentTenant","defaultTenant"],"mappings":";AAEO,SAASA;IACZ,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IAGrB,MAAM,EAAEC,aAAa,EAAEC,aAAa,EAAE,GAAGH;IAEzC,OAAOE,cAAc,EAAE,KAAKC,cAAc,EAAE;AAChD"}
package/admin/routes.js CHANGED
@@ -1,21 +1,20 @@
1
1
  import { Route } from "@webiny/app-admin";
2
- export const Routes = {
3
- Users: {
4
- List: new Route({
5
- name: "Cognito/Users/List",
6
- path: "/admin-users",
7
- params: z => {
8
- return {
9
- id: z.string().optional(),
10
- new: z.boolean().optional()
11
- };
12
- }
13
- }),
14
- Account: new Route({
15
- name: "Cognito/Users/Account",
16
- path: "/account"
17
- })
18
- }
2
+ const Routes = {
3
+ Users: {
4
+ List: new Route({
5
+ name: "Cognito/Users/List",
6
+ path: "/admin-users",
7
+ params: (z)=>({
8
+ id: z.string().optional(),
9
+ new: z.boolean().optional()
10
+ })
11
+ }),
12
+ Account: new Route({
13
+ name: "Cognito/Users/Account",
14
+ path: "/account"
15
+ })
16
+ }
19
17
  };
18
+ export { Routes };
20
19
 
21
20
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Route","Routes","Users","List","name","path","params","z","id","string","optional","new","boolean","Account"],"sources":["routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Users: {\n List: new Route({\n name: \"Cognito/Users/List\",\n path: \"/admin-users\",\n params: z => {\n return {\n id: z.string().optional(),\n new: z.boolean().optional()\n };\n }\n }),\n Account: new Route({\n name: \"Cognito/Users/Account\",\n path: \"/account\"\n })\n }\n};\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,mBAAmB;AAEzC,OAAO,MAAMC,MAAM,GAAG;EAClBC,KAAK,EAAE;IACHC,IAAI,EAAE,IAAIH,KAAK,CAAC;MACZI,IAAI,EAAE,oBAAoB;MAC1BC,IAAI,EAAE,cAAc;MACpBC,MAAM,EAAEC,CAAC,IAAI;QACT,OAAO;UACHC,EAAE,EAAED,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UACzBC,GAAG,EAAEJ,CAAC,CAACK,OAAO,CAAC,CAAC,CAACF,QAAQ,CAAC;QAC9B,CAAC;MACL;IACJ,CAAC,CAAC;IACFG,OAAO,EAAE,IAAIb,KAAK,CAAC;MACfI,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;IACV,CAAC;EACL;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/routes.js","sources":["../../src/admin/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Users: {\n List: new Route({\n name: \"Cognito/Users/List\",\n path: \"/admin-users\",\n params: z => {\n return {\n id: z.string().optional(),\n new: z.boolean().optional()\n };\n }\n }),\n Account: new Route({\n name: \"Cognito/Users/Account\",\n path: \"/account\"\n })\n }\n};\n"],"names":["Routes","Route","z"],"mappings":";AAEO,MAAMA,SAAS;IAClB,OAAO;QACH,MAAM,IAAIC,MAAM;YACZ,MAAM;YACN,MAAM;YACN,QAAQC,CAAAA,IACG;oBACH,IAAIA,EAAE,MAAM,GAAG,QAAQ;oBACvB,KAAKA,EAAE,OAAO,GAAG,QAAQ;gBAC7B;QAER;QACA,SAAS,IAAID,MAAM;YACf,MAAM;YACN,MAAM;QACV;IACJ;AACJ"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=UserItem.js.map
@@ -1,43 +1,31 @@
1
- import * as React from "react";
2
1
  import { SingleImageUpload } from "@webiny/app-admin";
3
2
  import { AvatarImagePreview } from "./AvatarImagePreview.js";
4
3
  import { AvatarImageTrigger } from "./AvatarImageTrigger.js";
5
4
  import { cn } from "@webiny/admin-ui";
6
- export const AvatarImage = ({
7
- round,
8
- ...props
9
- }) => {
10
- return /*#__PURE__*/React.createElement("div", {
11
- className: "w-full flex-1"
12
- }, /*#__PURE__*/React.createElement("div", {
13
- className: cn(["size-[128px] mx-auto relative overflow-hidden", round && "rounded-full"])
14
- }, /*#__PURE__*/React.createElement(SingleImageUpload, Object.assign({}, props, {
15
- className: "p-0 border-none!",
16
- variant: "ghost",
17
- type: "area",
18
- renderFilePreview: ({
19
- onReplaceItem,
20
- onRemoveItem,
21
- value,
22
- disabled
23
- }) => {
24
- return /*#__PURE__*/React.createElement(AvatarImagePreview, {
25
- onReplaceItem: onReplaceItem,
26
- onRemoveItem: onRemoveItem,
27
- value: value,
28
- disabled: disabled
29
- });
30
- },
31
- renderTrigger: ({
32
- onSelectItem,
33
- disabled
34
- }) => {
35
- return /*#__PURE__*/React.createElement(AvatarImageTrigger, {
36
- disabled: disabled,
37
- onSelectItem: onSelectItem
38
- });
39
- }
40
- }))));
41
- };
5
+ import * as __rspack_external_react from "react";
6
+ const AvatarImage = ({ round, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
7
+ className: "w-full flex-1"
8
+ }, /*#__PURE__*/ __rspack_external_react.createElement("div", {
9
+ className: cn([
10
+ "size-[128px] mx-auto relative overflow-hidden",
11
+ round && "rounded-full"
12
+ ])
13
+ }, /*#__PURE__*/ __rspack_external_react.createElement(SingleImageUpload, {
14
+ ...props,
15
+ className: "p-0 border-none!",
16
+ variant: "ghost",
17
+ type: "area",
18
+ renderFilePreview: ({ onReplaceItem, onRemoveItem, value, disabled })=>/*#__PURE__*/ __rspack_external_react.createElement(AvatarImagePreview, {
19
+ onReplaceItem: onReplaceItem,
20
+ onRemoveItem: onRemoveItem,
21
+ value: value,
22
+ disabled: disabled
23
+ }),
24
+ renderTrigger: ({ onSelectItem, disabled })=>/*#__PURE__*/ __rspack_external_react.createElement(AvatarImageTrigger, {
25
+ disabled: disabled,
26
+ onSelectItem: onSelectItem
27
+ })
28
+ })));
29
+ export { AvatarImage };
42
30
 
43
31
  //# sourceMappingURL=AvatarImage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","SingleImageUpload","AvatarImagePreview","AvatarImageTrigger","cn","AvatarImage","round","props","createElement","className","Object","assign","variant","type","renderFilePreview","onReplaceItem","onRemoveItem","value","disabled","renderTrigger","onSelectItem"],"sources":["AvatarImage.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { SingleImageUploadProps } from \"@webiny/app-admin\";\nimport { SingleImageUpload } from \"@webiny/app-admin\";\nimport { AvatarImagePreview } from \"./AvatarImagePreview.js\";\nimport { AvatarImageTrigger } from \"~/admin/ui/components/AvatarImage/AvatarImageTrigger.js\";\nimport { cn } from \"@webiny/admin-ui\";\n\nexport const AvatarImage = ({ round, ...props }: SingleImageUploadProps) => {\n return (\n <div className={\"w-full flex-1\"}>\n <div\n className={cn([\n \"size-[128px] mx-auto relative overflow-hidden\",\n round && \"rounded-full\"\n ])}\n >\n <SingleImageUpload\n {...props}\n className={\"p-0 border-none!\"}\n variant={\"ghost\"}\n type={\"area\"}\n renderFilePreview={({ onReplaceItem, onRemoveItem, value, disabled }) => {\n return (\n <AvatarImagePreview\n onReplaceItem={onReplaceItem}\n onRemoveItem={onRemoveItem}\n value={value}\n disabled={disabled}\n />\n );\n }}\n renderTrigger={({ onSelectItem, disabled }) => {\n return (\n <AvatarImageTrigger disabled={disabled} onSelectItem={onSelectItem} />\n );\n }}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,EAAE,QAAQ,kBAAkB;AAErC,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAA8B,CAAC,KAAK;EACxE,oBACIP,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAE;EAAgB,gBAC5BT,KAAA,CAAAQ,aAAA;IACIC,SAAS,EAAEL,EAAE,CAAC,CACV,+CAA+C,EAC/CE,KAAK,IAAI,cAAc,CAC1B;EAAE,gBAEHN,KAAA,CAAAQ,aAAA,CAACP,iBAAiB,EAAAS,MAAA,CAAAC,MAAA,KACVJ,KAAK;IACTE,SAAS,EAAE,kBAAmB;IAC9BG,OAAO,EAAE,OAAQ;IACjBC,IAAI,EAAE,MAAO;IACbC,iBAAiB,EAAEA,CAAC;MAAEC,aAAa;MAAEC,YAAY;MAAEC,KAAK;MAAEC;IAAS,CAAC,KAAK;MACrE,oBACIlB,KAAA,CAAAQ,aAAA,CAACN,kBAAkB;QACfa,aAAa,EAAEA,aAAc;QAC7BC,YAAY,EAAEA,YAAa;QAC3BC,KAAK,EAAEA,KAAM;QACbC,QAAQ,EAAEA;MAAS,CACtB,CAAC;IAEV,CAAE;IACFC,aAAa,EAAEA,CAAC;MAAEC,YAAY;MAAEF;IAAS,CAAC,KAAK;MAC3C,oBACIlB,KAAA,CAAAQ,aAAA,CAACL,kBAAkB;QAACe,QAAQ,EAAEA,QAAS;QAACE,YAAY,EAAEA;MAAa,CAAE,CAAC;IAE9E;EAAE,EACL,CACA,CACJ,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/ui/components/AvatarImage/AvatarImage.js","sources":["../../../../../src/admin/ui/components/AvatarImage/AvatarImage.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { SingleImageUploadProps } from \"@webiny/app-admin\";\nimport { SingleImageUpload } from \"@webiny/app-admin\";\nimport { AvatarImagePreview } from \"./AvatarImagePreview.js\";\nimport { AvatarImageTrigger } from \"~/admin/ui/components/AvatarImage/AvatarImageTrigger.js\";\nimport { cn } from \"@webiny/admin-ui\";\n\nexport const AvatarImage = ({ round, ...props }: SingleImageUploadProps) => {\n return (\n <div className={\"w-full flex-1\"}>\n <div\n className={cn([\n \"size-[128px] mx-auto relative overflow-hidden\",\n round && \"rounded-full\"\n ])}\n >\n <SingleImageUpload\n {...props}\n className={\"p-0 border-none!\"}\n variant={\"ghost\"}\n type={\"area\"}\n renderFilePreview={({ onReplaceItem, onRemoveItem, value, disabled }) => {\n return (\n <AvatarImagePreview\n onReplaceItem={onReplaceItem}\n onRemoveItem={onRemoveItem}\n value={value}\n disabled={disabled}\n />\n );\n }}\n renderTrigger={({ onSelectItem, disabled }) => {\n return (\n <AvatarImageTrigger disabled={disabled} onSelectItem={onSelectItem} />\n );\n }}\n />\n </div>\n </div>\n );\n};\n"],"names":["AvatarImage","round","props","cn","SingleImageUpload","onReplaceItem","onRemoveItem","value","disabled","AvatarImagePreview","onSelectItem","AvatarImageTrigger"],"mappings":";;;;;AAOO,MAAMA,cAAc,CAAC,EAAEC,KAAK,EAAE,GAAGC,OAA+B,GAC5D,WAAP,GACI,sCAAC;QAAI,WAAW;qBACZ,sCAAC;QACG,WAAWC,GAAG;YACV;YACAF,SAAS;SACZ;qBAED,sCAACG,mBAAiBA;QACb,GAAGF,KAAK;QACT,WAAW;QACX,SAAS;QACT,MAAM;QACN,mBAAmB,CAAC,EAAEG,aAAa,EAAEC,YAAY,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GACzD,WAAP,GACI,sCAACC,oBAAkBA;gBACf,eAAeJ;gBACf,cAAcC;gBACd,OAAOC;gBACP,UAAUC;;QAItB,eAAe,CAAC,EAAEE,YAAY,EAAEF,QAAQ,EAAE,GAC/B,WAAP,GACI,sCAACG,oBAAkBA;gBAAC,UAAUH;gBAAU,cAAcE"}
@@ -1,55 +1,53 @@
1
- import React from "react";
2
- import { ReactComponent as TrashIcon } from "@webiny/icons/delete.svg";
3
- import { ReactComponent as EditIcon } from "@webiny/icons/edit.svg";
1
+ import react from "react";
2
+ import { ReactComponent } from "@webiny/icons/delete.svg";
3
+ import { ReactComponent as edit_svg_ReactComponent } from "@webiny/icons/edit.svg";
4
4
  import { Icon, IconButton, Tooltip, cn } from "@webiny/admin-ui";
5
- const AvatarImagePreview = ({
6
- value,
7
- onReplaceItem,
8
- onRemoveItem,
9
- disabled
10
- }) => {
11
- return /*#__PURE__*/React.createElement("div", {
12
- className: "w-full flex-1"
13
- }, /*#__PURE__*/React.createElement("div", {
14
- className: cn("size-[128px] mx-auto relative overflow-hidden")
15
- }, /*#__PURE__*/React.createElement("div", {
16
- className: "size-full"
17
- }, /*#__PURE__*/React.createElement("img", {
18
- src: value.url,
19
- alt: value.name,
20
- className: "object-cover size-full"
21
- })), /*#__PURE__*/React.createElement("div", {
22
- className: cn(["flex justify-center items-center gap-xs size-full", "absolute top-0 left-0", "bg-neutral-xstrong/90", "opacity-0 hover:opacity-100 transition-opacity"])
23
- }, onReplaceItem && /*#__PURE__*/React.createElement(Tooltip, {
24
- content: "Select another image",
25
- trigger: /*#__PURE__*/React.createElement(IconButton, {
26
- icon: /*#__PURE__*/React.createElement(Icon, {
27
- icon: /*#__PURE__*/React.createElement(EditIcon, null),
28
- label: "Select another image",
29
- size: "md",
30
- color: "neutral-light"
31
- }),
32
- variant: "ghost-negative",
33
- size: "sm",
34
- onClick: onReplaceItem,
35
- disabled: disabled
36
- })
37
- }), onRemoveItem && /*#__PURE__*/React.createElement(Tooltip, {
38
- content: "Remove image",
39
- trigger: /*#__PURE__*/React.createElement(IconButton, {
40
- icon: /*#__PURE__*/React.createElement(Icon, {
41
- icon: /*#__PURE__*/React.createElement(TrashIcon, null),
42
- label: "Remove",
43
- size: "md",
44
- color: "neutral-light"
45
- }),
46
- variant: "ghost-negative",
47
- size: "sm",
48
- onClick: onRemoveItem,
49
- disabled: disabled
50
- })
51
- }))));
52
- };
5
+ const AvatarImagePreview = ({ value, onReplaceItem, onRemoveItem, disabled })=>/*#__PURE__*/ react.createElement("div", {
6
+ className: "w-full flex-1"
7
+ }, /*#__PURE__*/ react.createElement("div", {
8
+ className: cn("size-[128px] mx-auto relative overflow-hidden")
9
+ }, /*#__PURE__*/ react.createElement("div", {
10
+ className: "size-full"
11
+ }, /*#__PURE__*/ react.createElement("img", {
12
+ src: value.url,
13
+ alt: value.name,
14
+ className: "object-cover size-full"
15
+ })), /*#__PURE__*/ react.createElement("div", {
16
+ className: cn([
17
+ "flex justify-center items-center gap-xs size-full",
18
+ "absolute top-0 left-0",
19
+ "bg-neutral-xstrong/90",
20
+ "opacity-0 hover:opacity-100 transition-opacity"
21
+ ])
22
+ }, onReplaceItem && /*#__PURE__*/ react.createElement(Tooltip, {
23
+ content: "Select another image",
24
+ trigger: /*#__PURE__*/ react.createElement(IconButton, {
25
+ icon: /*#__PURE__*/ react.createElement(Icon, {
26
+ icon: /*#__PURE__*/ react.createElement(edit_svg_ReactComponent, null),
27
+ label: "Select another image",
28
+ size: "md",
29
+ color: "neutral-light"
30
+ }),
31
+ variant: "ghost-negative",
32
+ size: "sm",
33
+ onClick: onReplaceItem,
34
+ disabled: disabled
35
+ })
36
+ }), onRemoveItem && /*#__PURE__*/ react.createElement(Tooltip, {
37
+ content: "Remove image",
38
+ trigger: /*#__PURE__*/ react.createElement(IconButton, {
39
+ icon: /*#__PURE__*/ react.createElement(Icon, {
40
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
41
+ label: "Remove",
42
+ size: "md",
43
+ color: "neutral-light"
44
+ }),
45
+ variant: "ghost-negative",
46
+ size: "sm",
47
+ onClick: onRemoveItem,
48
+ disabled: disabled
49
+ })
50
+ }))));
53
51
  export { AvatarImagePreview };
54
52
 
55
53
  //# sourceMappingURL=AvatarImagePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","TrashIcon","EditIcon","Icon","IconButton","Tooltip","cn","AvatarImagePreview","value","onReplaceItem","onRemoveItem","disabled","createElement","className","src","url","alt","name","content","trigger","icon","label","size","color","variant","onClick"],"sources":["AvatarImagePreview.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as TrashIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\n\nimport { Icon, IconButton, Tooltip, cn, type FileItemFormatted } from \"@webiny/admin-ui\";\n\ninterface AvatarImagePreviewProps {\n value: FileItemFormatted;\n onReplaceItem: any;\n onRemoveItem: any;\n disabled?: boolean;\n}\n\nconst AvatarImagePreview = ({\n value,\n onReplaceItem,\n onRemoveItem,\n disabled\n}: AvatarImagePreviewProps) => {\n return (\n <div className={\"w-full flex-1\"}>\n <div className={cn(\"size-[128px] mx-auto relative overflow-hidden\")}>\n <div className={\"size-full\"}>\n <img src={value.url} alt={value.name} className={\"object-cover size-full\"} />\n </div>\n <div\n className={cn([\n \"flex justify-center items-center gap-xs size-full\",\n \"absolute top-0 left-0\",\n \"bg-neutral-xstrong/90\",\n \"opacity-0 hover:opacity-100 transition-opacity\"\n ])}\n >\n {onReplaceItem && (\n <Tooltip\n content={\"Select another image\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<EditIcon />}\n label={\"Select another image\"}\n size={\"md\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"sm\"}\n onClick={onReplaceItem}\n disabled={disabled}\n />\n }\n ></Tooltip>\n )}\n {onRemoveItem && (\n <Tooltip\n content={\"Remove image\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<TrashIcon />}\n label={\"Remove\"}\n size={\"md\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"sm\"}\n onClick={onRemoveItem}\n disabled={disabled}\n />\n }\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport { AvatarImagePreview, type AvatarImagePreviewProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,SAAS,QAAQ,0BAA0B;AACtE,SAASD,cAAc,IAAIE,QAAQ,QAAQ,wBAAwB;AAEnE,SAASC,IAAI,EAAEC,UAAU,EAAEC,OAAO,EAAEC,EAAE,QAAgC,kBAAkB;AASxF,MAAMC,kBAAkB,GAAGA,CAAC;EACxBC,KAAK;EACLC,aAAa;EACbC,YAAY;EACZC;AACqB,CAAC,KAAK;EAC3B,oBACIZ,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAE;EAAgB,gBAC5Bd,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAEP,EAAE,CAAC,+CAA+C;EAAE,gBAChEP,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAE;EAAY,gBACxBd,KAAA,CAAAa,aAAA;IAAKE,GAAG,EAAEN,KAAK,CAACO,GAAI;IAACC,GAAG,EAAER,KAAK,CAACS,IAAK;IAACJ,SAAS,EAAE;EAAyB,CAAE,CAC3E,CAAC,eACNd,KAAA,CAAAa,aAAA;IACIC,SAAS,EAAEP,EAAE,CAAC,CACV,mDAAmD,EACnD,uBAAuB,EACvB,uBAAuB,EACvB,gDAAgD,CACnD;EAAE,GAEFG,aAAa,iBACVV,KAAA,CAAAa,aAAA,CAACP,OAAO;IACJa,OAAO,EAAE,sBAAuB;IAChCC,OAAO,eACHpB,KAAA,CAAAa,aAAA,CAACR,UAAU;MACPgB,IAAI,eACArB,KAAA,CAAAa,aAAA,CAACT,IAAI;QACDiB,IAAI,eAAErB,KAAA,CAAAa,aAAA,CAACV,QAAQ,MAAE,CAAE;QACnBmB,KAAK,EAAE,sBAAuB;QAC9BC,IAAI,EAAE,IAAK;QACXC,KAAK,EAAE;MAAgB,CAC1B,CACJ;MACDC,OAAO,EAAE,gBAAiB;MAC1BF,IAAI,EAAE,IAAK;MACXG,OAAO,EAAEhB,aAAc;MACvBE,QAAQ,EAAEA;IAAS,CACtB;EACJ,CACK,CACb,EACAD,YAAY,iBACTX,KAAA,CAAAa,aAAA,CAACP,OAAO;IACJa,OAAO,EAAE,cAAe;IACxBC,OAAO,eACHpB,KAAA,CAAAa,aAAA,CAACR,UAAU;MACPgB,IAAI,eACArB,KAAA,CAAAa,aAAA,CAACT,IAAI;QACDiB,IAAI,eAAErB,KAAA,CAAAa,aAAA,CAACX,SAAS,MAAE,CAAE;QACpBoB,KAAK,EAAE,QAAS;QAChBC,IAAI,EAAE,IAAK;QACXC,KAAK,EAAE;MAAgB,CAC1B,CACJ;MACDC,OAAO,EAAE,gBAAiB;MAC1BF,IAAI,EAAE,IAAK;MACXG,OAAO,EAAEf,YAAa;MACtBC,QAAQ,EAAEA;IAAS,CACtB;EACJ,CACJ,CAEJ,CACJ,CACJ,CAAC;AAEd,CAAC;AAED,SAASJ,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"admin/ui/components/AvatarImage/AvatarImagePreview.js","sources":["../../../../../src/admin/ui/components/AvatarImage/AvatarImagePreview.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as TrashIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\n\nimport { Icon, IconButton, Tooltip, cn, type FileItemFormatted } from \"@webiny/admin-ui\";\n\ninterface AvatarImagePreviewProps {\n value: FileItemFormatted;\n onReplaceItem: any;\n onRemoveItem: any;\n disabled?: boolean;\n}\n\nconst AvatarImagePreview = ({\n value,\n onReplaceItem,\n onRemoveItem,\n disabled\n}: AvatarImagePreviewProps) => {\n return (\n <div className={\"w-full flex-1\"}>\n <div className={cn(\"size-[128px] mx-auto relative overflow-hidden\")}>\n <div className={\"size-full\"}>\n <img src={value.url} alt={value.name} className={\"object-cover size-full\"} />\n </div>\n <div\n className={cn([\n \"flex justify-center items-center gap-xs size-full\",\n \"absolute top-0 left-0\",\n \"bg-neutral-xstrong/90\",\n \"opacity-0 hover:opacity-100 transition-opacity\"\n ])}\n >\n {onReplaceItem && (\n <Tooltip\n content={\"Select another image\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<EditIcon />}\n label={\"Select another image\"}\n size={\"md\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"sm\"}\n onClick={onReplaceItem}\n disabled={disabled}\n />\n }\n ></Tooltip>\n )}\n {onRemoveItem && (\n <Tooltip\n content={\"Remove image\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<TrashIcon />}\n label={\"Remove\"}\n size={\"md\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"sm\"}\n onClick={onRemoveItem}\n disabled={disabled}\n />\n }\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport { AvatarImagePreview, type AvatarImagePreviewProps };\n"],"names":["AvatarImagePreview","value","onReplaceItem","onRemoveItem","disabled","cn","Tooltip","IconButton","Icon","EditIcon","TrashIcon"],"mappings":";;;;AAaA,MAAMA,qBAAqB,CAAC,EACxBC,KAAK,EACLC,aAAa,EACbC,YAAY,EACZC,QAAQ,EACc,GACf,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QAAI,WAAWC,GAAG;qBACf,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QAAI,KAAKJ,MAAM,GAAG;QAAE,KAAKA,MAAM,IAAI;QAAE,WAAW;uBAErD,oBAAC;QACG,WAAWI,GAAG;YACV;YACA;YACA;YACA;SACH;OAEAH,iBAAiB,WAAjBA,GACG,oBAACI,SAAOA;QACJ,SAAS;QACT,uBACI,oBAACC,YAAUA;YACP,oBACI,oBAACC,MAAIA;gBACD,oBAAM,oBAACC,yBAAQA;gBACf,OAAO;gBACP,MAAM;gBACN,OAAO;;YAGf,SAAS;YACT,MAAM;YACN,SAASP;YACT,UAAUE;;QAKzBD,gBAAgB,WAAhBA,GACG,oBAACG,SAAOA;QACJ,SAAS;QACT,uBACI,oBAACC,YAAUA;YACP,oBACI,oBAACC,MAAIA;gBACD,oBAAM,oBAACE,gBAASA;gBAChB,OAAO;gBACP,MAAM;gBACN,OAAO;;YAGf,SAAS;YACT,MAAM;YACN,SAASP;YACT,UAAUC"}
@@ -1,29 +1,28 @@
1
- import React from "react";
2
- import { ReactComponent as ImageIcon } from "@webiny/icons/image.svg";
3
- import { cn, Icon, IconButton, Tooltip } from "@webiny/admin-ui";
4
- const AvatarImageTrigger = ({
5
- onSelectItem,
6
- disabled
7
- }) => {
8
- return /*#__PURE__*/React.createElement("div", {
9
- "data-role": "select-image",
10
- className: cn(["size-[128px]", "flex justify-center items-center gap-xs", "bg-neutral-strong"])
11
- }, /*#__PURE__*/React.createElement(Tooltip, {
12
- content: "Select from library",
13
- trigger: /*#__PURE__*/React.createElement(IconButton, {
14
- icon: /*#__PURE__*/React.createElement(Icon, {
15
- icon: /*#__PURE__*/React.createElement(ImageIcon, null),
16
- label: "Select from library",
17
- size: "lg",
18
- color: "neutral-light"
19
- }),
20
- variant: "ghost-negative",
21
- size: "lg",
22
- onClick: onSelectItem,
23
- disabled: disabled
24
- })
25
- }));
26
- };
1
+ import react from "react";
2
+ import { ReactComponent } from "@webiny/icons/image.svg";
3
+ import { Icon, IconButton, Tooltip, cn } from "@webiny/admin-ui";
4
+ const AvatarImageTrigger = ({ onSelectItem, disabled })=>/*#__PURE__*/ react.createElement("div", {
5
+ "data-role": "select-image",
6
+ className: cn([
7
+ "size-[128px]",
8
+ "flex justify-center items-center gap-xs",
9
+ "bg-neutral-strong"
10
+ ])
11
+ }, /*#__PURE__*/ react.createElement(Tooltip, {
12
+ content: "Select from library",
13
+ trigger: /*#__PURE__*/ react.createElement(IconButton, {
14
+ icon: /*#__PURE__*/ react.createElement(Icon, {
15
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
16
+ label: "Select from library",
17
+ size: "lg",
18
+ color: "neutral-light"
19
+ }),
20
+ variant: "ghost-negative",
21
+ size: "lg",
22
+ onClick: onSelectItem,
23
+ disabled: disabled
24
+ })
25
+ }));
27
26
  export { AvatarImageTrigger };
28
27
 
29
28
  //# sourceMappingURL=AvatarImageTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","ImageIcon","cn","Icon","IconButton","Tooltip","AvatarImageTrigger","onSelectItem","disabled","createElement","className","content","trigger","icon","label","size","color","variant","onClick"],"sources":["AvatarImageTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ImageIcon } from \"@webiny/icons/image.svg\";\nimport { cn, Icon, IconButton, Tooltip } from \"@webiny/admin-ui\";\n\ninterface AvatarImageTriggerProps {\n onSelectItem: () => void;\n disabled?: boolean;\n}\n\nconst AvatarImageTrigger = ({ onSelectItem, disabled }: AvatarImageTriggerProps) => {\n return (\n <div\n data-role={\"select-image\"}\n className={cn([\n \"size-[128px]\",\n \"flex justify-center items-center gap-xs\",\n \"bg-neutral-strong\"\n ])}\n >\n <Tooltip\n content={\"Select from library\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<ImageIcon />}\n label={\"Select from library\"}\n size={\"lg\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"lg\"}\n onClick={onSelectItem}\n disabled={disabled}\n />\n }\n />\n </div>\n );\n};\n\nexport { AvatarImageTrigger };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,SAAS,QAAQ,yBAAyB;AACrE,SAASC,EAAE,EAAEC,IAAI,EAAEC,UAAU,EAAEC,OAAO,QAAQ,kBAAkB;AAOhE,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC,YAAY;EAAEC;AAAkC,CAAC,KAAK;EAChF,oBACIT,KAAA,CAAAU,aAAA;IACI,aAAW,cAAe;IAC1BC,SAAS,EAAER,EAAE,CAAC,CACV,cAAc,EACd,yCAAyC,EACzC,mBAAmB,CACtB;EAAE,gBAEHH,KAAA,CAAAU,aAAA,CAACJ,OAAO;IACJM,OAAO,EAAE,qBAAsB;IAC/BC,OAAO,eACHb,KAAA,CAAAU,aAAA,CAACL,UAAU;MACPS,IAAI,eACAd,KAAA,CAAAU,aAAA,CAACN,IAAI;QACDU,IAAI,eAAEd,KAAA,CAAAU,aAAA,CAACR,SAAS,MAAE,CAAE;QACpBa,KAAK,EAAE,qBAAsB;QAC7BC,IAAI,EAAE,IAAK;QACXC,KAAK,EAAE;MAAgB,CAC1B,CACJ;MACDC,OAAO,EAAE,gBAAiB;MAC1BF,IAAI,EAAE,IAAK;MACXG,OAAO,EAAEX,YAAa;MACtBC,QAAQ,EAAEA;IAAS,CACtB;EACJ,CACJ,CACA,CAAC;AAEd,CAAC;AAED,SAASF,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"admin/ui/components/AvatarImage/AvatarImageTrigger.js","sources":["../../../../../src/admin/ui/components/AvatarImage/AvatarImageTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ImageIcon } from \"@webiny/icons/image.svg\";\nimport { cn, Icon, IconButton, Tooltip } from \"@webiny/admin-ui\";\n\ninterface AvatarImageTriggerProps {\n onSelectItem: () => void;\n disabled?: boolean;\n}\n\nconst AvatarImageTrigger = ({ onSelectItem, disabled }: AvatarImageTriggerProps) => {\n return (\n <div\n data-role={\"select-image\"}\n className={cn([\n \"size-[128px]\",\n \"flex justify-center items-center gap-xs\",\n \"bg-neutral-strong\"\n ])}\n >\n <Tooltip\n content={\"Select from library\"}\n trigger={\n <IconButton\n icon={\n <Icon\n icon={<ImageIcon />}\n label={\"Select from library\"}\n size={\"lg\"}\n color={\"neutral-light\"}\n />\n }\n variant={\"ghost-negative\"}\n size={\"lg\"}\n onClick={onSelectItem}\n disabled={disabled}\n />\n }\n />\n </div>\n );\n};\n\nexport { AvatarImageTrigger };\n"],"names":["AvatarImageTrigger","onSelectItem","disabled","cn","Tooltip","IconButton","Icon","ImageIcon"],"mappings":";;;AASA,MAAMA,qBAAqB,CAAC,EAAEC,YAAY,EAAEC,QAAQ,EAA2B,GACpE,WAAP,GACI,oBAAC;QACG,aAAW;QACX,WAAWC,GAAG;YACV;YACA;YACA;SACH;qBAED,oBAACC,SAAOA;QACJ,SAAS;QACT,uBACI,oBAACC,YAAUA;YACP,oBACI,oBAACC,MAAIA;gBACD,oBAAM,oBAACC,gBAASA;gBAChB,OAAO;gBACP,MAAM;gBACN,OAAO;;YAGf,SAAS;YACT,MAAM;YACN,SAASN;YACT,UAAUC"}
@@ -1,3 +1 @@
1
1
  export * from "./AvatarImage.js";
2
-
3
- //# sourceMappingURL=index.js.map