@automattic/jetpack-components 1.4.11 → 1.4.12

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/CHANGELOG.md +8 -0
  2. package/build/components/action-button/index.d.ts +26 -16
  3. package/build/components/action-button/style.module.scss +11 -0
  4. package/build/components/action-popover/styles.module.scss +49 -0
  5. package/build/components/admin-page/style.module.scss +28 -0
  6. package/build/components/admin-section/basic/style.module.scss +3 -0
  7. package/build/components/admin-section/hero/style.module.scss +4 -0
  8. package/build/components/alert/style.module.scss +47 -0
  9. package/build/components/badge/style.module.scss +25 -0
  10. package/build/components/boost-score-bar/style.scss +189 -0
  11. package/build/components/boost-score-graph/style-annotation.scss +76 -0
  12. package/build/components/boost-score-graph/style-tooltip.scss +74 -0
  13. package/build/components/boost-score-graph/style.scss +22 -0
  14. package/build/components/button/style.module.scss +214 -0
  15. package/build/components/chip/style.module.scss +18 -0
  16. package/build/components/contextual-upgrade-trigger/style.module.scss +77 -0
  17. package/build/components/decorative-card/style.scss +116 -0
  18. package/build/components/details-viewer/styles.module.scss +40 -0
  19. package/build/components/dialog/style.module.scss +31 -0
  20. package/build/components/diff-viewer/styles.module.scss +52 -0
  21. package/build/components/donut-meter/style.scss +14 -0
  22. package/build/components/dot-pager/style.scss +78 -0
  23. package/build/components/global-notices/styles.module.scss +24 -0
  24. package/build/components/gridicon/style.scss +16 -0
  25. package/build/components/icon-tooltip/style.scss +124 -0
  26. package/build/components/icons/style.module.scss +71 -0
  27. package/build/components/indeterminate-progress-bar/style.module.scss +30 -0
  28. package/build/components/jetpack-footer/style.scss +120 -0
  29. package/build/components/layout/breakpoints.module.scss +21 -0
  30. package/build/components/layout/col/style.module.scss +30 -0
  31. package/build/components/layout/container/style.module.scss +35 -0
  32. package/build/components/loading-placeholder/style.module.scss +21 -0
  33. package/build/components/marked-lines/styles.module.scss +48 -0
  34. package/build/components/navigator-modal/styles.scss +99 -0
  35. package/build/components/notice/style.module.scss +120 -0
  36. package/build/components/number-control/index.d.ts +22 -5
  37. package/build/components/number-control/index.js +3 -3
  38. package/build/components/number-slider/style.scss +68 -0
  39. package/build/components/popover/style.scss +26 -0
  40. package/build/components/pricing-card/style.scss +113 -0
  41. package/build/components/pricing-table/styles.module.scss +235 -0
  42. package/build/components/product-offer/style.module.scss +93 -0
  43. package/build/components/product-price/style.module.scss +122 -0
  44. package/build/components/progress-bar/style.module.scss +18 -0
  45. package/build/components/radio-control/styles.module.scss +26 -0
  46. package/build/components/record-meter-bar/style.scss +43 -0
  47. package/build/components/spinner/index.d.ts +16 -12
  48. package/build/components/spinner/style.scss +33 -0
  49. package/build/components/split-button/style.module.scss +26 -0
  50. package/build/components/stat-card/style.module.scss +49 -0
  51. package/build/components/status/style.module.scss +82 -0
  52. package/build/components/swipeable/style.scss +34 -0
  53. package/build/components/terms-of-service/styles.scss +9 -0
  54. package/build/components/testimonials/style.scss +128 -0
  55. package/build/components/text/style.module.scss +127 -0
  56. package/build/components/theme-provider/globals.module.scss +7 -0
  57. package/build/components/toggle-control/styles.module.scss +61 -0
  58. package/build/components/upsell-banner/style.scss +92 -0
  59. package/build/index.d.ts +3 -3
  60. package/build/index.js +3 -3
  61. package/components/number-control/index.tsx +45 -0
  62. package/index.ts +3 -3
  63. package/package.json +5 -4
  64. package/tools/copy-scss-to-build.mjs +62 -0
  65. package/components/number-control/index.jsx +0 -23
  66. /package/components/action-button/{index.jsx → index.tsx} +0 -0
  67. /package/components/spinner/{index.jsx → index.tsx} +0 -0
