@ebay/skin 16.0.0-2 → 16.1.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.
Files changed (269) hide show
  1. package/.github/workflows/jekyll-gh-pages.yml +56 -0
  2. package/.github/workflows/pages-html-proofer.yml +5 -0
  3. package/.percy.yml +4 -3
  4. package/.prettierrc.json +1 -12
  5. package/.storybook/main.js +44 -40
  6. package/.storybook/manager.js +6 -6
  7. package/.storybook/preview-head.html +49 -11
  8. package/.storybook/theme.js +9 -9
  9. package/.stylelintrc +80 -73
  10. package/ICON-CREATION.md +22 -45
  11. package/README.md +1 -1
  12. package/_cdn/skin/v16.1.0-0/skin-default.min.css +6 -0
  13. package/_cdn/skin/v16.1.0-0/skin-full.min.css +6 -0
  14. package/_cdn/skin/v16.1.0-0/skin-headless.min.css +6 -0
  15. package/_cdn/skin/v16.1.0-0/skin-legacy.min.css +6 -0
  16. package/dist/alert-dialog/alert-dialog.css +16 -11
  17. package/dist/breadcrumbs/breadcrumbs.css +1 -1
  18. package/dist/button/button.css +3 -5
  19. package/dist/calendar/calendar.css +11 -10
  20. package/dist/carousel/carousel.css +11 -15
  21. package/dist/combobox/combobox.css +0 -2
  22. package/dist/confirm-dialog/confirm-dialog.css +16 -11
  23. package/dist/date-textbox/date-textbox.css +4 -1
  24. package/dist/drawer-dialog/drawer-dialog.css +11 -8
  25. package/dist/fullscreen-dialog/fullscreen-dialog.css +11 -8
  26. package/dist/icon/icon.css +17 -5
  27. package/dist/image-placeholder/image-placeholder.css +4 -0
  28. package/dist/infotip/infotip.css +2 -5
  29. package/dist/legacy-theme/legacy-theme.css +2 -2
  30. package/dist/legacy-tokens/ds4-light.css +2 -0
  31. package/dist/lightbox-dialog/lightbox-dialog.css +24 -17
  32. package/dist/listbox/listbox.css +0 -2
  33. package/dist/listbox-button/listbox-button.css +0 -2
  34. package/dist/menu/menu.css +0 -2
  35. package/dist/menu-button/menu-button.css +0 -2
  36. package/dist/mixins/utility-mixins.less +1 -4
  37. package/dist/page-grid/page-grid.css +15 -5
  38. package/dist/page-notice/page-notice.css +1 -1
  39. package/dist/panel-dialog/panel-dialog.css +12 -9
  40. package/dist/progress-bar/progress-bar.css +1 -1
  41. package/dist/progress-stepper/progress-stepper.css +1 -1
  42. package/dist/section-notice/section-notice.css +1 -1
  43. package/dist/section-title/section-title.css +1 -1
  44. package/dist/snackbar-dialog/snackbar-dialog.css +7 -1
  45. package/dist/square-corner-theme/square-corner-theme.css +3 -3
  46. package/dist/svg/icon/icon-bookmark-16.svg +7 -0
  47. package/dist/svg/icon/icon-bookmark-24.svg +7 -0
  48. package/dist/svg/icon/icon-play-filled-16-colored.svg +13 -0
  49. package/dist/svg/icon/icon-play-filled-24-colored.svg +11 -0
  50. package/dist/svg/icon/image-placeholder.svg +3 -0
  51. package/dist/svg/icons.svg +49 -11
  52. package/dist/toast-dialog/toast-dialog.css +7 -1
  53. package/dist/tokens/evo-dark.css +2 -0
  54. package/dist/tokens/evo-light.css +2 -0
  55. package/dist/tooltip/tooltip.css +2 -5
  56. package/dist/tourtip/tourtip.css +2 -5
  57. package/dist/typography/typography.css +1 -1
  58. package/dist/utility/utility.css +2 -8
  59. package/dist/video/video.css +1 -4
  60. package/image-placeholder.browser.json +1 -0
  61. package/image-placeholder.css +1 -0
  62. package/image-placeholder.js +1 -0
  63. package/image-placeholder.mjs +1 -0
  64. package/index.browser.json +1 -0
  65. package/index.css +1 -0
  66. package/index.js +1 -0
  67. package/index.mjs +1 -0
  68. package/package.json +13 -12
  69. package/scripts/develop-module_proper/code-generators/doc-generator.js +32 -16
  70. package/scripts/develop-module_proper/code-generators/style-generator.js +89 -34
  71. package/scripts/develop-module_proper/code-generators/test-generator.js +18 -12
  72. package/scripts/develop-module_proper/errors/illegal-input.js +1 -1
  73. package/scripts/develop-module_proper/index.js +6 -6
  74. package/scripts/develop-module_proper/input/module-name.js +9 -7
  75. package/scripts/develop-module_proper/input/parse-input.js +10 -8
  76. package/scripts/develop-module_proper/util/line-writer.js +31 -18
  77. package/scripts/develop-module_proper/util/title-case.js +4 -3
  78. package/scripts/generate-bundle.js +58 -33
  79. package/scripts/generate-images.js +72 -45
  80. package/scripts/generate-imports/config.json +21 -3
  81. package/scripts/generate-imports/index.js +35 -29
  82. package/scripts/generate-imports/module-builder.js +58 -36
  83. package/scripts/import-svgs.js +33 -25
  84. package/scripts/index.js +68 -68
  85. package/scripts/jekyll-config.js +8 -5
  86. package/scripts/log.js +5 -3
  87. package/scripts/split-icon.js +20 -15
  88. package/scripts/storybook/copy.js +29 -10
  89. package/scripts/svgo.config.js +42 -42
  90. package/scripts/util.js +15 -11
  91. package/scripts/verify-build.js +12 -12
  92. package/src/fonts/marketsans/MarketSans-Regular-WebS.css +6 -3
  93. package/src/fonts/marketsans/MarketSans-SemiBold-WebS.css +6 -3
  94. package/src/less/alert-dialog/alert-dialog.less +5 -6
  95. package/src/less/alert-dialog/stories/alert-dialog.stories.js +1 -1
  96. package/src/less/badge/stories/badge.stories.js +1 -1
  97. package/src/less/breadcrumbs/breadcrumbs.less +5 -2
  98. package/src/less/breadcrumbs/stories/button-cascade.stories.js +1 -1
  99. package/src/less/breadcrumbs/stories/button-overflow.stories.js +1 -1
  100. package/src/less/breadcrumbs/stories/buttons.stories.js +1 -1
  101. package/src/less/breadcrumbs/stories/link-cascade.stories.js +1 -1
  102. package/src/less/breadcrumbs/stories/link-overflow.stories.js +1 -1
  103. package/src/less/breadcrumbs/stories/links.stories.js +1 -1
  104. package/src/less/bundles/skin-headless.less +1 -0
  105. package/src/less/button/button.less +16 -10
  106. package/src/less/button/stories/button/base.stories.js +1 -1
  107. package/src/less/button/stories/button/borderless.stories.js +5 -3
  108. package/src/less/button/stories/button/cascade.stories.js +1 -1
  109. package/src/less/button/stories/button/dimensions.stories.js +1 -1
  110. package/src/less/button/stories/button/primary.stories.js +3 -2
  111. package/src/less/button/stories/button/secondary.stories.js +3 -2
  112. package/src/less/button/stories/button/tertiary.stories.js +1 -1
  113. package/src/less/button/stories/destructive-button/primary.stories.js +1 -1
  114. package/src/less/button/stories/destructive-button/secondary.stories.js +1 -1
  115. package/src/less/button/stories/destructive-button/tertiary.stories.js +1 -1
  116. package/src/less/button/stories/fake-button/base.stories.js +3 -2
  117. package/src/less/button/stories/fake-button/cascade.stories.js +1 -1
  118. package/src/less/button/stories/fake-button/dimensions.stories.js +1 -1
  119. package/src/less/button/stories/fake-button/primary.stories.js +1 -1
  120. package/src/less/button/stories/fake-button/secondary.stories.js +1 -1
  121. package/src/less/calendar/calendar.less +31 -13
  122. package/src/less/calendar/stories/calendar.stories.js +601 -108
  123. package/src/less/carousel/carousel.less +14 -9
  124. package/src/less/carousel/stories/carousel.stories.js +1 -1
  125. package/src/less/checkbox/checkbox.less +14 -5
  126. package/src/less/checkbox/stories/checked.stories.js +1 -1
  127. package/src/less/checkbox/stories/mixed.stories.js +2 -2
  128. package/src/less/checkbox/stories/unchecked.stories.js +1 -1
  129. package/src/less/combobox/combobox.less +4 -1
  130. package/src/less/combobox/stories/combobox.stories.js +1 -1
  131. package/src/less/confirm-dialog/confirm-dialog.less +5 -6
  132. package/src/less/confirm-dialog/stories/confirm-dialog.stories.js +1 -1
  133. package/src/less/cta-button/stories/cascade.stories.js +1 -1
  134. package/src/less/cta-button/stories/cta-button.stories.js +1 -1
  135. package/src/less/cta-button/stories/dimensions.stories.js +1 -1
  136. package/src/less/date-textbox/date-textbox.less +5 -1
  137. package/src/less/details/stories/cascade.stories.js +1 -1
  138. package/src/less/details/stories/details.stories.js +1 -1
  139. package/src/less/drawer-dialog/drawer-dialog.less +2 -2
  140. package/src/less/drawer-dialog/stories/drawer-dialog.stories.js +1 -1
  141. package/src/less/eek/eek.less +2 -2
  142. package/src/less/field/stories/stacked.stories.js +1 -1
  143. package/src/less/field/stories/unstacked.stories.js +1 -1
  144. package/src/less/filter-button/stories/button.stories.js +1 -1
  145. package/src/less/filter-button/stories/group.stories.js +1 -1
  146. package/src/less/filter-button/stories/link.stories.js +1 -1
  147. package/src/less/filter-menu/filter-menu.less +8 -4
  148. package/src/less/filter-menu/stories/filter-menu.stories.js +1 -1
  149. package/src/less/filter-menu-button/filter-menu-button.less +2 -1
  150. package/src/less/filter-menu-button/stories/filter-menu-button.stories.js +1 -1
  151. package/src/less/floating-label/stories/floating-label.stories.js +1 -1
  152. package/src/less/fullscreen-dialog/fullscreen-dialog.less +2 -2
  153. package/src/less/fullscreen-dialog/stories/fullscreen-dialog.stories.js +1 -1
  154. package/src/less/global/stories/global.stories.js +1 -1
  155. package/src/less/icon/generated/icon.less +17 -5
  156. package/src/less/icon/stories/icon.stories.js +1 -1
  157. package/src/less/icon-button/stories/alignment.stories.js +1 -1
  158. package/src/less/image-placeholder/image-placeholder.less +4 -0
  159. package/src/less/image-placeholder/stories/image-placeholder.stories.js +35 -0
  160. package/src/less/index.stories.js +1 -1
  161. package/src/less/infotip/infotip.less +1 -1
  162. package/src/less/infotip/stories/infotip.stories.js +1 -1
  163. package/src/less/inline-notice/stories/inline.stories.js +1 -1
  164. package/src/less/legacy-theme/legacy-theme.less +2 -2
  165. package/src/less/lightbox-dialog/lightbox-dialog.less +12 -9
  166. package/src/less/lightbox-dialog/stories/lightbox-dialog.stories.js +91 -1
  167. package/src/less/link/stories/link.stories.js +3 -2
  168. package/src/less/listbox/listbox.less +2 -1
  169. package/src/less/listbox/stories/cascade.stories.js +1 -1
  170. package/src/less/listbox/stories/listbox.stories.js +1 -1
  171. package/src/less/listbox-button/listbox-button.less +2 -1
  172. package/src/less/listbox-button/stories/base.stories.js +1 -1
  173. package/src/less/listbox-button/stories/cascade.stories.js +1 -1
  174. package/src/less/listbox-button/stories/dimensions.stories.js +1 -1
  175. package/src/less/listbox-button/stories/form.stories.js +1 -1
  176. package/src/less/marketsans/marketsans.less +12 -6
  177. package/src/less/menu/stories/fake-menu.stories.js +1 -1
  178. package/src/less/menu/stories/misc.stories.js +1 -1
  179. package/src/less/menu/stories/multiSelect.stories.js +1 -1
  180. package/src/less/menu-button/menu-button.less +2 -1
  181. package/src/less/menu-button/stories/base.stories.js +1 -1
  182. package/src/less/menu-button/stories/cascade.stories.js +1 -1
  183. package/src/less/menu-button/stories/dimensions.stories.js +1 -1
  184. package/src/less/menu-button/stories/fake-menu-button.stories.js +1 -1
  185. package/src/less/mixins/private/bubble-mixins.less +1 -4
  186. package/src/less/mixins/private/dialog-mixins.less +12 -10
  187. package/src/less/mixins/private/filter-menu-mixins.less +4 -1
  188. package/src/less/mixins/private/selection-list-mixins.less +0 -2
  189. package/src/less/mixins/private/token-mixins.less +2 -1
  190. package/src/less/mixins/public/utility-mixins.less +1 -4
  191. package/src/less/page-grid/page-grid.less +32 -10
  192. package/src/less/page-notice/page-notice.less +1 -1
  193. package/src/less/page-notice/stories/page-notice.stories.js +1 -1
  194. package/src/less/page-notice/stories/test.stories.js +1 -1
  195. package/src/less/pagination/stories/button-cascade.stories.js +1 -1
  196. package/src/less/pagination/stories/buttons.stories.js +1 -1
  197. package/src/less/pagination/stories/link-cascade.stories.js +1 -1
  198. package/src/less/pagination/stories/links.stories.js +1 -1
  199. package/src/less/pagination/stories/overflow.stories.js +1 -1
  200. package/src/less/panel-dialog/panel-dialog.less +5 -4
  201. package/src/less/panel-dialog/stories/panel-dialog.stories.js +1 -1
  202. package/src/less/progress-bar/progress-bar.less +1 -1
  203. package/src/less/progress-bar/stories/progress-bar.stories.js +10 -7
  204. package/src/less/progress-spinner/stories/progress-spinner.stories.js +1 -1
  205. package/src/less/progress-stepper/progress-stepper.less +29 -9
  206. package/src/less/progress-stepper/stories/progress-stepper.stories.js +1 -1
  207. package/src/less/radio/radio.less +8 -3
  208. package/src/less/radio/stories/checked.stories.js +1 -1
  209. package/src/less/radio/stories/unchecked.stories.js +1 -1
  210. package/src/less/section-notice/section-notice.less +1 -1
  211. package/src/less/section-notice/stories/rtl.stories.js +1 -1
  212. package/src/less/section-notice/stories/section-notice.stories.js +1 -1
  213. package/src/less/section-notice/stories/test.stories.js +1 -1
  214. package/src/less/section-title/section-title.less +1 -1
  215. package/src/less/section-title/stories/rtl.stories.js +1 -1
  216. package/src/less/section-title/stories/section-title.stories.js +1 -1
  217. package/src/less/select/stories/cascade.stories.js +1 -1
  218. package/src/less/select/stories/default.stories.js +1 -1
  219. package/src/less/select/stories/floating-label.stories.js +1 -1
  220. package/src/less/signal/stories/signal.stories.js +1 -1
  221. package/src/less/snackbar-dialog/snackbar-dialog.less +1 -1
  222. package/src/less/snackbar-dialog/stories/base.stories.js +1 -1
  223. package/src/less/snackbar-dialog/stories/font-size.stories.js +1 -1
  224. package/src/less/snackbar-dialog/stories/rtl.stories.js +1 -1
  225. package/src/less/split-button/stories/base.stories.js +1 -1
  226. package/src/less/split-button/stories/rtl.stories.js +1 -1
  227. package/src/less/split-button/stories/size.stories.js +1 -1
  228. package/src/less/square-corner-theme/square-corner-theme.less +3 -3
  229. package/src/less/star-rating/stories/star-rating.stories.js +1 -1
  230. package/src/less/star-rating-select/star-rating-select.less +6 -2
  231. package/src/less/star-rating-select/stories/star-rating-select.stories.js +1 -1
  232. package/src/less/switch/stories/form.stories.js +1 -1
  233. package/src/less/switch/stories/script.stories.js +1 -1
  234. package/src/less/switch/switch.less +12 -6
  235. package/src/less/tabs/stories/fake-tabs/block.stories.js +1 -1
  236. package/src/less/tabs/stories/fake-tabs/inlineBlock.stories.js +1 -1
  237. package/src/less/tabs/stories/tabs/block.stories.js +1 -1
  238. package/src/less/tabs/stories/tabs/inlineBlock.stories.js +1 -1
  239. package/src/less/textbox/stories/icon.stories.js +1 -1
  240. package/src/less/textbox/stories/rtl/icon.stories.js +1 -1
  241. package/src/less/textbox/stories/rtl/textbox.stories.js +1 -1
  242. package/src/less/textbox/stories/textbox.stories.js +1 -1
  243. package/src/less/toast-dialog/stories/toast-dialog.stories.js +1 -1
  244. package/src/less/toast-dialog/toast-dialog.less +1 -1
  245. package/src/less/tooltip/stories/pointer.stories.js +84 -78
  246. package/src/less/tooltip/stories/tooltip.stories.js +1 -1
  247. package/src/less/tooltip/tooltip.less +1 -1
  248. package/src/less/tourtip/stories/tourtip.stories.js +1 -1
  249. package/src/less/tourtip/tourtip.less +1 -1
  250. package/src/less/typography/typography.less +1 -1
  251. package/src/less/video/video.less +1 -4
  252. package/src/svg/icon/icon-bookmark-16.svg +7 -0
  253. package/src/svg/icon/icon-bookmark-24.svg +7 -0
  254. package/src/svg/icon/icon-play-filled-16-colored.svg +13 -0
  255. package/src/svg/icon/icon-play-filled-24-colored.svg +11 -0
  256. package/src/svg/icon/image-placeholder.svg +3 -0
  257. package/src/svg/icons.svg +49 -11
  258. package/src/tokens/evo-dark.css +2 -0
  259. package/src/tokens/evo-light.css +2 -0
  260. package/svg.svg +49 -11
  261. package/webpack.config.js +6 -6
  262. package/_cdn/skin/v16.0.0-2/skin-default.min.css +0 -6
  263. package/_cdn/skin/v16.0.0-2/skin-full.min.css +0 -6
  264. package/_cdn/skin/v16.0.0-2/skin-headless.min.css +0 -6
  265. package/_cdn/skin/v16.0.0-2/skin-legacy.min.css +0 -6
  266. package/dist/svg/icon/icon-image-placeholder.svg +0 -10
  267. package/src/svg/icon/icon-image-placeholder.svg +0 -10
  268. /package/dist/svg/icon/{icon-zoom-In-16.svg → icon-zoom-in-16.svg} +0 -0
  269. /package/src/svg/icon/{icon-zoom-In-16.svg → icon-zoom-in-16.svg} +0 -0
