Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

frontend: Clutch redesign #876

Merged
merged 104 commits into from
Jan 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
998f47c
frontend: version 1.x
dschaller Nov 10, 2020
8cba59b
buttons: disable the ripple effect (#682)
danielhochman Nov 16, 2020
c722847
ui v2: add roboto font (#683)
danielhochman Nov 16, 2020
15ef73c
ui v2: buttons (#673)
dschaller Nov 16, 2020
2983d77
ui v2: disable transitions (#687)
danielhochman Nov 18, 2020
e129777
ui v2: storybook upgrade and config improvements (#695)
danielhochman Nov 19, 2020
3545e7a
update lockfile
dschaller Nov 30, 2020
2882cfd
UI V2: consume new packages (#720)
dschaller Nov 30, 2020
58a6aae
ui v2: text field (#701)
danielhochman Dec 1, 2020
1a3d7fa
ui v2: fix lint (#730)
dschaller Dec 2, 2020
d1ec5f5
ui v2: horizontal rule (#723)
danielhochman Dec 2, 2020
e47cec2
ui v2: radio button (#728)
dschaller Dec 2, 2020
73cc79d
ui v2: header (#696)
scarlettperry Dec 3, 2020
daba820
ui v2: select (#722)
danielhochman Dec 3, 2020
c192ec7
ui v2: restyle metadata table (#729)
dschaller Dec 4, 2020
24411f9
UIV2: header search bar (#732)
scarlettperry Dec 4, 2020
4e1f29d
ui v2: button style updates (#741)
danielhochman Dec 4, 2020
ad50254
ui v2: accordion (#735)
danielhochman Dec 4, 2020
5986d16
ui v2: select menu styles (#740)
danielhochman Dec 4, 2020
b68ba5f
fix lint errors on UIV2 master (#744)
scarlettperry Dec 7, 2020
68dc005
ui v2: checkbox (#686)
scarlettperry Dec 7, 2020
ff452e1
ui v2: card & landing card (#742)
danielhochman Dec 7, 2020
71a4d2d
ui v2: add stepper component (#691)
dschaller Dec 7, 2020
5e9f46c
ui v2: accordion group (#754)
danielhochman Dec 7, 2020
5e2050c
ui v2: restyle dialog component (#731)
dschaller Dec 7, 2020
9f33841
ui v2: landing (#760)
danielhochman Dec 8, 2020
3dcb79a
ui v2: update AppLayout stories (#773)
scarlettperry Dec 10, 2020
f3053e8
ui v2: fix accordion bug (#775)
danielhochman Dec 10, 2020
27ecf5c
ui v2: move resolver to accordions (#770)
danielhochman Dec 11, 2020
ca43472
ui v2: add end adornment support to text fields (#776)
dschaller Dec 11, 2020
df36498
ui v2: fix searchfield bugs (#784)
scarlettperry Dec 14, 2020
82f9325
ui v2: update UserInformation component (#782)
scarlettperry Dec 14, 2020
8f4e1d4
ui v2: restyle terminate instance (#781)
dschaller Dec 14, 2020
e544024
ui v2: update Notifications component (#783)
scarlettperry Dec 15, 2020
6f055fb
ui v2: switches (#763)
dschaller Dec 15, 2020
697bafd
ui v2: button group (#797)
dschaller Dec 16, 2020
d21282b
ui v2: restyle delete pod workflow (#795)
dschaller Dec 16, 2020
db0e6af
ui v2: restyle resize workflows (#794)
scarlettperry Dec 17, 2020
2c7c978
ui v2: restyle kinesis workflow (#801)
dschaller Dec 17, 2020
54815b4
Merge branch 'main' into UIV2
dschaller Dec 17, 2020
0ebc3a2
ui v2: sidebar (#758)
scarlettperry Dec 18, 2020
91225e7
ui v2: resolver, stepper refactor and other polish (#796)
danielhochman Dec 18, 2020
9fee94a
ui v2: right align button groups by default (#808)
dschaller Dec 18, 2020
c0f8151
ui v2: fix header searchfield bug (#809)
scarlettperry Dec 18, 2020
757fd60
ui v2: tabs (#810)
dschaller Dec 21, 2020
436d0c5
ui v2: trim long group headings (#813)
dschaller Dec 23, 2020
9c49b4c
ui v2: support content within tabs (#814)
dschaller Dec 23, 2020
87ec2bd
ui v2: table (#815)
dschaller Dec 24, 2020
4a5b488
ui v2: fix radio group story location (#816)
dschaller Dec 25, 2020
ae61dff
ui v2: paper component (#817)
dschaller Dec 25, 2020
67b9e29
ui v2: remove unused trending icon (#818)
dschaller Dec 25, 2020
9182eca
ui v2: transparent stepper background (#819)
dschaller Dec 25, 2020
9eb819b
ui v2: fix drawer panel opening (#820)
dschaller Dec 25, 2020
b1ad10c
ui v2: fix layout spacing of dialog heading (#822)
dschaller Dec 29, 2020
7ec72fc
ui v2: update dialog open state on prop change (#823)
dschaller Dec 29, 2020
079639b
ui v2: fix lint and build (#824)
dschaller Dec 29, 2020
aa3a8a9
ui v2: fix app background height (#825)
dschaller Dec 29, 2020
68cc7d4
ui v2: restyle link (#827)
dschaller Dec 30, 2020
6f0f98e
ui v2: remove max width from radio group (#829)
dschaller Dec 30, 2020
82e0399
ui v2: allow button group border movement (#826)
dschaller Dec 30, 2020
4ab5a56
ui v2: form component (#828)
dschaller Dec 30, 2020
926d962
ui v2: update experimentation workflows (#830)
dschaller Dec 30, 2020
65cc381
ui v2: update snapshots (#831)
dschaller Dec 30, 2020
398a3b5
ui v2: use margin for wizard steps (#832)
dschaller Dec 30, 2020
8517726
ui v2: fix Link import in story (#833)
dschaller Dec 30, 2020
1c8230d
ui v2: clipboard button (#834)
dschaller Dec 30, 2020
bbb0344
ui v2: fix stepper failed step index (#836)
dschaller Dec 30, 2020
b3f4546
ui v2: add wizard step error handling (#837)
dschaller Dec 30, 2020
6c825f8
ui v2: accordion row (#838)
dschaller Dec 30, 2020
28bc3b3
ui v2: restrict tab panel width to 100% (#839)
dschaller Dec 31, 2020
8db3a7a
ui v2: move remote triage into dedicated folder (#840)
dschaller Dec 31, 2020
082a804
ui v2: add alert component (#842)
dschaller Dec 31, 2020
6fc7d46
ui v2: error component (#843)
dschaller Dec 31, 2020
418c53c
ui v2: remote triage (#841)
dschaller Jan 1, 2021
9d45662
ui v2: alert message should be 100% width (#844)
dschaller Jan 1, 2021
2dc8ec0
ui v2: remove input styling from webkit autofill (#845)
dschaller Jan 1, 2021
17d9a57
ui v2: fix e2e tests (#846)
dschaller Jan 1, 2021
58f5ec5
ui v2: add key to Resolver hydrator select element (#847)
dschaller Jan 2, 2021
acea50f
ui v2: restyle loading component (#848)
dschaller Jan 3, 2021
1d060f1
ui v2: accordion fixes (#849)
danielhochman Jan 5, 2021
85ed357
add note panel, split metadata (#855)
scarlettperry Jan 6, 2021
d030d92
ui v2: text field white background (#859)
dschaller Jan 6, 2021
3ab9236
ui v2: metadata input validation bug (#860)
scarlettperry Jan 7, 2021
c98d40d
ui v2: add titles to workflows details tables (#861)
dschaller Jan 7, 2021
6f5ed26
ui v2: use new alert for note panel and fix layout max width (#864)
dschaller Jan 7, 2021
333e123
ui v2: fix capitalization on cards (#866)
scarlettperry Jan 7, 2021
981d359
ui V2: fix accordion overflow (#863)
scarlettperry Jan 7, 2021
c9ee505
ui v2: change textfield icon button color (#856)
scarlettperry Jan 8, 2021
bfdd7fb
ui v2: validate max sizes are greater than min in resize workflows (#…
dschaller Jan 8, 2021
3b50deb
ui v2: reduce button group margin (#868)
dschaller Jan 8, 2021
1228d7c
ui v2: select background should be white (#869)
dschaller Jan 8, 2021
9441b11
fix lint errors
scarlettperry Jan 11, 2021
b56d178
ui v2: set major version for all packages
dschaller Jan 11, 2021
425e849
ui v2: fix unit tests (#878)
dschaller Jan 11, 2021
655ac2c
update doc screenshots
scarlettperry Jan 11, 2021
038e3d5
ui v2: warning invoke onClose before exiting (#870)
dschaller Jan 11, 2021
22ee99b
host gif on github
scarlettperry Jan 11, 2021
be912c7
optimize landing page png
danielhochman Jan 11, 2021
4dd1b94
optimize resolver screenshot
danielhochman Jan 11, 2021
d976a48
fix typo
scarlettperry Jan 11, 2021
b9abc3a
Merge branch 'main' into UIV2
scarlettperry Jan 11, 2021
14f25c3
ui v2: update css in gateway scaffolding (#879)
dschaller Jan 11, 2021
0d83de9
ui v2: link emotion packages (#880)
dschaller Jan 11, 2021
92aff90
ui v2: add margin bottom to compressed error (#881)
danielhochman Jan 11, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
</p>

<div align="center">
<img src="https://user-images.githubusercontent.com/1004789/86184218-8bde4480-bae8-11ea-84cc-f2e8e73fdde8.gif" width="75%" />
<img src="https://user-images.githubusercontent.com/39421794/104223887-39c09900-5412-11eb-9791-af10afdc6bbb.gif" width="75%" />
</div>

## Key Features
Expand Down
Binary file not shown.
Binary file modified docs/_website/static/img/docs/landing-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_website/static/img/docs/resolver-render-screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions docs/about/lyft-case-study.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ In the event that the cluster required a resize, developers had three main optio

Lyft is all-in on infrastructure-as-code. However, resizing a cluster during an incident via GitOps is a painful experience.

In our implementation of GitOps, applying orchestration changes requires a full deploy of a service to minimize the possibility of configuration drift. It can take 10 minutes or more for CI to run tests, launch a deploy pipeline, and enact the latest declaration. In the event that the first value was not enough, the engineer would have to repeat the process. This would drastically increase the time it takes to mitigate the issue.
In our implementation of GitOps, applying orchestration changes requires a full deploy of a service to minimize the possibility of configuration drift. It can take 10 minutes or more for CI to run tests, launch a deploy pipeline, and enact the latest declaration. In the event that the first value was not enough, the engineer would have to repeat the process. This would drastically increase the time it takes to mitigate the issue.

In addition, the `desired` size of a cluster is not generally controlled by orchestration code. It's a dynamic value that changes in response to average CPU usage. Committing this value would reset it on every deploy regardless of current conditions. For this reason developers would simply use minimum to enforce the desired size during an incident. Sometimes they would forget to revert their change after the incident was over costing thousands of dollars in unnecessary cloud resource usage.

Expand All @@ -49,18 +49,18 @@ Developers often avoided the CLI due to the friction of performing 2FA flows on
$ aws-okta exec elevated-role -- aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name my-auto-scaling-group \
--min-size 1 --max-size 3
$
$
```

#### UI
The console presents a large amount of functionality and information needed to perform a task which slows down operations and increases cognitive load.
The console presents a large amount of functionality and information needed to perform a task which slows down operations and increases cognitive load.

{{/* TODO: this is too fuzzy, may be possible to redact information rather than pixelizing the entire gif */}}
<img style={ {border: "2px solid gray"} } alt="Resizing an ASG in the AWS console" src={require('@docusaurus/useBaseUrl').default('img/docs/aws-resize.gif')} width="50%" />

### Mitigation (after)

<img style={ {border: "2px solid gray"} } alt="Resizing an ASG in Clutch" src={require('@docusaurus/useBaseUrl').default('img/docs/aws-resize-clutch.gif')} width="65%" />
<img style={ {border: "2px solid gray"} } alt="Resizing an ASG in Clutch" src={require('@docusaurus/useBaseUrl').default('https://user-images.githubusercontent.com/39421794/104223887-39c09900-5412-11eb-9791-af10afdc6bbb.gif')} width="65%" />

#### Preventing Accidents
Next, we added rules to validate actions and prevent accidents that had occurred before with legacy tools.
Expand Down
8 changes: 4 additions & 4 deletions docs/getting-started/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ If desired, use a custom configuration with the Docker image by mapping it into
```bash
docker run --rm -p 8080:8080 -it lyft/clutch:latest
```

</TabItem>
<TabItem value="custom">

Expand All @@ -49,7 +49,7 @@ docker run --rm -p 8080:8080 \
-v /host/absolute/path/to/config.yaml:/clutch-config.yaml:ro \
-it lyft/clutch:latest
```

</TabItem>
<TabItem value="env">

Expand All @@ -59,7 +59,7 @@ docker run --rm -p 8080:8080 \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-it lyft/clutch:latest
```

</TabItem>
</Tabs>

Expand All @@ -75,7 +75,7 @@ For more information on configuring Clutch, see the [Configuration Reference](/d
### Accessing Clutch
:tada: Clutch should now be accessible from `localhost:8080` in the browser.

<img style={ {border: "1px solid black"} } alt="Clutch Landing Page Screenshot" src={useBaseUrl('img/docs/screenshot-landing.png')} width="50%" />
<img alt="Clutch Landing Page Screenshot" src={useBaseUrl('img/docs/landing-page.png')} width="50%" />

## Building the Container From Scratch

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/local-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Launch Clutch with back-end configuration [clutch-config.yaml](https://github.co
#### 4. Use
:tada: Clutch should now be accessible from `localhost:8080` in the browser.

<img style={ {border: "1px solid black"} } alt="Clutch Landing Page Screenshot" src={useBaseUrl('img/docs/screenshot-landing.png')} width="50%" />
<img alt="Clutch Landing Page Screenshot" src={useBaseUrl('img/docs/landing-page.png')} width="50%" />

:::info
Clutch may have external dependencies, to run Clutch with mocked dependencies see [Mock Gateway](/docs/getting-started/mock-gateway).
Expand Down
12 changes: 10 additions & 2 deletions frontend/.storybook/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@ module.exports = {
stories: [
"../packages/**/*.stories.@(tsx|jsx)",
],
typescript: {
reactDocgen: 'react-docgen-typescript',
reactDocgenTypescriptOptions: {
compilerOptions: {
allowSyntheticDefaultImports: false,
esModuleInterop: false,
},
}
},
addons: [
"@storybook/addon-actions",
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-links",
],
}
2 changes: 2 additions & 0 deletions frontend/.storybook/preview-head.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" />
2 changes: 1 addition & 1 deletion frontend/.yarnrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# yarn lockfile v1


yarn-path ".yarn/releases/yarn-1.22.4.js"
yarn-path ".yarn/releases/yarn-1.22.5.js"
2 changes: 1 addition & 1 deletion frontend/api/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clutch-sh/api",
"version": "0.0.0-beta",
"version": "1.0.0-beta",
"description": "Clutch API",
"license": "Apache-2.0",
"author": "clutch@lyft.com",
Expand Down
12 changes: 6 additions & 6 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@
"devDependencies": {
"@babel/core": "^7.9.0",
"@material-ui/core": "^4.11.0",
"@storybook/addon-actions": "^6.0.21",
"@storybook/addon-essentials": "^6.0.21",
"@storybook/addon-links": "^6.0.21",
"@storybook/node-logger": "^6.0.21",
"@storybook/addon-actions": "^6.1.0",
"@storybook/addon-essentials": "^6.1.0",
"@storybook/addon-links": "^6.1.1",
"@storybook/node-logger": "^6.1.1",
"@storybook/preset-typescript": "^3.0.0",
"@storybook/react": "^6.0.21",
"@storybook/theming": "^6.0.22",
"@storybook/react": "^6.1.0",
"@storybook/theming": "^6.1.1",
"@typescript-eslint/eslint-plugin": "^4.8.2",
"@typescript-eslint/parser": "^4.8.2",
"babel-loader": "^8.1.0",
Expand Down
73 changes: 20 additions & 53 deletions frontend/packages/app/cypress/integration/navigation_spec.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
const MENU_BUTTON = "menuBtn";
const DRAWER = "drawer";
const WORKFLOW_GROUP = "workflowGroup";
const TOGGLE = "toggle";
const WORKFLOW_GROUP_ITEM = "workflowGroupItem";

describe("Navigation drawer", () => {
before(() => {
cy.visit("localhost:3000");
cy.element(MENU_BUTTON).click();
cy.element(DRAWER).should("be.visible");
});

Expand All @@ -18,62 +16,31 @@ describe("Navigation drawer", () => {

it("displays and hides routes", () => {
cy.element(WORKFLOW_GROUP).each((_, idx) => {
cy.element(WORKFLOW_GROUP).eq(idx).descendent(TOGGLE).children().first().click();
cy.element(WORKFLOW_GROUP)
.eq(idx)
.find("a")
.each(link => {
cy.wrap(link).should("have.attr", "href");
});
cy.element(WORKFLOW_GROUP).eq(idx).descendent(TOGGLE).children().first().click();
cy.element(WORKFLOW_GROUP).eq(idx).find("a").should("not.be.visible");
});
});

describe("routes to homepage", () => {
it("via nav icon", () => {
cy.element(DRAWER).element("logo").click();
cy.url().should("equal", "http://localhost:3000/");
});

it("via nav title", () => {
cy.element(MENU_BUTTON).click();
cy.element(DRAWER).element("title").click();
cy.url().should("equal", "http://localhost:3000/");
cy.element(WORKFLOW_GROUP).eq(idx).click();
cy.element(WORKFLOW_GROUP_ITEM).each(link => {
cy.wrap(link).should("have.attr", "href");
});
cy.element(WORKFLOW_GROUP).eq(idx).click();
cy.element(WORKFLOW_GROUP).eq(idx).descendent(WORKFLOW_GROUP_ITEM).should("not.be.visible");
});
});

describe("routes to workflows", () => {
const groupItemId = "workflowGroupItem";
beforeEach(() => {
cy.element(MENU_BUTTON).click();
});

it("can route correctly", () => {
return cy.element(WORKFLOW_GROUP).each((_, groupIdx) => {
cy.element(WORKFLOW_GROUP).eq(groupIdx).descendent(TOGGLE).children().first().click();
cy.element(WORKFLOW_GROUP)
.eq(groupIdx)
.descendent(groupItemId)
.each((__, itemIdx) => {
cy.element(WORKFLOW_GROUP)
.eq(groupIdx)
.descendent(groupItemId)
.eq(itemIdx)
.should("be.visible");
cy.element(WORKFLOW_GROUP)
.eq(groupIdx)
.descendent(groupItemId)
.eq(itemIdx)
.should("have.attr", "href")
.then(href => {
cy.element(WORKFLOW_GROUP).eq(groupIdx).descendent(groupItemId).eq(itemIdx).click();
cy.url().should("include", href);
cy.element(MENU_BUTTON).click();
});

// TODO: validate header of workflow here when it's landed
});
cy.element(WORKFLOW_GROUP).eq(groupIdx).click();
cy.element(WORKFLOW_GROUP_ITEM).each((__, linkIdx) => {
cy.element(WORKFLOW_GROUP_ITEM).eq(linkIdx).should("be.visible");
cy.element(WORKFLOW_GROUP_ITEM)
.eq(linkIdx)
.should("have.attr", "href")
.then(href => {
cy.element(WORKFLOW_GROUP_ITEM).eq(linkIdx).click();
cy.url().should("include", href);
});
cy.element(WORKFLOW_GROUP).eq(groupIdx).click();
// TODO: validate header of workflow here when it's landed
});
});
});
});
Expand Down
4 changes: 2 additions & 2 deletions frontend/packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
"test:e2e": "cypress run"
},
"dependencies": {
"@clutch-sh/core": "^0.0.0-beta",
"@clutch-sh/core": "^1.0.0-beta",
"react": "^16.8.0",
"react-dom": "^16.8.0"
},
"devDependencies": {
"@clutch-sh/tools": "^0.0.0-beta"
"@clutch-sh/tools": "^1.0.0-beta"
},
"proxy": "http://localhost:8080"
}
2 changes: 2 additions & 0 deletions frontend/packages/app/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/icon.svg" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
Expand Down
13 changes: 13 additions & 0 deletions frontend/packages/app/src/clutch.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ module.exports = {
trending: true,
componentProps: {
resolverType: "clutch.aws.ec2.v1.Instance",
notes: [
{
severity: "info",
text: "The instance may take several minutes to shut down.",
},
],
},
},
rebootInstance: {
Expand Down Expand Up @@ -52,4 +58,11 @@ module.exports = {
},
},
},
"@clutch-sh/kinesis": {
updateShardCount: {
componentProps: {
resolverType: "clutch.aws.kinesis.v1.Stream",
},
},
},
};
21 changes: 19 additions & 2 deletions frontend/packages/app/src/index.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
#root {
height: 100%;
html, body, #root, #App {
display: flex;
flex-direction: column;
min-height: 100vh;
}

#App {
background-color: #f9fafe;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
font-size: 16px;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
transition: background-color 5000s ease-in-out 0s;
-webkit-text-fill-color: #0D1030 !important;
}
8 changes: 5 additions & 3 deletions frontend/packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clutch-sh/core",
"version": "0.0.0-beta",
"version": "1.0.0-beta",
"description": "Clutch Core Components",
"homepage": "https://clutch.sh/docs/development/frontend#clutch-shcore",
"license": "Apache-2.0",
Expand All @@ -25,8 +25,10 @@
"test:watch": "yarn run test --watch"
},
"dependencies": {
"@clutch-sh/api": "^0.0.0-beta",
"@clutch-sh/api": "^1.0.0-beta",
"@date-io/core": "^1.3.6",
"@emotion/react": "^11.0.0",
"@emotion/styled": "^11.0.0",
"@hookform/devtools": "^2.2.1",
"@hookform/resolvers": "^1.0.0",
"@material-ui/core": "^4.11.0",
Expand All @@ -50,6 +52,6 @@
"yup": "^0.31.0"
},
"devDependencies": {
"@clutch-sh/tools": "^0.0.0-beta"
"@clutch-sh/tools": "^1.0.0-beta"
}
}
Loading