@ebay/skin 16.3.0 → 16.4.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.
Files changed (235) hide show
  1. package/.github/workflows/pages-html-proofer.yml +1 -1
  2. package/.storybook/preview-head.html +649 -18
  3. package/_cdn/skin/v16.4.0/skin-default.min.css +6 -0
  4. package/_cdn/skin/v16.4.0/skin-full.min.css +6 -0
  5. package/_cdn/skin/v16.4.0/skin-headless.min.css +6 -0
  6. package/_cdn/skin/v16.4.0/skin-legacy.min.css +6 -0
  7. package/dist/button/button.css +14 -0
  8. package/dist/icon/icon.css +359 -15
  9. package/dist/infotip/infotip.css +1 -0
  10. package/dist/segmented-buttons/segmented-buttons.css +5 -2
  11. package/dist/svg/icon/icon-arrow-left-12.svg +2 -2
  12. package/dist/svg/icon/icon-arrow-right-12.svg +2 -2
  13. package/dist/svg/icon/icon-arrow-right-20.svg +5 -0
  14. package/dist/svg/icon/icon-authenticity-guarantee-16.svg +10 -0
  15. package/dist/svg/icon/icon-authenticity-guarantee-24.svg +10 -0
  16. package/dist/svg/icon/icon-brand-authorized-seller-16.svg +10 -0
  17. package/dist/svg/icon/icon-brand-authorized-seller-24.svg +10 -0
  18. package/dist/svg/icon/icon-certified-recycled-16.svg +5 -0
  19. package/dist/svg/icon/icon-certified-recycled-24.svg +5 -0
  20. package/dist/svg/icon/icon-chevron-down-12.svg +4 -2
  21. package/dist/svg/icon/icon-chevron-left-12.svg +4 -2
  22. package/dist/svg/icon/icon-chevron-right-12.svg +4 -2
  23. package/dist/svg/icon/icon-chevron-up-12.svg +4 -2
  24. package/dist/svg/icon/icon-click-to-call-16.svg +5 -0
  25. package/dist/svg/icon/icon-confirmation-64.svg +10 -0
  26. package/dist/svg/icon/icon-direct-from-brand-16.svg +10 -0
  27. package/dist/svg/icon/icon-direct-from-brand-24.svg +10 -0
  28. package/dist/svg/icon/icon-discord-24.svg +5 -0
  29. package/dist/svg/icon/icon-dollar-16.svg +5 -0
  30. package/dist/svg/icon/icon-dollar-24.svg +5 -0
  31. package/dist/svg/icon/icon-ebay-bucks-logo-16-colored.svg +10 -0
  32. package/dist/svg/icon/icon-ebay-for-charity-16-fit.svg +7 -0
  33. package/dist/svg/icon/icon-ebay-for-charity-24-fit.svg +7 -0
  34. package/dist/svg/icon/icon-ebay-international-shipping-16.svg +7 -0
  35. package/dist/svg/icon/icon-ebay-international-shipping-24.svg +7 -0
  36. package/dist/svg/icon/icon-ebay-preloved-16.svg +5 -0
  37. package/dist/svg/icon/icon-ebay-preloved-24.svg +5 -0
  38. package/dist/svg/icon/icon-ebay-refurbished-16.svg +10 -0
  39. package/dist/svg/icon/icon-ebay-refurbished-24.svg +10 -0
  40. package/dist/svg/icon/icon-euro-16.svg +5 -0
  41. package/dist/svg/icon/icon-euro-24.svg +5 -0
  42. package/dist/svg/icon/icon-facebook-24.svg +5 -0
  43. package/dist/svg/icon/icon-facebook-messenger-24.svg +5 -0
  44. package/dist/svg/icon/icon-franc-16.svg +5 -0
  45. package/dist/svg/icon/icon-franc-24.svg +5 -0
  46. package/dist/svg/icon/icon-free-warranty-16.svg +12 -0
  47. package/dist/svg/icon/icon-instagram-24.svg +5 -0
  48. package/dist/svg/icon/icon-jet-ski-16.svg +8 -0
  49. package/dist/svg/icon/icon-jet-ski-24.svg +8 -0
  50. package/dist/svg/icon/icon-key-16.svg +8 -0
  51. package/dist/svg/icon/icon-key-24.svg +12 -0
  52. package/dist/svg/icon/icon-krona-16.svg +5 -0
  53. package/dist/svg/icon/icon-krona-24.svg +5 -0
  54. package/dist/svg/icon/icon-link-24.svg +11 -0
  55. package/dist/svg/icon/icon-linkedin-24.svg +5 -0
  56. package/dist/svg/icon/icon-location-16.svg +8 -0
  57. package/dist/svg/icon/icon-money-back-guarantee-16-fit.svg +7 -0
  58. package/dist/svg/icon/icon-money-back-guarantee-24-fit.svg +7 -0
  59. package/dist/svg/icon/icon-nectar-logo-24-colored.svg +24 -0
  60. package/dist/svg/icon/icon-notification-64.svg +7 -0
  61. package/dist/svg/icon/icon-package-64.svg +7 -0
  62. package/dist/svg/icon/icon-pause-filled-64-colored.svg +7 -0
  63. package/dist/svg/icon/icon-pencil-20.svg +7 -0
  64. package/dist/svg/icon/icon-peso-16.svg +7 -0
  65. package/dist/svg/icon/icon-peso-24.svg +7 -0
  66. package/dist/svg/icon/icon-pinterest-24.svg +5 -0
  67. package/dist/svg/icon/icon-play-filled-64-colored.svg +7 -0
  68. package/dist/svg/icon/icon-pound-16.svg +5 -0
  69. package/dist/svg/icon/icon-pound-24.svg +5 -0
  70. package/dist/svg/icon/icon-reddit-24.svg +9 -0
  71. package/dist/svg/icon/icon-ringgit-16.svg +10 -0
  72. package/dist/svg/icon/icon-ringgit-24.svg +10 -0
  73. package/dist/svg/icon/icon-rotate-landscape-left-24.svg +10 -0
  74. package/dist/svg/icon/icon-rotate-landscape-right-24.svg +10 -0
  75. package/dist/svg/icon/icon-rotate-portrait-left-24.svg +10 -0
  76. package/dist/svg/icon/icon-rotate-portrait-right-24.svg +10 -0
  77. package/dist/svg/icon/icon-rupee-16.svg +5 -0
  78. package/dist/svg/icon/icon-rupee-24.svg +5 -0
  79. package/dist/svg/icon/icon-search-similar-16.svg +10 -0
  80. package/dist/svg/icon/icon-selling-16.svg +8 -0
  81. package/dist/svg/icon/icon-snowmobile-16.svg +8 -0
  82. package/dist/svg/icon/icon-snowmobile-24.svg +8 -0
  83. package/dist/svg/icon/icon-sort-12.svg +2 -2
  84. package/dist/svg/icon/icon-sort-down-12.svg +2 -2
  85. package/dist/svg/icon/icon-sort-up-12.svg +2 -2
  86. package/dist/svg/icon/icon-sparkline-down-16.svg +5 -0
  87. package/dist/svg/icon/icon-sparkline-down-20.svg +5 -0
  88. package/dist/svg/icon/icon-sparkline-down-24.svg +5 -0
  89. package/dist/svg/icon/icon-sparkline-up-16.svg +5 -0
  90. package/dist/svg/icon/icon-sparkline-up-20.svg +5 -0
  91. package/dist/svg/icon/icon-sparkline-up-24.svg +5 -0
  92. package/dist/svg/icon/icon-thumb-up-64.svg +7 -0
  93. package/dist/svg/icon/icon-top-rated-seller-16.svg +7 -0
  94. package/dist/svg/icon/icon-transaction-24.svg +5 -0
  95. package/dist/svg/icon/icon-trend-down-16-fit.svg +5 -0
  96. package/dist/svg/icon/icon-trend-up-16-fit.svg +5 -0
  97. package/dist/svg/icon/icon-twitter-24.svg +5 -0
  98. package/dist/svg/icon/icon-undo-16.svg +5 -0
  99. package/dist/svg/icon/icon-whatsapp-24.svg +7 -0
  100. package/dist/svg/icon/icon-won-16.svg +7 -0
  101. package/dist/svg/icon/icon-won-24.svg +7 -0
  102. package/dist/svg/icon/icon-yuan-16.svg +5 -0
  103. package/dist/svg/icon/icon-yuan-24.svg +5 -0
  104. package/dist/svg/icon/icon-zloty-16.svg +8 -0
  105. package/dist/svg/icon/icon-zloty-24.svg +10 -0
  106. package/dist/svg/icons.svg +649 -18
  107. package/dist/textbox/textbox.css +1 -1
  108. package/dist/toggle-button/toggle-button.css +140 -0
  109. package/index.browser.json +1 -0
  110. package/index.css +1 -0
  111. package/index.js +1 -0
  112. package/index.mjs +1 -0
  113. package/package.json +1 -1
  114. package/scripts/README.md +1 -1
  115. package/scripts/generate-images.js +4 -1
  116. package/src/less/bundles/skin-headless.less +1 -0
  117. package/src/less/button/button.less +21 -7
  118. package/src/less/button/stories/button/dimensions.stories.js +15 -0
  119. package/src/less/cta-button/cta-button.less +4 -1
  120. package/src/less/icon/generated/icon.less +359 -15
  121. package/src/less/infotip/infotip.less +1 -0
  122. package/src/less/mixins/private/button-mixins.less +12 -1
  123. package/src/less/segmented-buttons/segmented-buttons.less +16 -7
  124. package/src/less/segmented-buttons/stories/segmented-buttons.stories.js +10 -0
  125. package/src/less/textbox/textbox.less +1 -1
  126. package/src/less/toggle-button/stories/gallery-layout-responsive.stories.js +121 -0
  127. package/src/less/toggle-button/stories/gallery-layout.stories.js +97 -0
  128. package/src/less/toggle-button/stories/list-layout.stories.js +100 -0
  129. package/src/less/toggle-button/stories/minimal-layout.stories.js +17 -0
  130. package/src/less/toggle-button/toggle-button.less +165 -0
  131. package/src/svg/icon/icon-arrow-left-12.svg +2 -2
  132. package/src/svg/icon/icon-arrow-right-12.svg +2 -2
  133. package/src/svg/icon/icon-arrow-right-20.svg +5 -0
  134. package/src/svg/icon/icon-authenticity-guarantee-16.svg +10 -0
  135. package/src/svg/icon/icon-authenticity-guarantee-24.svg +10 -0
  136. package/src/svg/icon/icon-brand-authorized-seller-16.svg +10 -0
  137. package/src/svg/icon/icon-brand-authorized-seller-24.svg +10 -0
  138. package/src/svg/icon/icon-certified-recycled-16.svg +5 -0
  139. package/src/svg/icon/icon-certified-recycled-24.svg +5 -0
  140. package/src/svg/icon/icon-chevron-down-12.svg +4 -2
  141. package/src/svg/icon/icon-chevron-left-12.svg +4 -2
  142. package/src/svg/icon/icon-chevron-right-12.svg +4 -2
  143. package/src/svg/icon/icon-chevron-up-12.svg +4 -2
  144. package/src/svg/icon/icon-click-to-call-16.svg +5 -0
  145. package/src/svg/icon/icon-confirmation-64.svg +10 -0
  146. package/src/svg/icon/icon-direct-from-brand-16.svg +10 -0
  147. package/src/svg/icon/icon-direct-from-brand-24.svg +10 -0
  148. package/src/svg/icon/icon-discord-24.svg +5 -0
  149. package/src/svg/icon/icon-dollar-16.svg +5 -0
  150. package/src/svg/icon/icon-dollar-24.svg +5 -0
  151. package/src/svg/icon/icon-ebay-bucks-logo-16-colored.svg +10 -0
  152. package/src/svg/icon/icon-ebay-for-charity-16-fit.svg +7 -0
  153. package/src/svg/icon/icon-ebay-for-charity-24-fit.svg +7 -0
  154. package/src/svg/icon/icon-ebay-international-shipping-16.svg +7 -0
  155. package/src/svg/icon/icon-ebay-international-shipping-24.svg +7 -0
  156. package/src/svg/icon/icon-ebay-preloved-16.svg +5 -0
  157. package/src/svg/icon/icon-ebay-preloved-24.svg +5 -0
  158. package/src/svg/icon/icon-ebay-refurbished-16.svg +10 -0
  159. package/src/svg/icon/icon-ebay-refurbished-24.svg +10 -0
  160. package/src/svg/icon/icon-euro-16.svg +5 -0
  161. package/src/svg/icon/icon-euro-24.svg +5 -0
  162. package/src/svg/icon/icon-facebook-24.svg +5 -0
  163. package/src/svg/icon/icon-facebook-messenger-24.svg +5 -0
  164. package/src/svg/icon/icon-franc-16.svg +5 -0
  165. package/src/svg/icon/icon-franc-24.svg +5 -0
  166. package/src/svg/icon/icon-free-warranty-16.svg +12 -0
  167. package/src/svg/icon/icon-instagram-24.svg +5 -0
  168. package/src/svg/icon/icon-jet-ski-16.svg +8 -0
  169. package/src/svg/icon/icon-jet-ski-24.svg +8 -0
  170. package/src/svg/icon/icon-key-16.svg +8 -0
  171. package/src/svg/icon/icon-key-24.svg +12 -0
  172. package/src/svg/icon/icon-krona-16.svg +5 -0
  173. package/src/svg/icon/icon-krona-24.svg +5 -0
  174. package/src/svg/icon/icon-link-24.svg +11 -0
  175. package/src/svg/icon/icon-linkedin-24.svg +5 -0
  176. package/src/svg/icon/icon-location-16.svg +8 -0
  177. package/src/svg/icon/icon-money-back-guarantee-16-fit.svg +7 -0
  178. package/src/svg/icon/icon-money-back-guarantee-24-fit.svg +7 -0
  179. package/src/svg/icon/icon-nectar-logo-24-colored.svg +24 -0
  180. package/src/svg/icon/icon-notification-64.svg +7 -0
  181. package/src/svg/icon/icon-package-64.svg +7 -0
  182. package/src/svg/icon/icon-pause-filled-64-colored.svg +7 -0
  183. package/src/svg/icon/icon-pencil-20.svg +7 -0
  184. package/src/svg/icon/icon-peso-16.svg +7 -0
  185. package/src/svg/icon/icon-peso-24.svg +7 -0
  186. package/src/svg/icon/icon-pinterest-24.svg +5 -0
  187. package/src/svg/icon/icon-play-filled-64-colored.svg +7 -0
  188. package/src/svg/icon/icon-pound-16.svg +5 -0
  189. package/src/svg/icon/icon-pound-24.svg +5 -0
  190. package/src/svg/icon/icon-reddit-24.svg +9 -0
  191. package/src/svg/icon/icon-ringgit-16.svg +10 -0
  192. package/src/svg/icon/icon-ringgit-24.svg +10 -0
  193. package/src/svg/icon/icon-rotate-landscape-left-24.svg +10 -0
  194. package/src/svg/icon/icon-rotate-landscape-right-24.svg +10 -0
  195. package/src/svg/icon/icon-rotate-portrait-left-24.svg +10 -0
  196. package/src/svg/icon/icon-rotate-portrait-right-24.svg +10 -0
  197. package/src/svg/icon/icon-rupee-16.svg +5 -0
  198. package/src/svg/icon/icon-rupee-24.svg +5 -0
  199. package/src/svg/icon/icon-search-similar-16.svg +10 -0
  200. package/src/svg/icon/icon-selling-16.svg +8 -0
  201. package/src/svg/icon/icon-snowmobile-16.svg +8 -0
  202. package/src/svg/icon/icon-snowmobile-24.svg +8 -0
  203. package/src/svg/icon/icon-sort-12.svg +2 -2
  204. package/src/svg/icon/icon-sort-down-12.svg +2 -2
  205. package/src/svg/icon/icon-sort-up-12.svg +2 -2
  206. package/src/svg/icon/icon-sparkline-down-16.svg +5 -0
  207. package/src/svg/icon/icon-sparkline-down-20.svg +5 -0
  208. package/src/svg/icon/icon-sparkline-down-24.svg +5 -0
  209. package/src/svg/icon/icon-sparkline-up-16.svg +5 -0
  210. package/src/svg/icon/icon-sparkline-up-20.svg +5 -0
  211. package/src/svg/icon/icon-sparkline-up-24.svg +5 -0
  212. package/src/svg/icon/icon-thumb-up-64.svg +7 -0
  213. package/src/svg/icon/icon-top-rated-seller-16.svg +7 -0
  214. package/src/svg/icon/icon-transaction-24.svg +5 -0
  215. package/src/svg/icon/icon-trend-down-16-fit.svg +5 -0
  216. package/src/svg/icon/icon-trend-up-16-fit.svg +5 -0
  217. package/src/svg/icon/icon-twitter-24.svg +5 -0
  218. package/src/svg/icon/icon-undo-16.svg +5 -0
  219. package/src/svg/icon/icon-whatsapp-24.svg +7 -0
  220. package/src/svg/icon/icon-won-16.svg +7 -0
  221. package/src/svg/icon/icon-won-24.svg +7 -0
  222. package/src/svg/icon/icon-yuan-16.svg +5 -0
  223. package/src/svg/icon/icon-yuan-24.svg +5 -0
  224. package/src/svg/icon/icon-zloty-16.svg +8 -0
  225. package/src/svg/icon/icon-zloty-24.svg +10 -0
  226. package/src/svg/icons.svg +649 -18
  227. package/svg.svg +649 -18
  228. package/toggle-button.browser.json +1 -0
  229. package/toggle-button.css +1 -0
  230. package/toggle-button.js +1 -0
  231. package/toggle-button.mjs +1 -0
  232. package/_cdn/skin/v16.3.0/skin-default.min.css +0 -6
  233. package/_cdn/skin/v16.3.0/skin-full.min.css +0 -6
  234. package/_cdn/skin/v16.3.0/skin-headless.min.css +0 -6
  235. package/_cdn/skin/v16.3.0/skin-legacy.min.css +0 -6