@@ -0,0 +1,56 @@
1
+ # Sample workflow for building and deploying a Jekyll site to GitHub Pages
2
+ name: Deploy Jekyll with GitHub Pages dependencies preinstalled
3
+
4
+ on:
5
+ # Runs on pushes targeting the default branch
6
+ push:
7
+ branches: ["master"]
8
+
9
+ # Allows you to run this workflow manually from the Actions tab
10
+ workflow_dispatch:
11
+
12
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
+ permissions:
14
+ contents: read
15
+ pages: write
16
+ id-token: write
17
+
18
+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19
+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20
+ concurrency:
21
+ group: "pages"
22
+ cancel-in-progress: false
23
+
24
+ jobs:
25
+ # Build job
26
+ build:
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - name: Checkout
30
+ uses: actions/checkout@v3
31
+ - name: Setup Pages
32
+ uses: actions/configure-pages@v3
33
+ - uses: actions/setup-node@master
34
+ with:
35
+ node-version: '16.x'
36
+ - run: npm i
37
+ - run: npm run build:ci
38
+ - name: Build with Jekyll
39
+ uses: actions/jekyll-build-pages@v1
40
+ with:
41
+ source: ./docs
42
+ destination: ./_site
43
+ - name: Upload artifact
44
+ uses: actions/upload-pages-artifact@v1
45
+
46
+ # Deployment job
47
+ deploy:
48
+ environment:
49
+ name: github-pages
50
+ url: ${{ steps.deployment.outputs.page_url }}
51
+ runs-on: ubuntu-latest
52
+ needs: build
53
+ steps:
54
+ - name: Deploy to GitHub Pages
55
+ id: deployment
56
+ uses: actions/deploy-pages@v2
@@ -18,6 +18,11 @@ jobs:
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v2
21
+ - uses: actions/setup-node@master
22
+ with:
23
+ node-version: '16.x'
24
+ - run: npm i
25
+ - run: npm run build:ci
21
26
  - uses: ruby/setup-ruby@v1
