@betterview/integration-toolkit 0.1.2 → 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 (67) hide show
  1. package/.eslintignore +3 -0
  2. package/package.json +9 -30
  3. package/src/Deployment/index.ts +1 -1
  4. package/src/Network/index.ts +10 -5
  5. package/src/TestHarness/index.ts +5 -15
  6. package/src/types/IEnrichmentIntegration.ts +10 -63
  7. package/tsconfig.json +2 -2
  8. package/component-harness-server/index.html +0 -11
  9. package/component-harness-server/src/App.js +0 -34
  10. package/component-harness-server/src/fonts/biotif-black-webfont.woff +0 -0
  11. package/component-harness-server/src/fonts/biotif-black-webfont.woff2 +0 -0
  12. package/component-harness-server/src/fonts/biotif-blackitalic-webfont.woff +0 -0
  13. package/component-harness-server/src/fonts/biotif-blackitalic-webfont.woff2 +0 -0
  14. package/component-harness-server/src/fonts/biotif-bold-webfont.woff +0 -0
  15. package/component-harness-server/src/fonts/biotif-bold-webfont.woff2 +0 -0
  16. package/component-harness-server/src/fonts/biotif-bolditalic-webfont.woff +0 -0
  17. package/component-harness-server/src/fonts/biotif-bolditalic-webfont.woff2 +0 -0
  18. package/component-harness-server/src/fonts/biotif-book-webfont.woff +0 -0
  19. package/component-harness-server/src/fonts/biotif-book-webfont.woff2 +0 -0
  20. package/component-harness-server/src/fonts/biotif-bookitalic-webfont.woff +0 -0
  21. package/component-harness-server/src/fonts/biotif-bookitalic-webfont.woff2 +0 -0
  22. package/component-harness-server/src/fonts/biotif-extrabold-webfont.woff +0 -0
  23. package/component-harness-server/src/fonts/biotif-extrabold-webfont.woff2 +0 -0
  24. package/component-harness-server/src/fonts/biotif-extrabolditalic-webfont.woff +0 -0
  25. package/component-harness-server/src/fonts/biotif-extrabolditalic-webfont.woff2 +0 -0
  26. package/component-harness-server/src/fonts/biotif-light-webfont.woff +0 -0
  27. package/component-harness-server/src/fonts/biotif-light-webfont.woff2 +0 -0
  28. package/component-harness-server/src/fonts/biotif-lightitalic-webfont.woff +0 -0
  29. package/component-harness-server/src/fonts/biotif-lightitalic-webfont.woff2 +0 -0
  30. package/component-harness-server/src/fonts/biotif-medium-webfont.woff +0 -0
  31. package/component-harness-server/src/fonts/biotif-medium-webfont.woff2 +0 -0
  32. package/component-harness-server/src/fonts/biotif-mediumitalic-webfont.woff +0 -0
  33. package/component-harness-server/src/fonts/biotif-mediumitalic-webfont.woff2 +0 -0
  34. package/component-harness-server/src/fonts/biotif-regular-webfont.woff +0 -0
  35. package/component-harness-server/src/fonts/biotif-regular-webfont.woff2 +0 -0
  36. package/component-harness-server/src/fonts/biotif-regularitalic-webfont.woff +0 -0
  37. package/component-harness-server/src/fonts/biotif-regularitalic-webfont.woff2 +0 -0
  38. package/component-harness-server/src/fonts/biotif-semibold-webfont.woff +0 -0
  39. package/component-harness-server/src/fonts/biotif-semibold-webfont.woff2 +0 -0
  40. package/component-harness-server/src/fonts/biotif-semibolditalic-webfont.woff +0 -0
  41. package/component-harness-server/src/fonts/biotif-semibolditalic-webfont.woff2 +0 -0
  42. package/component-harness-server/src/fonts/pensumpro-black.otf +0 -0
  43. package/component-harness-server/src/fonts/pensumpro-blackitalic.otf +0 -0
  44. package/component-harness-server/src/fonts/pensumpro-bold.otf +0 -0
  45. package/component-harness-server/src/fonts/pensumpro-bolditalic.otf +0 -0
  46. package/component-harness-server/src/fonts/pensumpro-book.otf +0 -0
  47. package/component-harness-server/src/fonts/pensumpro-bookitalic.otf +0 -0
  48. package/component-harness-server/src/fonts/pensumpro-extrabold.otf +0 -0
  49. package/component-harness-server/src/fonts/pensumpro-extrabolditalic.otf +0 -0
  50. package/component-harness-server/src/fonts/pensumpro-extralight.otf +0 -0
  51. package/component-harness-server/src/fonts/pensumpro-extralightitalic.otf +0 -0
  52. package/component-harness-server/src/fonts/pensumpro-light.otf +0 -0
  53. package/component-harness-server/src/fonts/pensumpro-lightitalic.otf +0 -0
  54. package/component-harness-server/src/fonts/pensumpro-medium.otf +0 -0
  55. package/component-harness-server/src/fonts/pensumpro-mediumitalic.otf +0 -0
  56. package/component-harness-server/src/fonts/pensumpro-regular.otf +0 -0
  57. package/component-harness-server/src/fonts/pensumpro-regularitalic.otf +0 -0
  58. package/component-harness-server/src/fonts/pensumpro-thin.otf +0 -0
  59. package/component-harness-server/src/fonts/pensumpro-thinitalic.otf +0 -0
  60. package/component-harness-server/src/index.js +0 -5
  61. package/component-harness-server/src/styles/betterview.styl +0 -34
  62. package/component-harness-server/src/styles/fonts.styl +0 -208
  63. package/component-harness-server/src/styles/mixins.styl +0 -23
  64. package/component-harness-server/src/styles/reset.styl +0 -28
  65. package/component-harness-server/src/styles/vars.styl +0 -77
  66. package/component-harness-server/src/styles.styl +0 -29
  67. package/src/ComponentHarness/index.ts +0 -93
