Skip to content

Commit 7970561

Browse files
feat: added support Paragon design tokens (#351)
Co-authored-by: Diana Catalina Olarte <[email protected]>
1 parent 8d46de8 commit 7970561

File tree

8 files changed

+5003
-1911
lines changed

8 files changed

+5003
-1911
lines changed

Diff for: .gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ module.config.js
99
.idea/
1010

1111
.vscode
12-
src/i18n/messages
12+
src/i18n/messages

Diff for: example/index.scss

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
@import "@edx/brand/paragon/fonts";
2-
@import "@edx/brand/paragon/variables";
3-
@import "@openedx/paragon/scss/core/core";
4-
@import "@edx/brand/paragon/overrides";
1+
@use "@openedx/paragon/dist/core.min.css" as paragonCore;
2+
@use "@openedx/paragon/dist/light.min.css" as paragonLight;
53

64
@import "@edx/frontend-component-header/index";

Diff for: package-lock.json

+4,952-1,867
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
"devDependencies": {
3636
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
3737
"@edx/browserslist-config": "^1.1.1",
38-
"@edx/frontend-platform": "8.3.1",
38+
"@edx/frontend-platform": "^8.3.1",
3939
"@edx/reactifex": "^2.1.1",
4040
"@openedx/frontend-build": "14.2.2",
41-
"@openedx/paragon": "22.16.0",
41+
"@openedx/paragon": "^23.0.0",
4242
"@testing-library/dom": "10.4.0",
4343
"@testing-library/jest-dom": "5.17.0",
4444
"@testing-library/react": "10.4.9",
@@ -60,7 +60,7 @@
6060
"@fortawesome/free-regular-svg-icons": "6.6.0",
6161
"@fortawesome/free-solid-svg-icons": "6.6.0",
6262
"@fortawesome/react-fontawesome": "^0.2.0",
63-
"@openedx/frontend-plugin-framework": "^1.3.0",
63+
"@openedx/frontend-plugin-framework": "^1.6.0",
6464
"axios-mock-adapter": "1.22.0",
6565
"babel-polyfill": "6.26.0",
6666
"classnames": "^2.5.1",
@@ -70,7 +70,7 @@
7070
},
7171
"peerDependencies": {
7272
"@edx/frontend-platform": "^7.0.0 || ^8.0.0",
73-
"@openedx/paragon": "^22.0.0",
73+
"@openedx/paragon": ">= 22.0.0 < 24.0.0",
7474
"prop-types": "^15.5.10",
7575
"react": "^16.9.0 || ^17.0.0",
7676
"react-dom": "^16.9.0 || ^17.0.0",

Diff for: src/Menu/menu.scss

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
11
.menu {
22
position: relative;
33
}
4+
45
.menu-content {
56
position: absolute;
67
top: 100%;
78
z-index: 10;
8-
background: #fff;
9+
background: var(--pgn-color-white, #fff);
910
min-width: 10rem;
11+
1012
&.pin-left {
1113
left: 0;
1214
}
15+
1316
&.pin-right {
1417
right: 0;
1518
}
1619
}
1720

18-
1921
.menu-dropdown-enter {
2022
opacity: 0;
2123
transform-origin: 75% 0;
2224
transform: scale3d(0.8, 0.8, 1);
2325
}
26+
2427
.menu-dropdown-enter-active {
2528
transform-origin: 75% 0;
2629
transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
2730
transform: scale3d(1, 1, 1);
2831
opacity: 1;
2932
}
30-
.menu-dropdown-enter-done {
31-
}
3233

3334
.menu-dropdown-exit {
3435
transform-origin: 75% 0;
3536
transform: scale3d(1, 1, 1);
3637
opacity: 1;
3738
}
39+
3840
.menu-dropdown-exit-active {
3941
transform-origin: 75% 0;
4042
transform: scale3d(0.8, 0.8, 1);
4143
transition: all 250ms cubic-bezier(0.8, 0, 0.6, 1);
4244
opacity: 0;
4345
}
44-
.menu-dropdown-exit-done {
45-
}

Diff for: src/index.scss

+29-22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
$spacer: 1rem;
22
$blue: #007db8;
33
$white: #fff;
4+
$component-active-bg: #0A3055FF !default;
5+
$component-active-color: $white !default;
6+
$rounded-pill: 50rem !default;
47

58
@import './Menu/menu.scss';
69
@import './studio-header/StudioHeader.scss';
@@ -21,8 +24,9 @@ $white: #fff;
2124
padding: .75rem;
2225
justify-content: center;
2326
align-items:center;
27+
2428
&:hover, &:focus {
25-
background: rgba(0,0,0,.1);
29+
background: rgba(0, 0, 0, .1);
2630
}
2731
}
2832

@@ -36,17 +40,12 @@ $white: #fff;
3640
white-space: nowrap;
3741
overflow: hidden;
3842
text-overflow: ellipsis;
39-
padding-bottom: 0.1rem;
43+
padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1);
4044
}
4145
}
4246