22
27
  with:
23
28
  ruby-version: 2.7
package/.percy.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  version: 2
2
2
  snapshot:
3
- widths: [602]
4
- device-pixel-ratio: 2
3
+ widths: [320,512,768,1280]
4
+ discovery:
5
+ device-pixel-ratio: 2
5
6
  storybook:
6
- include: []
7
+ include: []
package/.prettierrc.json CHANGED
@@ -1,12 +1 @@
1
- {
2
- "printWidth": 100,
3
- "singleQuote": true,
4
- "overrides": [
5
- {
6
- "files": ["**/*.css", "**/*.html", "**/*.less", "**/*.json", "**/*.yml", "**/*.md"],
7
- "options": {
8
- "singleQuote": false
9
- }
10
- }
11
- ]
12
- }
1
+ {}
@@ -1,46 +1,50 @@
1
- const path = require('path');
1
+ const path = require("path");
2
2
 
3
3
  console.log(`STORYBOOK_DS: ${process.env.STORYBOOK_DS}`);
4
4
 
5
5
  module.exports = {
6
- core: {
7
- builder: "webpack5",
8
- },
9
- stories: [`../src/less/index.stories.js`, '../src/less/**/*.stories.js', '../src/less/**/stories/**/*.stories.js'],
10
- webpackFinal: async (config, { configType }) => {
11
- config.module.rules.push({
12
- test: /\.less/,
13
- use: [
14
- 'style-loader',
15
- 'css-loader',
16
- {
17
- loader: 'postcss-loader',
18
- options: {
19
- postcssOptions: {
20
- plugins: [
21
- [
22
- 'autoprefixer',
23
- {
24
- // Options
25
- },
26
- ],
27
- ],
28
- },
29
- }
30
- },
31
- {
32
- loader: "less-loader",
33
- options: {
34
- lessOptions: {
35
- globalVars: {
36
- ds: `ds${process.env.STORYBOOK_DS}`
37
- },
38
- }
39
- },
40
- },
41
- ]
42
- });
6
+ core: {
7
+ builder: "webpack5",
8
+ },
9
+ stories: [
10
+ `../src/less/index.stories.js`,
11
+ "../src/less/**/*.stories.js",
12
+ "../src/less/**/stories/**/*.stories.js",
13
+ ],
14
+ webpackFinal: async (config, { configType }) => {
15
+ config.module.rules.push({
16
+ test: /\.less/,
17
+ use: [
18
+ "style-loader",
19
+ "css-loader",
20
+ {
21
+ loader: "postcss-loader",
22
+ options: {
23
+ postcssOptions: {
24
+ plugins: [
25
+ [
26
+ "autoprefixer",
27
+ {
28
+ // Options
29
+ },
30
+ ],
31
+ ],
32
+ },
33
+ },
34
+ },
35
+ {
36
+ loader: "less-loader",
37
+ options: {
38
+ lessOptions: {
39
+ globalVars: {
40
+ ds: `ds${process.env.STORYBOOK_DS}`,
41
+ },
42
+ },
43
+ },
44
+ },
45
+ ],
46
+ });
43
47
 
44
- return config;
45
- }
48
+ return config;
49
+ },
46
50
  };