package/.eslintignore CHANGED
@@ -6,3 +6,6 @@ scripts/**
6
6
  **/*runner.*
7
7
  coverage/**
8
8
  **/TestHarness/**
9
+ src/__mocks__/**
10
+ node_modules/**
11
+ package-lock.json
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@betterview/integration-toolkit",
3
- "version": "0.1.2",
4
- "description": "Supports integration packages. This should be the only import from our integrations",
3
+ "version": "1.0.0",
4
+ "description": "Supports integration packages. This should be the only import from our integrations",
5
5
  "scripts": {
6
6
  "build": "rm -rf lib && npm run lint && tsc -p tsconfig.build.json",
7
7
  "lint": "eslint . --ext .ts,.js",
@@ -15,49 +15,28 @@
15
15
  "author": "",
16
16
  "license": "UNLICENSED",
17
17
  "dependencies": {
18
- "@material-ui/core": "^4.12.3",
19
- "async": "^2.6.3",
20
- "axios": "^0.21.1",
21
- "classnames": "^2.3.1",
22
- "css-loader": "^6.2.0",
18
+ "async": "^3.2.1",
19
+ "axios": "0.21.1",
23
20
  "fs-extra": "^10.0.0",
24
- "json-colorizer": "^2.2.2",
25
- "react": "^17.0.2",
26
- "react-dom": "^17.0.2",
27
- "style-loader": "^3.2.1",
28
- "stylus": "^0.54.8",
29
- "stylus-loader": "^6.1.0"
21
+ "json-colorizer": "2.2.2"
30
22
  },
31
23
  "devDependencies": {
32
- "@babel/core": "^7.15.0",
33
- "@babel/preset-env": "^7.15.0",
34
- "@babel/preset-react": "^7.14.5",
35
- "@types/jest": "26.0.24",
36
- "@types/webpack": "^4.41.30",
37
- "@types/webpack-dev-server": "^4.0.3",
38
24
  "@typescript-eslint/eslint-plugin": "4.26.1",
39
25
  "@typescript-eslint/eslint-plugin-tslint": "4.26.1",
40
26
  "@typescript-eslint/parser": "4.26.1",
41
- "babel-eslint": "^10.1.0",
42
- "babel-loader": "^8.2.2",
43
- "eslint": "^7.22.0",
27
+ "babel-eslint": "10.1.0",
28
+ "eslint": "7.22.0",
44
29
  "eslint-config-prettier": "6.10.1",
45
- "eslint-plugin-import": "^2.22.1",
30
+ "eslint-plugin-import": "2.22.1",
46
31
  "eslint-plugin-jsdoc": "30.7.13",
47
32
  "eslint-plugin-prefer-arrow": "1.2.3",
48
33
  "eslint-plugin-prettier": "3.3.1",
49
34
  "eslint-plugin-react": "7.22.0",
50
35
  "eslint-plugin-sonarjs": "0.6.0",
51
- "html-webpack-plugin": "^5.3.2",
52
36
  "jest": "26.6.3",
53
37
  "ts-jest": "26.5.5",
54
38
  "ts-node": "8.8.2",
55
- "tslint": "^6.1.3",
56
- "tslint-config-prettier": "1.18.0",
57
- "typescript": "4.3.2",
58
- "webpack": "^5.51.1",
59
- "webpack-cli": "^4.8.0",
60
- "webpack-dev-server": "^4.0.0"
39
+ "typescript": "4.3.2"
61
40
  },
62
41
  "engines": {
63
42
  "node": "^10 || ^14"
@@ -14,7 +14,7 @@ export function generateDatabaseScripts(
14
14
  integration: IEnrichmentIntegration,
15
15
  billingProviderId: number
16
16
  ): PartnerHubInstallScripts {
17
- const { offering, partner } = integration.registration;
17
+ const { offering, partner } = { offering: 'foo', partner: 'bar' }; // this will come from the manifest file
18
18
  const intName = `${partner.toLowerCase()}_${offering.toLowerCase()}`;
19
19
 
20
20
  const ph_create = `
@@ -1,14 +1,19 @@
1
- import { IWrapResult, wrap } from './axios-error-handling';
2
1
  import axios, { AxiosRequestConfig } from 'axios';
2
+ import { IWrapResult, wrap } from './axios-error-handling';
3
3
 
4
- export async function get(url: string, config: AxiosRequestConfig): Promise<IWrapResult<Record<string, any>>> {
5
- return wrap(axios.get<Record<string, any>>(url, config));
4
+ export async function get(
5
+ url: string,
6
+ config: AxiosRequestConfig
7
+ ): Promise<{ request_url: string; result: IWrapResult<Record<string, any>> }> {
8
+ const result = await wrap(axios.get<Record<string, any>>(url, config));
9
+ return { request_url: url, result };
6
10
  }
7
11
 
8
12
  export async function post(
9
13
  url: string,
10
14
  data: any,
11
15
  config: AxiosRequestConfig
12
- ): Promise<IWrapResult<Record<string, any>>> {
13
- return wrap(axios.post<Record<string, any>>(url, data, config));
16
+ ): Promise<{ request_url: string; result: IWrapResult<Record<string, any>> }> {
17
+ const result = await wrap(axios.post<Record<string, any>>(url, data, config));
18
+ return { request_url: url, result };
14
19
  }
@@ -10,36 +10,26 @@ export default class TestHarness {
10
10
  this.requestData = requestData;
11
11
  }
12
12
 
13
- public async runGetData(): Promise<Record<string, any>> {
13
+ public async runGetData(): Promise<Record<string, any> | undefined> {
14
14
  if (!this.requestData) {
15
15
  this.setMockRequestData();
16
16
  }
17
- console.log('URL: ', this.integration.getUrl());
18
17
  console.log('Request data set to: ', jsonLog(this.requestData));
19
- const result = await this.integration.getData(this.requestData!);
20
- console.log(
21
- `Result from ${this.integration.registration.partner}_${this.integration.registration.offering}:`,
22
- jsonLog(result)
23
- );
18
+ const result = await this.integration.getData?.(this.requestData!);
19
+ console.log(`Result:`, jsonLog(result));
24
20
  return result;
25
21
  }
26
22
 
27
- public runGetUrl() {
28
- this.integration.getUrl();
29
- }
30
-
31
23
  public setMockRequestData() {
32
24
  this.requestData = {
33
- propertyId: 12345,
34
- address: '100 Pringle Ave. Walnut Creek, CA 94596',
25
+ full_address: '100 Pringle Ave. Walnut Creek, CA 94596',
35
26
  street: '100 Pringle Ave.',
36
27
  city: 'Walnut Creek',
37
28
  zip: '94596',
38
29
  state: 'CA',
39
30
  // fill this w/the true credentials from the offering
40
- partnerhubCredentials: { username: 'test', password: 'test' },
31
+ credentials: { username: 'test', password: 'test' },
41
32
  externalId: 'external1',
42
- secondaryExternalId: 'external2',
43
33
  insuredName: 'Jane Doe',
44
34
  latitude: 37.90820797421544,
45
35
  longitude: -122.067761097756
@@ -1,73 +1,20 @@
1
1
  export interface IEnrichmentIntegration {
2
- version: string;
3
-
4
- /**
5
- * The integration name registred with the database
6
- */
7
- registration: EnrichmentIntegrationRegistration;
8
-
9
- /**
10
- * Where in the workflow the integration should be run: Pre - normal location - before detections,
11
- * Post - after detections, Adhoc, out of band, no need to run in a normal way.
12
- */
13
- workflowLocation: EnrichmentIntegrationWorkflowLocation;
14
-
15
- /**
16
- * Should be used for the integration into the UI. If one integration is needed for another
17
- * this is where we would reference that.
18
- */
19
- dependencies?: EnrichmentIntegrationRegistration[];
20
-
21
- /**
22
- * Data requirements is a defintion of what data is needed to send to the vendor to get data back.
23
- */
24
- dataRequirements?: EnrichmentIntegrationDataRequirement[];
25
-
26
2
  /**
27
3
  * Pulls data from the vendor and returns the data graph in JSON format.
28
4
  */
