ember-sortable 2.2.5 → 3.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 (38) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +2 -2
  2. package/.github/workflows/github_ci.yml +15 -13
  3. package/.huskyrc +0 -1
  4. package/CHANGELOG.md +234 -104
  5. package/MIGRATION_GUIDE_MODIFIERS.md +20 -13
  6. package/MIGRATION_GUIDE_V2.md +20 -8
  7. package/README.md +83 -149
  8. package/V2_MIGRATION_RFC.md +188 -222
  9. package/addon/modifiers/sortable-group.js +59 -52
  10. package/addon/modifiers/sortable-handle.js +16 -18
  11. package/addon/modifiers/sortable-item.js +124 -84
  12. package/addon/services/ember-sortable.js +3 -6
  13. package/addon/system/scroll-parent.js +1 -1
  14. package/addon/utils/coordinate.js +1 -1
  15. package/addon/utils/css-calculation.js +2 -2
  16. package/addon/utils/defaults.js +4 -3
  17. package/addon/utils/keyboard.js +3 -12
  18. package/addon-test-support/helpers/drag.js +3 -11
  19. package/addon-test-support/helpers/index.js +1 -4
  20. package/addon-test-support/helpers/reorder.js +4 -6
  21. package/addon-test-support/utils/keyboard.js +3 -12
  22. package/addon-test-support/utils/offset.js +6 -6
  23. package/config/environment.js +2 -2
  24. package/index.js +0 -20
  25. package/package.json +32 -18
  26. package/addon/components/sortable-group.js +0 -726
  27. package/addon/components/sortable-handle.js +0 -11
  28. package/addon/components/sortable-item.js +0 -753
  29. package/addon/styles/components/sortable-group.css +0 -9
  30. package/addon/templates/components/sortable-group.hbs +0 -16
  31. package/addon/templates/components/sortable-handle.hbs +0 -1
  32. package/addon/templates/components/sortable-item.hbs +0 -2
  33. package/addon/utils/transitionend.js +0 -22
  34. package/app/components/sortable-group.js +0 -3
  35. package/app/components/sortable-handle.js +0 -4
  36. package/app/components/sortable-item.js +0 -3
  37. package/jsconfig.json +0 -1
  38. package/vendor/polyfills/closest.js +0 -21
@@ -26,16 +26,7 @@ function createKeyTest(key, keyCode) {
26
26
  export const isEnterKey = createKeyTest(ENTER_KEY, ENTER_KEY_CODE);
27
27
  export const isEscapeKey = createKeyTest(ESCAPE_KEY, ESCAPE_KEY_CODE);
28
28
  export const isSpaceKey = createKeyTest(SPACE_KEY, SPACE_KEY_CODE);
29
- export const isLeftArrowKey = createKeyTest(
30
- ARROW_KEYS.LEFT,
31
- ARROW_KEY_CODES.LEFT
32
- );
29
+ export const isLeftArrowKey = createKeyTest(ARROW_KEYS.LEFT, ARROW_KEY_CODES.LEFT);
33
30
  export const isUpArrowKey = createKeyTest(ARROW_KEYS.UP, ARROW_KEY_CODES.UP);
34
- export const isRightArrowKey = createKeyTest(
35
- ARROW_KEYS.RIGHT,
36
- ARROW_KEY_CODES.RIGHT
37
- );
38
- export const isDownArrowKey = createKeyTest(
39
- ARROW_KEYS.DOWN,
40
- ARROW_KEY_CODES.DOWN
41
- );
31
+ export const isRightArrowKey = createKeyTest(ARROW_KEYS.RIGHT, ARROW_KEY_CODES.RIGHT);
32
+ export const isDownArrowKey = createKeyTest(ARROW_KEYS.DOWN, ARROW_KEY_CODES.DOWN);
@@ -1,9 +1,9 @@
1
1
  /** Vanilla Javascript equivalent of JQuery's `.offset`.
2
- * Reference: https://github.com/nefe/You-Dont-Need-jQuery
3
- *
4
- * @method getOffset
5
- * @param {Element} el an element
6
- */
2
+ * Reference: https://github.com/nefe/You-Dont-Need-jQuery
3
+ *
4
+ * @method getOffset
5
+ * @param {Element} el an element
6
+ */
7
7
  export function getOffset(el) {
8
8
  const box = el.getBoundingClientRect();
9
9
 
@@ -11,4 +11,4 @@ export function getOffset(el) {
11
11
  top: box.top + window.pageYOffset - document.documentElement.clientTop,
12
12
  left: box.left + window.pageXOffset - document.documentElement.clientLeft,
13
13
  };
14
- }
14
+ }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- module.exports = function(environment) {
3
+ module.exports = function (environment) {
4
4
  const ENV = {
5
5
  environment,
6
6
 
@@ -20,7 +20,7 @@ module.exports = function(environment) {
20
20
  },
21
21
  },
22
22
  },
23
- }
23
+ };
24
24
 
25
25
  return ENV;
26
26
  };