@@ -1,9 +1,9 @@
1
- import { addons } from '@storybook/addons';
2
- import theme from './theme';
1
+ import { addons } from "@storybook/addons";
2
+ import theme from "./theme";
3
3
 
4
4
  addons.setConfig({
5
- theme,
6
- sidebar: {
7
- showRoots: false,
8
- },
5
+ theme,
6
+ sidebar: {
7
+ showRoots: false,
8
+ },
9
9
  });
@@ -504,6 +504,20 @@
504
504
  clip-rule="evenodd"
505
505
  />
506
506
  </symbol>
507
+ <symbol viewBox="0 0 16 16" id="icon-bookmark-16">
508
+ <path
509
+ fill-rule="evenodd"
510
+ clip-rule="evenodd"
511
+ d="M5.5 3a.5.5 0 0 0-.5.5v8.086l2.293-2.293a1 1 0 0 1 1.414 0L11 11.586V3.5a.5.5 0 0 0-.5-.5h-5ZM3 3.5A2.5 2.5 0 0 1 5.5 1h5A2.5 2.5 0 0 1 13 3.5V14a1 1 0 0 1-1.707.707L8 11.414l-3.293 3.293A1 1 0 0 1 3 14V3.5Z"
512
+ />
513
+ </symbol>
514
+ <symbol viewBox="0 0 24 24" id="icon-bookmark-24">
515
+ <path
516
+ fill-rule="evenodd"
517
+ clip-rule="evenodd"
518
+ d="M7 3a1 1 0 0 0-1 1v15.586l5.293-5.293a1 1 0 0 1 1.414 0L18 19.586V4a1 1 0 0 0-1-1H7ZM4 4a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v18a1 1 0 0 1-1.707.707L12 16.414l-6.293 6.293A1 1 0 0 1 4 22V4Z"
519
+ />
520
+ </symbol>
507
521
  <symbol viewBox="0 0 10 16" id="icon-brand-authorized-seller-16-fit">
