@ebay/skin 16.4.0-0 → 16.5.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.
- package/_cdn/skin/v16.5.0-0/skin-default.min.css +6 -0
- package/_cdn/skin/v16.5.0-0/skin-full.min.css +6 -0
- package/_cdn/skin/v16.5.0-0/skin-headless.min.css +6 -0
- package/_cdn/skin/v16.5.0-0/skin-legacy.min.css +6 -0
- package/dist/field/field.css +17 -0
- package/dist/lightbox-dialog/lightbox-dialog.css +32 -0
- package/dist/segmented-buttons/segmented-buttons.css +1 -0
- package/dist/toggle-button/toggle-button.css +8 -2
- package/dist/toggle-button-group/toggle-button-group.css +88 -0
- package/index.browser.json +1 -0
- package/index.css +1 -0
- package/index.js +1 -0
- package/index.mjs +1 -0
- package/package.json +2 -2
- package/scripts/generate-imports/config.json +1 -0
- package/src/less/bundles/skin-headless.less +1 -0
- package/src/less/field/field.less +23 -0
- package/src/less/field/stories/helper-texts-stacked.stories.js +114 -0
- package/src/less/lightbox-dialog/lightbox-dialog.less +42 -0
- package/src/less/lightbox-dialog/stories/lightbox-dialog.stories.js +114 -0
- package/src/less/segmented-buttons/segmented-buttons.less +1 -0
- package/src/less/toggle-button/stories/gallery-layout.stories.js +13 -0
- package/src/less/toggle-button/toggle-button.less +14 -2
- package/src/less/toggle-button-group/stories/gallery-layout.stories.js +566 -0
- package/src/less/toggle-button-group/stories/list-layout.stories.js +611 -0
- package/src/less/toggle-button-group/stories/minimal-layout.stories.js +341 -0
- package/src/less/toggle-button-group/toggle-button-group.less +111 -0
- package/toggle-button-group.browser.json +1 -0
- package/toggle-button-group.css +1 -0
- package/toggle-button-group.js +1 -0
- package/toggle-button-group.mjs +1 -0
- package/_cdn/skin/v16.4.0-0/skin-default.min.css +0 -6
- package/_cdn/skin/v16.4.0-0/skin-full.min.css +0 -6
- package/_cdn/skin/v16.4.0-0/skin-headless.min.css +0 -6
- package/_cdn/skin/v16.4.0-0/skin-legacy.min.css +0 -6
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
outline-style: outset;
|
|
30
30
|
outline-width: 2px;
|
|
31
31
|
}
|
|
32
|
+
.toggle-button * {
|
|
33
|
+
pointer-events: none;
|
|
34
|
+
}
|
|
32
35
|
.toggle-button[aria-pressed="true"] {
|
|
33
36
|
background-color: var(--color-background-secondary);
|
|
34
37
|
border: 1px solid var(--color-stroke-strong);
|
|
@@ -72,14 +75,17 @@
|
|
|
72
75
|
margin-bottom: 4px;
|
|
73
76
|
margin-top: 16px;
|
|
74
77
|
}
|
|
75
|
-
.toggle-
|
|
78
|
+
.toggle-button__title:only-child {
|
|
79
|
+
margin-bottom: 16px;
|
|
80
|
+
}
|
|
81
|
+
.toggle-button .toggle-button__content:only-child .toggle-button__title:only-child {
|
|
76
82
|
font-weight: bold;
|
|
77
83
|
margin-bottom: auto;
|
|
78
84
|
margin-top: auto;
|
|
79
85
|
text-align: center;
|
|
80
86
|
width: 100%;
|
|
81
87
|
}
|
|
82
|
-
.toggle-button:not([aria-pressed="true"]) .toggle-button__title:only-child {
|
|
88
|
+
.toggle-button:not([aria-pressed="true"]) .toggle-button__content:only-child .toggle-button__title:only-child {
|
|
83
89
|
font-weight: normal;
|
|
84
90
|
}
|
|
85
91
|
.toggle-button__subtitle {
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
.toggle-button-group {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
list-style: none;
|
|
4
|
+
margin: 0;
|
|
5
|
+
padding: 0;
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
.toggle-button-group li {
|
|
9
|
+
display: inline-table;
|
|
10
|
+
margin-bottom: 4px;
|
|
11
|
+
margin-left: 4px;
|
|
12
|
+
margin-right: 4px;
|
|
13
|
+
margin-top: 4px;
|
|
14
|
+
max-width: var(--toggle-button-width-max);
|
|
15
|
+
min-height: var(--toggle-button-height-min);
|
|
16
|
+
min-width: var(--toggle-button-width-min);
|
|
17
|
+
}
|
|
18
|
+
.toggle-button-group .toggle-button {
|
|
19
|
+
width: 100%;
|
|
20
|
+
}
|
|
21
|
+
/* Layout Themes */
|
|
22
|
+
.toggle-button-group--list-layout li {
|
|
23
|
+
max-width: var(--toggle-button-list-width-max);
|
|
24
|
+
min-width: var(--toggle-button-list-width-min);
|
|
25
|
+
}
|
|
26
|
+
.toggle-button-group--list-layout .toggle-button {
|
|
27
|
+
justify-content: left;
|
|
28
|
+
max-width: var(--toggle-button-list-width-max);
|
|
29
|
+
min-width: var(--toggle-button-list-width-min);
|
|
30
|
+
}
|
|
31
|
+
.toggle-button-group--gallery-layout li {
|
|
32
|
+
max-width: var(--toggle-button-gallery-width-max);
|
|
33
|
+
min-width: var(--toggle-button-gallery-width-min);
|
|
34
|
+
}
|
|
35
|
+
.toggle-button-group--gallery-layout .toggle-button {
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
}
|
|
38
|
+
.toggle-button-group--gallery-layout .toggle-button__image,
|
|
39
|
+
.toggle-button-group--gallery-layout .toggle-button__icon {
|
|
40
|
+
margin-bottom: 0;
|
|
41
|
+
margin-right: 0;
|
|
42
|
+
}
|
|
43
|
+
.toggle-button-group--gallery-layout .toggle-button__icon ~ .toggle-button__content,
|
|
44
|
+
.toggle-button-group--gallery-layout .toggle-button__image-container ~ .toggle-button__content {
|
|
45
|
+
align-self: flex-start;
|
|
46
|
+
}
|
|
47
|
+
.toggle-button-group--gallery-layout .toggle-button__icon,
|
|
48
|
+
.toggle-button-group--gallery-layout .toggle-button__image-container {
|
|
49
|
+
margin-bottom: 0;
|
|
50
|
+
margin-right: 0;
|
|
51
|
+
text-align: left;
|
|
52
|
+
}
|
|
53
|
+
.toggle-button-group--gallery-layout .toggle-button__image-container {
|
|
54
|
+
padding-bottom: 60%;
|
|
55
|
+
position: relative;
|
|
56
|
+
text-align: center;
|
|
57
|
+
width: 100%;
|
|
58
|
+
}
|
|
59
|
+
.toggle-button-group--gallery-layout .toggle-button__image {
|
|
60
|
+
bottom: 0;
|
|
61
|
+
height: 100%;
|
|
62
|
+
left: 0;
|
|
63
|
+
position: absolute;
|
|
64
|
+
right: 0;
|
|
65
|
+
top: 0;
|
|
66
|
+
width: 100%;
|
|
67
|
+
}
|
|
68
|
+
.toggle-button-group--gallery-layout .toggle-button__image-container img {
|
|
69
|
+
height: 100%;
|
|
70
|
+
max-height: 200px;
|
|
71
|
+
max-width: initial;
|
|
72
|
+
}
|
|
73
|
+
/* Columns */
|
|
74
|
+
.toggle-button-group[data-columns="2"] li {
|
|
75
|
+
width: calc(100% / 2 - 11px);
|
|
76
|
+
}
|
|
77
|
+
.toggle-button-group[data-columns="3"] li {
|
|
78
|
+
width: calc(100% / 3 - 11px);
|
|
79
|
+
}
|
|
80
|
+
.toggle-button-group[data-columns="4"] li {
|
|
81
|
+
width: calc(100% / 4 - 11px);
|
|
82
|
+
}
|
|
83
|
+
.toggle-button-group[data-columns="5"] li {
|
|
84
|
+
width: calc(100% / 5 - 11px);
|
|
85
|
+
}
|
|
86
|
+
.toggle-button-group[data-columns="6"] li {
|
|
87
|
+
width: calc(100% / 6 - 11px);
|
|
88
|
+
}
|
package/index.browser.json
CHANGED
package/index.css
CHANGED
package/index.js
CHANGED
package/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ebay/skin",
|
|
3
3
|
"description": "Skin - CSS modules that represent the brand eBay",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.5.0-0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./index.js",
|
|
7
7
|
"maintainers": [
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@commitlint/cli": "^17.6.3",
|
|
66
66
|
"@commitlint/config-conventional": "^17.6.3",
|
|
67
67
|
"@ebay/browserslist-config": "^2.6.0",
|
|
68
|
-
"@percy/cli": "^1.
|
|
68
|
+
"@percy/cli": "^1.26.1",
|
|
69
69
|
"@percy/storybook": "^4.3.6",
|
|
70
70
|
"@storybook/html": "^7.0.12",
|
|
71
71
|
"@storybook/html-webpack5": "^7.0.12",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
@import "../textbox/textbox.less";
|
|
57
57
|
@import "../toast-dialog/toast-dialog.less";
|
|
58
58
|
@import "../toggle-button/toggle-button.less";
|
|
59
|
+
@import "../toggle-button-group/toggle-button-group.less";
|
|
59
60
|
@import "../tooltip/tooltip.less";
|
|
60
61
|
@import "../tourtip/tourtip.less";
|
|
61
62
|
@import "../typography/typography.less";
|
|
@@ -34,6 +34,20 @@ div.field--table {
|
|
|
34
34
|
display: table;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
.field__description--group {
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: end;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.field__description--group > :last-child {
|
|
43
|
+
margin-left: 5px;
|
|
44
|
+
text-align: right;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.field__description--group > :first-child {
|
|
48
|
+
flex: 1;
|
|
49
|
+
}
|
|
50
|
+
|
|
37
51
|
// ELEMENT CLASSES
|
|
38
52
|
|
|
39
53
|
.field__label {
|
|
@@ -43,6 +57,8 @@ div.field--table {
|
|
|
43
57
|
.field__description {
|
|
44
58
|
.color-token(field-description-color, color-foreground-secondary);
|
|
45
59
|
font-size: @font-size-small;
|
|
60
|
+
line-height: @spacing-200;
|
|
61
|
+
margin-top: @spacing-50;
|
|
46
62
|
}
|
|
47
63
|
|
|
48
64
|
.field__description--confirmation {
|
|
@@ -148,3 +164,10 @@ div.field__description {
|
|
|
148
164
|
align-self: start;
|
|
149
165
|
margin-top: 16px;
|
|
150
166
|
}
|
|
167
|
+
|
|
168
|
+
[dir="rtl"] {
|
|
169
|
+
.field__description--group > :last-child {
|
|
170
|
+
margin-right: 5px;
|
|
171
|
+
text-align: left;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export default { title: "Skin/Field/Helper Texts/Stacked" };
|
|
2
|
+
|
|
3
|
+
export const characterMeterOnly = () => `
|
|
4
|
+
<span class="field">
|
|
5
|
+
<label class="field__label field__label--stacked" for="field-character-1-input">Field 1</label>
|
|
6
|
+
<span class="field__control textbox">
|
|
7
|
+
<input type="text" aria-describedby="field-character-1" class="textbox__control" id="field-character-1-input" aria-live="off" />
|
|
8
|
+
</span>
|
|
9
|
+
<div class="field__description field__description--group">
|
|
10
|
+
<span id="field-character-1">
|
|
11
|
+
0 of 140
|
|
12
|
+
</span>
|
|
13
|
+
</div>
|
|
14
|
+
</span>
|
|
15
|
+
`;
|
|
16
|
+
|
|
17
|
+
export const descriptionCharacterMeter = () => `
|
|
18
|
+
<span class="field ">
|
|
19
|
+
<label class="field__label field__label--stacked" for="field-character-1-input">Field 1</label>
|
|
20
|
+
<span class="field__control textbox">
|
|
21
|
+
<input type="text" aria-describedby="field-character-1-description field-character-1" class="textbox__control" id="field-character-1-input" aria-live="off" />
|
|
22
|
+
</span>
|
|
23
|
+
|
|
24
|
+
<div class="field__description field__description--group">
|
|
25
|
+
<span id="field-character-1-description">
|
|
26
|
+
Field description or error
|
|
27
|
+
</span>
|
|
28
|
+
<span id="field-character-1">
|
|
29
|
+
0 of 140
|
|
30
|
+
</span>
|
|
31
|
+
</div>
|
|
32
|
+
</span>
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
export const longDescriptionCharacterMeter = () => `
|
|
36
|
+
<span class="field" style="width:200px">
|
|
37
|
+
<label class="field__label field__label--stacked" for="field-character-1-input">Field 1</label>
|
|
38
|
+
<span class="field__control textbox">
|
|
39
|
+
<input type="text" aria-describedby="field-character-1-description field-character-1" class="textbox__control" id="field-character-1-input" aria-live="off" />
|
|
40
|
+
</span>
|
|
41
|
+
|
|
42
|
+
<div class="field__description field__description--group">
|
|
43
|
+
<span id="field-character-1-description">
|
|
44
|
+
Field description or error which is long and should wrap to next line
|
|
45
|
+
</span>
|
|
46
|
+
<span id="field-character-1">
|
|
47
|
+
0 of 140
|
|
48
|
+
</span>
|
|
49
|
+
</div>
|
|
50
|
+
</span>
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
export const fluidDescriptionCharacterMeter = () => `
|
|
54
|
+
<div class="field fluid">
|
|
55
|
+
<label class="field__label field__label--stacked" for="field-character-3-input">Field 1</label>
|
|
56
|
+
<div class="field__control textbox">
|
|
57
|
+
<input type="text" aria-describedby="field-character-3-description field-character-1" class="textbox__control textbox__control--fluid" id="field-character-3-input" aria-live="off" />
|
|
58
|
+
</div>
|
|
59
|
+
<div class="field__description field__description--group">
|
|
60
|
+
<span id="field-character-1-description">
|
|
61
|
+
Field description or error
|
|
62
|
+
</span>
|
|
63
|
+
<span id="field-character-1">
|
|
64
|
+
0 of 140
|
|
65
|
+
</span>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
`;
|
|
69
|
+
|
|
70
|
+
export const RTL = () => `
|
|
71
|
+
<div dir="rtl">
|
|
72
|
+
<span class="field ">
|
|
73
|
+
<label class="field__label field__label--stacked" for="field-character-1-input">Field 1</label>
|
|
74
|
+
<span class="field__control textbox">
|
|
75
|
+
<input type="text" aria-describedby="field-character-1-description field-character-1" class="textbox__control" id="field-character-1-input" aria-live="off" />
|
|
76
|
+
</span>
|
|
77
|
+
|
|
78
|
+
<div class="field__description field__description--group">
|
|
79
|
+
<span id="field-character-1-description">
|
|
80
|
+
Field description or error
|
|
81
|
+
</span>
|
|
82
|
+
<span id="field-character-1">
|
|
83
|
+
0 / 140
|
|
84
|
+
</span>
|
|
85
|
+
</div>
|
|
86
|
+
</span>
|
|
87
|
+
<span class="field ">
|
|
88
|
+
<label class="field__label field__label--stacked" for="field-character-1-input">Field 1</label>
|
|
89
|
+
<span class="field__control textbox">
|
|
90
|
+
<input type="text" aria-describedby="field-character-1" class="textbox__control" id="field-character-1-input" aria-live="off" />
|
|
91
|
+
</span>
|
|
92
|
+
|
|
93
|
+
<div class="field__description field__description--group">
|
|
94
|
+
<span id="field-character-1">
|
|
95
|
+
0 / 140
|
|
96
|
+
</span>
|
|
97
|
+
</div>
|
|
98
|
+
</span>
|
|
99
|
+
<div class="field fluid">
|
|
100
|
+
<label class="field__label field__label--stacked" for="field-character-3-input">Field 1</label>
|
|
101
|
+
<div class="field__control textbox">
|
|
102
|
+
<input type="text" aria-describedby="field-character-3-description field-character-1" class="textbox__control textbox__control--fluid" id="field-character-3-input" aria-live="off" />
|
|
103
|
+
</div>
|
|
104
|
+
<div class="field__description field__description--group">
|
|
105
|
+
<span id="field-character-1-description">
|
|
106
|
+
Field description or error
|
|
107
|
+
</span>
|
|
108
|
+
<span id="field-character-1">
|
|
109
|
+
0 of 140
|
|
110
|
+
</span>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
`;
|
|
@@ -25,6 +25,33 @@
|
|
|
25
25
|
.dialog-footer-content();
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
.lightbox-dialog__image {
|
|
29
|
+
background-position: center;
|
|
30
|
+
background-repeat: no-repeat;
|
|
31
|
+
background-size: cover;
|
|
32
|
+
border-radius: var(--border-radius-100) var(--border-radius-100) 0 0;
|
|
33
|
+
height: 218px;
|
|
34
|
+
position: absolute;
|
|
35
|
+
width: 100%;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.lightbox-dialog--expressive .lightbox-dialog__window {
|
|
39
|
+
padding-bottom: @spacing-100;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.lightbox-dialog--expressive .lightbox-dialog__header > * {
|
|
43
|
+
margin-top: 218px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.lightbox-dialog--expressive .lightbox-dialog__header {
|
|
47
|
+
margin: @spacing-300 @spacing-300 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.lightbox-dialog--expressive .lightbox-dialog__main,
|
|
51
|
+
.lightbox-dialog--expressive .lightbox-dialog__footer {
|
|
52
|
+
padding: @spacing-200 @spacing-300;
|
|
53
|
+
}
|
|
54
|
+
|
|
28
55
|
// inherits from .icon-btn
|
|
29
56
|
// Might need to see if icon-btn can support a small version
|
|
30
57
|
button.icon-btn.lightbox-dialog__close {
|
|
@@ -37,6 +64,11 @@ button.icon-btn.lightbox-dialog__close {
|
|
|
37
64
|
z-index: 1;
|
|
38
65
|
}
|
|
39
66
|
|
|
67
|
+
.lightbox-dialog--expressive button.icon-btn.lightbox-dialog__close {
|
|
68
|
+
align-self: self-start;
|
|
69
|
+
margin: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
40
72
|
.lightbox-dialog__title {
|
|
41
73
|
&:not(:first-child) {
|
|
42
74
|
margin-left: @spacing-200;
|
|
@@ -113,4 +145,14 @@ button.icon-btn.lightbox-dialog__close {
|
|
|
113
145
|
.lightbox-dialog--wide .lightbox-dialog__window {
|
|
114
146
|
max-width: var(--dialog-lightbox-wide-max-width);
|
|
115
147
|
}
|
|
148
|
+
|
|
149
|
+
.lightbox-dialog--wide .lightbox-dialog__image {
|
|
150
|
+
height: 256px;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.lightbox-dialog--wide.lightbox-dialog--expressive
|
|
154
|
+
.lightbox-dialog__header
|
|
155
|
+
> * {
|
|
156
|
+
margin-top: 256px;
|
|
157
|
+
}
|
|
116
158
|
}
|
|
@@ -23,6 +23,30 @@ export const base = () => `
|
|
|
23
23
|
</div>
|
|
24
24
|
`;
|
|
25
25
|
|
|
26
|
+
export const expressiveBase = () => `
|
|
27
|
+
<div aria-labelledby="lightbox-dialog-title" aria-modal="true" class="lightbox-dialog lightbox-dialog--expressive" role="dialog">
|
|
28
|
+
<div class="lightbox-dialog__window">
|
|
29
|
+
<div class="lightbox-dialog__image" style="background-image:url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg)"></div>
|
|
30
|
+
<div class="lightbox-dialog__header">
|
|
31
|
+
<h2 id="lightbox-dialog-title">Dialog Lightbox</h2>
|
|
32
|
+
<button class="icon-btn lightbox-dialog__close" type="button" aria-label="Close Dialog">
|
|
33
|
+
<svg class="icon icon--close-16" aria-hidden="true">
|
|
34
|
+
<use href="#icon-close-16"></use>
|
|
35
|
+
</svg>
|
|
36
|
+
</button>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="lightbox-dialog__main">
|
|
39
|
+
<h3>Heading</h3>
|
|
40
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
41
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
42
|
+
<h3>Heading</h3>
|
|
43
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
44
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
`;
|
|
49
|
+
|
|
26
50
|
export const scrollingLightbox = () => `
|
|
27
51
|
<div aria-labelledby="lightbox-dialog-title" aria-modal="true" class="lightbox-dialog" role="dialog">
|
|
28
52
|
<div class="lightbox-dialog__window">
|
|
@@ -84,7 +108,73 @@ export const scrollingLightbox = () => `
|
|
|
84
108
|
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
85
109
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
86
110
|
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
`;
|
|
87
115
|
|
|
116
|
+
export const expressiveScrolling = () => `
|
|
117
|
+
<div aria-labelledby="lightbox-dialog-title" aria-modal="true" class="lightbox-dialog lightbox-dialog--expressive" role="dialog">
|
|
118
|
+
<div class="lightbox-dialog__window">
|
|
119
|
+
<div class="lightbox-dialog__image" style="background-image:url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg)"></div>
|
|
120
|
+
<div class="lightbox-dialog__header">
|
|
121
|
+
<h2 id="lightbox-dialog-title">Dialog Lightbox</h2>
|
|
122
|
+
<button class="icon-btn lightbox-dialog__close" type="button" aria-label="Close Dialog">
|
|
123
|
+
<svg class="icon icon--close-16" aria-hidden="true">
|
|
124
|
+
<use href="#icon-close-16"></use>
|
|
125
|
+
</svg>
|
|
126
|
+
</button>
|
|
127
|
+
</div>
|
|
128
|
+
<div class="lightbox-dialog__main">
|
|
129
|
+
<h3>Heading</h3>
|
|
130
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
131
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
132
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
133
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
134
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
135
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
136
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
137
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
138
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
139
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
140
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
141
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
142
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
143
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
144
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
145
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
146
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
147
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
148
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
149
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
150
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
151
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
152
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
153
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
154
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
155
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
156
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
157
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
158
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
159
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
160
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
161
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
162
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
163
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
164
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
165
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
166
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
167
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
168
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
169
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
170
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
171
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
172
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
173
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
174
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
175
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
176
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
177
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
88
178
|
</div>
|
|
89
179
|
</div>
|
|
90
180
|
</div>
|
|
@@ -188,3 +278,27 @@ export const wide = () => `
|
|
|
188
278
|
</div>
|
|
189
279
|
</div>
|
|
190
280
|
`;
|
|
281
|
+
|
|
282
|
+
export const expressiveWide = () => `
|
|
283
|
+
<div aria-labelledby="lightbox-dialog-title" aria-modal="true" class="lightbox-dialog lightbox-dialog--wide lightbox-dialog--expressive" role="dialog">
|
|
284
|
+
<div class="lightbox-dialog__window">
|
|
285
|
+
<div class="lightbox-dialog__image" style="background-image:url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg)"></div>
|
|
286
|
+
<div class="lightbox-dialog__header">
|
|
287
|
+
<h2 id="lightbox-dialog-title">Dialog Lightbox</h2>
|
|
288
|
+
<button class="icon-btn lightbox-dialog__close" type="button" aria-label="Close Dialog">
|
|
289
|
+
<svg class="icon icon--close-16" aria-hidden="true">
|
|
290
|
+
<use href="#icon-close-16"></use>
|
|
291
|
+
</svg>
|
|
292
|
+
</button>
|
|
293
|
+
</div>
|
|
294
|
+
<div class="lightbox-dialog__main">
|
|
295
|
+
<h3>Heading</h3>
|
|
296
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
297
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
298
|
+
<h3>Heading</h3>
|
|
299
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus convallis molestie erat, ut adipiscing risus blandit vel. Vivamus luctus elementum lorem, eu sodales velit sagittis id.</p>
|
|
300
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
</div>
|
|
304
|
+
`;
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
background-color: transparent;
|
|
35
35
|
border: none;
|
|
36
36
|
border-radius: var(--btn-border-radius, calc(@button-height-regular / 2));
|
|
37
|
+
color: var(--color-foreground-on-primary);
|
|
37
38
|
font-size: @font-size-regular;
|
|
38
39
|
min-height: @button-height-regular - (@segmented-buttons-padding * 2);
|
|
39
40
|
padding: @spacing-100 @spacing-200;
|
|
@@ -28,6 +28,19 @@ export const longTitle = () => `
|
|
|
28
28
|
</button>
|
|
29
29
|
`;
|
|
30
30
|
|
|
31
|
+
export const profileImageTitle = () => `
|
|
32
|
+
<button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
|
|
33
|
+
<span class="toggle-button__image-container">
|
|
34
|
+
<span class="toggle-button__image">
|
|
35
|
+
<img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
|
|
36
|
+
</span>
|
|
37
|
+
</span>
|
|
38
|
+
<span class="toggle-button__content">
|
|
39
|
+
<span class="toggle-button__title">Image Button Title</span>
|
|
40
|
+
</span>
|
|
41
|
+
</button>
|
|
42
|
+
`;
|
|
43
|
+
|
|
31
44
|
export const profileImageTitleSubtitle = () => `
|
|
32
45
|
<button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
|
|
33
46
|
<span class="toggle-button__image-container">
|
|
@@ -34,6 +34,10 @@
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
.toggle-button * {
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
.toggle-button[aria-pressed="true"] {
|
|
38
42
|
background-color: var(--color-background-secondary);
|
|
39
43
|
border: 1px solid var(--color-stroke-strong);
|
|
@@ -85,7 +89,13 @@
|
|
|
85
89
|
margin-top: @spacing-200;
|
|
86
90
|
}
|
|
87
91
|
|
|
88
|
-
.toggle-
|
|
92
|
+
.toggle-button__title:only-child {
|
|
93
|
+
margin-bottom: @spacing-200;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.toggle-button
|
|
97
|
+
.toggle-button__content:only-child
|
|
98
|
+
.toggle-button__title:only-child {
|
|
89
99
|
font-weight: bold;
|
|
90
100
|
margin-bottom: auto;
|
|
91
101
|
margin-top: auto;
|
|
@@ -93,7 +103,9 @@
|
|
|
93
103
|
width: 100%;
|
|
94
104
|
}
|
|
95
105
|
|
|
96
|
-
.toggle-button:not([aria-pressed="true"])
|
|
106
|
+
.toggle-button:not([aria-pressed="true"])
|
|
107
|
+
.toggle-button__content:only-child
|
|
108
|
+
.toggle-button__title:only-child {
|
|
97
109
|
font-weight: normal;
|
|
98
110
|
}
|
|
99
111
|
|