29
- getData(requestData: IEnrichmentIntegrationRequestData): Promise<Record<string, any>>;
30
-
31
- /**
32
- * retrieves the base URL for the integration.
33
- */
34
- getUrl(): string;
5
+ getData?(requestData: IEnrichmentIntegrationRequestData): Promise<Record<string, any>>;
35
6
  }
36
7
 
37
- export type EnrichmentIntegrationRegistration = {
38
- id?: number;
39
- billing_id?: number;
40
- partner: string;
41
- offering: string;
42
- };
43
-
44
- export type EnrichmentIntegrationWorkflowLocation = 'Pre' | 'Post' | 'Adhoc';
45
-
46
- export type EnrichmentIntegrationDataRequirement =
47
- | 'partnerHubCredentials'
48
- | 'propertyId'
49
- | 'address'
50
- | 'street'
51
- | 'city'
52
- | 'zip'
53
- | 'state'
54
- | 'externalId'
55
- | 'secondaryExternalId'
56
- | 'latitude'
57
- | 'longitude'
58
- | 'insuredName';
59
-
60
8
  export interface IEnrichmentIntegrationRequestData {
61
- partnerhubCredentials: Record<any, string>;
62
- propertyId?: number | null;
63
- address: string;
64
- street: string;
65
- city: string;
66
- state: string;
67
- zip: string;
9
+ credentials: Record<any, string>;
10
+ full_address?: string;
11
+ street?: string;
12
+ city?: string;
13
+ state?: string;
14
+ zip?: string;
68
15
  externalId?: string | null;
69
- secondaryExternalId?: string | null;
70
- latitude: number;
71
- longitude: number;
16
+ latitude?: number;
17
+ longitude?: number;
72
18
  insuredName?: string | null;
19
+ clientOrgId?: number;
73
20
  }
