ember-sortable 4.0.2 → 5.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 (60) hide show
  1. package/README.md +13 -7
  2. package/addon-main.js +2 -0
  3. package/dist/_app_/modifiers/sortable-group.js +1 -0
  4. package/dist/_app_/modifiers/sortable-handle.js +1 -0
  5. package/dist/_app_/modifiers/sortable-item.js +1 -0
  6. package/dist/_app_/services/ember-sortable-internal-state.js +1 -0
  7. package/dist/_rollupPluginBabelHelpers-7ae2993d.js +63 -0
  8. package/dist/_rollupPluginBabelHelpers-7ae2993d.js.map +1 -0
  9. package/{addon → dist}/modifiers/sortable-group.js +41 -104
  10. package/dist/modifiers/sortable-group.js.map +1 -0
  11. package/{addon → dist}/modifiers/sortable-handle.js +9 -3
  12. package/dist/modifiers/sortable-handle.js.map +1 -0
  13. package/{addon → dist}/modifiers/sortable-item.js +72 -149
  14. package/dist/modifiers/sortable-item.js.map +1 -0
  15. package/{addon/services/ember-sortable.js → dist/services/ember-sortable-internal-state.js} +11 -21
  16. package/dist/services/ember-sortable-internal-state.js.map +1 -0
  17. package/{addon → dist}/system/scroll-container.js +8 -7
  18. package/dist/system/scroll-container.js.map +1 -0
  19. package/{addon → dist}/system/scroll-parent.js +9 -7
  20. package/dist/system/scroll-parent.js.map +1 -0
  21. package/{addon-test-support → dist/test-support}/helpers/drag.js +13 -21
  22. package/dist/test-support/helpers/drag.js.map +1 -0
  23. package/{addon-test-support → dist/test-support}/helpers/reorder.js +11 -6
  24. package/dist/test-support/helpers/reorder.js.map +1 -0
  25. package/dist/test-support/index.js +5 -0
  26. package/dist/test-support/index.js.map +1 -0
  27. package/dist/test-support/utils/keyboard.js +33 -0
  28. package/dist/test-support/utils/keyboard.js.map +1 -0
  29. package/{addon-test-support → dist/test-support}/utils/offset.js +5 -3
  30. package/dist/test-support/utils/offset.js.map +1 -0
  31. package/dist/utils/constant.js +12 -0
  32. package/dist/utils/constant.js.map +1 -0
  33. package/{addon → dist}/utils/coordinate.js +5 -4
  34. package/dist/utils/coordinate.js.map +1 -0
  35. package/{addon → dist}/utils/css-calculation.js +5 -3
  36. package/dist/utils/css-calculation.js.map +1 -0
  37. package/{addon → dist}/utils/defaults.js +24 -12
  38. package/dist/utils/defaults.js.map +1 -0
  39. package/dist/utils/keyboard.js +33 -0
  40. package/dist/utils/keyboard.js.map +1 -0
  41. package/package.json +56 -60
  42. package/.huskyrc +0 -5
  43. package/CHANGELOG.md +0 -734
  44. package/CODE_OF_CONDUCT.md +0 -6
  45. package/MIGRATION_GUIDE_MODIFIERS.md +0 -95
  46. package/MIGRATION_GUIDE_V2.md +0 -120
  47. package/Makefile +0 -24
  48. package/RELEASE.md +0 -60
  49. package/V2_MIGRATION_RFC.md +0 -1100
  50. package/addon/utils/constant.js +0 -9
  51. package/addon/utils/keyboard.js +0 -32
  52. package/addon-test-support/helpers/index.js +0 -4
  53. package/addon-test-support/utils/keyboard.js +0 -32
  54. package/app/modifiers/sortable-group.js +0 -1
  55. package/app/modifiers/sortable-handle.js +0 -1
  56. package/app/modifiers/sortable-item.js +0 -1
  57. package/app/services/ember-sortable-internal-state.js +0 -1
  58. package/config/environment.js +0 -26
  59. package/demo.gif +0 -0
  60. package/index.js +0 -5