508
522
  <path d="M6 6.14a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z" />
509
523
  <path
@@ -3526,16 +3540,6 @@
3526
3540
  clip-rule="evenodd"
3527
3541
  />
3528
3542
  </symbol>
3529
- <symbol viewBox="0 0 300 300" id="icon-image-placeholder">
3530
- <path
3531
- d="M175.241 121.603a9.465 9.465 0 0 1-9.465 9.465 9.466 9.466 0 1 1 9.465-9.465Z"
3532
- />
3533
- <path
3534
- fill-rule="evenodd"
3535
- d="M211 192.068c0 10.456-8.476 18.931-18.931 18.931h-84.138c-10.456 0-18.931-8.475-18.931-18.931V107.93C89 97.475 97.475 89 107.93 89h84.138C202.524 89 211 97.474 211 107.93v84.138ZM107.931 99.516h84.138a8.413 8.413 0 0 1 8.414 8.414v66.184l-21.523-21.523a5.26 5.26 0 0 0-7.437 0l-14.777 14.777-21.571-26.964a5.255 5.255 0 0 0-8.106-.129L99.517 172.55v-64.62a8.414 8.414 0 0 1 8.414-8.414Zm-8.414 89.233 31.42-36.807 21.267 26.584a5.258 5.258 0 0 0 7.825.433l15.212-15.213 25.242 25.242v3.08a8.414 8.414 0 0 1-8.414 8.414h-84.138a8.414 8.414 0 0 1-8.414-8.414v-3.319Z"
3536
- clip-rule="evenodd"
3537
- />
3538
- </symbol>
3539
3543
  <symbol viewBox="0 0 16 16" id="icon-inbox-16">