package/index.js CHANGED
@@ -1,25 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const fs = require('fs');
4
- const VersionChecker = require('ember-cli-version-checker');
5
-
6
3
  module.exports = {
7
4
  name: require('./package').name,
8
-
9
- included(app) {
10
- this._super.included.apply(this, arguments);
11
-
12
- // Sometimes, consuming app production build can't find the vendor, so it'll break the build with a sourceMapConcat error.
13
- // So guarding this with a if polyfill exists.
14
- if (fs.existsSync('vendor/polyfills/closest.js')) {
15
- app.import('vendor/polyfills/closest.js', { prepend: true});
16
- }
17
-
18
- var checker = new VersionChecker(this);
19
- var emberVersion = checker.for('ember-source');
20
-
21
- if (emberVersion.lt('3.10.0')) {
22
- this.ui.writeWarnLine('ember-sortable requires the ember-decorator-polyfill. Please add it to your `package.json`.');
23
- }
24
- }
25
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-sortable",
3
- "version": "2.2.5",
3
+ "version": "3.0.0",
4
4
  "description": "Sortable UI primitives for Ember.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -24,9 +24,9 @@
24
24
  "release": "release-it"
25
25
  },
26
26
  "dependencies": {
27
- "@ember/render-modifiers": "^1.0.2",
27
+ "@ember/render-modifiers": "^1.0.2 || ^2.0.0",
28
28
  "@ember/test-waiters": "^2.4.4",
29
- "ember-cli-babel": "^7.11.1",
29
+ "ember-cli-babel": "^7.26.6",
30
30
  "ember-cli-htmlbars": "^5.0.0",
31
31
  "ember-cli-version-checker": "^5.1.2",
32
32
  "ember-get-config": "^0.3.0",
@@ -34,37 +34,51 @@
34
34
  "ember-test-selectors": "^5.0.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@ember/optional-features": "^0.6.3",
37
+ "@ember/optional-features": "^2.0.0",
38
+ "@ember/test-helpers": "^2.4.2",
39
+ "@embroider/test-setup": "^0.43.5",
40
+ "@glimmer/component": "^1.0.4",
41
+ "@glimmer/tracking": "^1.0.4",
38
42
  "babel-eslint": "^10.0.3",
39
43
  "broccoli-asset-rev": "^2.7.0",
40
- "ember-a11y-testing": "^1.1.1",
41
- "ember-cli": "^3.13.1",
44
+ "ember-a11y-testing": "^4.3.0",
45
+ "ember-cli": "^3.28.0",
42
46
  "ember-cli-dependency-checker": "^3.0.0",
43
47
  "ember-cli-eslint": "^4.2.3",
44
48
  "ember-cli-inject-live-reload": "^1.8.2",
45
49
  "ember-cli-sri": "^2.1.1",
46
- "ember-cli-template-lint": "^1.0.0-beta.1",
47
- "ember-cli-uglify": "^2.1.0",
50
+ "ember-cli-terser": "^4.0.2",
48
51
  "ember-disable-prototype-extensions": "^1.1.3",
49
52
  "ember-export-application-global": "^2.0.0",
50
- "ember-load-initializers": "^1.1.0",
53
+ "ember-load-initializers": "^2.1.2",
51
54
  "ember-maybe-import-regenerator": "^0.1.6",
52
- "ember-qunit": "^4.4.1",
53
- "ember-resolver": "^5.0.1",
54
- "ember-source": "^3.14.1",
55
- "ember-source-channel-url": "^1.1.0",
56
- "ember-try": "^1.0.0",
57
- "eslint-plugin-ember": "^5.2.0",
58
- "eslint-plugin-node": "^7.0.1",
55
+ "ember-qunit": "^5.1.4",
56
+ "ember-resolver": "^8.0.3",
57
+ "ember-source": "^3.28.0",
58
+ "ember-source-channel-url": "^3.0.0",
59
+ "ember-template-lint": "^3.6.0",
60
+ "ember-try": "^1.4.0",
61
+ "eslint": "^7.32.0",
62
+ "eslint-config-prettier": "^8.3.0",
63
+ "eslint-plugin-ember": "~9.6.0",
64
+ "eslint-plugin-node": "^11.1.0",
65
+ "eslint-plugin-prettier": "^3.4.1",
66
+ "eslint-plugin-qunit": "^6.2.0",
59
67
  "husky": "^3.0.8",
60
68
  "lerna-changelog": "^0.8.2",
61
69
  "loader.js": "^4.7.0",
62
- "qunit-dom": "^0.8.5",
70
+ "npm-run-all": "^4.1.5",
71
+ "prettier": "^2.3.2",
72
+ "qunit": "^2.16.0",
73
+ "qunit-dom": "^1.6.0",
63
74
  "release-it": "^12.4.3",
64
75
  "release-it-lerna-changelog": "^1.0.3"
65
76
  },
66
77
  "engines": {
67
- "node": "6.* || 8.* || >= 10.*"
78
+ "node": "12.* || 14.* || >= 16"
79
+ },
80
+ "ember": {
81
+ "edition": "octane"
68
82
  },
69
83
  "ember-addon": {
70
84
  "configPath": "tests/dummy/config",