@@ -1,11 +1,28 @@
1
- export default NumberControl;
1
+ import type { ComponentType, InputHTMLAttributes, ReactNode } from 'react';
2
+ export type NumberControlProps = {
3
+ /**
4
+ * Matches common `@wordpress/components` control props without importing their internal types.
5
+ */
6
+ label?: ReactNode;
7
+ help?: ReactNode;
8
+ className?: string;
9
+ hideLabelFromVision?: boolean;
10
+ __nextHasNoMarginBottom?: boolean;
11
+ /**
12
+ * TextControl-style signature. (The experimental NumberControl can accept this too.)
13
+ */
14
+ onChange: (value: string) => void;
15
+ value: string | number;
16
+ __next40pxDefaultSize?: boolean;
17
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'className' | 'type' | 'children'>;
2
18
  /**
3
19
  * This uses the experimental NumberControl from the block
4
20
  * editor where available, otherwise it falls back to a
5
21
  * standard TextControl, limited to numbers.
6
- * @type {import('react').ComponentType<any>}
22
+ * @type {ComponentType<NumberControlProps>}
7
23
  *
8
- * @param {any} props - the NumberControl component props
9
- * @return {import('react').ReactNode} - NumberControl component
24
+ * @param {NumberControlProps} props - the NumberControl component props
25
+ * @return {ReactNode} - NumberControl component
10
26
  */
11
- declare const NumberControl: import("react").ComponentType<any>;
27
+ declare const NumberControl: ComponentType<NumberControlProps>;
28
+ export default NumberControl;
@@ -5,10 +5,10 @@ TextControl, } from '@wordpress/components';
5
5
  * This uses the experimental NumberControl from the block
6
6
  * editor where available, otherwise it falls back to a
7
7
  * standard TextControl, limited to numbers.
8
- * @type {import('react').ComponentType<any>}
8
+ * @type {ComponentType<NumberControlProps>}
9
9
  *
10
- * @param {any} props - the NumberControl component props
11
- * @return {import('react').ReactNode} - NumberControl component
10
+ * @param {NumberControlProps} props - the NumberControl component props
11
+ * @return {ReactNode} - NumberControl component
12
12
  */
13
13
  const NumberControl = ExperimentalNumberControl ||
