@ebay/skin 17.3.0 → 17.4.0-next.1
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/.changeset/big-cheetahs-peel.md +5 -0
- package/.changeset/kind-pens-own.md +5 -0
- package/.changeset/loud-carrots-protect.md +5 -0
- package/.changeset/metal-cars-promise.md +5 -0
- package/.changeset/pre.json +16 -0
- package/.changeset/shaggy-ways-pump.md +5 -0
- package/.changeset/shaggy-yaks-guess.md +5 -0
- package/.changeset/soft-ligers-march.md +5 -0
- package/.github/workflows/jekyll-gh-pages.yml +8 -2
- package/.storybook/main.js +1 -1
- package/CHANGELOG.md +22 -0
- package/ICON-CREATION.md +1 -1
- package/_cdn/skin/v17.4.0-next.1/skin-default.min.css +76 -0
- package/_cdn/skin/v17.4.0-next.1/skin-full.min.css +160 -0
- package/_cdn/skin/v17.4.0-next.1/skin-headless.min.css +6 -0
- package/dist/flag/flag.css +774 -0
- package/dist/icon/icon.css +20 -0
- package/dist/icon-button/icon-button.css +113 -0
- package/dist/phone-input/phone-input.css +144 -0
- package/dist/skeleton/skeleton.css +6 -0
- package/dist/svg/icon/icon-bids-24.svg +4 -2
- package/dist/svg/icon/icon-bids-64.svg +2 -5
- package/dist/svg/icon/icon-bookmark-filled-16.svg +7 -0
- package/dist/svg/icon/icon-bookmark-filled-24.svg +7 -0
- package/dist/svg/icon/icon-exclude-16.svg +7 -0
- package/dist/svg/icon/icon-exclude-24.svg +7 -0
- package/dist/svg/icon/icon-fast-and-free-16.svg +4 -2
- package/dist/svg/icon/icon-fast-and-free-24.svg +4 -2
- package/dist/svg/icon/icon-inspect-64.svg +7 -0
- package/dist/svg/icon/icon-on-the-way-16.svg +4 -3
- package/dist/svg/icon/icon-on-the-way-24.svg +4 -2
- package/dist/svg/icon/icon-wallet-24.svg +4 -2
- package/dist/svg/icon/icon-wallet-64.svg +4 -2
- package/dist/svg/icons.svg +72 -27
- package/dist/tokens/evo-dark.css +14 -9
- package/dist/tokens/evo-light.css +13 -3
- package/eslint.config.mjs +15 -0
- package/index.browser.json +1 -0
- package/index.css +1 -0
- package/index.js +1 -0
- package/index.mjs +1 -0
- package/lint.log +10 -0
- package/package.json +17 -17
- package/phone-input.browser.json +1 -0
- package/phone-input.css +1 -0
- package/phone-input.js +1 -0
- package/phone-input.mjs +1 -0
- package/scripts/jekyll-config.js +2 -4
- package/src/less/alert-dialog/stories/alert-dialog.stories.js +16 -0
- package/src/less/badge/stories/badge.stories.js +4 -0
- package/src/less/breadcrumbs/stories/button-cascade.stories.js +29 -0
- package/src/less/breadcrumbs/stories/button-overflow.stories.js +48 -0
- package/src/less/breadcrumbs/stories/link-cascade.stories.js +29 -0
- package/src/less/breadcrumbs/stories/link-overflow.stories.js +51 -0
- package/src/less/bundles/skin-headless.less +1 -0
- package/src/less/button/stories/button/text-spacing.stories.js +16 -0
- package/src/less/button/stories/fake-button/text-spacing.stories.js +13 -0
- package/src/less/calendar/stories/calendar.stories.js +210 -0
- package/src/less/checkbox/stories/checked.stories.js +20 -0
- package/src/less/chips-combobox/stories/chips-combobox.stories.js +58 -0
- package/src/less/combobox/stories/combobox.stories.js +21 -0
- package/src/less/confirm-dialog/stories/confirm-dialog.stories.js +17 -0
- package/src/less/cta-button/stories/cta-button.stories.js +11 -0
- package/src/less/date-textbox/stories/date-textbox.stories.js +27 -0
- package/src/less/details/stories/details.stories.js +14 -0
- package/src/less/drawer-dialog/stories/drawer-dialog.stories.js +27 -0
- package/src/less/field/stories/helper-texts-stacked.stories.js +17 -0
- package/src/less/filter-button/stories/button.stories.js +8 -0
- package/src/less/filter-menu/stories/filter-menu.stories.js +41 -0
- package/src/less/filter-menu-button/stories/filter-menu-button.stories.js +238 -0
- package/src/less/flag/flag.less +777 -0
- package/src/less/flag/stories/flag.stories.js +9 -0
- package/src/less/floating-label/stories/floating-label.stories.js +102 -0
- package/src/less/fullscreen-dialog/stories/fullscreen-dialog.stories.js +27 -0
- package/src/less/global/stories/global.stories.js +16 -0
- package/src/less/icon/generated/icon.less +20 -0
- package/src/less/icon-button/icon-button.less +133 -0
- package/src/less/icon-button/stories/buttons.stories.js +241 -0
- package/src/less/icon-button/stories/links.stories.js +241 -0
- package/src/less/infotip/stories/infotip.stories.js +27 -2
- package/src/less/inline-notice/stories/inline.stories.js +13 -0
- package/src/less/lightbox-dialog/stories/lightbox-dialog.stories.js +24 -0
- package/src/less/link/stories/link.stories.js +9 -3
- package/src/less/listbox/stories/listbox.stories.js +37 -0
- package/src/less/listbox-button/stories/base.stories.js +42 -0
- package/src/less/menu/stories/misc.stories.js +10 -0
- package/src/less/menu-button/stories/base.stories.js +26 -0
- package/src/less/page-notice/stories/page-notice.stories.js +22 -0
- package/src/less/pagination/stories/overflow.stories.js +49 -0
- package/src/less/panel-dialog/stories/panel-dialog.stories.js +45 -0
- package/src/less/phone-input/phone-input.less +175 -0
- package/src/less/phone-input/stories/phone-input.stories.js +771 -0
- package/src/less/progress-bar-expressive/stories/progress-bar-expressive.stories.js +31 -0
- package/src/less/progress-stepper/stories/progress-stepper.stories.js +52 -0
- package/src/less/radio/stories/checked.stories.js +49 -2
- package/src/less/section-notice/stories/icon-16.stories.js +25 -1
- package/src/less/section-title/stories/section-title.stories.js +17 -0
- package/src/less/segmented-buttons/stories/segmented-buttons.stories.js +10 -0
- package/src/less/select/stories/default.stories.js +13 -0
- package/src/less/signal/stories/signal.stories.js +6 -0
- package/src/less/skeleton/skeleton.less +11 -0
- package/src/less/skeleton/stories/composite.stories.js +1 -1
- package/src/less/snackbar-dialog/stories/base.stories.js +14 -0
- package/src/less/split-button/stories/base.stories.js +30 -0
- package/src/less/tabs/stories/tabs/block.stories.js +17 -0
- package/src/less/tabs/stories/tabs/inlineBlock.stories.js +17 -0
- package/src/less/textbox/stories/textbox.stories.js +6 -0
- package/src/less/toast-dialog/stories/toast-dialog.stories.js +23 -0
- package/src/less/toggle-button/stories/gallery-layout.stories.js +13 -0
- package/src/less/toggle-button/stories/list-layout.stories.js +14 -0
- package/src/less/toggle-button/stories/minimal-layout.stories.js +8 -0
- package/src/less/tooltip/stories/tooltip.stories.js +19 -0
- package/src/less/tourtip/stories/tourtip.stories.js +21 -0
- package/src/svg/icon/icon-bids-24.svg +4 -2
- package/src/svg/icon/icon-bids-64.svg +2 -5
- package/src/svg/icon/icon-bookmark-filled-16.svg +7 -0
- package/src/svg/icon/icon-bookmark-filled-24.svg +7 -0
- package/src/svg/icon/icon-exclude-16.svg +7 -0
- package/src/svg/icon/icon-exclude-24.svg +7 -0
- package/src/svg/icon/icon-fast-and-free-16.svg +4 -2
- package/src/svg/icon/icon-fast-and-free-24.svg +4 -2
- package/src/svg/icon/icon-inspect-64.svg +7 -0
- package/src/svg/icon/icon-on-the-way-16.svg +4 -3
- package/src/svg/icon/icon-on-the-way-24.svg +4 -2
- package/src/svg/icon/icon-wallet-24.svg +4 -2
- package/src/svg/icon/icon-wallet-64.svg +4 -2
- package/src/svg/icons.svg +72 -27
- package/src/tokens/evo-dark.css +14 -9
- package/src/tokens/evo-light.css +13 -3
- package/svg.svg +72 -27
- package/.eslintrc +0 -14
- package/_cdn/skin/v17.3.0/skin-default.min.css +0 -69
- package/_cdn/skin/v17.3.0/skin-full.min.css +0 -151
- package/_cdn/skin/v17.3.0/skin-headless.min.css +0 -6
- package/src/less/section-notice/stories/icon-24.stories.js +0 -251
|
@@ -46,3 +46,12 @@ export const beforeLink = () => `
|
|
|
46
46
|
<span style="vertical-align: middle;">United States of America</span>
|
|
47
47
|
</a>
|
|
48
48
|
`;
|
|
49
|
+
|
|
50
|
+
export const textSpacing = () => `
|
|
51
|
+
<p class="demo-a11y-text-spacing">
|
|
52
|
+
<svg class="flag flag--us">
|
|
53
|
+
<use href="#flag-us"></use>
|
|
54
|
+
</svg>
|
|
55
|
+
<span style="vertical-align: middle;">United States of America</span>
|
|
56
|
+
</p>
|
|
57
|
+
`;
|
|
@@ -185,3 +185,105 @@ export const TextArea = () => `
|
|
|
185
185
|
</span>
|
|
186
186
|
</span>
|
|
187
187
|
`;
|
|
188
|
+
|
|
189
|
+
export const textSpacing = () => `
|
|
190
|
+
<span class="floating-label demo-a11y-text-spacing">
|
|
191
|
+
<label class="floating-label__label" for="firstName">First Name</label>
|
|
192
|
+
<span class="textbox">
|
|
193
|
+
<input class="textbox__control" id="firstName" type="text" />
|
|
194
|
+
</span>
|
|
195
|
+
</span>
|
|
196
|
+
`;
|
|
197
|
+
|
|
198
|
+
export const phoneInput = () => `
|
|
199
|
+
<span class="phone-input">
|
|
200
|
+
<span class="listbox-button listbox-button--form">
|
|
201
|
+
<button class="btn btn--form btn--split-start" aria-expanded="false" aria-haspopup="listbox" type="button"
|
|
202
|
+
data-listbox-button-prefix="Country: " aria-label="Country: United States of America (+1)">
|
|
203
|
+
<span class="btn__cell">
|
|
204
|
+
<span class="btn__text">
|
|
205
|
+
<svg class="flag flag--us" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="1">
|
|
206
|
+
<use href="#flag-us"></use>
|
|
207
|
+
</svg>
|
|
208
|
+
</span>
|
|
209
|
+
<svg class="icon icon--chevron-down-12" focusable="false" height="10" width="14" aria-hidden="true">
|
|
210
|
+
<use href="#icon-chevron-down-12"></use>
|
|
211
|
+
</svg>
|
|
212
|
+
</span>
|
|
213
|
+
</button>
|
|
214
|
+
<div class="listbox-button__listbox">
|
|
215
|
+
<div class="listbox-button__options" role="listbox">
|
|
216
|
+
<div class="listbox-button__option" role="option">
|
|
217
|
+
<span class="listbox-button__value">
|
|
218
|
+
<svg class="flag flag--al" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="355">
|
|
219
|
+
<use href="#flag-al"></use>
|
|
220
|
+
</svg>
|
|
221
|
+
<span>Albania</span>
|
|
222
|
+
<span>(+355)</span>
|
|
223
|
+
</span>
|
|
224
|
+
<svg class="icon icon--tick-16" focusable="false" height="10" width="14" aria-hidden="true">
|
|
225
|
+
<use href="#icon-tick-16"></use>
|
|
226
|
+
</svg>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="listbox-button__option" role="option">
|
|
229
|
+
<span class="listbox-button__value">
|
|
230
|
+
<svg class="flag flag--in" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="91">
|
|
231
|
+
<use href="#flag-in"></use>
|
|
232
|
+
</svg>
|
|
233
|
+
<span>India</span>
|
|
234
|
+
<span>(+91)</span>
|
|
235
|
+
</span>
|
|
236
|
+
<svg class="icon icon--tick-16" focusable="false" height="10" width="14" aria-hidden="true">
|
|
237
|
+
<use href="#icon-tick-16"></use>
|
|
238
|
+
</svg>
|
|
239
|
+
</div>
|
|
240
|
+
<div class="listbox-button__option" role="option">
|
|
241
|
+
<span class="listbox-button__value">
|
|
242
|
+
<svg class="flag flag--sh" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="290">
|
|
243
|
+
<use href="#flag-sh"></use>
|
|
244
|
+
</svg>
|
|
245
|
+
<span>Saint Helena, Ascension and Tristan da Cunha</span>
|
|
246
|
+
<span>(+290)</span>
|
|
247
|
+
</span>
|
|
248
|
+
<svg class="icon icon--tick-16" focusable="false" height="10" width="14" aria-hidden="true">
|
|
249
|
+
<use href="#icon-tick-16"></use>
|
|
250
|
+
</svg>
|
|
251
|
+
</div>
|
|
252
|
+
<div class="listbox-button__option" role="option">
|
|
253
|
+
<span class="listbox-button__value">
|
|
254
|
+
<svg class="flag flag--gb" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="44">
|
|
255
|
+
<use href="#flag-gb"></use>
|
|
256
|
+
</svg>
|
|
257
|
+
<span>United Kingdom</span>
|
|
258
|
+
<span>(+44)</span>
|
|
259
|
+
</span>
|
|
260
|
+
<svg class="icon icon--tick-16" focusable="false" height="10" width="14" aria-hidden="true">
|
|
261
|
+
<use href="#icon-tick-16"></use>
|
|
262
|
+
</svg>
|
|
263
|
+
</div>
|
|
264
|
+
<div class="listbox-button__option" role="option" aria-selected="true">
|
|
265
|
+
<span class="listbox-button__value">
|
|
266
|
+
<svg class="flag flag--us" focusable="false" height="18" width="24" aria-hidden="true" data-country-code="1">
|
|
267
|
+
<use href="#flag-us"></use>
|
|
268
|
+
</svg>
|
|
269
|
+
<span>United States of America</span>
|
|
270
|
+
<span>(+1)</span>
|
|
271
|
+
</span>
|
|
272
|
+
<svg class="icon icon--tick-16" focusable="false" height="10" width="14" aria-hidden="true">
|
|
273
|
+
<use href="#icon-tick-16"></use>
|
|
274
|
+
</svg>
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
278
|
+
</span>
|
|
279
|
+
<span class="field floating-label">
|
|
280
|
+
<label class="floating-label__label" for="field1"><span class="clipped">Area code + </span>Phone
|
|
281
|
+
Number</label>
|
|
282
|
+
<span class="textbox">
|
|
283
|
+
<span id="floating-phone-prefix-0">+1</span>
|
|
284
|
+
<input class="textbox__control" type="tel" aria-label="area code + phone number"
|
|
285
|
+
autocomplete="tel-national" aria-describedby="floating-phone-prefix-0"/>
|
|
286
|
+
</span>
|
|
287
|
+
</span>
|
|
288
|
+
</span>
|
|
289
|
+
`;
|
|
@@ -116,3 +116,30 @@ export const secondaryButton = () => `
|
|
|
116
116
|
</div>
|
|
117
117
|
</div>
|
|
118
118
|
`;
|
|
119
|
+
|
|
120
|
+
export const textSpacing = () => `
|
|
121
|
+
<div aria-labelledby="fullscreen-dialog-title" aria-modal="true" class="fullscreen-dialog demo-a11y-text-spacing" role="dialog">
|
|
122
|
+
<div class="fullscreen-dialog__window">
|
|
123
|
+
<div class="fullscreen-dialog__header">
|
|
124
|
+
<h2 id="fullscreen-dialog-title">Dialog Full</h2>
|
|
125
|
+
<button class="icon-btn fullscreen-dialog__close" type="button" aria-label="Close Dialog">
|
|
126
|
+
<svg class="icon icon--close-16" aria-hidden="true">
|
|
127
|
+
<use href="#icon-close-16"></use>
|
|
128
|
+
</svg>
|
|
129
|
+
</button>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="fullscreen-dialog__main">
|
|
132
|
+
<h3>Heading</h3>
|
|
133
|
+
<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>
|
|
134
|
+
<p><a href="http://www.ebay.com">www.ebay.com</a></p>
|
|
135
|
+
<h3>Heading</h3>
|
|
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
|
+
</div>
|
|
139
|
+
<div class="fullscreen-dialog__footer">
|
|
140
|
+
<button class="btn btn--primary">Submit</button>
|
|
141
|
+
<button class="btn">Cancel</button>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
`;
|
|
@@ -14,6 +14,22 @@ export const headings = () => `
|
|
|
14
14
|
<h6>This is a level 6 heading</h6>
|
|
15
15
|
`;
|
|
16
16
|
|
|
17
|
+
export const headingsTextSpacing = () => `
|
|
18
|
+
<div class="demo-a11y-text-spacing">
|
|
19
|
+
<h1>This is a level 1 heading</h1>
|
|
20
|
+
<hr/>
|
|
21
|
+
<h2>This is a level 2 heading</h2>
|
|
22
|
+
<hr/>
|
|
23
|
+
<h3>This is a level 3 heading</h3>
|
|
24
|
+
<hr/>
|
|
25
|
+
<h4>This is a level 4 heading</h4>
|
|
26
|
+
<hr/>
|
|
27
|
+
<h5>This is a level 5 heading</h5>
|
|
28
|
+
<hr/>
|
|
29
|
+
<h6>This is a level 6 heading</h6>
|
|
30
|
+
</div>
|
|
31
|
+
`;
|
|
32
|
+
|
|
17
33
|
export const RTLHeadings = () => `
|
|
18
34
|
<div dir="rtl">
|
|
19
35
|
<h1>This is a level 1 heading</h1>
|
|
@@ -295,6 +295,14 @@ svg.icon--bookmark-24 {
|
|
|
295
295
|
height: 24px;
|
|
296
296
|
width: 24px;
|
|
297
297
|
}
|
|
298
|
+
svg.icon--bookmark-filled-16 {
|
|
299
|
+
height: 16px;
|
|
300
|
+
width: 16px;
|
|
301
|
+
}
|
|
302
|
+
svg.icon--bookmark-filled-24 {
|
|
303
|
+
height: 24px;
|
|
304
|
+
width: 24px;
|
|
305
|
+
}
|
|
298
306
|
svg.icon--brand-authorized-seller-16 {
|
|
299
307
|
height: 16px;
|
|
300
308
|
width: 16px;
|
|
@@ -887,6 +895,14 @@ svg.icon--euro-24 {
|
|
|
887
895
|
height: 24px;
|
|
888
896
|
width: 24px;
|
|
889
897
|
}
|
|
898
|
+
svg.icon--exclude-16 {
|
|
899
|
+
height: 16px;
|
|
900
|
+
width: 16px;
|
|
901
|
+
}
|
|
902
|
+
svg.icon--exclude-24 {
|
|
903
|
+
height: 24px;
|
|
904
|
+
width: 24px;
|
|
905
|
+
}
|
|
890
906
|
svg.icon--expand-16 {
|
|
891
907
|
height: 16px;
|
|
892
908
|
width: 16px;
|
|
@@ -1287,6 +1303,10 @@ svg.icon--inspect-24 {
|
|
|
1287
1303
|
height: 24px;
|
|
1288
1304
|
width: 24px;
|
|
1289
1305
|
}
|
|
1306
|
+
svg.icon--inspect-64 {
|
|
1307
|
+
height: 64px;
|
|
1308
|
+
width: 64px;
|
|
1309
|
+
}
|
|
1290
1310
|
svg.icon--instagram-24 {
|
|
1291
1311
|
height: 24px;
|
|
1292
1312
|
width: 24px;
|
|
@@ -18,6 +18,7 @@ a.icon-link {
|
|
|
18
18
|
box-sizing: border-box;
|
|
19
19
|
font-family: inherit;
|
|
20
20
|
height: 40px;
|
|
21
|
+
justify-content: center;
|
|
21
22
|
margin: 0;
|
|
22
23
|
padding: 0;
|
|
23
24
|
vertical-align: text-bottom;
|
|
@@ -43,6 +44,29 @@ a.icon-link {
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
button.icon-btn.icon-btn--primary,
|
|
48
|
+
a.icon-link.icon-link--primary {
|
|
49
|
+
.background-color-token(btn-primary-background-color, color-background-accent);
|
|
50
|
+
.border-color-token(btn-primary-border-color, color-stroke-accent);
|
|
51
|
+
.color-token(btn-primary-foreground-color, color-foreground-on-accent);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
button.icon-btn.icon-btn--primary > svg,
|
|
55
|
+
a.icon-link.icon-link--primary > svg {
|
|
56
|
+
.fill-token(icon-button-icon-foreground-color, color-foreground-on-accent);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
button.icon-btn.icon-btn--secondary > svg,
|
|
60
|
+
a.icon-link.icon-link--secondary > svg {
|
|
61
|
+
.fill-token(icon-button-icon-foreground-color, color-foreground-accent);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
button.icon-btn.icon-btn--small .progress-spinner,
|
|
65
|
+
a.icon-link.icon-link--small .progress-spinner {
|
|
66
|
+
height: 20px;
|
|
67
|
+
width: 20px;
|
|
68
|
+
}
|
|
69
|
+
|
|
46
70
|
button.icon-btn.icon-btn--transparent > svg,
|
|
47
71
|
a.icon-link.icon-link--transparent > svg {
|
|
48
72
|
max-width: 100%;
|
|
@@ -142,3 +166,112 @@ a.icon-link > svg.icon--information-filled-16 {
|
|
|
142
166
|
.fill-token(color-foreground-information);
|
|
143
167
|
}
|
|
144
168
|
}
|
|
169
|
+
|
|
170
|
+
button.icon-btn.icon-btn--primary,
|
|
171
|
+
a.icon-link.icon-link--primary,
|
|
172
|
+
button.icon-btn.icon-btn--secondary,
|
|
173
|
+
a.icon-link.icon-link--secondary,
|
|
174
|
+
button.icon-btn.icon-btn--tertiary,
|
|
175
|
+
a.icon-link.icon-link--tertiary {
|
|
176
|
+
border-width: 1px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
button[disabled].icon-btn.icon-btn--primary,
|
|
180
|
+
button[aria-disabled="true"].icon-btn.icon-btn--primary,
|
|
181
|
+
a:not([href]).icon-link.icon-link--primary,
|
|
182
|
+
a[aria-disabled="true"].icon-link.icon-link--primary {
|
|
183
|
+
.background-color-token(icon-button-disabled-background-color, color-background-disabled);
|
|
184
|
+
.border-color-token(btn-primary-disabled-border-color, color-stroke-disabled);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
button[disabled].icon-btn.icon-btn--primary > svg,
|
|
188
|
+
button[aria-disabled="true"].icon-btn.icon-btn--primary > svg,
|
|
189
|
+
a:not([href]).icon-link.icon-link--primary > svg,
|
|
190
|
+
a[aria-disabled="true"].icon-link.icon-link--primary > svg {
|
|
191
|
+
.fill-token(icon-button-icon-foreground-color, color-foreground-on-accent);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
button.icon-btn.icon-btn--primary .progress-spinner,
|
|
195
|
+
a.icon-link.icon-link--primary .progress-spinner {
|
|
196
|
+
--color-spinner-icon-background: var(--color-background-primary);
|
|
197
|
+
--color-spinner-icon-foreground: #8fa3f8; // 40% of white on top of --color-foreground-on-accent
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
button.icon-btn.icon-btn--secondary,
|
|
201
|
+
a.icon-link.icon-link--secondary {
|
|
202
|
+
background-color: transparent;
|
|
203
|
+
.border-color-token(btn-secondary-border-color, color-stroke-accent);
|
|
204
|
+
.color-token(btn-secondary-foreground-color, color-foreground-accent);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
button.icon-btn.icon-btn--primary:not([disabled], [aria-disabled="true"]),
|
|
208
|
+
a.icon-link.icon-link--primary:not([disabled], [aria-disabled="true"]) {
|
|
209
|
+
&:hover,
|
|
210
|
+
&:focus {
|
|
211
|
+
background-blend-mode: multiply;
|
|
212
|
+
filter: brightness(96%);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
&:active {
|
|
216
|
+
filter: brightness(92%);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
button.icon-btn.icon-btn--secondary .progress-spinner,
|
|
221
|
+
a.icon-link.icon-link--secondary .progress-spinner,
|
|
222
|
+
button.icon-btn.icon-btn--tertiary .progress-spinner,
|
|
223
|
+
a.icon-link.icon-link--tertiary .progress-spinner {
|
|
224
|
+
--color-spinner-icon-foreground: #3665f366; // 40% of #3665f3
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
button[disabled].icon-btn.icon-btn--secondary,
|
|
228
|
+
button[aria-disabled="true"].icon-btn.icon-btn--secondary,
|
|
229
|
+
a:not([href]).icon-link.icon-link--secondary,
|
|
230
|
+
a[aria-disabled="true"].icon-link.icon-link--secondary {
|
|
231
|
+
.border-color-token(btn-secondary-disabled-border-color, color-stroke-disabled);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
button[disabled].icon-btn.icon-btn--secondary > svg,
|
|
235
|
+
button[aria-disabled="true"].icon-btn.icon-btn--secondary > svg,
|
|
236
|
+
a:not([href]).icon-link.icon-blinktn--secondary > svg,
|
|
237
|
+
a[aria-disabled="true"].icon-link.icon-link--secondary > svg {
|
|
238
|
+
.fill-token(icon-button-icon-foreground-color, color-foreground-disabled);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
button.icon-btn.icon-btn--secondary:not([disabled], [aria-disabled="true"]),
|
|
242
|
+
a.icon-link.icon-link--secondary:not([disabled], [aria-disabled="true"]) {
|
|
243
|
+
&:hover,
|
|
244
|
+
&:focus {
|
|
245
|
+
background-color: var(--color-state-secondary-hover);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
&:active {
|
|
249
|
+
background-color: var(--color-state-secondary-active);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
button.icon-btn.icon-btn--tertiary,
|
|
254
|
+
a.icon-link.icon-link--tertiary {
|
|
255
|
+
background-color: transparent;
|
|
256
|
+
.border-color-token(btn-primary-border-color, color-stroke-default);
|
|
257
|
+
.color-token(btn-primary-foreground-color, color-foreground-accent);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
button[disabled].icon-btn.icon-btn--tertiary,
|
|
261
|
+
button[aria-disabled="true"].icon-btn.icon-btn--tertiary,
|
|
262
|
+
a:not([href]).icon-link.icon-link--tertiary,
|
|
263
|
+
a[aria-disabled="true"].icon-link.icon-link--tertiary {
|
|
264
|
+
.border-color-token(btn-tertiary-disabled-border-color, color-stroke-disabled);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
button.icon-btn.icon-btn--tertiary:not([disabled], [aria-disabled="true"]),
|
|
268
|
+
a.icon-link.icon-link--tertiary:not([disabled], [aria-disabled="true"]) {
|
|
269
|
+
&:hover,
|
|
270
|
+
&:focus {
|
|
271
|
+
background-color: var(--color-state-secondary-hover);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
&:active {
|
|
275
|
+
background-color: var(--color-state-secondary-active);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
export default { title: "Skin/Icon Button/Buttons" };
|
|
2
|
+
|
|
3
|
+
export const base = () => `
|
|
4
|
+
<button class="icon-btn icon-btn--large" type="button" aria-label="Save">
|
|
5
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
6
|
+
<use href="#icon-save-24"></use>
|
|
7
|
+
</svg>
|
|
8
|
+
</button>
|
|
9
|
+
<button class="icon-btn" type="button" aria-label="Save">
|
|
10
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
11
|
+
<use href="#icon-save-20"></use>
|
|
12
|
+
</svg>
|
|
13
|
+
</button>
|
|
14
|
+
<button class="icon-btn icon-btn--small" type="button" aria-label="Save">
|
|
15
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
16
|
+
<use href="#icon-save-16"></use>
|
|
17
|
+
</svg>
|
|
18
|
+
</button>
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
export const baseSpinner = () => `
|
|
22
|
+
<button class="icon-btn icon-btn--large" type="button" aria-label="Save">
|
|
23
|
+
<span class="progress-spinner progress-spinner--large">
|
|
24
|
+
<svg aria-hidden="true" class="icon icon--spinner-24" height="24" width="24">
|
|
25
|
+
<use href="#icon-spinner-24"></use>
|
|
26
|
+
</svg>
|
|
27
|
+
</span>
|
|
28
|
+
</button>
|
|
29
|
+
<button class="icon-btn" type="button" aria-label="Save">
|
|
30
|
+
<span class="progress-spinner">
|
|
31
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
32
|
+
<use href="#icon-spinner-20"></use>
|
|
33
|
+
</svg>
|
|
34
|
+
</span>
|
|
35
|
+
</button>
|
|
36
|
+
<button class="icon-btn icon-btn--small" type="button" aria-label="Save">
|
|
37
|
+
<span class="progress-spinner progress-spinner--small">
|
|
38
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
39
|
+
<use href="#icon-spinner-20"></use>
|
|
40
|
+
</svg>
|
|
41
|
+
</span>
|
|
42
|
+
</button>
|
|
43
|
+
`;
|
|
44
|
+
|
|
45
|
+
export const baseDisabled = () => `
|
|
46
|
+
<button class="icon-btn icon-btn--large" type="button" aria-label="Save" disabled>
|
|
47
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
48
|
+
<use href="#icon-save-24"></use>
|
|
49
|
+
</svg>
|
|
50
|
+
</button>
|
|
51
|
+
<button class="icon-btn" type="button" aria-label="Save" disabled>
|
|
52
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
53
|
+
<use href="#icon-save-20"></use>
|
|
54
|
+
</svg>
|
|
55
|
+
</button>
|
|
56
|
+
<button class="icon-btn icon-btn--small" type="button" aria-label="Save" disabled>
|
|
57
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
58
|
+
<use href="#icon-save-16"></use>
|
|
59
|
+
</svg>
|
|
60
|
+
</button>
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
export const primary = () => `
|
|
64
|
+
<button class="icon-btn icon-btn--large icon-btn--primary" type="button" aria-label="Save">
|
|
65
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
66
|
+
<use href="#icon-save-24"></use>
|
|
67
|
+
</svg>
|
|
68
|
+
</button>
|
|
69
|
+
<button class="icon-btn icon-btn--primary" type="button" aria-label="Save">
|
|
70
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
71
|
+
<use href="#icon-save-20"></use>
|
|
72
|
+
</svg>
|
|
73
|
+
</button>
|
|
74
|
+
<button class="icon-btn icon-btn--small icon-btn--primary" type="button" aria-label="Save">
|
|
75
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
76
|
+
<use href="#icon-save-16"></use>
|
|
77
|
+
</svg>
|
|
78
|
+
</button>
|
|
79
|
+
`;
|
|
80
|
+
|
|
81
|
+
export const primarySpinner = () => `
|
|
82
|
+
<button class="icon-btn icon-btn--large icon-btn--primary" type="button" aria-label="Save">
|
|
83
|
+
<span class="progress-spinner progress-spinner--large">
|
|
84
|
+
<svg aria-hidden="true" class="icon icon--spinner-24" height="24" width="24">
|
|
85
|
+
<use href="#icon-spinner-24"></use>
|
|
86
|
+
</svg>
|
|
87
|
+
</span>
|
|
88
|
+
</button>
|
|
89
|
+
<button class="icon-btn icon-btn--primary" type="button" aria-label="Save">
|
|
90
|
+
<span class="progress-spinner">
|
|
91
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
92
|
+
<use href="#icon-spinner-20"></use>
|
|
93
|
+
</svg>
|
|
94
|
+
</span>
|
|
95
|
+
</button>
|
|
96
|
+
<button class="icon-btn icon-btn--small icon-btn--primary" type="button" aria-label="Save">
|
|
97
|
+
<span class="progress-spinner progress-spinner--small">
|
|
98
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
99
|
+
<use href="#icon-spinner-20"></use>
|
|
100
|
+
</svg>
|
|
101
|
+
</span>
|
|
102
|
+
</button>
|
|
103
|
+
`;
|
|
104
|
+
|
|
105
|
+
export const primaryDisabled = () => `
|
|
106
|
+
<button class="icon-btn icon-btn--large icon-btn--primary" type="button" aria-label="Save" disabled>
|
|
107
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
108
|
+
<use href="#icon-save-24"></use>
|
|
109
|
+
</svg>
|
|
110
|
+
</button>
|
|
111
|
+
<button class="icon-btn icon-btn--primary" type="button" aria-label="Save" disabled>
|
|
112
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
113
|
+
<use href="#icon-save-20"></use>
|
|
114
|
+
</svg>
|
|
115
|
+
</button>
|
|
116
|
+
<button class="icon-btn icon-btn--small icon-btn--primary" type="button" aria-label="Save" disabled>
|
|
117
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
118
|
+
<use href="#icon-save-16"></use>
|
|
119
|
+
</svg>
|
|
120
|
+
</button>
|
|
121
|
+
`;
|
|
122
|
+
|
|
123
|
+
export const secondary = () => `
|
|
124
|
+
<button class="icon-btn icon-btn--large icon-btn--secondary" type="button" aria-label="Save">
|
|
125
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
126
|
+
<use href="#icon-save-24"></use>
|
|
127
|
+
</svg>
|
|
128
|
+
</button>
|
|
129
|
+
<button class="icon-btn icon-btn--secondary" type="button" aria-label="Save">
|
|
130
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
131
|
+
<use href="#icon-save-20"></use>
|
|
132
|
+
</svg>
|
|
133
|
+
</button>
|
|
134
|
+
<button class="icon-btn icon-btn--small icon-btn--secondary" type="button" aria-label="Save">
|
|
135
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
136
|
+
<use href="#icon-save-16"></use>
|
|
137
|
+
</svg>
|
|
138
|
+
</button>
|
|
139
|
+
`;
|
|
140
|
+
|
|
141
|
+
export const secondarySpinner = () => `
|
|
142
|
+
<button class="icon-btn icon-btn--large icon-btn--secondary" type="button" aria-label="Save">
|
|
143
|
+
<span class="progress-spinner progress-spinner--large">
|
|
144
|
+
<svg aria-hidden="true" class="icon icon--spinner-24" height="24" width="24">
|
|
145
|
+
<use href="#icon-spinner-24"></use>
|
|
146
|
+
</svg>
|
|
147
|
+
</span>
|
|
148
|
+
</button>
|
|
149
|
+
<button class="icon-btn icon-btn--secondary" type="button" aria-label="Save">
|
|
150
|
+
<span class="progress-spinner">
|
|
151
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
152
|
+
<use href="#icon-spinner-20"></use>
|
|
153
|
+
</svg>
|
|
154
|
+
</span>
|
|
155
|
+
</button>
|
|
156
|
+
<button class="icon-btn icon-btn--small icon-btn--secondary" type="button" aria-label="Save">
|
|
157
|
+
<span class="progress-spinner progress-spinner--small">
|
|
158
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
159
|
+
<use href="#icon-spinner-20"></use>
|
|
160
|
+
</svg>
|
|
161
|
+
</span>
|
|
162
|
+
</button>
|
|
163
|
+
`;
|
|
164
|
+
|
|
165
|
+
export const secondaryDisabled = () => `
|
|
166
|
+
<button class="icon-btn icon-btn--large icon-btn--secondary" type="button" aria-label="Save" disabled>
|
|
167
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
168
|
+
<use href="#icon-save-24"></use>
|
|
169
|
+
</svg>
|
|
170
|
+
</button>
|
|
171
|
+
<button class="icon-btn icon-btn--secondary" type="button" aria-label="Save" disabled>
|
|
172
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
173
|
+
<use href="#icon-save-20"></use>
|
|
174
|
+
</svg>
|
|
175
|
+
</button>
|
|
176
|
+
<button class="icon-btn icon-btn--small icon-btn--secondary" type="button" aria-label="Save" disabled>
|
|
177
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
178
|
+
<use href="#icon-save-16"></use>
|
|
179
|
+
</svg>
|
|
180
|
+
</button>
|
|
181
|
+
`;
|
|
182
|
+
|
|
183
|
+
export const tertiary = () => `
|
|
184
|
+
<button class="icon-btn icon-btn--large icon-btn--tertiary" type="button" aria-label="Save">
|
|
185
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
186
|
+
<use href="#icon-save-24"></use>
|
|
187
|
+
</svg>
|
|
188
|
+
</button>
|
|
189
|
+
<button class="icon-btn icon-btn--tertiary" type="button" aria-label="Save">
|
|
190
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
191
|
+
<use href="#icon-save-20"></use>
|
|
192
|
+
</svg>
|
|
193
|
+
</button>
|
|
194
|
+
<button class="icon-btn icon-btn--small icon-btn--tertiary" type="button" aria-label="Save">
|
|
195
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
196
|
+
<use href="#icon-save-16"></use>
|
|
197
|
+
</svg>
|
|
198
|
+
</button>
|
|
199
|
+
`;
|
|
200
|
+
|
|
201
|
+
export const tertiarySpinner = () => `
|
|
202
|
+
<button class="icon-btn icon-btn--large icon-btn--tertiary" type="button" aria-label="Save">
|
|
203
|
+
<span class="progress-spinner progress-spinner--large">
|
|
204
|
+
<svg aria-hidden="true" class="icon icon--spinner-24" height="24" width="24">
|
|
205
|
+
<use href="#icon-spinner-24"></use>
|
|
206
|
+
</svg>
|
|
207
|
+
</span>
|
|
208
|
+
</button>
|
|
209
|
+
<button class="icon-btn icon-btn--tertiary" type="button" aria-label="Save">
|
|
210
|
+
<span class="progress-spinner">
|
|
211
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
212
|
+
<use href="#icon-spinner-20"></use>
|
|
213
|
+
</svg>
|
|
214
|
+
</span>
|
|
215
|
+
</button>
|
|
216
|
+
<button class="icon-btn icon-btn--small icon-btn--tertiary" type="button" aria-label="Save">
|
|
217
|
+
<span class="progress-spinner progress-spinner--small">
|
|
218
|
+
<svg aria-hidden="true" class="icon icon--spinner-20" height="24" width="24">
|
|
219
|
+
<use href="#icon-spinner-20"></use>
|
|
220
|
+
</svg>
|
|
221
|
+
</span>
|
|
222
|
+
</button>
|
|
223
|
+
`;
|
|
224
|
+
|
|
225
|
+
export const tertiaryDisabled = () => `
|
|
226
|
+
<button class="icon-btn icon-btn--large icon-btn--tertiary" type="button" aria-label="Save" disabled>
|
|
227
|
+
<svg class="icon icon--save-24" width="16" height="16" aria-hidden="true">
|
|
228
|
+
<use href="#icon-save-24"></use>
|
|
229
|
+
</svg>
|
|
230
|
+
</button>
|
|
231
|
+
<button class="icon-btn icon-btn--tertiary" type="button" aria-label="Save" disabled>
|
|
232
|
+
<svg class="icon icon--save-20" width="16" height="16" aria-hidden="true">
|
|
233
|
+
<use href="#icon-save-20"></use>
|
|
234
|
+
</svg>
|
|
235
|
+
</button>
|
|
236
|
+
<button class="icon-btn icon-btn--small icon-btn--tertiary" type="button" aria-label="Save" disabled>
|
|
237
|
+
<svg class="icon icon--save-16" width="16" height="16" aria-hidden="true">
|
|
238
|
+
<use href="#icon-save-16"></use>
|
|
239
|
+
</svg>
|
|
240
|
+
</button>
|
|
241
|
+
`;
|