@@ -1,26 +1,38 @@
1
- export const defaultA11yAnnouncementConfig = {
2
- ACTIVATE({ a11yItemName, index, maxLength, direction }) {
1
+ const defaultA11yAnnouncementConfig = {
2
+ ACTIVATE({
3
+ a11yItemName,
4
+ index,
5
+ maxLength,
6
+ direction
7
+ }) {
3
8
  let message = `${a11yItemName} at position, ${index + 1} of ${maxLength}, is activated to be repositioned.`;
4
-
5
9
  if (direction === 'y') {
6
10
  message += 'Press up and down keys to change position,';
7
11
  } else {
8
12
  message += 'Press left and right keys to change position,';
9
13
  }
10
-
11
14
  message += ' Space to confirm new position, Escape to cancel.';
12
-
13
15
  return message;
14
16
  },
15
- MOVE({ a11yItemName, index, maxLength, delta }) {
16
- return `${a11yItemName} is moved to position, ${
17
- index + 1 + delta
18
- } of ${maxLength}. Press Space to confirm new position, Escape to cancel.`;
17
+ MOVE({
18
+ a11yItemName,
19
+ index,
20
+ maxLength,
21
+ delta
22
+ }) {
23
+ return `${a11yItemName} is moved to position, ${index + 1 + delta} of ${maxLength}. Press Space to confirm new position, Escape to cancel.`;
19
24
  },
20
- CONFIRM({ a11yItemName }) {
25
+ CONFIRM({
26
+ a11yItemName
27
+ }) {
21
28
  return `${a11yItemName} is successfully repositioned.`;
22
29
  },
23
- CANCEL({ a11yItemName }) {
30
+ CANCEL({
31
+ a11yItemName
32
+ }) {
24
33
  return `Cancelling ${a11yItemName} repositioning`;
25
- },
34
+ }
26
35
  };
36
+
37
+ export { defaultA11yAnnouncementConfig };
38
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sources":["../../src/utils/defaults.js"],"sourcesContent":["export const defaultA11yAnnouncementConfig = {\n ACTIVATE({ a11yItemName, index, maxLength, direction }) {\n let message = `${a11yItemName} at position, ${index + 1} of ${maxLength}, is activated to be repositioned.`;\n\n if (direction === 'y') {\n message += 'Press up and down keys to change position,';\n } else {\n message += 'Press left and right keys to change position,';\n }\n\n message += ' Space to confirm new position, Escape to cancel.';\n\n return message;\n },\n MOVE({ a11yItemName, index, maxLength, delta }) {\n return `${a11yItemName} is moved to position, ${\n index + 1 + delta\n } of ${maxLength}. Press Space to confirm new position, Escape to cancel.`;\n },\n CONFIRM({ a11yItemName }) {\n return `${a11yItemName} is successfully repositioned.`;\n },\n CANCEL({ a11yItemName }) {\n return `Cancelling ${a11yItemName} repositioning`;\n },\n};\n"],"names":["defaultA11yAnnouncementConfig","ACTIVATE","a11yItemName","index","maxLength","direction","message","MOVE","delta","CONFIRM","CANCEL"],"mappings":"AAAO,MAAMA,6BAA6B,GAAG;AAC3CC,EAAAA,QAAQ,CAAC;IAAEC,YAAY;IAAEC,KAAK;IAAEC,SAAS;AAAEC,IAAAA,SAAAA;AAAU,GAAC,EAAE;IACtD,IAAIC,OAAO,GAAI,CAAA,EAAEJ,YAAa,CAAA,cAAA,EAAgBC,KAAK,GAAG,CAAE,CAAMC,IAAAA,EAAAA,SAAU,CAAmC,kCAAA,CAAA,CAAA;IAE3G,IAAIC,SAAS,KAAK,GAAG,EAAE;AACrBC,MAAAA,OAAO,IAAI,4CAA4C,CAAA;AACzD,KAAC,MAAM;AACLA,MAAAA,OAAO,IAAI,+CAA+C,CAAA;AAC5D,KAAA;AAEAA,IAAAA,OAAO,IAAI,mDAAmD,CAAA;AAE9D,IAAA,OAAOA,OAAO,CAAA;GACf;AACDC,EAAAA,IAAI,CAAC;IAAEL,YAAY;IAAEC,KAAK;IAAEC,SAAS;AAAEI,IAAAA,KAAAA;AAAM,GAAC,EAAE;IAC9C,OAAQ,CAAA,EAAEN,YAAa,CAAA,uBAAA,EACrBC,KAAK,GAAG,CAAC,GAAGK,KACb,CAAMJ,IAAAA,EAAAA,SAAU,CAAyD,wDAAA,CAAA,CAAA;GAC3E;AACDK,EAAAA,OAAO,CAAC;AAAEP,IAAAA,YAAAA;AAAa,GAAC,EAAE;IACxB,OAAQ,CAAA,EAAEA,YAAa,CAA+B,8BAAA,CAAA,CAAA;GACvD;AACDQ,EAAAA,MAAM,CAAC;AAAER,IAAAA,YAAAA;AAAa,GAAC,EAAE;IACvB,OAAQ,CAAA,WAAA,EAAaA,YAAa,CAAe,cAAA,CAAA,CAAA;AACnD,GAAA;AACF;;;;"}
@@ -0,0 +1,33 @@
1
+ const ENTER_KEY = 'Enter';
2
+ const ESCAPE_KEY = 'Escape';
3
+ const SPACE_KEY = 'Space';
4
+ const ARROW_KEYS = {
5
+ LEFT: 'ArrowLeft',
6
+ UP: 'ArrowUp',
7
+ RIGHT: 'ArrowRight',
8
+ DOWN: 'ArrowDown'
9
+ };
10
+ const ENTER_KEY_CODE = 13;
11
+ const ESCAPE_KEY_CODE = 27;
12
+ const SPACE_KEY_CODE = 32;
13
+ const ARROW_KEY_CODES = {
14
+ LEFT: 37,
15
+ UP: 38,
16
+ RIGHT: 39,
17
+ DOWN: 40
18
+ };
19
+ function createKeyTest(key, keyCode) {
20
+ return function isKey(event) {
21
+ return event.key === key || event.keyCode === keyCode;
22
+ };
23
+ }
24
+ const isEnterKey = createKeyTest(ENTER_KEY, ENTER_KEY_CODE);
25
+ const isEscapeKey = createKeyTest(ESCAPE_KEY, ESCAPE_KEY_CODE);
26
+ const isSpaceKey = createKeyTest(SPACE_KEY, SPACE_KEY_CODE);
27
+ const isLeftArrowKey = createKeyTest(ARROW_KEYS.LEFT, ARROW_KEY_CODES.LEFT);
28
+ const isUpArrowKey = createKeyTest(ARROW_KEYS.UP, ARROW_KEY_CODES.UP);
29
+ const isRightArrowKey = createKeyTest(ARROW_KEYS.RIGHT, ARROW_KEY_CODES.RIGHT);
30
+ const isDownArrowKey = createKeyTest(ARROW_KEYS.DOWN, ARROW_KEY_CODES.DOWN);
31
+
32
+ export { ARROW_KEY_CODES, ENTER_KEY_CODE, ESCAPE_KEY_CODE, SPACE_KEY_CODE, isDownArrowKey, isEnterKey, isEscapeKey, isLeftArrowKey, isRightArrowKey, isSpaceKey, isUpArrowKey };
33
+ //# sourceMappingURL=keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.js","sources":["../../src/utils/keyboard.js"],"sourcesContent":["const ENTER_KEY = 'Enter';\nconst ESCAPE_KEY = 'Escape';\nconst SPACE_KEY = 'Space';\nconst ARROW_KEYS = {\n LEFT: 'ArrowLeft',\n UP: 'ArrowUp',\n RIGHT: 'ArrowRight',\n DOWN: 'ArrowDown',\n};\nexport const ENTER_KEY_CODE = 13;\nexport const ESCAPE_KEY_CODE = 27;\nexport const SPACE_KEY_CODE = 32;\nexport const ARROW_KEY_CODES = {\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n};\n\nfunction createKeyTest(key, keyCode) {\n return function isKey(event) {\n return event.key === key || event.keyCode === keyCode;\n };\n}\n\nexport const isEnterKey = createKeyTest(ENTER_KEY, ENTER_KEY_CODE);\nexport const isEscapeKey = createKeyTest(ESCAPE_KEY, ESCAPE_KEY_CODE);\nexport const isSpaceKey = createKeyTest(SPACE_KEY, SPACE_KEY_CODE);\nexport const isLeftArrowKey = createKeyTest(ARROW_KEYS.LEFT, ARROW_KEY_CODES.LEFT);\nexport const isUpArrowKey = createKeyTest(ARROW_KEYS.UP, ARROW_KEY_CODES.UP);\nexport const isRightArrowKey = createKeyTest(ARROW_KEYS.RIGHT, ARROW_KEY_CODES.RIGHT);\nexport const isDownArrowKey = createKeyTest(ARROW_KEYS.DOWN, ARROW_KEY_CODES.DOWN);\n"],"names":["ENTER_KEY","ESCAPE_KEY","SPACE_KEY","ARROW_KEYS","LEFT","UP","RIGHT","DOWN","ENTER_KEY_CODE","ESCAPE_KEY_CODE","SPACE_KEY_CODE","ARROW_KEY_CODES","createKeyTest","key","keyCode","isKey","event","isEnterKey","isEscapeKey","isSpaceKey","isLeftArrowKey","isUpArrowKey","isRightArrowKey","isDownArrowKey"],"mappings":"AAAA,MAAMA,SAAS,GAAG,OAAO,CAAA;AACzB,MAAMC,UAAU,GAAG,QAAQ,CAAA;AAC3B,MAAMC,SAAS,GAAG,OAAO,CAAA;AACzB,MAAMC,UAAU,GAAG;AACjBC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,KAAK,EAAE,YAAY;AACnBC,EAAAA,IAAI,EAAE,WAAA;AACR,CAAC,CAAA;AACM,MAAMC,cAAc,GAAG,GAAE;AACzB,MAAMC,eAAe,GAAG,GAAE;AAC1B,MAAMC,cAAc,GAAG,GAAE;AACzB,MAAMC,eAAe,GAAG;AAC7BP,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,IAAI,EAAE,EAAA;AACR,EAAC;AAED,SAASK,aAAa,CAACC,GAAG,EAAEC,OAAO,EAAE;AACnC,EAAA,OAAO,SAASC,KAAK,CAACC,KAAK,EAAE;IAC3B,OAAOA,KAAK,CAACH,GAAG,KAAKA,GAAG,IAAIG,KAAK,CAACF,OAAO,KAAKA,OAAO,CAAA;GACtD,CAAA;AACH,CAAA;AAEO,MAAMG,UAAU,GAAGL,aAAa,CAACZ,SAAS,EAAEQ,cAAc,EAAC;AAC3D,MAAMU,WAAW,GAAGN,aAAa,CAACX,UAAU,EAAEQ,eAAe,EAAC;AAC9D,MAAMU,UAAU,GAAGP,aAAa,CAACV,SAAS,EAAEQ,cAAc,EAAC;AACrDU,MAAAA,cAAc,GAAGR,aAAa,CAACT,UAAU,CAACC,IAAI,EAAEO,eAAe,CAACP,IAAI,EAAC;AACrEiB,MAAAA,YAAY,GAAGT,aAAa,CAACT,UAAU,CAACE,EAAE,EAAEM,eAAe,CAACN,EAAE,EAAC;AAC/DiB,MAAAA,eAAe,GAAGV,aAAa,CAACT,UAAU,CAACG,KAAK,EAAEK,eAAe,CAACL,KAAK,EAAC;AACxEiB,MAAAA,cAAc,GAAGX,aAAa,CAACT,UAAU,CAACI,IAAI,EAAEI,eAAe,CAACJ,IAAI;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-sortable",
3
- "version": "4.0.2",
3
+ "version": "5.0.0",
4
4
  "description": "Sortable UI primitives for Ember.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -13,83 +13,62 @@
13
13
  "doc": "doc",
14
14
  "test": "tests"
15
15
  },
16
+ "exports": {
17
+ ".": "./dist/index.js",
18
+ "./modifiers/*": "./dist/modifiers/*",
19
+ "./services/*": "./dist/services/*",
20
+ "./test-support": "./dist/test-support/index.js",
21
+ "./addon-main.js": "./addon-main.js"
22
+ },
23
+ "files": [
24
+ "addon-main.js",
25
+ "dist"
26
+ ],
16
27
  "scripts": {
17
- "build": "ember build",
18
- "lint:hbs": "ember-template-lint .",
19
- "lint:js": "eslint .",
20
- "start": "ember serve",
21
- "test:ember": "ember test",
22
- "test:all": "ember try:each",
23
- "lint": "yarn lint:hbs && yarn lint:js",
24
- "release": "release-it"
28
+ "release": "release-it",
29
+ "build": "rollup --config",
30
+ "prepublishOnly": "rollup --config",
31
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
32
+ "lint:js": "eslint . --cache",
33
+ "lint:js:fix": "eslint . --fix",
34
+ "start": "rollup --config --watch",
35
+ "test": "echo 'Addon does not have tests, run tests in test-app'"
25
36
  },
26
- "dependencies": {
27
- "@ember/render-modifiers": "^1.0.2 || ^2.0.0",
37
+ "peerDependencies": {
38
+ "ember-modifier": "^3.2.0 || ^4.0.0",
39
+ "@ember/test-helpers": "^2.6.0",
28
40
  "@ember/test-waiters": "^3.0.1",
29
- "ember-cli-babel": "^7.26.11",
30
- "ember-cli-htmlbars": "^6.0.1",
31
- "ember-cli-version-checker": "^5.1.2",
32
- "ember-get-config": "^2.0.0",
33
- "ember-modifier": "^3.2.0",
34
- "ember-test-selectors": "^6.0.0"
41
+ "ember-source": "^3.28.0 || ^4.0.0"
42
+ },
43
+ "dependencies": {
44
+ "@embroider/addon-shim": "^1.8.4"
35
45
  },
36
46
  "devDependencies": {
37
- "@ember/optional-features": "^2.0.0",
38
- "@ember/test-helpers": "^2.6.0",
39
- "@embroider/test-setup": "^1.2.0",
40
- "@glimmer/component": "^1.0.4",
41
- "@glimmer/tracking": "^1.0.4",
47
+ "@babel/core": "^7.20.12",
48
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
49
+ "@babel/plugin-proposal-decorators": "^7.20.7",
50
+ "@embroider/addon-dev": "^3.0.0",
51
+ "@release-it-plugins/lerna-changelog": "^5.0.0",
52
+ "@rollup/plugin-babel": "^6.0.3",
42
53
  "babel-eslint": "^10.0.3",
43
- "broccoli-asset-rev": "^3.0.0",
44
- "ember-a11y-testing": "^5.0.0",
45
- "ember-auto-import": "^2.4.0",
46
- "ember-cli": "^4.2.0",
47
- "ember-cli-dependency-checker": "^3.0.0",
48
- "ember-cli-inject-live-reload": "^2.0.0",
49
- "ember-cli-sri": "^2.1.1",
50
- "ember-cli-terser": "^4.0.2",
51
- "ember-disable-prototype-extensions": "^1.1.3",
52
- "ember-export-application-global": "^2.0.0",
53
- "ember-load-initializers": "^2.1.2",
54
- "ember-qunit": "mydea/ember-qunit#fn/ember-auto-import-v2-node-12",
55
- "ember-resolver": "^8.0.3",
56
- "ember-source": "^4.2.0",
57
- "ember-source-channel-url": "^3.0.0",
58
- "ember-template-lint": "^4.2.0",
59
- "ember-try": "^2.0.0",
60
54
  "eslint": "^7.32.0",
61
55
  "eslint-config-prettier": "^8.4.0",
62
56
  "eslint-plugin-ember": "^10.5.9",
63
57
  "eslint-plugin-node": "^11.1.0",
64
58
  "eslint-plugin-prettier": "^4.0.0",
65
59
  "eslint-plugin-qunit": "^7.2.0",
66
- "husky": "^3.0.8",
67
- "lerna-changelog": "^0.8.2",
68
- "loader.js": "^4.7.0",
69
60
  "npm-run-all": "^4.1.5",
70
61
  "prettier": "^2.5.1",
71
- "qunit": "^2.18.0",
72
- "qunit-dom": "^2.0.0",
73
- "release-it": "^14.11.8",
74
- "release-it-lerna-changelog": "^4.0.1",
75
- "webpack": "^5.69.1"
62
+ "release-it": "^15.6.0",
63
+ "rollup": "^3.10.0",
64
+ "rollup-plugin-copy": "^3.4.0"
76
65
  },
77
66
  "engines": {
78
67
  "node": "14.* || >= 16"
79
68
  },
80
- "publishConfig": {
81
- "registry": "https://registry.npmjs.org"
82
- },
83
- "ember": {
84
- "edition": "octane"
85
- },
86
- "ember-addon": {
87
- "configPath": "tests/dummy/config",
88
- "demoURL": "https://adopted-ember-addons.github.io/ember-sortable/demo/"
89
- },
90
69
  "release-it": {
91
70
  "plugins": {
92
- "release-it-lerna-changelog": {
71
+ "@release-it-plugins/lerna-changelog": {
93
72
  "infile": "CHANGELOG.md",
94
73
  "launchEditor": false
95
74
  }
@@ -102,8 +81,25 @@
102
81
  "tokenRef": "GITHUB_AUTH"
103
82
  }
104
83
  },
84
+ "publishConfig": {
85
+ "registry": "https://registry.npmjs.org"
86
+ },
87
+ "ember": {
88
+ "edition": "octane"
89
+ },
90
+ "ember-addon": {
91
+ "main": "addon-main.js",
92
+ "type": "addon",
93
+ "version": 2,
94
+ "demoURL": "https://adopted-ember-addons.github.io/ember-sortable/demo/",
95
+ "app-js": {
96
+ "./modifiers/sortable-group.js": "./dist/_app_/modifiers/sortable-group.js",
97
+ "./modifiers/sortable-handle.js": "./dist/_app_/modifiers/sortable-handle.js",
98
+ "./modifiers/sortable-item.js": "./dist/_app_/modifiers/sortable-item.js",
99
+ "./services/ember-sortable-internal-state.js": "./dist/_app_/services/ember-sortable-internal-state.js"
100
+ }
101
+ },
105
102
  "volta": {
106
- "node": "14.19.2",
107
- "yarn": "1.22.18"
103
+ "extends": "../package.json"
108
104
  }
109
105
  }
package/.huskyrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "hooks": {
3
- "pre-commit": "yarn lint",
4
- }
5
- }