@@ -110,6 +110,7 @@ span.infotip__heading {
110
110
 
111
111
  // todo: refactor out this dependency. Use a mixin instead
112
112
  .infotip .icon-btn {
113
+ display: inline-flex;
113
114
  flex-shrink: 0; // todo: Should move to icon-btn in next major
114
115
  height: 20px;
115
116
  min-width: 20px;
@@ -1,5 +1,9 @@
1
- @button-height-small: 40px;
1
+ @button-height-xsmall: 32px; // Rename to small after next major version
2
+ @button-height-small: 40px; // Deprecated, use regular instead
3
+ @button-height-regular: 40px;
2
4
  @button-height-large: 48px;
5
+ @button-padding-vertical-small: 6px;
6
+ @button-padding-horizontal-small: 16px;
3
7
  @button-padding-vertical: 9.5px;
4
8
  @button-padding-horizontal: 20px;
5
9
  @button-padding-vertical-large: 13px;
@@ -31,6 +35,13 @@
31
35
  }
32
36
  }
33
37
 
38
+ .btn-large() {
39
+ border-radius: var(--btn-border-radius, calc(@button-height-large / 2));
40
+ font-size: @font-size-medium;
41
+ min-height: @button-height-large;
42
+ padding: @button-padding-vertical-large @button-padding-horizontal;
43
+ }
44
+
34
45
  .btn-icon-base() {
35
46
  align-self: center;
36
47
 
@@ -1,12 +1,17 @@
1
1
  @import "../variables/variables.less";
2
2
  @import "../mixins/private/button-mixins.less";
3
3
 
4
+ @segmented-buttons-padding: @spacing-50;
5
+
4
6
  .segmented-buttons {
5
7
  border: 1px solid var(--color-stroke-default);
6
- border-radius: 24px;
8
+ border-radius: var(
9
+ --segmented-button-border-radius,
10
+ calc(@button-height-large / 2)
11
+ );
7
12
  max-width: 720px;
8
13
  min-width: 215px;
9
- padding: 4px;
14
+ padding: @segmented-buttons-padding;
10
15
  }
11
16
 
12
17
  .segmented-buttons > ul {
@@ -22,19 +27,23 @@
22
27
  }
23
28
 
24
29
  .segmented-buttons > ul > li:not(:first-child) {
25
- margin-left: 8px;
30
+ margin-left: @spacing-100;
26
31
  }
27
32
 
28
33
  .segmented-buttons__button {
29
34
  background-color: transparent;
30
35
  border: none;
31
- border-radius: var(--btn-border-radius, calc(@button-height-small / 2));
36
+ border-radius: var(--btn-border-radius, calc(@button-height-regular / 2));
32
37
  font-size: @font-size-regular;
33
- min-height: @button-height-small;
34
- padding: 8px 16px;
38
+ min-height: @button-height-regular - (@segmented-buttons-padding * 2);
39
+ padding: @spacing-100 @spacing-200;
35
40
  width: 100%;
36
41
  }
37
42
 
43
+ .segmented-buttons--large .segmented-buttons__button {
44
+ min-height: @button-height-large - (@segmented-buttons-padding * 2);
45
+ }
46
+
38
47
  .segmented-buttons__button-cell {
39
48
  .btn-cell-base();
40
49
 
@@ -64,6 +73,6 @@
64
73
  [dir="rtl"] {
65
74
  .segmented-buttons > ul > li:not(:first-child) {
66
75
  margin-left: 0;
67
- margin-right: 8px;
76
+ margin-right: @spacing-100;
68
77
  }
69
78
  }
@@ -20,6 +20,16 @@ export const shortItems = () => `
20
20
  </div>
21
21
  `;
22
22
 
23
+ export const large = () => `
24
+ <div class="segmented-buttons segmented-buttons--large">
25
+ <ul>
26
+ <li><button type="button" class="segmented-buttons__button" aria-current="true">Day</button></li>
27
+ <li><button type="button" class="segmented-buttons__button">Month</button></li>
28
+ <li><button type="button" class="segmented-buttons__button">Year</button></li>
29
+ </ul>
30
+ </div>
31
+ `;
32
+
23
33
  export const withIcons = () => `
24
34
  <div class="segmented-buttons">
25
35
  <ul>
@@ -130,7 +130,7 @@ input.textbox__control--large {
130
130
 
131
131
  input.textbox__control:not(:read-only):focus,
132
132
  textarea.textbox__control:not(:read-only):focus {
133
- .border-color-token(textbox-focus-border-color, color-stroke-default);
133
+ .border-color-token(textbox-focus-border-color, color-stroke-strong);
134
134
  .background-color-token(textbox-focus-background-color, color-background-primary);
135
135
  outline: 0;
136
136
  }
@@ -0,0 +1,121 @@
1
+ export default { title: "Skin/Toggle Button/Gallery Layout Responsive" };
2
+
3
+ export const smallButtonWithImage = () => `
4
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
5
+ <span class="toggle-button__image-container">
6
+ <span class="toggle-button__image">
7
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
8
+ </span>
9
+ </span>
10
+ <span class="toggle-button__content">
11
+ <span class="toggle-button__title">Image Button Title</span>
12
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
13
+ </span>
14
+ </button>
15
+ `;
16
+
17
+ export const smallButtonWithCSSImageContainBackground = () => `
18
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
19
+ <span class="toggle-button__image-container">
20
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: contain;">
21
+ </span>
22
+ </span>
23
+ <span class="toggle-button__content">
24
+ <span class="toggle-button__title">Image Button Title</span>
25
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
26
+ </span>
27
+ </button>
28
+ `;
29
+
30
+ export const smallButtonWithCSSImageCoverBackground = () => `
31
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
32
+ <span class="toggle-button__image-container">
33
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: cover;">
34
+ </span>
35
+ </span>
36
+ <span class="toggle-button__content">
37
+ <span class="toggle-button__title">Image Button Title</span>
38
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
39
+ </span>
40
+ </button>
41
+ `;
42
+
43
+ export const mediumButtonWithImage = () => `
44
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 260px;">
45
+ <span class="toggle-button__image-container">
46
+ <span class="toggle-button__image">
47
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
48
+ </span>
49
+ </span>
50
+ <span class="toggle-button__content">
51
+ <span class="toggle-button__title">Image Button Title</span>
52
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
53
+ </span>
54
+ </button>
55
+ `;
56
+
57
+ export const mediumButtonWithCSSImageContainBackground = () => `
58
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 260px;">
59
+ <span class="toggle-button__image-container">
60
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: contain;">
61
+ </span>
62
+ </span>
63
+ <span class="toggle-button__content">
64
+ <span class="toggle-button__title">Image Button Title</span>
65
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
66
+ </span>
67
+ </button>
68
+ `;
69
+
70
+ export const mediumButtonWithCSSImageCoverBackground = () => `
71
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 260px;">
72
+ <span class="toggle-button__image-container">
73
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: cover;">
74
+ </span>
75
+ </span>
76
+ <span class="toggle-button__content">
77
+ <span class="toggle-button__title">Image Button Title</span>
78
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
79
+ </span>
80
+ </button>
81
+ `;
82
+
83
+ export const largeButtonWithImage = () => `
84
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 342px;">
85
+ <span class="toggle-button__image-container">
86
+ <span class="toggle-button__image">
87
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
88
+ </span>
89
+ </span>
90
+ <span class="toggle-button__content">
91
+ <span class="toggle-button__title">Image Button Title</span>
92
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
93
+ </span>
94
+ </button>
95
+ `;
96
+
97
+ export const largeButtonWithCSSImageContainBackground = () => `
98
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 342px;">
99
+ <span class="toggle-button__image-container">
100
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: contain;">
101
+ </span>
102
+ </span>
103
+ <span class="toggle-button__content">
104
+ <span class="toggle-button__title">Image Button Title</span>
105
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
106
+ </span>
107
+ </button>
108
+ `;
109
+
110
+ export const largeButtonWithCSSImageCoverBackground = () => `
111
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 342px;">
112
+ <span class="toggle-button__image-container">
113
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: cover;">
114
+ </span>
115
+ </span>
116
+ <span class="toggle-button__content">
117
+ <span class="toggle-button__title">Image Button Title</span>
118
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
119
+ </span>
120
+ </button>
121
+ `;
@@ -0,0 +1,97 @@
1
+ export default { title: "Skin/Toggle Button/Gallery Layout" };
2
+
3
+ export const iconTitleSubtitle = () => `
4
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
5
+ <span class="toggle-button__icon">
6
+ <svg aria-hidden="true" class="icon icon--on-the-way-16" focusable="false" height="64" width="64">
7
+ <use href="#icon-on-the-way-16"></use>
8
+ </svg>
9
+ </span>
10
+ <span class="toggle-button__content">
11
+ <span class="toggle-button__title">Icon Button Title</span>
12
+ <span class="toggle-button__subtitle">Icon Button Subtitle</span>
13
+ </span>
14
+ </button>
15
+ `;
16
+
17
+ export const longTitle = () => `
18
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false" style="width: 168px;">
19
+ <span class="toggle-button__image-container">
20
+ <span class="toggle-button__image">
21
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
22
+ </span>
23
+ </span>
24
+ <span class="toggle-button__content">
25
+ <span class="toggle-button__title">Long Title for Toggle Button</span>
26
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
27
+ </span>
28
+ </button>
29
+ `;
30
+
31
+ export const profileImageTitleSubtitle = () => `
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 class="toggle-button__subtitle">Image Button Subtitle</span>
41
+ </span>
42
+ </button>
43
+ `;
44
+
45
+ export const landscapeImageTitleSubtitle = () => `
46
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
47
+ <span class="toggle-button__image-container">
48
+ <span class="toggle-button__image">
49
+ <img alt="" src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg">
50
+ </span>
51
+ </span>
52
+ <span class="toggle-button__content">
53
+ <span class="toggle-button__title">Image Button Title</span>
54
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
55
+ </span>
56
+ </button>
57
+ `;
58
+
59
+ export const squareImageTitleSubtitle = () => `
60
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
61
+ <span class="toggle-button__image-container">
62
+ <span class="toggle-button__image">
63
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-square-pic.jpg" alt="">
64
+ </span>
65
+ </span>
66
+ <span class="toggle-button__content">
67
+ <span class="toggle-button__title">Image Button Title</span>
68
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
69
+ </span>
70
+ </button>
71
+ `;
72
+
73
+ export const profileCSSImageContainBackground = () => `
74
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
75
+ <span class="toggle-button__image-container">
76
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: contain;">
77
+ </span>
78
+ </span>
79
+ <span class="toggle-button__content">
80
+ <span class="toggle-button__title">Image Button Title</span>
81
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
82
+ </span>
83
+ </button>
84
+ `;
85
+
86
+ export const profileCSSImageCoverBackground = () => `
87
+ <button type="button" class="toggle-button toggle-button--gallery-layout" aria-pressed="false">
88
+ <span class="toggle-button__image-container">
89
+ <span class="toggle-button__image" style="background-image: url('https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg'); background-repeat: no-repeat; background-position: center; background-position-y: 20%; background-size: cover;">
90
+ </span>
91
+ </span>
92
+ <span class="toggle-button__content">
93
+ <span class="toggle-button__title">Image Button Title</span>
94
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
95
+ </span>
96
+ </button>
97
+ `;
@@ -0,0 +1,100 @@
1
+ export default { title: "Skin/Toggle Button/List Layout" };
2
+
3
+ export const titleOnly = () => `
4
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
5
+ <span class="toggle-button__content">
6
+ <span class="toggle-button__title">Simple Text Button</span>
7
+ </span>
8
+ </button>
9
+ `;
10
+
11
+ export const titleSubtitle = () => `
12
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
13
+ <span class="toggle-button__content">
14
+ <span class="toggle-button__title">Text Title</span>
15
+ <span class="toggle-button__subtitle">Text Subtitle</span>
16
+ </span>
17
+ </button>
18
+ `;
19
+
20
+ export const titleMultilineSubtitle = () => `
21
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
22
+ <span class="toggle-button__content">
23
+ <span class="toggle-button__title">Multiline Text Title</span>
24
+ <span class="toggle-button__subtitle">
25
+ <p>Text Subtitle Line 1</p>
26
+ <p>Text Subtitle Line 2 (max)</p>
27
+ </span>
28
+ </span>
29
+ </button>
30
+ `;
31
+
32
+ export const iconTitleSubtitle = () => `
33
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
34
+ <span class="toggle-button__icon">
35
+ <svg aria-hidden="true" class="icon icon--on-the-way-16" focusable="false" height="16" width="16">
36
+ <use href="#icon-on-the-way-16"></use>
37
+ </svg>
38
+ </span>
39
+ <span class="toggle-button__content">
40
+ <span class="toggle-button__title">Icon Button Title</span>
41
+ <span class="toggle-button__subtitle">Icon Button Subtitle</span>
42
+ </span>
43
+ </button>
44
+ `;
45
+
46
+ export const longTitle = () => `
47
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false" style="width: 168px;">
48
+ <span class="toggle-button__image-container">
49
+ <span class="toggle-button__image">
50
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
51
+ </span>
52
+ </span>
53
+ <span class="toggle-button__content">
54
+ <span class="toggle-button__title">Long Title for Toggle Button</span>
55
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
56
+ </span>
57
+ </button>
58
+ `;
59
+
60
+ export const profileImageTitleSubtitle = () => `
61
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
62
+ <span class="toggle-button__image-container">
63
+ <span class="toggle-button__image">
64
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
65
+ </span>
66
+ </span>
67
+ <span class="toggle-button__content">
68
+ <span class="toggle-button__title">Image Button Title</span>
69
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
70
+ </span>
71
+ </button>
72
+ `;
73
+
74
+ export const landscapeImageTitleSubtitle = () => `
75
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
76
+ <span class="toggle-button__image-container">
77
+ <span class="toggle-button__image">
78
+ <img alt="" src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg">
79
+ </span>
80
+ </span>
81
+ <span class="toggle-button__content">
82
+ <span class="toggle-button__title">Image Button Title</span>
83
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
84
+ </span>
85
+ </button>
86
+ `;
87
+
88
+ export const squareImageTitleSubtitle = () => `
89
+ <button type="button" class="toggle-button toggle-button--list-layout" aria-pressed="false">
90
+ <span class="toggle-button__image-container">
91
+ <span class="toggle-button__image">
92
+ <img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-square-pic.jpg" alt="">
93
+ </span>
94
+ </span>
95
+ <span class="toggle-button__content">
96
+ <span class="toggle-button__title">Image Button Title</span>
97
+ <span class="toggle-button__subtitle">Image Button Subtitle</span>
98
+ </span>
99
+ </button>
100
+ `;
@@ -0,0 +1,17 @@
1
+ export default { title: "Skin/Toggle Button/Minimal Layout" };
2
+
3
+ export const toggledOff = () => `
4
+ <button type="button" class="toggle-button" aria-pressed="false">
5
+ <span class="toggle-button__content">
6
+ <span class="toggle-button__title">4.5</span>
7
+ </span>
8
+ </button>
9
+ `;
10
+
11
+ export const toggledOn = () => `
12
+ <button type="button" class="toggle-button" aria-pressed="true">
13
+ <span class="toggle-button__content">
14
+ <span class="toggle-button__title">4.5</span>
15
+ </span>
16
+ </button>
17
+ `;
@@ -0,0 +1,165 @@
1
+ @import "../variables/variables.less";
2
+
3
+ :root {
4
+ --toggle-button-height-min: 72px;
5
+ --toggle-button-width-min: 72px;
6
+ --toggle-button-width-max: 342px;
7
+ --toggle-button-list-width-min: 224px;
8
+ --toggle-button-list-width-max: 342px;
9
+ --toggle-button-gallery-width-min: 168px;
10
+ --toggle-button-gallery-width-max: 342px;
11
+ }
12
+
13
+ .toggle-button {
14
+ background-color: var(--color-background-primary);
15
+ border: 1px solid var(--color-stroke-default);
16
+ border-radius: @spacing-100;
17
+ box-shadow: 0 0 0 1px transparent;
18
+ color: var(--color-foreground-primary);
19
+ display: inline-flex;
20
+ font-size: @font-size-14;
21
+ justify-content: center;
22
+ margin-right: @spacing-100;
23
+ margin-top: auto;
24
+ max-width: var(--toggle-button-width-max);
25
+ min-height: var(--toggle-button-height-min);
26
+ min-width: var(--toggle-button-width-min);
27
+ padding: 0 @spacing-200;
28
+ vertical-align: top;
29
+
30
+ &:focus-visible {
31
+ outline-offset: 1px;
32
+ outline-style: outset;
33
+ outline-width: 2px;
34
+ }
35
+ }
36
+
37
+ .toggle-button[aria-pressed="true"] {
38
+ background-color: var(--color-background-secondary);
39
+ border: 1px solid var(--color-stroke-strong);
40
+ box-shadow: 0 0 0 1px var(--color-stroke-strong);
41
+ font-weight: bold;
42
+ }
43
+
44
+ .toggle-button__content {
45
+ align-self: center;
46
+ display: flex;
47
+ flex-direction: column;
48
+ text-align: left;
49
+ }
50
+
51
+ .toggle-button__icon {
52
+ margin-bottom: @spacing-200;
53
+ margin-right: @spacing-200;
54
+ margin-top: @spacing-200;
55
+ }
56
+
57
+ .toggle-button__image-container {
58
+ align-self: center;
59
+ margin-bottom: @spacing-200;
60
+ margin-right: @spacing-200;
61
+ margin-top: @spacing-200;
62
+ }
63
+
64
+ .toggle-button__image-container svg.icon {
65
+ height: 100%;
66
+ }
67
+
68
+ .toggle-button__image-container img {
69
+ height: 100%;
70
+ max-height: 56px;
71
+ max-width: 56px;
72
+ }
73
+
74
+ .toggle-button__image {
75
+ display: inline-block;
76
+ height: 56px;
77
+ width: 56px;
78
+ }
79
+
80
+ .toggle-button__title {
81
+ font-size: @font-size-16;
82
+ font-weight: bold;
83
+ line-height: @font-size-24;
84
+ margin-bottom: @spacing-50;
85
+ margin-top: @spacing-200;
86
+ }
87
+
88
+ .toggle-button .toggle-button__content .toggle-button__title:only-child {
89
+ font-weight: bold;
90
+ margin-bottom: auto;
91
+ margin-top: auto;
92
+ text-align: center;
93
+ width: 100%;
94
+ }
95
+
96
+ .toggle-button:not([aria-pressed="true"]) .toggle-button__title:only-child {
97
+ font-weight: normal;
98
+ }
99
+
100
+ .toggle-button__subtitle {
101
+ color: var(--color-foreground-secondary);
102
+ line-height: @font-size-20;
103
+ margin-bottom: @spacing-200;
104
+ }
105
+
106
+ .toggle-button__subtitle p {
107
+ margin: 0;
108
+ }
109
+
110
+ .toggle-button[aria-pressed="true"] .toggle-button__subtitle {
111
+ color: var(--color-foreground-primary);
112
+ font-weight: normal;
113
+ }
114
+
115
+ /* Layout Themes */
116
+ .toggle-button--list-layout {
117
+ justify-content: left;
118
+ max-width: var(--toggle-button-list-width-max);
119
+ min-width: var(--toggle-button-list-width-min);
120
+ }
121
+
122
+ .toggle-button--gallery-layout {
123
+ flex-direction: column;
124
+ justify-content: left;
125
+ max-width: var(--toggle-button-gallery-width-max);
126
+ min-width: var(--toggle-button-gallery-width-min);
127
+ }
128
+
129
+ .toggle-button--gallery-layout .toggle-button__content {
130
+ align-self: self-start;
131
+ }
132
+
133
+ .toggle-button--gallery-layout .toggle-button__image-container,
134
+ .toggle-button--gallery-layout .toggle-button__icon {
135
+ margin-bottom: 0;
136
+ margin-right: 0;
137
+ text-align: left;
138
+ }
139
+
140
+ .toggle-button--gallery-layout .toggle-button__image-container {
141
+ padding-bottom: 60%;
142
+ position: relative;
143
+ text-align: center;
144
+ width: 100%;
145
+ }
146
+
147
+ .toggle-button--gallery-layout .toggle-button__image {
148
+ bottom: 0;
149
+ height: 100%;
150
+ left: 0;
151
+ position: absolute;
152
+ right: 0;
153
+ top: 0;
154
+ width: 100%;
155
+ }
156
+
157
+ .toggle-button--gallery-layout .toggle-button__image-container img {
158
+ height: 100%;
159
+ max-height: 200px;
160
+ max-width: initial;
161
+ }
162
+
163
+ .toggle-button--gallery-layout .toggle-button__icon ~ .toggle-button__content {
164
+ align-self: flex-start;
165
+ }
@@ -1,5 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
1
+ <svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
2
2
  <path
3
- d="M3.054 8.253a.71.71 0 0 1 .157-.776l4.287-4.27a.717.717 0 0 1 1.011.003.71.71 0 0 1-.003 1.007L5.433 7.271h6.853a.713.713 0 1 1 0 1.423H5.433l3.073 3.054a.71.71 0 0 1-.298 1.232.716.716 0 0 1-.71-.229l-4.287-4.27a.712.712 0 0 1-.157-.228Z"
3
+ d="M1.211 5.477 5.5 1.207a.717.717 0 0 1 1.01.003.71.71 0 0 1-.003 1.007L3.434 5.271h6.852a.713.713 0 1 1 0 1.423H3.434l3.072 3.054a.71.71 0 0 1-.298 1.232.716.716 0 0 1-.71-.229l-4.287-4.27a.71.71 0 0 1 0-1.004Z"
4
4
  />
5
5
  </svg>
@@ -1,5 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
1
+ <svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
2
2
  <path
3
- d="M12.946 8.253a.71.71 0 0 0-.157-.776l-4.287-4.27a.717.717 0 0 0-1.011.003.71.71 0 0 0 .003 1.007l3.073 3.054H3.715A.713.713 0 0 0 3 7.983c0 .393.32.711.715.711h6.852l-3.073 3.054a.71.71 0 0 0 .298 1.232.716.716 0 0 0 .71-.229l4.287-4.27a.71.71 0 0 0 .157-.228Z"
3
+ d="m10.789 5.477-4.287-4.27a.717.717 0 0 0-1.011.003.71.71 0 0 0 .003 1.007l3.073 3.054H1.715A.713.713 0 0 0 1 5.983c0 .393.32.711.715.711h6.852L5.494 9.748a.71.71 0 0 0 .298 1.232.716.716 0 0 0 .71-.229l4.287-4.27a.71.71 0 0 0 0-1.004Z"
4
4
  />
5
5
  </svg>
@@ -0,0 +1,5 @@
1
+ <svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
2
+ <path
3
+ d="M9.293 2.293a1 1 0 0 0 0 1.414L14.586 9H3a1 1 0 1 0 0 2h11.586l-5.293 5.293a1 1 0 1 0 1.414 1.414l7-7a1 1 0 0 0 0-1.414l-7-7a1 1 0 0 0-1.414 0Z"
4
+ />
5
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
2
+ <path
3
+ d="M11.207 5.793a1 1 0 0 1 0 1.414l-3.5 3.5a1 1 0 0 1-1.414 0l-1.5-1.5a1 1 0 0 1 1.414-1.414L7 8.586l2.793-2.793a1 1 0 0 1 1.414 0Z"
4
+ />
5
+ <path
6
+ fill-rule="evenodd"
7
+ d="M13.657 2.343a3.32 3.32 0 0 1 .976 2.3c.007.387.163.764.432 1.042C15.644 6.285 16 7.1 16 8c0 .9-.356 1.716-.936 2.316a1.547 1.547 0 0 0-.431 1.042 3.322 3.322 0 0 1-.976 2.299 3.322 3.322 0 0 1-2.3.976 1.548 1.548 0 0 0-1.041.431A3.32 3.32 0 0 1 8 16a3.32 3.32 0 0 1-2.316-.936 1.547 1.547 0 0 0-1.041-.431 3.322 3.322 0 0 1-2.3-.976 3.322 3.322 0 0 1-.975-2.299 1.548 1.548 0 0 0-.432-1.042A3.322 3.322 0 0 1 0 8c0-.9.357-1.716.936-2.316.269-.278.425-.655.432-1.042.014-.833.34-1.663.975-2.299a3.322 3.322 0 0 1 2.3-.976 1.547 1.547 0 0 0 1.04-.431A3.324 3.324 0 0 1 8 0c.9 0 1.716.357 2.316.936.278.269.655.425 1.042.432.834.014 1.663.34 2.3.975Zm-9.9 1.414a1.322 1.322 0 0 0-.39.92 3.547 3.547 0 0 1-.993 2.397A1.322 1.322 0 0 0 2 8c0 .361.14.685.374.927.621.642.978 1.503.994 2.396.005.337.135.665.39.92s.583.384.92.39a3.547 3.547 0 0 1 2.396.993c.242.234.565.374.926.374.36 0 .684-.14.926-.374a3.548 3.548 0 0 1 2.397-.993c.336-.006.665-.135.92-.39s.384-.584.39-.92a3.547 3.547 0 0 1 .993-2.397C13.86 8.685 14 8.361 14 8c0-.36-.14-.684-.374-.926a3.548 3.548 0 0 1-.993-2.397 1.34 1.34 0 0 0-.39-.92 1.322 1.322 0 0 0-.92-.39 3.548 3.548 0 0 1-2.397-.993A1.322 1.322 0 0 0 8 2c-.36 0-.685.14-.926.374a3.547 3.547 0 0 1-2.397.993 1.322 1.322 0 0 0-.92.39Z"
8
+ clip-rule="evenodd"
9
+ />
10
+ </svg>