3540
3544
  <path
3541
3545
  fill-rule="evenodd"
@@ -6107,11 +6111,35 @@
6107
6111
  clip-rule="evenodd"
6108
6112
  />
6109
6113
  </symbol>
6114
+ <symbol viewBox="0 0 16 16" id="icon-play-filled-16-colored">
6115
+ <path
6116
+ fill-rule="evenodd"
6117
+ clip-rule="evenodd"
6118
+ d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z"
6119
+ fill="#fff"
6120
+ fill-opacity=".88"
6121
+ />
6122
+ <path
6123
+ d="M11.514 8.857a1 1 0 0 0 0-1.714l-5-3A1 1 0 0 0 5 5v6a1 1 0 0 0 1.514.857l5-3Z"
6124
+ fill="#191919"
6125
+ />
6126
+ </symbol>
6110
6127
  <symbol viewBox="0 0 24 24" id="icon-play-filled-24">
6111
6128
  <path
6112
6129
  d="M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12ZM9.53 6.152A1 1 0 0 0 8 7v10a1 1 0 0 0 1.53.848l8-5a1 1 0 0 0 0-1.696l-8-5Z"
6113
6130
  />
6114
6131
  </symbol>
6132
+ <symbol viewBox="0 0 24 24" id="icon-play-filled-24-colored">
6133
+ <path
6134
+ d="M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Z"
6135
+ fill="#fff"
6136
+ fill-opacity=".88"
6137
+ />
6138
+ <path
6139
+ d="m9.53 6.152 8 5a1 1 0 0 1 0 1.696l-8 5A1 1 0 0 1 8 17V7a1 1 0 0 1 1.53-.848Z"
6140
+ fill="#191919"
6141
+ />
6142
+ </symbol>
6115
6143
  <symbol viewBox="0 0 20 12" id="icon-postepay-12-colored">
6116
6144
  <rect
6117
6145
  x=".5"
@@ -7469,7 +7497,7 @@
7469
7497
  clip-rule="evenodd"
7470
7498
  />
7471
7499
  </symbol>
7472
- <symbol viewBox="0 0 16 16" id="icon-zoom-In-16">
7500
+ <symbol viewBox="0 0 16 16" id="icon-zoom-in-16">
7473
7501
  <path
7474
7502
  d="M7 4.5a.5.5 0 0 0-1 0V6H4.5a.5.5 0 0 0 0 1H6v1.5a.5.5 0 0 0 1 0V7h1.5a.5.5 0 0 0 0-1H7V4.5Z"
7475
7503
  />
@@ -7497,6 +7525,16 @@
7497
7525
  clip-rule="evenodd"
7498
7526
  />
7499
7527
  </symbol>
7528
+ <symbol viewBox="0 0 300 300" id="image-placeholder">
7529
+ <path
7530
+ d="M175.241 121.603a9.465 9.465 0 0 1-9.465 9.465 9.466 9.466 0 1 1 9.465-9.465Z"
7531
+ />
7532
+ <path
7533
+ fill-rule="evenodd"
7534
+ d="M211 192.068c0 10.456-8.476 18.931-18.931 18.931h-84.138c-10.456 0-18.931-8.475-18.931-18.931V107.93C89 97.475 97.475 89 107.93 89h84.138C202.524 89 211 97.474 211 107.93v84.138ZM107.931 99.516h84.138a8.413 8.413 0 0 1 8.414 8.414v66.184l-21.523-21.523a5.26 5.26 0 0 0-7.437 0l-14.777 14.777-21.571-26.964a5.255 5.255 0 0 0-8.106-.129L99.517 172.55v-64.62a8.414 8.414 0 0 1 8.414-8.414Zm-8.414 89.233 31.42-36.807 21.267 26.584a5.258 5.258 0 0 0 7.825.433l15.212-15.213 25.242 25.242v3.08a8.414 8.414 0 0 1-8.414 8.414h-84.138a8.414 8.414 0 0 1-8.414-8.414v-3.319Z"
7535
+ clip-rule="evenodd"
7536
+ />
7537
+ </symbol>
7500
7538
  <symbol viewBox="0 0 132 24" fill="none" id="star-rating-0">
7501
7539
  <path
7502
7540
  fill-rule="evenodd"
@@ -1,18 +1,18 @@
1
- import { create } from '@storybook/theming';
1
+ import { create } from "@storybook/theming";
2
2
 
3
3
  export default create({
4
- base: 'light',
4
+ base: "light",
5
5
 
6
6
  // Typography
7
7
  fontBase: '"Market Sans", Arial',
8
- colorSecondary: '#5388FF',
9
- appBg: '#EEF8FF',
8
+ colorSecondary: "#5388FF",
9
+ appBg: "#EEF8FF",
10
10
 
11
11
  // Brand assets
12
- brandTitle: 'eBayUI Core',
13
- brandUrl: '/',
12
+ brandTitle: "eBayUI Core",
13
+ brandUrl: "/",
14
14
  brandImage:
15
- 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/EBay_logo.svg/1280px-EBay_logo.svg.png',
16
- brandIcon: 'https://pages.ebay.com/favicon.ico',
17
- brandTarget: '/',
15
+ "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/EBay_logo.svg/1280px-EBay_logo.svg.png",
16
+ brandIcon: "https://pages.ebay.com/favicon.ico",
17
+ brandTarget: "/",
18
18
  });