43-
.user-dropdown {
44-
.btn {
45-
height: 3rem;
46-
// @media (max-width: -1 + map-get($grid-breakpoints, "sm")) {
47-
// padding: 0 0.5rem;
48-
// }
49-
}
47+
.user-dropdown .btn {
48+
height: 3rem;
5049
}
5150
}
5251

@@ -63,26 +62,30 @@ $white: #fff;
6362
text-decoration: none;
6463
cursor: pointer;
6564
}
65+
6666
img {
6767
height: 1.5rem;
6868
}
6969
}
7070

7171

7272
.site-header-desktop {
73-
box-shadow: 0 1px 0 0 rgba(0,0,0,.1);
74-
background: $white;
73+
box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1);
74+
background: var(--pgn-color-white, $white);
75+
7576
.nav-link {
7677
text-decoration: none;
7778
}
79+
7880
.logo {
7981
display: block;
8082
box-sizing: content-box;
8183
position: relative;
8284
top: -.05em;
8385
height: 1.75rem;
84-
padding: 1rem 0;
85-
margin-right: 1rem;
86+
padding: var(--pgn-spacing-spacer-base, $spacer) 0;
87+
margin-right: var(--pgn-spacing-spacer-base, $spacer);
88+
8689
img {
8790
display: block;
8891
height: 100%;
@@ -93,38 +96,42 @@ $white: #fff;
9396
.nav-link:focus,
9497
.nav-link.active,
9598
.expanded .nav-link {
96-
background: $component-active-bg;
97-
color: $component-active-color;
99+
background: var(--pgn-color-bg-active, $component-active-bg);
100+
color: var(--pgn-color-active, $component-active-color);
98101
}
99102
}
100103
.main-nav {
101104
.nav-link {
102-
padding: 1.125rem 1rem;
105+
padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer);
103106
text-decoration: none;
104107
font-weight: 500;
105108
letter-spacing: .01em;
106109
}
110+
107111
.nav-link:hover,
108112
.nav-link:focus,
109113
.nav-link.active,
110114
.expanded .nav-link {
111-
background: $component-active-bg;
112-
color: $component-active-color;
115+
background: var(--pgn-color-bg-active, $component-active-bg);
116+
color: var(--pgn-color-active, $component-active-color);
113117
}
118+
114119
.menu {
115120
position: static;
121+
116122
.menu-content {
117-
border-top: solid 2px $component-active-bg;
123+
border-top: solid 2px var(--pgn-color-bg-active);
118124
left: 0;
119125
right: 0;
120-
box-shadow: 0 1px 2px rgba(0,0,0,.25);
126+
box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25));
121127
border-bottom-left-radius: 2px;
122128
border-bottom-right-radius: 2px;
123-
padding: 1rem;
129+
padding: var(--pgn-spacing-spacer-base, $spacer);
124130
}
125131
}
126132
}
133+
127134
.search-input {
128-
border-radius: $rounded-pill;
135+
border-radius: var(--pgn-size-rounded-pill, $rounded-pill);
129136
}
130137
}

Diff for: src/studio-header/StudioHeader.scss

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ $white: #FFFFFF;
77

88
height: 3.75rem;
99
box-shadow: 0 1px 0 0 rgb(0 0 0 / .1);
10-
background: $white;
10+
background: var(--pgn-color-white, $white);
1111

1212
.btn-outline-primary {
13-
border-color: $white;
13+
border-color: var(--pgn-color-white, $white);
1414
}
1515

1616
.logo {
@@ -19,8 +19,8 @@ $white: #FFFFFF;
1919
position: relative;
2020
top: -.05em;
2121
height: 1.75rem;
22-
padding: $spacer 0;
23-
margin-right: $spacer;
22+
padding: var(--pgn-spacing-spacer-base, $spacer) 0;
23+
margin-right: var(--pgn-spacing-spacer-base, $spacer);
2424

2525
img {
2626
display: block;
@@ -33,13 +33,13 @@ $white: #FFFFFF;
3333

3434
@media only screen and (min-width: 769px) {
3535
padding: .5rem;
36-
padding-right: $spacer;
36+
padding-right: var(--pgn-spacing-spacer-base, $spacer);
3737
border-right: 1px solid #E5E5E5;
3838
width: 70%;
3939
}
4040

4141
span {
42-
color: #333333;
42+
color: var(--pgn-color-gray-800, #333333);
4343
white-space: nowrap;
4444
overflow: hidden;
4545
text-overflow: ellipsis;

Diff for: webpack.dev.config.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ const path = require('path');
22
const { createConfig } = require('@openedx/frontend-build');
33

44
module.exports = createConfig('webpack-dev', {
5-
entry: path.resolve(__dirname, 'example'),
5+
entry: {
6+
app: path.resolve(__dirname, 'example'),
7+
},
68
output: {
79
path: path.resolve(__dirname, 'example/dist'),
810
publicPath: '/',

0 commit comments

Comments
 (0)