package/tsconfig.json CHANGED
@@ -5,10 +5,10 @@
5
5
  "declarationMap": true,
6
6
  "esModuleInterop": true,
7
7
  "skipLibCheck": true,
8
- "target": "ES2017",
8
+ "target": "ES2020",
9
9
  "module": "commonjs",
10
10
  "moduleResolution": "node",
11
- "outDir": "tmp",
11
+ "outDir": "lib",
12
12
  "rootDir": "src",
13
13
  "sourceMap": true,
14
14
  "allowJs": true,
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Component Harness</title>
7
- </head>
8
- <body>
9
- <div id="app"></div>
10
- </body>
11
- </html>
@@ -1,34 +0,0 @@
1
- import React, { useState } from 'main/react';
2
- import { EnrichmentComponent } from 'components';
3
- import { Typography, FormGroup, FormControlLabel, Switch } from 'main/@material-ui/core';
4
- import styles from './styles.styl';
5
- import classnames from 'classnames';
6
-
7
- const App = () => {
8
- const [showBorderChecked, setShowBorderChecked] = useState(true);
9
- const toggleBorderChecked = () => {
10
- setShowBorderChecked(!showBorderChecked);
11
- };
12
-
13
- return (
14
- <div className={styles.root}>
15
- <Typography variant="h4">Component Harness</Typography>
16
-
17
- <div className={styles.contentWrapper}>
18
- <FormGroup>
19
- <FormControlLabel
20
- control={<Switch size="small" checked={showBorderChecked} onChange={toggleBorderChecked} />}
21
- label="Show Border"
22
- />
23
- </FormGroup>
24
- <div
25
- className={classnames([styles.componentContainer, showBorderChecked ? styles.showBorder : styles.hideBorder])}
26
- >
27
- <EnrichmentComponent previewMode={true} />
28
- </div>
29
- </div>
30
- </div>
31
- );
32
- };
33
-
34
- export default App;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import ReactDom from 'react-dom';
3
- import App from './App';
4
-
5
- ReactDom.render(<App />, document.getElementById('app'));
@@ -1,34 +0,0 @@
1
- @import './reset.styl'
2
- @import './fonts.styl'
3
- @import './vars.styl'
4
-
5
- html
6
- font-size: 62.5% // allows for rems - see http://snook.ca/archives/html_and_css/font-size-with-rem. tl;dr: it equals 10px with a standard default of 12px.
7
-
8
- body
9
- font-size: 1.4rem
10
- font-family: $primaryFont
11
- font-weight: 400
12
- color: $black
13
- cursor: default
14
- background: #f7f7f7
15
-
16
- button
17
- font-family: $primaryFont
18
-
19
- a
20
- $linkColor = #0fa3e1
21
- text-decoration: none
22
- color: $linkColor
23
-
24
- &:visited
25
- color: $linkColor
26
-
27
- &:hover
28
- color: $betterviewBlue
29
-
30
- textarea
31
- input
32
- outline: none
33
-
34
-
@@ -1,208 +0,0 @@
1
- @font-face
2
- font-family: 'Biotif'
3
- src: url('../fonts/biotif-black-webfont.woff2') format('woff2'),
4
- url('../fonts/biotif-black-webfont.woff') format('woff')
5
- font-weight: 900
6
- font-style: normal
7
-
8
- @font-face
9
- font-family: 'Biotif'
10
- src: url('../fonts/biotif-blackitalic-webfont.woff2') format('woff2'),
11
- url('../fonts/biotif-blackitalic-webfont.woff') format('woff')
12
- font-weight: 900
13
- font-style: italic
14
-
15
- @font-face
16
- font-family: 'Biotif'
17
- src: url('../fonts/biotif-bold-webfont.woff2') format('woff2'),
18
- url('../fonts/biotif-bold-webfont.woff') format('woff')
19
- font-weight: 700
20
- font-style: normal
21
-
22
- @font-face
23
- font-family: 'Biotif'
24
- src: url('../fonts/biotif-bolditalic-webfont.woff2') format('woff2'),
25
- url('../fonts/biotif-bolditalic-webfont.woff') format('woff')
26
- font-weight: 700
27
- font-style: italic
28
-
29
- @font-face
30
- font-family: 'Biotif'
31
- src: url('../fonts/biotif-book-webfont.woff2') format('woff2'),
32
- url('../fonts/biotif-book-webfont.woff') format('woff')
33
- font-weight: 300
34
- font-style: normal
35
-
36
- @font-face
37
- font-family: 'Biotif'
38
- src: url('../fonts/biotif-bookitalic-webfont.woff2') format('woff2'),
39
- url('../fonts/biotif-bookitalic-webfont.woff') format('woff')
40
- font-weight: 300
41
- font-style: italic
42
-
43
- @font-face
44
- font-family: 'Biotif'
45
- src: url('../fonts/biotif-extrabold-webfont.woff2') format('woff2'),
46
- url('../fonts/biotif-extrabold-webfont.woff') format('woff')
47
- font-weight: 800
48
- font-style: normal
49
-
50
- @font-face
51
- font-family: 'Biotif'
52
- src: url('../fonts/biotif-extrabolditalic-webfont.woff2') format('woff2'),
53
- url('../fonts/biotif-extrabolditalic-webfont.woff') format('woff')
54
- font-weight: 800
55
- font-style: italic
56
-
57
- @font-face
58
- font-family: 'Biotif'
59
- src: url('../fonts/biotif-light-webfont.woff2') format('woff2'),
60
- url('../fonts/biotif-light-webfont.woff') format('woff')
61
- font-weight: 200
62
- font-style: normal
63
-
64
- @font-face
65
- font-family: 'Biotif'
66
- src: url('../fonts/biotif-lightitalic-webfont.woff2') format('woff2'),
67
- url('../fonts/biotif-lightitalic-webfont.woff') format('woff')
68
- font-weight: 200
69
- font-style: italic
70
-
71
- @font-face
72
- font-family: 'Biotif'
73
- src: url('../fonts/biotif-medium-webfont.woff2') format('woff2'),
74
- url('../fonts/biotif-medium-webfont.woff') format('woff')
75
- font-weight: 500
76
- font-style: normal
77
-
78
- @font-face
79
- font-family: 'Biotif'
80
- src: url('../fonts/biotif-mediumitalic-webfont.woff2') format('woff2'),
81
- url('../fonts/biotif-mediumitalic-webfont.woff') format('woff')
82
- font-weight: 500
83
- font-style: italic
84
-
85
- @font-face
86
- font-family: 'Biotif'
87
- src: url('../fonts/biotif-regular-webfont.woff2') format('woff2'),
88
- url('../fonts/biotif-regular-webfont.woff') format('woff')
89
- font-weight: 400
90
- font-style: normal
91
-
92
-
93
- @font-face
94
- font-family: 'Biotif'
95
- src: url('../fonts/biotif-regularitalic-webfont.woff2') format('woff2'),
96
- url('../fonts/biotif-regularitalic-webfont.woff') format('woff')
97
- font-weight: 400
98
- font-style: italic
99
-
100
- @font-face
101
- font-family: 'Biotif'
102
- src: url('../fonts/biotif-semibold-webfont.woff2') format('woff2'),
103
- url('../fonts/biotif-semibold-webfont.woff') format('woff')
104
- font-weight: 600
105
- font-style: normal
106
-
107
- @font-face
108
- font-family: 'Biotif'
109
- src: url('../fonts/biotif-semibolditalic-webfont.woff2') format('woff2'),
110
- url('../fonts/biotif-semibolditalic-webfont.woff') format('woff')
111
- font-weight: 600
112
- font-style: italic
113
-
114
- @font-face
115
- font-family: 'Pensum Pro'
116
- src: url('../fonts/pensumpro-black.otf') format('opentype')
117
- font-weight: 900
118
- font-style: normal
119
-
120
- @font-face
121
- font-family: 'Pensum Pro'
122
- src: url('../fonts/pensumpro-blackitalic.otf') format('opentype')
123
- font-weight: 900
124
- font-style: italic
125
-
126
- @font-face
127
- font-family: 'Pensum Pro'
128
- src: url('../fonts/pensumpro-bold.otf') format('opentype')
129
- font-weight: 800
130
- font-style: normal
131
-
132
- @font-face
133
- font-family: 'Pensum Pro'
134
- src: url('../fonts/pensumpro-bolditalic.otf') format('opentype')
135
- font-weight: 800
136
- font-style: italic
137
-
138
- @font-face
139
- font-family: 'Pensum Pro'
140
- src: url('../fonts/pensumpro-book.otf') format('opentype')
141
- font-weight: 700
142
- font-style: normal
143
-
144
- @font-face
145
- font-family: 'Pensum Pro'
146
- src: url('../fonts/pensumpro-bookitalic.otf') format('opentype')
147
- font-weight: 700
148
- font-style: italic
149
-
150
- @font-face
151
- font-family: 'Pensum Pro'
152
- src: url('../fonts/pensumpro-extralight.otf') format('opentype')
153
- font-weight: 500
154
- font-style: normal
155
-
156
- @font-face
157
- font-family: 'Pensum Pro'
158
- src: url('../fonts/pensumpro-extralightitalic.otf') format('opentype')
159
- font-weight: 500
160
- font-style: italic
161
-
162
- @font-face
163
- font-family: 'Pensum Pro'
164
- src: url('../fonts/pensumpro-light.otf') format('opentype')
165
- font-weight: 400
166
- font-style: normal
167
-
168
- @font-face
169
- font-family: 'Pensum Pro'
170
- src: url('../fonts/pensumpro-lightitalic.otf') format('opentype')
171
- font-weight: 400
172
- font-style: italic
173
-
174
- @font-face
175
- font-family: 'Pensum Pro'
176
- src: url('../fonts/pensumpro-medium.otf') format('opentype')
177
- font-weight: 300
178
- font-style: normal
179
-
180
- @font-face
181
- font-family: 'Pensum Pro'
182
- src: url('../fonts/pensumpro-mediumitalic.otf') format('opentype')
183
- font-weight: 300
184
- font-style: italic
185
-
186
- @font-face
187
- font-family: 'Pensum Pro'
188
- src: url('../fonts/pensumpro-regular.otf') format('opentype')
189
- font-weight: 200
190
- font-style: normal
191
-
192
- @font-face
193
- font-family: 'Pensum Pro'
194
- src: url('../fonts/pensumpro-regularitalic.otf') format('opentype')
195
- font-weight: 200
196
- font-style: italic
197
-
198
- @font-face
199
- font-family: 'Pensum Pro'
200
- src: url('../fonts/pensumpro-thin.otf') format('opentype')
201
- font-weight: 100
202
- font-style: normal
203
-
204
- @font-face
205
- font-family: 'Pensum Pro'
206
- src: url('../fonts/pensumpro-thinitalic.otf') format('opentype')
207
- font-weight: 100
208
- font-style: italic
@@ -1,23 +0,0 @@
1
- disableSelect()
2
- -webkit-touch-callout: none
3
- -webkit-user-select: none
4
- -khtml-user-select: none
5
- -moz-user-select: none
6
- -ms-user-select: none
7
- user-select: none
8
-
9
- visibleScrollbar()
10
- &::-webkit-scrollbar
11
- -webkit-appearance: none
12
- width: 7px
13
-
14
- &::-webkit-scrollbar-thumb
15
- border-radius: 4px
16
- background-color: rgba(0, 0, 0, .5)
17
- -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)
18
-
19
- fillAvailableSpace()
20
- width: 100%
21
- width: -moz-available /* WebKit-based browsers will ignore this. */
22
- width: -webkit-fill-available /* Mozilla-based browsers will ignore this. */
23
- width: fill-available
@@ -1,28 +0,0 @@
1
- /* HTML5 display-role reset for older browsers */
2
- article, aside, details, figcaption, figure,
3
- footer, header, hgroup, menu, nav, section
4
- display: block
5
-
6
- body
7
- line-height: 1
8
-
9
- ol, ul
10
- list-style: none
11
-
12
- blockquote, q
13
- quotes: none
14
-
15
- blockquote:before, blockquote:after,
16
- q:before, q:after
17
- content: ''
18
- content: none
19
-
20
- table
21
- border-collapse: collapse
22
- border-spacing: 0
23
-
24
- button:focus
25
- outline: 0
26
-
27
- ins, del
28
- text-decoration: none
@@ -1,77 +0,0 @@
1
- // colors
2
- $betterviewBlue = rgba(0, 144, 218, 1) // #0090DA
3
- $blueHoverState = rgba(0, 144, 218, 0.08)
4
- $blueLightHoverState = rgba(0, 144, 218, 0.04)
5
- $betterviewRed = rgb(255, 10, 57)
6
- $betterviewGreen = rgb(0, 220, 79)
7
- $betterviewOrange = rgb(255, 145, 0)
8
- $betterviewYellow = rgb(255, 235, 59)
9
- //this is the same as charcoal, but since we refer to it so much i think its worth calling it a betterview color.
10
- $betterviewBlack = rgb(37,40,42)
11
-
12
- $navy = #1c2851
13
- $black = #23272b
14
- $charcoal = rgb(37,40,42)
15
- $blue = rgba(0, 144, 218, 1)
16
- $borderColor = #eff0ed
17
- $gray = #c6c8c5
18
- $grayText = rgba(37, 40, 42, 0.6)
19
- $grayUnderline = #B0B8BF
20
- $green = rgb(0, 220, 79) // #00DC4F
21
- $inputHighlightColor = #f8fbff
22
- $inputSelectionColor = #fdfad8
23
- $inputLabelColor = rgba(37, 40, 42, 1)
24
- $inputPlaceholderColor = rgba(37, 40, 42, 0.3)
25
- $inputGroupBorderColor = rgba(37, 40, 42, 0.2)
26
- $lightBlue = #5bceff
27
- $lightGray = #eeefee
28
- $orange = #ff8200
29
- $red = rgb(255, 10, 57) // #FF0A39
30
- $redError = #e04e39
31
- $searchColor = #fff
32
- $secondaryBorderColor = #447d95
33
- $sidebarBorderColor = #4A4A4A
34
- $trueblack = #000
35
- $white = #fff
36
- $yellow = #fdd835
37
-
38
- // colors based on others
39
- $disabledText = rgba($black, .6)
40
- $placeholderText = lighten($black, 40%)
41
-
42
- // fonts
43
- $primaryFont = Biotif, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
44
- $primaryBoldFont = Biotif-Bold, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
45
- $primaryBookFont = Biotif-Book, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
46
- $secondaryFont = Biotif, 'Montserrat', sans-serif
47
- $mediumFont = Biotif, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
48
- $lightFont = Biotif, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
49
-
50
- $subtextFont = Pensum, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
51
- $subtextFontPro = Pensum Pro, -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif
52
-
53
- // global light direction
54
- $lightOffsetX = 0
55
- $lightOffsetY = .2rem
56
-
57
- // z-index
58
- $layer0 = 0
59
- $layer1 = 1000
60
- $layer2 = 2000
61
- $layer3 = 3000
62
- $layer4 = 4000
63
- $layer5 = 5000
64
- $layer6 = 6000
65
- $layer7 = 7000
66
- $layer8 = 8000
67
- $layer9 = 9000
68
-
69
- //global heights
70
- $primaryNavbarHeight = 6.4rem
71
- $propertyProfileTopBarHeight = 11.4rem
72
-
73
- $xs = 0px
74
- $sm = 600px
75
- $md = 960px
76
- $lg = 1280px
77
- $xl = 1920px
@@ -1,29 +0,0 @@
1
-
2
- @import './styles/betterview.styl'
3
-
4
- body
5
- background-color: rgba(230, 230, 230, 1)
6
-
7
- .root
8
- margin-left: auto
9
- margin-right: auto
10
- width: 497px
11
- background-color: white
12
- margin-top: 40px
13
- padding: 30px
14
-
15
-
16
- .contentWrapper
17
- margin-top: 20px
18
-
19
- .componentContainer
20
- margin-top: 20px
21
- margin-left: auto
22
- margin-right: auto
23
- padding-bottom: 500px;
24
-
25
- .showBorder
26
- border: solid 1px rgba(125, 125, 125, 1)
27
-
28
- .hideBorder
29
- border: solid 1px rgba(125, 125, 125, 0)
@@ -1,93 +0,0 @@
1
- import path from 'path';
2
- import webpack, { Configuration as CompilerConfig } from 'webpack';
3
- import WebpackDevServer, { Configuration as ServerConfig } from 'webpack-dev-server';
4
- import HtmlWebpackPlugin from 'html-webpack-plugin';
5
-
6
- // we are attempting to get our bas /integration-toolkit directory here
7
-
8
- const basePath = path.join(__dirname, '../../');
9
- const enrichmentIntegrationBasePath = path.join(path.dirname(require.main!.filename), '../');
10
- const rootPath = path.join(basePath, '/component-harness-server/');
11
- const node_modules_path = path.join(basePath, '/node_modules/');
12
-
13
- const serverConfig: ServerConfig = {
14
- port: 3000,
15
- open: true,
16
- client: {
17
- progress: true
18
- },
19
- host: '127.0.0.1'
20
- };
21
- const compilerConfig: CompilerConfig = {
22
- entry: [path.join(rootPath, '/src/index.js')],
23
- mode: 'development',
24
- output: {
25
- filename: 'bundle.js',
26
- path: path.resolve(__dirname, 'dist')
27
- },
28
- resolve: {
29
- alias: {
30
- main: path.resolve(node_modules_path),
31
- components: path.resolve(enrichmentIntegrationBasePath, 'enrichmentComponent')
32
- }
33
- },
34
- module: {
35
- rules: [
36
- {
37
- test: /\.?js$/,
38
- exclude: /node_modules/,
39
- include: [path.join(rootPath, '/src'), path.join(enrichmentIntegrationBasePath, 'enrichmentComponent')],
40
- use: {
41
- loader: path.join(node_modules_path, 'babel-loader'),
42
- options: {
43
- presets: [
44
- path.join(node_modules_path, '@babel/preset-env'),
45
- path.join(node_modules_path, '@babel/preset-react')
46
- ]
47
- }
48
- }
49
- },
50
- {
51
- test: /\.styl$/,
52
- include: [path.join(rootPath, '/src'), path.join(enrichmentIntegrationBasePath, 'enrichmentComponent')],
53
- exclude: /node_modules/,
54
- parser: {
55
- node: true
56
- },
57
- use: [
58
- path.join(node_modules_path, 'style-loader'),
59
- {
60
- loader: path.join(node_modules_path, 'css-loader'),
61
- options: {
62
- importLoaders: 1,
63
- modules: {
64
- localIdentName: '[path]__[local]'
65
- },
66
- sourceMap: true
67
- }
68
- },
69
- {
70
- loader: path.join(node_modules_path, 'stylus-loader'),
71
- options: {
72
- stylusOptions: {
73
- outputStyle: 'expanded',
74
- include: [path.join(rootPath, '/src'), path.join(enrichmentIntegrationBasePath, 'enrichmentComponent')]
75
- }
76
- }
77
- }
78
- ]
79
- }
80
- ]
81
- },
82
- plugins: [
83
- new HtmlWebpackPlugin({
84
- template: path.join(rootPath, 'index.html')
85
- })
86
- ]
87
- };
88
-
89
- export default async function ComponentServer() {
90
- const compiler = webpack(compilerConfig);
91
- const s = new WebpackDevServer(serverConfig, compiler);
92
- s.start();
93
- }