@amp-labs/react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +138 -0
  3. package/build/generated-sources/api/src/apis/DefaultApi.d.ts +858 -0
  4. package/build/generated-sources/api/src/apis/DefaultApi.js +942 -0
  5. package/build/generated-sources/api/src/apis/index.d.ts +1 -0
  6. package/build/generated-sources/api/src/apis/index.js +19 -0
  7. package/build/generated-sources/api/src/index.d.ts +3 -0
  8. package/build/generated-sources/api/src/index.js +21 -0
  9. package/build/generated-sources/api/src/models/BaseConfigContent.d.ts +38 -0
  10. package/build/generated-sources/api/src/models/BaseConfigContent.js +53 -0
  11. package/build/generated-sources/api/src/models/BaseReadConfig.d.ts +34 -0
  12. package/build/generated-sources/api/src/models/BaseReadConfig.js +51 -0
  13. package/build/generated-sources/api/src/models/BaseReadConfigStandardObject.d.ts +59 -0
  14. package/build/generated-sources/api/src/models/BaseReadConfigStandardObject.js +58 -0
  15. package/build/generated-sources/api/src/models/BatchUpsertIntegrationsRequest.d.ts +31 -0
  16. package/build/generated-sources/api/src/models/BatchUpsertIntegrationsRequest.js +50 -0
  17. package/build/generated-sources/api/src/models/Config.d.ts +56 -0
  18. package/build/generated-sources/api/src/models/Config.js +63 -0
  19. package/build/generated-sources/api/src/models/ConfigContent.d.ts +37 -0
  20. package/build/generated-sources/api/src/models/ConfigContent.js +53 -0
  21. package/build/generated-sources/api/src/models/ConfigContentAllOf.d.ts +31 -0
  22. package/build/generated-sources/api/src/models/ConfigContentAllOf.js +50 -0
  23. package/build/generated-sources/api/src/models/Connection.d.ts +82 -0
  24. package/build/generated-sources/api/src/models/Connection.js +76 -0
  25. package/build/generated-sources/api/src/models/Consumer.d.ts +55 -0
  26. package/build/generated-sources/api/src/models/Consumer.js +62 -0
  27. package/build/generated-sources/api/src/models/CreateConsumerRequest.d.ts +37 -0
  28. package/build/generated-sources/api/src/models/CreateConsumerRequest.js +53 -0
  29. package/build/generated-sources/api/src/models/CreateDestinationRequest.d.ts +44 -0
  30. package/build/generated-sources/api/src/models/CreateDestinationRequest.js +57 -0
  31. package/build/generated-sources/api/src/models/CreateDestinationRequestMetadata.d.ts +39 -0
  32. package/build/generated-sources/api/src/models/CreateDestinationRequestMetadata.js +52 -0
  33. package/build/generated-sources/api/src/models/CreateGroupRequest.d.ts +37 -0
  34. package/build/generated-sources/api/src/models/CreateGroupRequest.js +53 -0
  35. package/build/generated-sources/api/src/models/CreateInstallationRequest.d.ts +44 -0
  36. package/build/generated-sources/api/src/models/CreateInstallationRequest.js +57 -0
  37. package/build/generated-sources/api/src/models/CreateInstallationRequestConfig.d.ts +44 -0
  38. package/build/generated-sources/api/src/models/CreateInstallationRequestConfig.js +57 -0
  39. package/build/generated-sources/api/src/models/CreateIntegrationRequest.d.ts +44 -0
  40. package/build/generated-sources/api/src/models/CreateIntegrationRequest.js +57 -0
  41. package/build/generated-sources/api/src/models/CreateIntegrationRequestLatestRevision.d.ts +31 -0
  42. package/build/generated-sources/api/src/models/CreateIntegrationRequestLatestRevision.js +50 -0
  43. package/build/generated-sources/api/src/models/CreateProjectRequest.d.ts +37 -0
  44. package/build/generated-sources/api/src/models/CreateProjectRequest.js +53 -0
  45. package/build/generated-sources/api/src/models/CreateProviderAppRequest.d.ts +49 -0
  46. package/build/generated-sources/api/src/models/CreateProviderAppRequest.js +59 -0
  47. package/build/generated-sources/api/src/models/Group.d.ts +55 -0
  48. package/build/generated-sources/api/src/models/Group.js +62 -0
  49. package/build/generated-sources/api/src/models/HydratedIntegration.d.ts +50 -0
  50. package/build/generated-sources/api/src/models/HydratedIntegration.js +59 -0
  51. package/build/generated-sources/api/src/models/HydratedIntegrationField.d.ts +22 -0
  52. package/build/generated-sources/api/src/models/HydratedIntegrationField.js +45 -0
  53. package/build/generated-sources/api/src/models/HydratedIntegrationFieldExistent.d.ts +37 -0
  54. package/build/generated-sources/api/src/models/HydratedIntegrationFieldExistent.js +53 -0
  55. package/build/generated-sources/api/src/models/HydratedIntegrationObject.d.ts +75 -0
  56. package/build/generated-sources/api/src/models/HydratedIntegrationObject.js +70 -0
  57. package/build/generated-sources/api/src/models/HydratedIntegrationRead.d.ts +32 -0
  58. package/build/generated-sources/api/src/models/HydratedIntegrationRead.js +51 -0
  59. package/build/generated-sources/api/src/models/HydratedRevision.d.ts +50 -0
  60. package/build/generated-sources/api/src/models/HydratedRevision.js +60 -0
  61. package/build/generated-sources/api/src/models/ImportConnectionRequest.d.ts +85 -0
  62. package/build/generated-sources/api/src/models/ImportConnectionRequest.js +75 -0
  63. package/build/generated-sources/api/src/models/ImportInstallationRequest.d.ts +39 -0
  64. package/build/generated-sources/api/src/models/ImportInstallationRequest.js +55 -0
  65. package/build/generated-sources/api/src/models/ImportInstallationRequestConfig.d.ts +38 -0
  66. package/build/generated-sources/api/src/models/ImportInstallationRequestConfig.js +54 -0
  67. package/build/generated-sources/api/src/models/Installation.d.ts +88 -0
  68. package/build/generated-sources/api/src/models/Installation.js +79 -0
  69. package/build/generated-sources/api/src/models/Integration.d.ts +68 -0
  70. package/build/generated-sources/api/src/models/Integration.js +69 -0
  71. package/build/generated-sources/api/src/models/Integration1.d.ts +50 -0
  72. package/build/generated-sources/api/src/models/Integration1.js +59 -0
  73. package/build/generated-sources/api/src/models/IntegrationField.d.ts +22 -0
  74. package/build/generated-sources/api/src/models/IntegrationField.js +45 -0
  75. package/build/generated-sources/api/src/models/IntegrationFieldExistent.d.ts +31 -0
  76. package/build/generated-sources/api/src/models/IntegrationFieldExistent.js +50 -0
  77. package/build/generated-sources/api/src/models/IntegrationFieldMapping.d.ts +49 -0
  78. package/build/generated-sources/api/src/models/IntegrationFieldMapping.js +57 -0
  79. package/build/generated-sources/api/src/models/IntegrationObject.d.ts +63 -0
  80. package/build/generated-sources/api/src/models/IntegrationObject.js +65 -0
  81. package/build/generated-sources/api/src/models/IntegrationRead.d.ts +32 -0
  82. package/build/generated-sources/api/src/models/IntegrationRead.js +51 -0
  83. package/build/generated-sources/api/src/models/OauthConnectRequest.d.ts +73 -0
  84. package/build/generated-sources/api/src/models/OauthConnectRequest.js +70 -0
  85. package/build/generated-sources/api/src/models/Operation.d.ts +80 -0
  86. package/build/generated-sources/api/src/models/Operation.js +73 -0
  87. package/build/generated-sources/api/src/models/OperationError.d.ts +49 -0
  88. package/build/generated-sources/api/src/models/OperationError.js +56 -0
  89. package/build/generated-sources/api/src/models/OptionalFieldsAutoOption.d.ts +22 -0
  90. package/build/generated-sources/api/src/models/OptionalFieldsAutoOption.js +35 -0
  91. package/build/generated-sources/api/src/models/Project.d.ts +55 -0
  92. package/build/generated-sources/api/src/models/Project.js +62 -0
  93. package/build/generated-sources/api/src/models/ProjectMembership.d.ts +56 -0
  94. package/build/generated-sources/api/src/models/ProjectMembership.js +63 -0
  95. package/build/generated-sources/api/src/models/ProviderApp.d.ts +67 -0
  96. package/build/generated-sources/api/src/models/ProviderApp.js +67 -0
  97. package/build/generated-sources/api/src/models/Revision.d.ts +50 -0
  98. package/build/generated-sources/api/src/models/Revision.js +60 -0
  99. package/build/generated-sources/api/src/models/UpdateInstallationConfigContent.d.ts +38 -0
  100. package/build/generated-sources/api/src/models/UpdateInstallationConfigContent.js +53 -0
  101. package/build/generated-sources/api/src/models/UpdateInstallationRequest.d.ts +38 -0
  102. package/build/generated-sources/api/src/models/UpdateInstallationRequest.js +54 -0
  103. package/build/generated-sources/api/src/models/UpdateInstallationRequestInstallation.d.ts +38 -0
  104. package/build/generated-sources/api/src/models/UpdateInstallationRequestInstallation.js +53 -0
  105. package/build/generated-sources/api/src/models/UpdateInstallationRequestInstallationConfig.d.ts +44 -0
  106. package/build/generated-sources/api/src/models/UpdateInstallationRequestInstallationConfig.js +55 -0
  107. package/build/generated-sources/api/src/models/UpdateProjectRequest.d.ts +38 -0
  108. package/build/generated-sources/api/src/models/UpdateProjectRequest.js +54 -0
  109. package/build/generated-sources/api/src/models/UpdateProjectRequestProject.d.ts +37 -0
  110. package/build/generated-sources/api/src/models/UpdateProjectRequestProject.js +52 -0
  111. package/build/generated-sources/api/src/models/UpdateProviderAppRequest.d.ts +38 -0
  112. package/build/generated-sources/api/src/models/UpdateProviderAppRequest.js +54 -0
  113. package/build/generated-sources/api/src/models/UpdateProviderAppRequestProviderApp.d.ts +49 -0
  114. package/build/generated-sources/api/src/models/UpdateProviderAppRequestProviderApp.js +56 -0
  115. package/build/generated-sources/api/src/models/UpsertProjectMembershipRequest.d.ts +37 -0
  116. package/build/generated-sources/api/src/models/UpsertProjectMembershipRequest.js +53 -0
  117. package/build/generated-sources/api/src/models/index.d.ts +54 -0
  118. package/build/generated-sources/api/src/models/index.js +72 -0
  119. package/build/generated-sources/api/src/runtime.d.ts +182 -0
  120. package/build/generated-sources/api/src/runtime.js +317 -0
  121. package/build/src/assets/LoadingIcon.d.ts +5 -0
  122. package/build/src/assets/LoadingIcon.js +9 -0
  123. package/build/src/assets/NavIcon.d.ts +1 -0
  124. package/build/src/assets/NavIcon.js +23 -0
  125. package/build/src/components/AmpersandProvider/AmpersandProvider.d.ts +19 -0
  126. package/build/src/components/AmpersandProvider/AmpersandProvider.js +31 -0
  127. package/build/src/components/AmpersandProvider/index.d.ts +1 -0
  128. package/build/src/components/AmpersandProvider/index.js +17 -0
  129. package/build/src/components/CenteredTextBox/CenteredTextBox.d.ts +5 -0
  130. package/build/src/components/CenteredTextBox/CenteredTextBox.js +8 -0
  131. package/build/src/components/Configure/ConfigureInstallationBase.d.ts +8 -0
  132. package/build/src/components/Configure/ConfigureInstallationBase.js +17 -0
  133. package/build/src/components/Configure/CreateInstallation.d.ts +1 -0
  134. package/build/src/components/Configure/CreateInstallation.js +73 -0
  135. package/build/src/components/Configure/ErrorTextBox.d.ts +5 -0
  136. package/build/src/components/Configure/ErrorTextBox.js +9 -0
  137. package/build/src/components/Configure/InstallIntegration.d.ts +9 -0
  138. package/build/src/components/Configure/InstallIntegration.js +40 -0
  139. package/build/src/components/Configure/ObjectManagementNav/NavObjectItem.d.ts +8 -0
  140. package/build/src/components/Configure/ObjectManagementNav/NavObjectItem.js +14 -0
  141. package/build/src/components/Configure/ObjectManagementNav/index.d.ts +9 -0
  142. package/build/src/components/Configure/ObjectManagementNav/index.js +45 -0
  143. package/build/src/components/Configure/ProtectedConnectionLayout.d.ts +6 -0
  144. package/build/src/components/Configure/ProtectedConnectionLayout.js +28 -0
  145. package/build/src/components/Configure/UpdateInstallation.d.ts +7 -0
  146. package/build/src/components/Configure/UpdateInstallation.js +87 -0
  147. package/build/src/components/Configure/actions/onSaveCreate.d.ts +3 -0
  148. package/build/src/components/Configure/actions/onSaveCreate.js +90 -0
  149. package/build/src/components/Configure/actions/onSaveUpdate.d.ts +3 -0
  150. package/build/src/components/Configure/actions/onSaveUpdate.js +74 -0
  151. package/build/src/components/Configure/fields/FieldHeader.d.ts +5 -0
  152. package/build/src/components/Configure/fields/FieldHeader.js +9 -0
  153. package/build/src/components/Configure/fields/FieldMapping.d.ts +10 -0
  154. package/build/src/components/Configure/fields/FieldMapping.js +28 -0
  155. package/build/src/components/Configure/fields/OptionalFields.d.ts +1 -0
  156. package/build/src/components/Configure/fields/OptionalFields.js +45 -0
  157. package/build/src/components/Configure/fields/RequiredFieldMappings.d.ts +1 -0
  158. package/build/src/components/Configure/fields/RequiredFieldMappings.js +40 -0
  159. package/build/src/components/Configure/fields/RequiredFields.d.ts +1 -0
  160. package/build/src/components/Configure/fields/RequiredFields.js +27 -0
  161. package/build/src/components/Configure/index.d.ts +1 -0
  162. package/build/src/components/Configure/index.js +5 -0
  163. package/build/src/components/Configure/state/ConfigurationStateProvider.d.ts +13 -0
  164. package/build/src/components/Configure/state/ConfigurationStateProvider.js +54 -0
  165. package/build/src/components/Configure/state/HydratedRevisionContext.d.ts +14 -0
  166. package/build/src/components/Configure/state/HydratedRevisionContext.js +82 -0
  167. package/build/src/components/Configure/state/utils.d.ts +34 -0
  168. package/build/src/components/Configure/state/utils.js +146 -0
  169. package/build/src/components/Configure/types.d.ts +31 -0
  170. package/build/src/components/Configure/types.js +2 -0
  171. package/build/src/components/Configure/utils.d.ts +24 -0
  172. package/build/src/components/Configure/utils.js +82 -0
  173. package/build/src/components/OAuthPopup/OAuthPopup.d.ts +14 -0
  174. package/build/src/components/OAuthPopup/OAuthPopup.js +85 -0
  175. package/build/src/components/Salesforce/SalesforceOauthFlow.d.ts +16 -0
  176. package/build/src/components/Salesforce/SalesforceOauthFlow.js +78 -0
  177. package/build/src/components/ThemeProvider/index.d.ts +6 -0
  178. package/build/src/components/ThemeProvider/index.js +37 -0
  179. package/build/src/components/index.d.ts +2 -0
  180. package/build/src/components/index.js +18 -0
  181. package/build/src/constants.d.ts +1 -0
  182. package/build/src/constants.js +4 -0
  183. package/build/src/context/ApiKeyContext.d.ts +3 -0
  184. package/build/src/context/ApiKeyContext.js +6 -0
  185. package/build/src/context/ConnectionsContext.d.ts +16 -0
  186. package/build/src/context/ConnectionsContext.js +57 -0
  187. package/build/src/context/ErrorContextProvider.d.ts +37 -0
  188. package/build/src/context/ErrorContextProvider.js +72 -0
  189. package/build/src/context/InstallIntegrationContext.d.ts +24 -0
  190. package/build/src/context/InstallIntegrationContext.js +90 -0
  191. package/build/src/context/IntegrationListContext.d.ts +13 -0
  192. package/build/src/context/IntegrationListContext.js +48 -0
  193. package/build/src/context/ProjectContext.d.ts +15 -0
  194. package/build/src/context/ProjectContext.js +50 -0
  195. package/build/src/hooks/index.d.ts +1 -0
  196. package/build/src/hooks/index.js +17 -0
  197. package/build/src/hooks/useIsIntegrationInstalled.d.ts +6 -0
  198. package/build/src/hooks/useIsIntegrationInstalled.js +48 -0
  199. package/build/src/index.d.ts +2 -0
  200. package/build/src/index.js +18 -0
  201. package/build/src/services/api.d.ts +9 -0
  202. package/build/src/services/api.js +64 -0
  203. package/build/src/utils/index.d.ts +10 -0
  204. package/build/src/utils/index.js +21 -0
  205. package/package.json +80 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Onset Labs, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,138 @@