package/.stylelintrc CHANGED
@@ -1,78 +1,85 @@
1
1
  {
2
- "extends": [
3
- "stylelint-config-standard",
4
- "stylelint-prettier/recommended"
5
- ],
6
- "ignoreFiles": [
7
- "dist/mixins/**/*",
8
- "dist/variables/**/*",
9
- "**/*.min.css",
10
- "**/*.js",
11
- "**/*.svg"
12
- ],
13
- "rules": {
14
- "comment-empty-line-before": null,
15
- "no-descending-specificity": null,
16
- "no-duplicate-selectors": null,
17
- "rule-empty-line-before": null,
18
- "color-function-notation": "legacy",
19
- "property-no-vendor-prefix": null,
20
- "selector-no-vendor-prefix": null,
21
- "selector-class-pattern": null,
22
- "alpha-value-notation": "number",
23
- "value-no-vendor-prefix": null,
24
- "import-notation": "string",
25
- "at-rule-empty-line-before": null,
26
- "value-keyword-case": [
27
-
28
- "lower",
29
- {
30
- "camelCaseSvgKeywords": true
31
- }
2
+ "extends": [
3
+ "stylelint-config-standard",
4
+ "stylelint-prettier/recommended"
32
5
  ],
33
- "function-no-unknown": [
34
- true,
35
- {
36
- "ignoreFunctions": ["fade"]
37
- }
38
- ]
39
- },
40
- "overrides": [
41
- {
42
- "files": [
43
- "**/*.less"
44
- ],
45
- "customSyntax": "postcss-less",
46
- "plugins": [
47
- "stylelint-order",
48
- "stylelint-no-unsupported-browser-features"
49
- ],
50
- "rules": {
51
- "at-rule-no-unknown": [
52
- true,
53
- {
54
- "ignoreAtRules": [
55
- "icon-mixin"
56
- ]
57
- }
6
+ "ignoreFiles": [
7
+ "dist/mixins/**/*",
8
+ "dist/variables/**/*",
9
+ "**/*.min.css",
10
+ "**/*.js",
11
+ "**/*.svg"
12
+ ],
13
+ "rules": {
14
+ "comment-empty-line-before": null,
15
+ "no-descending-specificity": null,
16
+ "no-duplicate-selectors": null,
17
+ "rule-empty-line-before": null,
18
+ "color-function-notation": "legacy",
19
+ "property-no-vendor-prefix": null,
20
+ "selector-no-vendor-prefix": null,
21
+ "selector-class-pattern": null,
22
+ "alpha-value-notation": "number",
23
+ "value-no-vendor-prefix": null,
24
+ "import-notation": "string",
25
+ "declaration-block-no-redundant-longhand-properties": null,
26
+ "at-rule-empty-line-before": null,
27
+ "media-feature-range-notation": "prefix",
28
+ "value-keyword-case": [
29
+ "lower",
30
+ {
31
+ "camelCaseSvgKeywords": true
32
+ }
58
33
  ],
59
- "declaration-empty-line-before": null,
60
34
  "function-no-unknown": [
61
- true,
62
- {
63
- "ignoreFunctions": ["fade", "shade", "tint"]
64
- }
65
- ],
66
- "no-descending-specificity": true,
67
- "no-duplicate-selectors": true,
68
- "order/properties-alphabetical-order": true,
69
- "plugin/no-unsupported-browser-features": [
70
- null,
71
- {
72
- "severity": "warning"
73
- }
35
+ true,
36
+ {
37
+ "ignoreFunctions": [
38
+ "fade"
39
+ ]
40
+ }
74
41
  ]
75
- }
76
- }
77
- ]
78
- }
42
+ },
43
+ "overrides": [
44
+ {
45
+ "files": [
46
+ "**/*.less"
47
+ ],
48
+ "customSyntax": "postcss-less",
49
+ "plugins": [
50
+ "stylelint-order",
51
+ "stylelint-no-unsupported-browser-features"
52
+ ],
53
+ "rules": {
54
+ "at-rule-no-unknown": [
55
+ true,
56
+ {
57
+ "ignoreAtRules": [
58
+ "icon-mixin"
59
+ ]
60
+ }
61
+ ],
62
+ "declaration-empty-line-before": null,
63
+ "function-no-unknown": [
64
+ true,
65
+ {
66
+ "ignoreFunctions": [
67
+ "fade",
68
+ "shade",
69
+ "tint"
70
+ ]
71
+ }
72
+ ],
73
+ "no-descending-specificity": true,
74
+ "no-duplicate-selectors": true,
75
+ "order/properties-alphabetical-order": true,
76
+ "plugin/no-unsupported-browser-features": [
77
+ null,
78
+ {
79
+ "severity": "warning"
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ ]
85
+ }
package/ICON-CREATION.md CHANGED
@@ -2,63 +2,40 @@
2
2
 
3
3
  Skin uses the SVG tag to deliver all iconography. This guide will help you properly add or modify SVG files for the Skin library.
4
4
 
5
- ## Step 1: Set up the icon
5
+ ## Step 1: Import the SVG
6
6
 
7
- First you should use a graphics editor, like Illustrator or Sketch, to export the SVG markup. For our examples we will use Sketch.
7
+ In order to import the SVG into Skin, all you need to do is drop the SVG into `src/svg/icon` directory. The icon name will be the way the icon will be imported into Skin. If the icon does not have `icon-` prefix, it will be renamed automatically to include the prefix.
8
+ The viewbox given will be translated to the `width` and `height` that the icons is going to use.
8
9
 
9
- - Open the necessary icon Sketch file
10
- - Copy the icon layer (right-click > copy ... or [Command ⌘] + [c] on Mac when the layer is highlighted). This should be the 24x24 layer only. It should contain the glyph altogether, with the 24x24 bounding box and the paths.
11
- > ![copy layer](https://user-images.githubusercontent.com/105656/39767546-43b5c59c-52a4-11e8-8fcd-f8ede4764ef9.png)
12
- - Open a new file ([Command ⌘] + [n] on a Mac)
13
- - Paste the icon layer in the new file ([Command ⌘] + v ... or right-click > paste)
14
- - Reset the icon (X,Y) to (0,0)
15
- > ![reset coordinates](https://user-images.githubusercontent.com/105656/39767589-5b3ad2ac-52a4-11e8-8bd7-39560f653af4.png)
10
+ **Couple of Notes**
16
11
 
17
- ## Step 2: Import the SVG
12
+ - We should not apply fill on base icons. We use `fill: currentColor` to be able to change the color on icons
13
+ - We should not apply base sizes. We will apply those using CSS
14
+ - If there is a `<use>` tag, move necessary attributes to the `<path>` and remove this tag
15
+ - Specific attributes to look for: `fill` (if it needs to be different), `fill-rule`, etc.
16
+ - In all cases, remove the `id` from the `<path>`, as it is unnecessary
17
+ - If `id` is needed for certain `clip-path` or such, make sure it is unique
18
18
 
19
- - Run the command `node/scripts importSVG path/to/icon.svg name-of-svg iconfile`.
20
- - For example: `node/scripts importSVG ~/Downloads/new-icon.svg icon-photo photo` will import the new-icon svg into the `photo.svg` file with an `id="icon-photo"`
21
- - Ensure the `fill` is set to the correct color (this is set to black as an example, but could be different based on design)
22
- - If there is a `<use>` tag, move necessary attributes to the `<path>` and remove this tag
23
- - Specific attributes to look for: `fill` (if it needs to be different), `fill-rule`, etc.
24
- - In all cases, remove the `id` from the `<path>`, as it is unnecessary
19
+ ## Step 2: Run scripts
25
20
 
26
- ## Step 3: Run the generate images script
27
-
28
- Run `node scripts/generate-images.js gen` to generate the CSS definition for the icon. This will take the width/height from the `viewBox` and create a CSS selector for the given icon.
29
- If the width/height is incorrect from the SVG `viewBox`, you need to manually add the width/height using the icon mixin (See the `Adding CSS manually` section)
30
-
31
- - The documentation will be updated automatically.
21
+ To properly setup the icon after it is placed in the `src/svg/icon` directory, run `node scripts genSVG` from the root of the skin project. This will properly setup the icon in docs, in the `icon.svg` bundle, and generate the CSS needed for the icon.
22
+ Afterward, you should run `npm run build` in order to also copy all those files to `dist`.
32
23
 
33
24
  ## Appendix
34
25
 
35
- ## Adding CSS manually
26
+ ## Star-rating
36
27
 
37
- This step is only needed when the CSS generated from the `generate-images` does not align up correctly.
28
+ Star rating icons are the only unique set of icons. These will not recieve an `icon-` prefix
38
29
 
39
- - Add the icon `id` into the `skip` array in `scripts/image-config.json`
40
- - Create two new variables in `/src/less/less/ds6/variables.less` for the width and height of your icon
41
- - Use the width and height values from the SVG width and height, **rounded to the nearest tens decimal place**
30
+ ## Skip skin docs
42
31
 
43
- ```less
44
- @ds6-icon-following-width: 21.5px;
45
- @ds6-icon-following-height: 19.4px;
46
- ```
32
+ If you do not want an icon to show up in the skin docs, add the name of the icon in `docs/_data/icons.yaml` under `skipDocs` key. Then rerun `step 2` scripts.
47
33
 
48
- - Add a mixin for your icon in `/src/less/less/ds6/mixins.less`
49
- - Add the CSS class and reference the new mixin in `/src/less/icon/ds6/icon.less`
34
+ ## Skip CSS generation
50
35
 
51
- ```less
52
- .icon--following {
53
- .icon-mixin("icon-following", { .icon-following() });
54
- }
55
- ```
36
+ In order to skip an icon to have it's CSS be generated add the name of the icon in `docs/_data/icons.yaml` under `skip` key. Then rerun `step 2` scripts.
37
+ This can be done for certain icons which might want to have different sizes than those specified in the `viewbox`
56
38
 
57
- ## Adding a new icon file pack
39
+ ## Script changes
58
40
 
59
- - Add a new `.svg` file in `src/svg`. Add the `<?xml>` and `<svg>` tag as in other files in that directory.
60
- - Add a new section in `docs/_data/icons.yaml`. See `scripts/README.md` for more info on the keys. No need to add list and smallList as those keys are autogenerated.
61
- - Add a new `.less` file into `src/less/icon`. This should follow the same syntax as the other files in that directory. (importing base icon and the generated icon).
62
- - Add the icons in the new svg file using `scripts importSVG` command
63
- - Run `node scripts genSVG`
64
- - Run `npm run build`
41
+ Any script changes needed should be done in `scripts/generate-images.js`.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/eBay/skin)
1
+ [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/79bdc98e/eBay-Skin)
2
2
 
3
3
  # Skin
4
4