14
14
  function CustomNumberControl(props) {
@@ -0,0 +1,68 @@
1
+ @use "@automattic/jetpack-base-styles/style";
2
+
3
+ $thumb-height: 40px;
4
+ $track-height: 8px;
5
+
6
+ @mixin adjust-track-rail-styles {
7
+ height: $track-height;
8
+ border-radius: 8px; /* stylelint-disable-line scales/radii */
9
+ }
10
+
11
+ // On holding thumb styling
12
+ .jp-components-number-slider--is-holding {
13
+
14
+ .jp-components-number-slider__thumb {
15
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 3px rgba(6, 158, 8, 0.25);
16
+ }
17
+ }
18
+
19
+ // Base styles
20
+ .jp-components-number-slider__control {
21
+ width: 100%;
22
+ height: $thumb-height;
23
+ }
24
+
25
+ .jp-components-number-slider__track {
26
+
27
+ @include adjust-track-rail-styles;
28
+ top: calc(($thumb-height / 2) - ($track-height / 2));
29
+ background: var(--jp-gray);
30
+
31
+ &.jp-components-number-slider__track-0 {
32
+ background: var(--jp-green-40);
33
+ }
34
+
35
+ &.jp-components-number-slider__track-1 {
36
+ background: var(--jp-gray);
37
+ }
38
+ }
39
+
40
+ .jp-components-number-slider__thumb {
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ padding: 8px 16px;
45
+ height: $thumb-height;
46
+ background-color: var(--jp-white);
47
+ border: 1.5px solid var(--jp-green-50);
48
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
49
+ border-radius: 4px;
50
+ color: var(--jp-black);
51
+ font-family: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
52
+ font-style: normal;
53
+ font-weight: 600;
54
+ font-size: var(--font-body);
55
+ line-height: 24px;
56
+ letter-spacing: -0.02em;
57
+ white-space: nowrap;
58
+ cursor: pointer;
59
+
60
+ // On focus thumb styling
61
+ &.jp-components-number-slider__thumb--is-active {
62
+ outline: none;
63
+ }
64
+
65
+ &[aria-valuenow="0"] {
66
+ border-color: var(--jp-gray);
67
+ }
68
+ }
@@ -0,0 +1,26 @@
1
+ .jp-popover {
2
+ width: 600px;
3
+ max-width: calc(100% - 32px);
4
+ padding: 16px;
5
+ background-color: #fff;
6
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 4px 8px 0 rgba(0, 0, 0, 0.03);
7
+ border: 1px solid rgba(220, 220, 222, 1);
8
+ border-radius: 4px;
9
+ text-align: center;
10
+ position: absolute;
11
+ top: 50%;
12
+ left: 50%;
13
+ transform: translate(-50%, -50%);
14
+
15
+ > * {
16
+ margin: 16px;
17
+ clear: both;
18
+ }
19
+
20
+ &__body p {
21
+ font-weight: 400;
22
+ // stylelint-disable-next-line declaration-property-unit-allowed-list -- this should be changed to a unitless value: https://developer.wordpress.org/coding-standards/wordpress-coding-standards/css/#values
23
+ line-height: 1.6em;
24
+ font-family: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
25
+ }
26
+ }
@@ -0,0 +1,113 @@
1
+ @use "@automattic/jetpack-base-styles/style";
2
+
3
+ .jp-components__pricing-card {
4
+ width: -moz-fit-content;
5
+ width: fit-content;
6
+ max-width: 384px;
7
+ padding: 24px 24px 32px;
8
+ background: var(--jp-white);
9
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
10
+ border-radius: var(--jp-border-radius);
11
+
12
+ @media screen and ( min-width: 600px ) {
13
+ padding: 32px 32px 44px;
14
+ }
15
+
16
+ &__icon {
17
+
18
+ img {
19
+ height: 32px;
20
+ width: 32px;
21
+ }
22
+ }
23
+
24
+ &__title {
25
+ margin: 16px 0 24px;
26
+ color: #101517;
27
+ font-size: 32px;
28
+ line-height: 38px;
29
+ }
30
+
31
+ &__pricing {
32
+ display: flex;
33
+ flex-wrap: wrap;
34
+ }
35
+
36
+ &__price-before,
37
+ &__price-after {
38
+ display: inline-block;
39
+ margin-bottom: 8px;
40
+ padding: 0 2px;
41
+ font-size: 54px;
42
+ font-weight: 700;
43
+ line-height: 40px;
44
+ }
45
+
46
+ &__price-before {
47
+ position: relative;
48
+ margin-right: 16px;
49
+ color: var(--jp-gray-20);
50
+ }
51
+
52
+ &__price-strikethrough {
53
+ position: absolute;
54
+ width: 100%;
55
+ height: 3px;
56
+ left: 0;
57
+ top: 20px;
58
+ background: var(--jp-pink);
59
+ border-radius: 1.5px;
60
+ }
61
+
62
+ &__price-after {
63
+ color: var(--jp-black);
64
+ }
65
+
66
+ &__currency {
67
+ vertical-align: super;
68
+ font-size: var(--font-title-small);
69
+ font-weight: 400;
70
+ line-height: 20px;
71
+ }
72
+
73
+ &__price-details {
74
+ align-self: flex-end;
75
+ margin-bottom: 8px;
76
+ font-size: 14px;
77
+ font-weight: 400;
78
+ line-height: 17px;
79
+ color: var(--jp-gray-50);
80
+ letter-spacing: -0.02em;
81
+ }
82
+
83
+ &__price-decimal {
84
+ font-size: var(--font-label);
85
+ line-height: 14px;
86
+ vertical-align: top;
87
+ }
88
+
89
+ &__button {
90
+ width: 100%;
91
+ height: auto;
92
+ font-size: 18px;
93
+ background: var(--jp-black);
94
+ color: var(--jp-white) !important;
95
+ border-radius: var(--jp-border-radius);
96
+ padding: 14px 24px;
97
+ margin: 24px 0 32px;
98
+ justify-content: center;
99
+ align-items: center;
100
+ }
101
+
102
+ &__info,
103
+ &__tos {
104
+ font-size: var(--font-label);
105
+ line-height: 20px;
106
+ letter-spacing: -0.02em;
107
+ color: var(--jp-gray-60);
108
+ }
109
+
110
+ &__tos {
111
+ margin-top: 24px;
112
+ }
113
+ }
@@ -0,0 +1,235 @@
1
+ @use "@automattic/jetpack-base-styles/gutenberg-base-styles" as gb;
2
+
3
+ .container {
4
+ --padding: calc(var(--spacing-base) * 4);
5
+ --padding-horizontal: calc(var(--spacing-base) * 3);
6
+ --padding-vertical: var(--spacing-base);
7
+ --item-border-color: #f0f0f0;
8
+ color: var(--jp-black);
9
+ }
10
+
11
+ .table {
12
+ --gap: calc(var(--spacing-base) * 3);
13
+ position: relative;
14
+ padding: var(--padding) 0;
15
+
16
+ .is-viewport-large & {
17
+ display: grid;
18
+ grid-template-columns: repeat(var(--columns), 1fr);
19
+ grid-auto-flow: column;
20
+ grid-template-rows: repeat(var(--rows), minmax(min-content, max-content));
21
+ column-gap: var(--gap);
22
+ }
23
+
24
+ .tableTitle {
25
+ font-size: 32px;
26
+ font-weight: 500;
27
+ line-height: 40px;
28
+ word-wrap: break-word;
29
+ }
30
+ }
31
+
32
+ .header-logo {
33
+
34
+ .is-viewport-large & {
35
+ margin-top: 32px;
36
+ }
37
+
38
+ margin-bottom: 24px;
39
+ }
40
+
41
+ .card {
42
+ margin-top: var(--padding);
43
+
44
+ .is-viewport-large & {
45
+ display: contents;
46
+ }
47
+
48
+ // Border styles for all columns (default gray borders)
49
+ > :first-child {
50
+ border-style: solid;
51
+ border-color: var(--item-border-color);
52
+ border-width: 1.5px 1.5px 0;
53
+ border-start-start-radius: 8px;
54
+ border-start-end-radius: 8px;
55
+ }
56
+
57
+ > :last-child {
58
+ border-style: solid;
59
+ border-color: var(--item-border-color);
60
+ border-width: 0 1.5px 1.5px;
61
+ border-end-start-radius: 8px;
62
+ border-end-end-radius: 8px;
63
+ }
64
+
65
+ > :not(:first-child):not(:last-child) {
66
+ border-inline: 1.5px solid var(--item-border-color);
67
+ }
68
+
69
+ > * {
70
+ background: var(--jp-white);
71
+ }
72
+
73
+ &.is-primary {
74
+
75
+ > * {
76
+ position: relative;
77
+
78
+ &::after {
79
+ content: "";
80
+ position: absolute;
81
+ top: 0;
82
+ left: 0;
83
+ right: 0;
84
+ bottom: 0;
85
+ z-index: -1;
86
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
87
+ }
88
+ }
89
+
90
+ // Primary column with green border and gradient background
91
+ > :first-child {
92
+ border-style: solid;
93
+ border-color: #008710;
94
+ border-width: 1.5px 1.5px 0;
95
+ border-start-start-radius: 8px;
96
+ border-start-end-radius: 8px;
97
+
98
+ background-image: url(./gradient.svg);
99
+ background-repeat: no-repeat;
100
+ background-size: 450px;
101
+ background-position-x: center;
102
+
103
+ @media (max-width: gb.$break-large) {
104
+ background-position-x: right;
105
+ }
106
+ }
107
+
108
+ > :last-child {
109
+ border-style: solid;
110
+ border-color: #008710;
111
+ border-width: 0 1.5px 1.5px;
112
+ border-end-start-radius: 8px;
113
+ border-end-end-radius: 8px;
114
+ }
115
+
116
+ > :not(:first-child):not(:last-child) {
117
+ border-inline: 1.5px solid #008710;
118
+ }
119
+ }
120
+ }
121
+
122
+ .headerContainer {
123
+ padding: var(--padding);
124
+ display: flex;
125
+ flex-direction: column;
126
+ }
127
+
128
+ .header {
129
+ display: flex;
130
+ flex-direction: column;
131
+ justify-content: space-between;
132
+ flex-basis: 100%;
133
+ }
134
+
135
+ .title {
136
+ margin-bottom: 24px;
137
+ }
138
+
139
+ .item {
140
+ display: flex;
141
+ align-items: center;
142
+ padding-bottom: var(--padding-vertical);
143
+ position: relative;
144
+ line-height: 20px;
145
+
146
+ &:not(:nth-child(2)):not(.empty) {
147
+ padding-top: var(--padding-vertical);
148
+
149
+ &::before {
150
+ content: "";
151
+ position: absolute;
152
+ top: 0;
153
+ inset-inline-start: var(--padding-horizontal);
154
+ inset-inline-end: var(--padding-horizontal);
155
+ height: 1px;
156
+
157
+ z-index: 5;
158
+ background-color: var(--jp-gray);
159
+ }
160
+
161
+ &.feature {
162
+
163
+ &::before {
164
+ inset-inline-start: 0;
165
+ inset-inline-end: calc(var(--padding) - var(--gap));
166
+
167
+ }
168
+ }
169
+ }
170
+
171
+ &:last-of-type {
172
+ padding-bottom: var(--padding-vertical);
173
+ }
174
+ }
175
+
176
+ .last-feature {
177
+ padding-bottom: var(--padding);
178
+ }
179
+
180
+ .value {
181
+ padding-left: var(--padding-horizontal);
182
+ padding-right: var(--padding-horizontal);
183
+ }
184
+
185
+ .icon {
186
+ margin: 0 var(--spacing-base);
187
+ fill: var(--jp-gray);
188
+ flex-shrink: 0;
189
+
190
+ &.icon-check {
191
+ fill: var(--jp-green-40);
192
+ }
193
+
194
+ &.icon-cross {
195
+ fill: var(--jp-red-50);
196
+ }
197
+ }
198
+
199
+ .popover {
200
+ margin-left: auto;
201
+
202
+ .is-viewport-large & {
203
+ top: 1px;
204
+ margin: 0 var(--spacing-base);
205
+ }
206
+ }
207
+
208
+ .item .popover-icon {
209
+ fill: var(--jp-gray-20);
210
+ flex-shrink: 0;
211
+ }
212
+
213
+ .tos {
214
+ text-align: center;
215
+ width: fit-content;
216
+
217
+ > a {
218
+ color: #000;
219
+ }
220
+
221
+ .is-viewport-large & {
222
+ padding-left: var(--padding);
223
+ padding-right: var(--padding);
224
+ grid-column: 2;
225
+ white-space: nowrap;
226
+ overflow: hidden;
227
+ }
228
+ }
229
+
230
+ .tos-container {
231
+ display: flex;
232
+ align-items: right;
233
+ justify-content: right;
234
+ margin: 0 calc(var(--spacing-base) * 4);
235
+ }
@@ -0,0 +1,93 @@
1
+ .wrapper {
2
+ padding: calc(var(--spacing-base) * 8);
3
+ position: relative;
4
+ }
5
+
6
+ .is-card {
7
+ background-color: var(--jp-white);
8
+ border: 1px solid var(--jp-gray);
9
+ border-radius: var(--jp-border-radius);
10
+ box-shadow: 0 2px 6px var(--product-card-shadow), 0 1px 2px var(--product-card-shadow);
11
+
12
+ .card-header {
13
+ border-radius: var(--jp-border-radius) var(--jp-border-radius) 0 0;
14
+ }
15
+ }
16
+
17
+ .card-header {
18
+ display: flex;
19
+ align-items: center;
20
+ background: var(--jp-black);
21
+ color: var(--jp-white);
22
+ padding: calc(var(--spacing-base) / 2) var(--spacing-base);
23
+ line-height: calc(var(--spacing-base) * 3);
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ box-sizing: border-box;
29
+ }
30
+
31
+ .card-container {
32
+ height: 100%;
33
+ display: flex;
34
+ flex-direction: column;
35
+ }
36
+
37
+ .product-bundle-icon {
38
+ fill: var(--jp-white);
39
+ margin-right: var(--spacing-base);
40
+ }
41
+
42
+ .product-bundle-icons,
43
+ .product-icon {
44
+ display: flex;
45
+ align-items: center;
46
+ margin-bottom: calc(var(--spacing-base) * 4);
47
+ }
48
+
49
+ .plus-icon {
50
+ fill: rgb(140, 143, 148);
51
+ height: 24px;
52
+ line-height: 24px;
53
+ }
54
+
55
+ .features {
56
+ margin: 0;
57
+ padding: 0;
58
+ flex-grow: 1;
59
+ margin-bottom: calc(var(--spacing-base) * 2);
60
+
61
+ li {
62
+ list-style: none;
63
+ display: flex;
64
+ align-items: flex-start;
65
+ margin-bottom: var(--spacing-base);
66
+ }
67
+
68
+ .check {
69
+ fill: var(--jp-green-primary);
70
+ margin-right: var(--spacing-base);
71
+ flex-shrink: 0;
72
+ }
73
+ }
74
+
75
+ .product-has-required-plan {
76
+ display: flex;
77
+ justify-content: center;
78
+ align-items: center;
79
+
80
+ svg {
81
+ margin-right: var(--spacing-base);
82
+ }
83
+ }
84
+
85
+ .add-button {
86
+ width: 100%;
87
+ justify-content: center;
88
+
89
+ &:global(.is-primary):disabled {
90
+ opacity: 1;
91
+ background-color: var(--jp-black);
92
+ }
93
+ }
@@ -0,0 +1,122 @@
1
+ .container {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ align-items: flex-start;
5
+ justify-content: flex-end;
6
+ }
7
+
8
+ .price-container {
9
+ display: flex;
10
+ align-items: flex-start;
11
+ flex-grow: 2;
12
+ flex-basis: 0;
13
+
14
+ .promo-label {
15
+ margin-left: auto;
16
+ }
17
+ }
18
+
19
+ .price {
20
+ display: inline-flex;
21
+ align-items: flex-start;
22
+ position: relative;
23
+ flex: 0 0 auto;
24
+
25
+ &:first-child {
26
+ margin-right: calc(var(--spacing-base) * 2);
27
+ }
28
+
29
+ &.is-not-off-price {
30
+ color: var(--jp-gray-20);
31
+
32
+ &::after {
33
+ content: " ";
34
+ display: block;
35
+ width: 100%;
36
+ height: 3px;
37
+ background: var(--jp-red);
38
+ border-radius: var(--jp-border-radius);
39
+ position: absolute;
40
+ top: 50%;
41
+ margin-top: -2px;
42
+ pointer-events: none;
43
+ }
44
+ }
45
+ }
46
+
47
+ .footer {
48
+ display: flex;
49
+ flex-wrap: wrap;
50
+ align-items: flex-start;
51
+ justify-content: flex-start;
52
+ margin-bottom: calc(var(--spacing-base) * 3);
53
+ }
54
+
55
+ .legend {
56
+ color: var(--jp-gray-40);
57
+ font-size: var(--font-body-small);
58
+ line-height: 20px;
59
+
60
+ &::after {
61
+ content: "\200B"; // Pseudo element to keep height
62
+ }
63
+ }
64
+
65
+ .promo-label {
66
+ background-color: var(--jp-yellow-10);
67
+ border-radius: 4px;
68
+ padding-left: var(--spacing-base);
69
+ padding-right: var(--spacing-base);
70
+ font-weight: 600;
71
+ font-size: 13px;
72
+ margin-left: var(--spacing-base);
73
+ }
74
+
75
+ .symbol {
76
+ font-weight: 400;
77
+ }
78
+
79
+ .simple {
80
+ display: grid;
81
+ grid-gap: 8px;
82
+ margin-bottom: 24px;
83
+
84
+ .currentPrice {
85
+ display: flex;
86
+
87
+ > p {
88
+ font-weight: 500;
89
+ font-size: 32px;
90
+ line-height: 32px;
91
+ margin-right: 8px;
92
+ }
93
+
94
+ > div {
95
+ line-height: 16px;
96
+ margin: auto 0 0;
97
+ color: var(--jp-gray-50);
98
+ }
99
+ }
100
+
101
+ .originalPrice {
102
+ display: flex;
103
+
104
+ > p {
105
+ font-weight: 400;
106
+ margin-right: 8px;
107
+ color: var(--jp-gray-40);
108
+ font-size: 21px;
109
+ line-height: 35px;
110
+
111
+ &::after {
112
+ background: var(--jp-gray-40);
113
+ }
114
+ }
115
+
116
+ > div {
117
+ line-height: 16px;
118
+ margin: auto 0 0;
119
+ color: var(--jp-gray-50);
120
+ }
121
+ }
122
+ }
@@ -0,0 +1,18 @@
1
+ .wrapper {
2
+ width: 100%;
3
+ height: 12px;
4
+ background-color: var(--jp-gray-5);
5
+ border-radius: calc(var(--spacing-base) * 3);
6
+ overflow: hidden;
7
+
8
+ &.small {
9
+ height: 3px;
10
+ }
11
+
12
+ .progress {
13
+ height: 100%;
14
+ border-radius: calc(var(--spacing-base) * 3);
15
+ background-color: var(--jp-black);
16
+ min-width: 12px;
17
+ }
18
+ }