1
+ # Ampersand React library
2
+
3
+ ## Overview
4
+ Ampersand is a config-first platform for SaaS builders who are creating user-facing integrations, starting with Salesforce.
5
+
6
+ This repository contains the Ampersand React library, a set of React components that allow your end users to install and manage Ampersand integrations.
7
+
8
+ ## Prerequisites
9
+ - React version 18+
10
+ - Chakra 2.4.4+ (https://chakra-ui.com/getting-started)
11
+ - Chakra peer dependencies: @emotion/react, @emotion/styled, framer-motion
12
+
13
+ ## Installation
14
+
15
+ In your repo, use `npm` to install the package:
16
+
17
+ ```sh
18
+ npm install @amp-labs/react
19
+ ```
20
+
21
+ If you do not have Chakra installed you may need to install chakra and it's dependencies
22
+
23
+ ```
24
+ npm i @chakra-ui/react @emotion/react @emotion/styled framer-motion
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ This library requires your application to be wrapped in the `<AmpersandProvider/>` context.
30
+ `<AmpersandProvider />` takes these props:
31
+ - `apiKey`: an API key to access Ampersand services. Please contact the team to obtain a key.
32
+ - `projectId`: your project ID. Please contact the team to obtain your project ID.
33
+
34
+ Currently, we offer the following component(s):
35
+ - `<InstallIntegration>`: Leads customers through installing Salesforce connection for an integration. Prompt users to provide their Salesforce credentials and guide them through the configuration of this integration. If the user had previously provided their Salesforce credentials already, this component will skip to the configuration step directly.
36
+
37
+
38
+ This library was created with [Chakra UI](https://chakra-ui.com/).
39
+
40
+ ```
41
+
42
+ Here's a full example
43
+ :
44
+ ```tsx
45
+ import { AmpersandProvider, InstallIntegration } from '@amp-labs/react';
46
+ import { Routes, Route } from 'react-router-dom';
47
+
48
+ const options = {
49
+ projectId: 'PROJECT_ID', // Your Ampersand project ID.
50
+ apiKey: 'API_KEY',// Your Ampersand API key.
51
+ };
52
+
53
+
54
+ function App() {
55
+ // Name of the integration that you've defined in amp.yaml.
56
+ const integration = 'read-accounts-and-contacts-from-salesforce';
57
+ // The ID/REF that your app uses to identify this end user.
58
+ const consumerRef = 'CONSUMER_REF';
59
+ // The ID/REF that your app uses to identify a company, team, or workspace.
60
+ // All member of the group has access to its integrations, and only
61
+ // one member needs to install the integration.
62
+ const groupRef = 'GROUP_REF';
63
+ const groupName = 'GROUP_NAME';
64
+
65
+ return (
66
+ // Wrap your app with AmpersandProvider.
67
+ <AmpersandProvider options={options}>
68
+ <Routes>
69
+ <Route path = '/install' element =
70
+ // Connect credentials and configure integration.
71
+ {<InstallIntegration
72
+ integration={integration}
73
+ consumerName={userName}
74
+ consumerRef={consumerRef}
75
+ groupRef={groupRef}
76
+ groupName={groupName}
77
+ />}
78
+ />
79
+ </Routes>
80
+ </AmpersandProvider>
81
+ )
82
+ }
83
+ ```
84
+
85
+ ## License
86
+
87
+ This repository is licensed under the **MIT license**.
88
+
89
+ To read this license, please see [LICENSE.md](https://github.com/amp-labs/react/blob/main/LICENSE.md).
90
+
91
+
92
+ ## Local Development
93
+
94
+ ### Repo Setup
95
+ To generate the server api sdk from the swagger spec:
96
+
97
+ #### Java
98
+ java is required for sdk generation (```yarn generate-api```)
99
+
100
+ To install java on Mac
101
+ ```
102
+ brew install java
103
+ ```
104
+
105
+ Then check your installation by running
106
+
107
+ ```
108
+ java -version
109
+ ```
110
+
111
+ if you see this:
112
+
113
+ ```
114
+ The operation couldn’t be completed. Unable to locate a Java Runtime.
115
+ Please visit http://www.java.com for information on installing Java.
116
+ ```
117
+
118
+ Then you need to create a symlink for the system Java wrappers to find this JDK:
119
+
120
+ ```
121
+ sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk \
122
+ /Library/Java/JavaVirtualMachines/openjdk.jdk
123
+ ```
124
+
125
+ [https://stackoverflow.com/a/65601197](https://stackoverflow.com/a/65601197)
126
+
127
+ #### clone server repo
128
+ We need to first clone the `server` repo as a sibliing directory [https://github.com/amp-labs/server](https://github.com/amp-labs/server)
129
+ ```
130
+ - amp-labs
131
+ -- server
132
+ -- react
133
+ ```
134
+
135
+ #### to generate an updated sdk
136
+ cd into `react` directory and generate open-api from sdk
137
+
138
+ ```yarn generate-api```