@ebay/skin 19.4.0 → 19.5.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.
@@ -148,24 +148,41 @@ button.icon-btn.lightbox-dialog__prev {
148
148
  .lightbox-dialog__title--center {
149
149
  text-align: center;
150
150
  }
151
-
152
151
  .lightbox-dialog--hide.lightbox-dialog--mask-fade,
153
- .lightbox-dialog--show.lightbox-dialog--mask-fade {
154
- transition: background-color 0.16s ease-out;
152
+ .lightbox-dialog--hide.lightbox-dialog--mask-fade-slow {
153
+ transition: background-color var(--motion-duration-short-3)
154
+ var(--motion-easing-continuous);
155
155
  }
156
- .lightbox-dialog--hide.lightbox-dialog--mask-fade-slow,
156
+ .lightbox-dialog--hide .lightbox-dialog__window--fade {
157
+ transition: opacity var(--motion-duration-short-3)
158
+ var(--motion-easing-continuous);
159
+ }
160
+ .lightbox-dialog--hide .lightbox-dialog__window--animate {
161
+ transition:
162
+ transform var(--motion-duration-medium-3) var(--motion-easing-soft-exit),
163
+ opacity var(--motion-duration-short-3) var(--motion-easing-continuous);
164
+ }
165
+ .lightbox-dialog--hide .lightbox-dialog__window--animate > * {
166
+ transition: opacity var(--motion-duration-short-2)
167
+ var(--motion-easing-continuous);
168
+ }
169
+ .lightbox-dialog--show.lightbox-dialog--mask-fade,
157
170
  .lightbox-dialog--show.lightbox-dialog--mask-fade-slow {
158
- transition: background-color 0.32s ease-out;
171
+ transition: background-color var(--motion-duration-short-3)
172
+ var(--motion-easing-continuous);
159
173
  }
160
- .lightbox-dialog--hide .lightbox-dialog__window--fade,
161
174
  .lightbox-dialog--show .lightbox-dialog__window--fade {
162
- transition: opacity 0.16s ease-out;
175
+ transition: opacity var(--motion-duration-short-3)
176
+ var(--motion-easing-continuous);
163
177
  }
164
- .lightbox-dialog--hide .lightbox-dialog__window--animate,
165
178
  .lightbox-dialog--show .lightbox-dialog__window--animate {
166
179
  transition:
167
- opacity 0.16s ease-out,
168
- transform 0.32s ease-out;
180
+ transform var(--motion-duration-medium-3) var(--motion-easing-standard),
181
+ opacity var(--motion-duration-short-3) var(--motion-easing-continuous);
182
+ }
183
+ .lightbox-dialog--show .lightbox-dialog__window--animate > * {
184
+ transition: opacity var(--motion-duration-medium-2)
185
+ var(--motion-easing-continuous) var(--motion-duration-short-3);
169
186
  }
170
187
 
171
188
  .lightbox-dialog--hide.lightbox-dialog--hide,
@@ -180,15 +197,14 @@ button.icon-btn.lightbox-dialog__prev {
180
197
  .lightbox-dialog--show-init.lightbox-dialog--mask-fade-slow {
181
198
  background-color: var(--dialog-scrim-color-hide);
182
199
  }
200
+ .lightbox-dialog--hide .lightbox-dialog__window--animate,
201
+ .lightbox-dialog--hide .lightbox-dialog__window--animate > *,
183
202
  .lightbox-dialog--hide .lightbox-dialog__window--fade,
203
+ .lightbox-dialog--show-init .lightbox-dialog__window--animate,
204
+ .lightbox-dialog--show-init .lightbox-dialog__window--animate > *,
184
205
  .lightbox-dialog--show-init .lightbox-dialog__window--fade {
185
206
  opacity: 0;
186
207
  }
187
- .lightbox-dialog--hide .lightbox-dialog__window--animate,
188
- .lightbox-dialog--show-init .lightbox-dialog__window--animate {
189
- opacity: 0;
190
- transform: translateY(100%);
191
- }
192
208
 
193
209
  .lightbox-dialog--hide-init.lightbox-dialog--hide-init,
194
210
  .lightbox-dialog--hide-init.lightbox-dialog--show,
@@ -202,15 +218,54 @@ button.icon-btn.lightbox-dialog__prev {
202
218
  .lightbox-dialog--show.lightbox-dialog--mask-fade-slow {
203
219
  background-color: var(--dialog-scrim-color-show);
204
220
  }
221
+ .lightbox-dialog--hide-init .lightbox-dialog__window--animate,
222
+ .lightbox-dialog--hide-init .lightbox-dialog__window--animate > *,
205
223
  .lightbox-dialog--hide-init .lightbox-dialog__window--fade,
224
+ .lightbox-dialog--show .lightbox-dialog__window--animate,
225
+ .lightbox-dialog--show .lightbox-dialog__window--animate > *,
206
226
  .lightbox-dialog--show .lightbox-dialog__window--fade {
207
227
  opacity: 1;
208
228
  }
229
+
230
+ @media (prefers-reduced-motion) {
231
+ .lightbox-dialog--hide.lightbox-dialog--mask-fade,
232
+ .lightbox-dialog--hide.lightbox-dialog--mask-fade-slow {
233
+ transition: background-color var(--motion-duration-short-3)
234
+ var(--motion-easing-soft-exit);
235
+ }
236
+ .lightbox-dialog--hide .lightbox-dialog__window--animate,
237
+ .lightbox-dialog--hide .lightbox-dialog__window--fade {
238
+ transition: opacity var(--motion-duration-short-3)
239
+ var(--motion-easing-soft-exit);
240
+ }
241
+ .lightbox-dialog--hide .lightbox-dialog__window--animate > * {
242
+ transition: opacity var(--motion-duration-short-2)
243
+ var(--motion-soft-exit);
244
+ }
245
+ .lightbox-dialog--show.lightbox-dialog--mask-fade,
246
+ .lightbox-dialog--show.lightbox-dialog--mask-fade-slow {
247
+ transition: background-color var(--motion-duration-medium-2)
248
+ var(--motion-easing-soft-enter);
249
+ }
250
+ .lightbox-dialog--show .lightbox-dialog__window--animate,
251
+ .lightbox-dialog--show .lightbox-dialog__window--fade {
252
+ transition: opacity var(--motion-duration-medium-2)
253
+ var(--motion-easing-soft-enter);
254
+ }
255
+ .lightbox-dialog--show .lightbox-dialog__window--animate > * {
256
+ transition: opacity var(--motion-duration-medium-2)
257
+ var(--motion-easing-soft-enter) var(--motion-duration-short-3);
258
+ }
259
+ }
209
260
  .lightbox-dialog--hide-init .lightbox-dialog__window--animate,
210
261
  .lightbox-dialog--show .lightbox-dialog__window--animate {
211
- opacity: 1;
212
262
  transform: translateY(0);
213
263
  }
264
+
265
+ .lightbox-dialog--hide .lightbox-dialog__window--animate,
266
+ .lightbox-dialog--show-init .lightbox-dialog__window--animate {
267
+ transform: translateY(100%);
268
+ }
214
269
  .lightbox-dialog__handle:after {
215
270
  background-color: var(--dialog-handle-color, var(--color-stroke-default));
216
271
  border-radius: 3px;
@@ -264,11 +319,21 @@ button.icon-btn.lightbox-dialog__prev {
264
319
  margin-left: var(--spacing-100);
265
320
  margin-top: 0;
266
321
  }
322
+ .lightbox-dialog--hide-init .lightbox-dialog__window--animate,
323
+ .lightbox-dialog--show .lightbox-dialog__window--animate {
324
+ transform: scale(1);
325
+ }
326
+ .lightbox-dialog--hide .lightbox-dialog__window--animate,
327
+ .lightbox-dialog--show-init .lightbox-dialog__window--animate {
328
+ transform: scale(0.75);
329
+ }
330
+ }
331
+ @media (min-width: 512px) and (prefers-reduced-motion) {
267
332
  .lightbox-dialog--hide .lightbox-dialog__window--animate,
268
333
  .lightbox-dialog--hide-init .lightbox-dialog__window--animate,
269
334
  .lightbox-dialog--show .lightbox-dialog__window--animate,
270
335
  .lightbox-dialog--show-init .lightbox-dialog__window--animate {
271
- transform: translateY(0);
336
+ transform: scale(1);
272
337
  }
273
338
  }
274
339
  @media (min-width: 768px) {
@@ -0,0 +1,48 @@
1
+ .number-input .textbox {
2
+ background: transparent;
3
+ }
4
+
5
+ .number-input label:first-child {
6
+ flex-grow: 1;
7
+ padding-left: var(--spacing-200);
8
+ }
9
+
10
+ .number-input label:first-child ~ input.textbox__control {
11
+ flex-grow: 0;
12
+ }
13
+
14
+ .icon-btn.number-input__delete {
15
+ display: none;
16
+ margin-inline-end: calc(var(--spacing-100) * -1);
17
+ order: -1;
18
+ padding-inline-start: var(--spacing-200);
19
+ }
20
+
21
+ .number-input--show-delete .number-input__delete {
22
+ display: block;
23
+ }
24
+
25
+ .number-input--show-delete .number-input__decrement {
26
+ display: none;
27
+ }
28
+
29
+ .number-input .textbox .textbox__control {
30
+ font-weight: 700;
31
+ text-align: center;
32
+ width: 48px;
33
+ }
34
+ .number-input .textbox .textbox__control::-webkit-inner-spin-button,
35
+ .number-input .textbox .textbox__control::-webkit-outer-spin-button {
36
+ -webkit-appearance: none;
37
+ margin: 0;
38
+ }
39
+ .number-input .textbox .textbox__control[type="number"] {
40
+ -moz-appearance: textfield;
41
+ -webkit-appearance: textfield;
42
+ appearance: textfield;
43
+ }
44
+
45
+ .number-input .textbox .icon-btn:not(:disabled) svg {
46
+ color: var(--color-foreground-primary);
47
+ fill: currentColor;
48
+ }
@@ -64,6 +64,10 @@
64
64
  padding: 16px;
65
65
  }
66
66
 
67
+ .table--frozen-header {
68
+ max-height: 90vh;
69
+ }
70
+
67
71
  .table--frozen-header thead {
68
72
  position: sticky;
69
73
  top: 0;
@@ -166,12 +166,12 @@ input.textbox__control {
166
166
  display: inline-flex;
167
167
  height: 1lh;
168
168
  pointer-events: none;
169
- width: 14px;
170
169
  fill: var(--textbox-icon-color, var(--color-foreground-secondary));
171
170
  }
172
171
 
173
172
  .textbox > span:first-child,
174
173
  .textbox > svg:first-child {
174
+ flex-shrink: 0;
175
175
  margin-inline-start: var(--spacing-200);
176
176
  }
177
177
 
package/eslint.config.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import ebayConfig from 'eslint-config-ebay';
1
+ import ebayConfig from "eslint-config-ebay";
2
2
  import eslintConfigPrettier from "eslint-config-prettier";
3
3
 
4
4
  export default [
5
5
  {
6
- "plugins": {
6
+ plugins: {
7
7
  ebayConfig,
8
8
  eslintConfigPrettier,
9
9
  },
10
10
  languageOptions: {
11
11
  ecmaVersion: 2020,
12
12
  sourceType: "module",
13
- }
14
- }
13
+ },
14
+ },
15
15
  ];
@@ -0,0 +1 @@
1
+ { "dependencies": ["require: ./filter-input.js"] }
@@ -0,0 +1 @@
1
+ @import "./dist/filter-input/filter-input.css";
@@ -0,0 +1 @@
1
+ require('./dist/filter-input/filter-input.css');
@@ -0,0 +1 @@
1
+ import './dist/filter-input/filter-input.css';
@@ -27,6 +27,7 @@
27
27
  "require: ./file-preview-card.js",
28
28
  "require: ./file-preview-card-group.js",
29
29
  "require: ./filter-button.js",
30
+ "require: ./filter-input.js",
30
31
  "require: ./filter-menu.js",
31
32
  "require: ./filter-menu-button.js",
32
33
  "require: ./flag.js",
@@ -49,6 +50,7 @@
49
50
  "require: ./marketsans.js",
50
51
  "require: ./menu.js",
51
52
  "require: ./menu-button.js",
53
+ "require: ./number-input.js",
52
54
  "require: ./page-grid.js",
53
55
  "require: ./page-notice.js",
54
56
  "require: ./pagination.js",
package/index.css CHANGED
@@ -25,6 +25,7 @@
25
25
  @import "./file-preview-card.css";
26
26
  @import "./file-preview-card-group.css";
27
27
  @import "./filter-button.css";
28
+ @import "./filter-input.css";
28
29
  @import "./filter-menu.css";
29
30
  @import "./filter-menu-button.css";
30
31
  @import "./flag.css";
@@ -47,6 +48,7 @@
47
48
  @import "./marketsans.css";
48
49
  @import "./menu.css";
49
50
  @import "./menu-button.css";
51
+ @import "./number-input.css";
50
52
  @import "./page-grid.css";
51
53
  @import "./page-notice.css";
52
54
  @import "./pagination.css";
package/index.js CHANGED
@@ -25,6 +25,7 @@ require('./file-input.js');
25
25
  require('./file-preview-card.js');
26
26
  require('./file-preview-card-group.js');
27
27
  require('./filter-button.js');
28
+ require('./filter-input.js');
28
29
  require('./filter-menu.js');
29
30
  require('./filter-menu-button.js');
30
31
  require('./flag.js');
@@ -47,6 +48,7 @@ require('./listbox-button.js');
47
48
  require('./marketsans.js');
48
49
  require('./menu.js');
49
50
  require('./menu-button.js');
51
+ require('./number-input.js');
50
52
  require('./page-grid.js');
51
53
  require('./page-notice.js');
52
54
  require('./pagination.js');
package/index.mjs CHANGED
@@ -25,6 +25,7 @@ import './dist/file-input/file-input.css';
25
25
  import './dist/file-preview-card/file-preview-card.css';
26
26
  import './dist/file-preview-card-group/file-preview-card-group.css';
27
27
  import './dist/filter-button/filter-button.css';
28
+ import './dist/filter-input/filter-input.css';
28
29
  import './dist/filter-menu/filter-menu.css';
29
30
  import './dist/filter-menu-button/filter-menu-button.css';
30
31
  import './dist/flag/flag.css';
@@ -47,6 +48,7 @@ import './dist/listbox-button/listbox-button.css';
47
48
  import './dist/marketsans/marketsans.css';
48
49
  import './dist/menu/menu.css';
49
50
  import './dist/menu-button/menu-button.css';
51
+ import './dist/number-input/number-input.css';
50
52
  import './dist/page-grid/page-grid.css';
51
53
  import './dist/page-notice/page-notice.css';
52
54
  import './dist/pagination/pagination.css';
@@ -0,0 +1 @@
1
+ { "dependencies": ["require: ./number-input.js"] }
@@ -0,0 +1 @@
1
+ @import "./dist/number-input/number-input.css";
@@ -0,0 +1 @@
1
+ require('./dist/number-input/number-input.css');
@@ -0,0 +1 @@
1
+ import './dist/number-input/number-input.css';
package/package.json CHANGED
@@ -1,20 +1,29 @@
1
1
  {
2
2
  "name": "@ebay/skin",
3
+ "version": "19.5.0",
3
4
  "description": "Skin - CSS modules that represent the brand eBay",
4
- "version": "19.4.0",
5
- "license": "MIT",
6
- "main": "./index.js",
7
- "module": "./index.mjs",
8
- "maintainers": [
9
- "Ian McBurnie <ianmcburnie@hotmail.com>",
10
- "Andrew Gliga <agliga4@gmail.com>",
11
- "Arthur Khachatryan <arthurk55@gmail.com>"
5
+ "keywords": [
6
+ "eBay",
7
+ "CSS",
8
+ "BEM",
9
+ "LassoJS",
10
+ "accessibility",
11
+ "WAI-ARIA",
12
+ "eBay MIND Patterns"
12
13
  ],
13
14
  "homepage": "https://opensource.ebay.com/skin/",
14
15
  "repository": {
15
16
  "type": "git",
16
17
  "url": "https://github.com/ebay/evo-core"
17
18
  },
19
+ "license": "MIT",
20
+ "maintainers": [
21
+ "Ian McBurnie <ianmcburnie@hotmail.com>",
22
+ "Andrew Gliga <agliga4@gmail.com>",
23
+ "Arthur Khachatryan <arthurk55@gmail.com>"
24
+ ],
25
+ "main": "./index.js",
26
+ "module": "./index.mjs",
18
27
  "files": [
19
28
  "dist",
20
29
  "tokens",
@@ -22,71 +31,61 @@
22
31
  "!.prettierrc.json",
23
32
  "!webpack.config.js",
24
33
  "!postcss.config.js",
25
- "!vite.config.js",
26
- "!webpack.config.js"
34
+ "!vite.config.js"
27
35
  ],
28
- "devDependencies": {
29
- "@marko/run-adapter-static": "^1.0.2"
30
- },
31
36
  "scripts": {
32
- "preview": "marko-run preview",
33
- "start": "marko-run",
34
- "test": "npm run build",
35
- "deploy": "BASE_URL=/evo-web/skin/ marko-run build -o ./_site && npm run build:storybook && rimraf _site/public/archive && ncp docs/archive _site/public/archive && touch _site/public/.nojekyll",
36
- "deploy:only": "marko-run build -o ./_site && npm run build:storybook && rimraf _site/public/archive && ncp docs/archive _site/public/archive --dereference=true && touch _site/public/.nojekyll",
37
37
  "prebuild": "npm run clean",
38
- "prepublishOnly": "node scripts gen",
39
- "postpublish": "node scripts clean",
40
38
  "build": "npm run build:css && npm run lint:js && npm run copy && node scripts gen-build",
41
39
  "build:css": "npm run lint:sass && rimraf dist && npm run bundle && npm run postcss && node scripts/add-y-comments.js && prettier dist --write && npm run lint:css",
40
+ "build:snapshots": "npm run copy:assetsToStorybook && storybook build -o ./.storybook-percy",
42
41
  "build:storybook": "npm run copy:assetsToStorybook && storybook build -o ./_site/public/storybook",
43
- "clean": "rimraf _cdn _site .cache .tmp .jekyll npm-debug.log.* .DS_Store",
44
42
  "bundle": "sass src/sass:dist --no-source-map",
45
- "postcss": "postcss dist/**/*.css -r ",
46
- "lint": "npm run lint:sass && npm run lint:css && npm run lint:js",
47
- "lint:sass": "stylelint docs/src/sass src/sass --config .stylelintrc",
48
- "lint:css": "stylelint dist --config .stylelintrc",
49
- "lint:js": "eslint 'src/routes/main.js' > lint.log && eslint 'src/sass/**/stories/*.js' >> lint.log ",
50
- "format": "npx prettier --write .",
43
+ "clean": "rimraf _cdn _site .cache .tmp .jekyll npm-debug.log.* .DS_Store",
51
44
  "copy": "npm run copy:sassToDist && npm run copy:svgToDist && npm run copy:svgToDocs && npm run copy:tokensToDist && npm run copy:assetsToStorybook",
52
- "copy:sassToDist": "mkdirp dist/variables && ncp src/sass/variables dist/variables && mkdirp dist/mixins && ncp src/sass/mixins/public dist/mixins && ncp src/sass/gh dist/gh",
53
45
  "copy:assetsToStorybook": "node scripts storybook-copy",
46
+ "copy:sassToDist": "mkdirp dist/variables && ncp src/sass/variables dist/variables && mkdirp dist/mixins && ncp src/sass/mixins/public dist/mixins && ncp src/sass/gh dist/gh",
54
47
  "copy:svgToDist": "mkdirp dist/svg && ncp src/svg dist/svg",
55
48
  "copy:svgToDocs": "ncp src/svg src/routes/static && ncp src/svg/icons.svg src/components/master-icons.marko",
56
- "copy:tokensToDocs": "ncp src/tokens src/routes/static",
57
49
  "copy:tokensToDist": "ncp src/tokens dist/tokens",
58
- "verify": "node scripts verify",
59
- "version": "npm run build",
50
+ "copy:tokensToDocs": "ncp src/tokens src/routes/static",
51
+ "deploy": "BASE_URL=/evo-web/skin/ marko-run build -o ./_site && npm run build:storybook && rimraf _site/public/archive && ncp docs/archive _site/public/archive && touch _site/public/.nojekyll",
52
+ "deploy:only": "marko-run build -o ./_site && npm run build:storybook && rimraf _site/public/archive && ncp docs/archive _site/public/archive --dereference=true && touch _site/public/.nojekyll",
53
+ "format": "npx prettier --write .",
54
+ "lint": "npm run lint:sass && npm run lint:css && npm run lint:js",
55
+ "lint:css": "stylelint dist --config .stylelintrc",
56
+ "lint:js": "eslint 'src/routes/main.js' > lint.log && eslint 'src/sass/**/stories/*.js' >> lint.log ",
57
+ "lint:sass": "stylelint docs/src/sass src/sass --config .stylelintrc",
58
+ "postcss": "postcss dist/**/*.css -r ",
59
+ "prepublishOnly": "node scripts gen",
60
+ "preview": "marko-run preview",
61
+ "postpublish": "node scripts clean",
60
62
  "release": "npm run build",
61
- "build:snapshots": "npm run copy:assetsToStorybook && storybook build -o ./.storybook-percy",
62
63
  "snapshots": "npm run build:snapshots && npx gulp runSnapshots --stories $STORIES",
64
+ "snapshots:all": "npm run build:snapshots && percy storybook ./.storybook-percy --include '.*'",
65
+ "snapshots:all:dry": "npm run build:snapshots && percy storybook --dry-run ./.storybook-percy --include '.*'",
63
66
  "snapshots:dry": "npm run build:snapshots && npx gulp runSnapshots --dry yes --stories $STORIES",
64
67
  "snapshots:execute": "npm run build:snapshots && percy storybook ./.storybook-percy --include",
65
68
  "snapshots:execute:dry": "percy storybook ./.storybook-percy --dry-run --include",
66
- "snapshots:all": "npm run build:snapshots && percy storybook ./.storybook-percy --include '.*'",
67
- "snapshots:all:dry": "npm run build:snapshots && percy storybook --dry-run ./.storybook-percy --include '.*'",
68
- "storybook": "npm run copy:assetsToStorybook && storybook dev -c .storybook"
69
- },
70
- "keywords": [
71
- "eBay",
72
- "CSS",
73
- "BEM",
74
- "LassoJS",
75
- "accessibility",
76
- "WAI-ARIA",
77
- "eBay MIND Patterns"
78
- ],
79
- "publishConfig": {
80
- "registry": "https://registry.npmjs.org"
69
+ "start": "marko-run",
70
+ "storybook": "npm run copy:assetsToStorybook && storybook dev -c .storybook",
71
+ "test": "npm run build",
72
+ "verify": "node scripts verify",
73
+ "version": "npm run build"
81
74
  },
82
- "browserslist": [
83
- "extends @ebay/browserslist-config"
84
- ],
85
75
  "commitlint": {
86
76
  "extends": "@commitlint/config-conventional"
87
77
  },
88
78
  "lint-staged": {
89
79
  "*.{js,css,md,scss,json}": "prettier --write",
90
80
  "*.{css,scss}": "stylelint --config .stylelintrc"
81
+ },
82
+ "browserslist": [
83
+ "extends @ebay/browserslist-config"
84
+ ],
85
+ "devDependencies": {
86
+ "@marko/run-adapter-static": "^1.0.2"
87
+ },
88
+ "publishConfig": {
89
+ "registry": "https://registry.npmjs.org"
91
90
  }
92
91
  }