@pie-element/placement-ordering 14.3.2-beta.3 → 14.3.2
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.
- package/CHANGELOG.md +60 -31
- package/configure/CHANGELOG.md +48 -30
- package/configure/package.json +5 -5
- package/controller/CHANGELOG.md +6 -42
- package/controller/package.json +1 -1
- package/lib/keyboard-coordinates.js +124 -0
- package/lib/keyboard-coordinates.js.map +1 -0
- package/lib/placement-ordering.js +138 -8
- package/lib/placement-ordering.js.map +1 -1
- package/lib/tile.js +93 -22
- package/lib/tile.js.map +1 -1
- package/lib/tiler.js +7 -1
- package/lib/tiler.js.map +1 -1
- package/package.json +6 -5
- package/configure/lib/__tests__/choice-editor.test.js +0 -376
- package/configure/lib/__tests__/choice-tile.test.js +0 -283
- package/configure/lib/__tests__/design.test.js +0 -268
- package/configure/lib/__tests__/help.test.js +0 -64
- package/configure/lib/__tests__/index.test.js +0 -77
- package/configure/lib/__tests__/utils.test.js +0 -493
- package/controller/lib/__tests__/index.test.js +0 -401
- package/controller/lib/__tests__/scoring.test.js +0 -165
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/index-test.js +0 -90
- package/lib/__tests__/ordering.test.js +0 -133
- package/lib/__tests__/placement-ordering.test.js +0 -445
package/CHANGELOG.md
CHANGED
|
@@ -3,68 +3,97 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [14.3.2
|
|
6
|
+
## [14.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.3.1...@pie-element/placement-ordering@14.3.2) (2026-09-04)
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## [14.3.2-beta.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.4.0-beta.7...@pie-element/placement-ordering@14.3.2-beta.2) (2026-08-26)
|
|
8
|
+
### Bug Fixes
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
- bump libs PIE-978, PIE-980 ([96489ba](https://github.com/pie-framework/pie-elements/commit/96489ba3c220604f21c3ce4500d79f4389266e9e))
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
## [14.3.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.3.0...@pie-element/placement-ordering@14.3.1) (2026-08-26)
|
|
15
13
|
|
|
16
14
|
**Note:** Version bump only for package @pie-element/placement-ordering
|
|
17
15
|
|
|
18
|
-
# [14.
|
|
16
|
+
# [14.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.2.1...@pie-element/placement-ordering@14.3.0) (2026-08-21)
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
### Bug Fixes
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
- move [@pie-lib](https://github.com/pie-lib) deps back to latest, off next prereleases PIE-927 ([a53e012](https://github.com/pie-framework/pie-elements/commit/a53e0127eb4ac95ece54e1e2bd669ae4974f4251))
|
|
21
|
+
- **theming:** move the grey palette reads onto --pie-\* tokens PIE-856 ([d7d005b](https://github.com/pie-framework/pie-elements/commit/d7d005bf081843335b4b0377852f2ecd075cb62d)), closes [#000000](https://github.com/pie-framework/pie-elements/issues/000000) [#E0E1E6](https://github.com/pie-framework/pie-elements/issues/E0E1E6) [#646464](https://github.com/pie-framework/pie-elements/issues/646464) [#616161](https://github.com/pie-framework/pie-elements/issues/616161) [#E0E1E6](https://github.com/pie-framework/pie-elements/issues/E0E1E6) [#C0C3](https://github.com/pie-framework/pie-elements/issues/C0C3)
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
### Features
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
- bump libs PIE-856, PIE-681, PIE-927 ([cb26d7a](https://github.com/pie-framework/pie-elements/commit/cb26d7afa6c99522533c321d5ff8ce3148a66e9e))
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
## [14.2.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.2.0...@pie-element/placement-ordering@14.2.1) (2026-08-19)
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
### Bug Fixes
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
- bump libs and shared modules PIE-681, PIE-708 ([08af8b5](https://github.com/pie-framework/pie-elements/commit/08af8b5802aecc8ee5454a1b6d60277d7ec94204))
|
|
33
32
|
|
|
34
|
-
# [14.
|
|
33
|
+
# [14.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.8...@pie-element/placement-ordering@14.2.0) (2026-08-13)
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
### Bug Fixes
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
- **match-list/placement-ordering:** scroll the interactive region horizontally when it does not fit PIE-766 & PIE-768 ([f0395a9](https://github.com/pie-framework/pie-elements/commit/f0395a91b16a803c5609d5ece6d3f87208dee1b2))
|
|
39
38
|
|
|
40
|
-
|
|
39
|
+
### Features
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
- **placement-ordering:** add Tab/Shift+Tab keyboard accessibility support PIE-767 ([6199e0e](https://github.com/pie-framework/pie-elements/commit/6199e0ef2689304d33d2fe576f4ab3f2788703b5))
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
## [14.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.7...@pie-element/placement-ordering@14.1.9) (2026-08-11)
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
### Bug Fixes
|
|
47
46
|
|
|
48
|
-
**
|
|
47
|
+
- **placement-ordering:** adjust choice grid row height and center choices PIE-787 ([ad3e41e](https://github.com/pie-framework/pie-elements/commit/ad3e41e606a1e80b2c6ba2c37e18367cbb9ccda1))
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
## [14.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.7...@pie-element/placement-ordering@14.1.8) (2026-07-31)
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
### Bug Fixes
|
|
52
|
+
|
|
53
|
+
- **placement-ordering:** adjust choice grid row height and center choices PIE-787 ([ad3e41e](https://github.com/pie-framework/pie-elements/commit/ad3e41e606a1e80b2c6ba2c37e18367cbb9ccda1))
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
## [14.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.6...@pie-element/placement-ordering@14.1.7) (2026-07-08)
|
|
55
56
|
|
|
56
57
|
### Bug Fixes
|
|
57
58
|
|
|
58
59
|
- bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
|
|
61
|
+
## [14.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.5...@pie-element/placement-ordering@14.1.6) (2026-07-02)
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
62
65
|
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
63
|
-
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
64
|
-
- handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
|
|
65
|
-
- **placement-ordering:** adjust choice grid row height and center choices PIE-787 ([ad3e41e](https://github.com/pie-framework/pie-elements/commit/ad3e41e606a1e80b2c6ba2c37e18367cbb9ccda1))
|
|
66
66
|
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
67
67
|
|
|
68
|
+
## [14.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.4...@pie-element/placement-ordering@14.1.5) (2026-06-22)
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
73
|
+
- handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
|
|
74
|
+
|
|
75
|
+
## [14.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.3...@pie-element/placement-ordering@14.1.4) (2026-06-17)
|
|
76
|
+
|
|
77
|
+
### Bug Fixes
|
|
78
|
+
|
|
79
|
+
- bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
|
|
80
|
+
|
|
81
|
+
## [14.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.2...@pie-element/placement-ordering@14.1.3) (2026-06-12)
|
|
82
|
+
|
|
83
|
+
### Bug Fixes
|
|
84
|
+
|
|
85
|
+
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
86
|
+
|
|
87
|
+
## [14.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.1...@pie-element/placement-ordering@14.1.2) (2026-06-04)
|
|
88
|
+
|
|
89
|
+
### Bug Fixes
|
|
90
|
+
|
|
91
|
+
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
92
|
+
|
|
93
|
+
## [14.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.0...@pie-element/placement-ordering@14.1.1) (2026-05-21)
|
|
94
|
+
|
|
95
|
+
**Note:** Version bump only for package @pie-element/placement-ordering
|
|
96
|
+
|
|
68
97
|
# [14.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering@14.1.0-next.1...@pie-element/placement-ordering@14.1.0) (2026-05-21)
|
|
69
98
|
|
|
70
99
|
### Bug Fixes
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,67 +3,85 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
## [11.2.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.2.1...@pie-element/placement-ordering-configure@11.2.2) (2026-09-04)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- bump libs PIE-978, PIE-980 ([96489ba](https://github.com/pie-framework/pie-elements/commit/96489ba3c220604f21c3ce4500d79f4389266e9e))
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
## [11.2.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.2.0...@pie-element/placement-ordering-configure@11.2.1) (2026-08-26)
|
|
11
13
|
|
|
12
14
|
**Note:** Version bump only for package @pie-element/placement-ordering-configure
|
|
13
15
|
|
|
14
|
-
# [11.
|
|
16
|
+
# [11.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.11...@pie-element/placement-ordering-configure@11.2.0) (2026-08-21)
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
### Features
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
- bump libs PIE-856, PIE-681, PIE-927 ([cb26d7a](https://github.com/pie-framework/pie-elements/commit/cb26d7afa6c99522533c321d5ff8ce3148a66e9e))
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
## [11.1.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.10...@pie-element/placement-ordering-configure@11.1.11) (2026-08-19)
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
### Bug Fixes
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
- bump libs and shared modules PIE-681, PIE-708 ([08af8b5](https://github.com/pie-framework/pie-elements/commit/08af8b5802aecc8ee5454a1b6d60277d7ec94204))
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
## [11.1.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.8...@pie-element/placement-ordering-configure@11.1.10) (2026-08-13)
|
|
27
29
|
|
|
28
30
|
**Note:** Version bump only for package @pie-element/placement-ordering-configure
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
## [11.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.7...@pie-element/placement-ordering-configure@11.1.9) (2026-08-11)
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
### Bug Fixes
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
- **placement-ordering:** adjust choice grid row height and center choices PIE-787 ([ad3e41e](https://github.com/pie-framework/pie-elements/commit/ad3e41e606a1e80b2c6ba2c37e18367cbb9ccda1))
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
## [11.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.7...@pie-element/placement-ordering-configure@11.1.8) (2026-07-31)
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
### Bug Fixes
|
|
39
41
|
|
|
40
|
-
**
|
|
42
|
+
- **placement-ordering:** adjust choice grid row height and center choices PIE-787 ([ad3e41e](https://github.com/pie-framework/pie-elements/commit/ad3e41e606a1e80b2c6ba2c37e18367cbb9ccda1))
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
## [11.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.6...@pie-element/placement-ordering-configure@11.1.7) (2026-07-08)
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
### Bug Fixes
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
- bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
## [11.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.5...@pie-element/placement-ordering-configure@11.1.6) (2026-07-02)
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
### Bug Fixes
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
55
|
+
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
## [11.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.4...@pie-element/placement-ordering-configure@11.1.5) (2026-06-22)
|
|
55
58
|
|
|
56
59
|
### Bug Fixes
|
|
57
60
|
|
|
58
|
-
- bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
|
|
59
|
-
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
60
|
-
- bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
|
|
61
61
|
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
62
|
-
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
63
|
-
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
64
62
|
- handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
|
|
64
|
+
## [11.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.3...@pie-element/placement-ordering-configure@11.1.4) (2026-06-17)
|
|
65
|
+
|
|
66
|
+
### Bug Fixes
|
|
67
|
+
|
|
68
|
+
- bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
|
|
69
|
+
|
|
70
|
+
## [11.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.2...@pie-element/placement-ordering-configure@11.1.3) (2026-06-12)
|
|
71
|
+
|
|
72
|
+
### Bug Fixes
|
|
73
|
+
|
|
74
|
+
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
75
|
+
|
|
76
|
+
## [11.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.1...@pie-element/placement-ordering-configure@11.1.2) (2026-06-04)
|
|
77
|
+
|
|
78
|
+
### Bug Fixes
|
|
79
|
+
|
|
80
|
+
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
81
|
+
|
|
82
|
+
## [11.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.0...@pie-element/placement-ordering-configure@11.1.1) (2026-05-21)
|
|
83
|
+
|
|
84
|
+
**Note:** Version bump only for package @pie-element/placement-ordering-configure
|
|
67
85
|
|
|
68
86
|
# [11.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-configure@11.1.0-next.1...@pie-element/placement-ordering-configure@11.1.0) (2026-05-21)
|
|
69
87
|
|
package/configure/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/placement-ordering-configure",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.2.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"@mui/icons-material": "^7.3.4",
|
|
12
12
|
"@mui/material": "^7.3.4",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/config-ui": "13.
|
|
15
|
-
"@pie-lib/drag": "4.
|
|
16
|
-
"@pie-lib/editable-html-tip-tap": "2.
|
|
17
|
-
"@pie-lib/render-ui": "
|
|
14
|
+
"@pie-lib/config-ui": "13.0.19",
|
|
15
|
+
"@pie-lib/drag": "4.1.3",
|
|
16
|
+
"@pie-lib/editable-html-tip-tap": "2.1.17",
|
|
17
|
+
"@pie-lib/render-ui": "7.0.2",
|
|
18
18
|
"debug": "^4.1.1",
|
|
19
19
|
"lodash-es": "^4.17.23",
|
|
20
20
|
"nested-property": "^0.0.7",
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,60 +3,24 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
## [11.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.2...@pie-element/placement-ordering-controller@11.1.4) (2026-08-13)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## [11.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.2...@pie-element/placement-ordering-controller@11.1.3) (2026-08-11)
|
|
11
11
|
|
|
12
12
|
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## [11.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.1...@pie-element/placement-ordering-controller@11.1.2) (2026-07-02)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# [11.4.0-beta.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.5...@pie-element/placement-ordering-controller@11.4.0-beta.6) (2026-08-14)
|
|
19
|
-
|
|
20
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
21
|
-
|
|
22
|
-
# [11.4.0-beta.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.4...@pie-element/placement-ordering-controller@11.4.0-beta.5) (2026-08-11)
|
|
23
|
-
|
|
24
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
25
|
-
|
|
26
|
-
# [11.4.0-beta.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.3...@pie-element/placement-ordering-controller@11.4.0-beta.4) (2026-08-11)
|
|
27
|
-
|
|
28
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
29
|
-
|
|
30
|
-
# [11.4.0-beta.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.2...@pie-element/placement-ordering-controller@11.4.0-beta.3) (2026-08-11)
|
|
31
|
-
|
|
32
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
33
|
-
|
|
34
|
-
# [11.4.0-beta.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.1...@pie-element/placement-ordering-controller@11.4.0-beta.2) (2026-08-11)
|
|
35
|
-
|
|
36
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
37
|
-
|
|
38
|
-
# [11.4.0-beta.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.4.0-beta.0...@pie-element/placement-ordering-controller@11.4.0-beta.1) (2026-08-07)
|
|
39
|
-
|
|
40
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
41
|
-
|
|
42
|
-
# [11.4.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.3.0-beta.0...@pie-element/placement-ordering-controller@11.4.0-beta.0) (2026-08-07)
|
|
43
|
-
|
|
44
|
-
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
45
|
-
|
|
46
|
-
# [11.3.0-beta.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.3.0-beta.0...@pie-element/placement-ordering-controller@11.3.0-beta.1) (2026-08-07)
|
|
16
|
+
### Bug Fixes
|
|
47
17
|
|
|
48
|
-
|
|
18
|
+
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
49
19
|
|
|
50
|
-
|
|
20
|
+
## [11.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.0...@pie-element/placement-ordering-controller@11.1.1) (2026-05-21)
|
|
51
21
|
|
|
52
22
|
**Note:** Version bump only for package @pie-element/placement-ordering-controller
|
|
53
23
|
|
|
54
|
-
# [11.2.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.0...@pie-element/placement-ordering-controller@11.2.0-beta.0) (2026-08-07)
|
|
55
|
-
|
|
56
|
-
### Bug Fixes
|
|
57
|
-
|
|
58
|
-
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
59
|
-
|
|
60
24
|
# [11.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/placement-ordering-controller@11.1.0-next.1...@pie-element/placement-ordering-controller@11.1.0) (2026-05-21)
|
|
61
25
|
|
|
62
26
|
### Bug Fixes
|
package/controller/package.json
CHANGED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.closestDroppableKeyboardCoordinates = void 0;
|
|
7
|
+
var _core = require("@dnd-kit/core");
|
|
8
|
+
/**
|
|
9
|
+
* Custom keyboard coordinate getter for placement-ordering's Tab-based placement mode
|
|
10
|
+
* (enabled only when the item is configured with `placementArea` / `includeTargets`).
|
|
11
|
+
*
|
|
12
|
+
* Tab/Shift+Tab cycle the dragged choice directly onto the next/previous enabled
|
|
13
|
+
* droppable (a placement/target tile, or an empty gap left behind in the choices row),
|
|
14
|
+
* in real on-screen position order, placing the dragged item's own top-left corner at
|
|
15
|
+
* the target's center-left point.
|
|
16
|
+
*
|
|
17
|
+
* Arrow keys are delegated to dnd-kit's own `defaultKeyboardCoordinateGetter` so the
|
|
18
|
+
* pre-existing free-form arrow-key dragging behavior is left completely unchanged.
|
|
19
|
+
*
|
|
20
|
+
* The tile currently being dragged already disables its own droppable
|
|
21
|
+
* (see `useDroppable({ disabled: isDragging })` in tile.jsx), so it's naturally
|
|
22
|
+
* excluded from the candidate list here without any extra bookkeeping.
|
|
23
|
+
*
|
|
24
|
+
* When picking up a choice from the choices row, the other not-yet-placed choice
|
|
25
|
+
* tiles are also registered droppables (tile.jsx disables a droppable only while it's
|
|
26
|
+
* the one being dragged), but dropping a choice onto another choice is a no-op in the
|
|
27
|
+
* reducer (ordering.js's updateResponse has no `choice -> choice` case) — so they're
|
|
28
|
+
* excluded from the Tab/Shift+Tab cycle, leaving only the real placement targets.
|
|
29
|
+
*/
|
|
30
|
+
const closestDroppableKeyboardCoordinates = (event, {
|
|
31
|
+
active,
|
|
32
|
+
context,
|
|
33
|
+
currentCoordinates
|
|
34
|
+
}) => {
|
|
35
|
+
const {
|
|
36
|
+
code
|
|
37
|
+
} = event;
|
|
38
|
+
const isTab = code === 'Tab';
|
|
39
|
+
const isArrow = code === _core.KeyboardCode.Down || code === _core.KeyboardCode.Up || code === _core.KeyboardCode.Left || code === _core.KeyboardCode.Right;
|
|
40
|
+
if (!isTab && !isArrow) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
if (isArrow) {
|
|
44
|
+
return (0, _core.defaultKeyboardCoordinateGetter)(event, {
|
|
45
|
+
context,
|
|
46
|
+
currentCoordinates
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
const {
|
|
51
|
+
droppableRects,
|
|
52
|
+
droppableContainers,
|
|
53
|
+
collisionRect
|
|
54
|
+
} = context;
|
|
55
|
+
if (!droppableRects || droppableRects.size === 0) {
|
|
56
|
+
return currentCoordinates;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// `currentCoordinates` is the top-left of the dragged item's collision rect (not its
|
|
60
|
+
// center), so derive the dragged item's center in the same frame before comparing it
|
|
61
|
+
// against droppable centers below.
|
|
62
|
+
const draggedHalfSize = {
|
|
63
|
+
x: (collisionRect?.width || 0) / 2,
|
|
64
|
+
y: (collisionRect?.height || 0) / 2
|
|
65
|
+
};
|
|
66
|
+
const currentCenter = {
|
|
67
|
+
x: currentCoordinates.x + draggedHalfSize.x,
|
|
68
|
+
y: currentCoordinates.y + draggedHalfSize.y
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Only exclude other choice tiles while dragging a choice; dragging a placed target
|
|
72
|
+
// back onto a choice-row gap is still a valid "return to pool" destination.
|
|
73
|
+
const activeType = active?.data?.current?.type;
|
|
74
|
+
const excludeChoiceDroppables = activeType === 'choice';
|
|
75
|
+
const targets = [];
|
|
76
|
+
for (const [id, container] of droppableContainers) {
|
|
77
|
+
if (container?.disabled) continue;
|
|
78
|
+
if (excludeChoiceDroppables && container?.data?.current?.type === 'choice') continue;
|
|
79
|
+
const rect = droppableRects.get(id);
|
|
80
|
+
if (!rect) continue;
|
|
81
|
+
const center = {
|
|
82
|
+
x: rect.left + rect.width / 2,
|
|
83
|
+
y: rect.top + rect.height / 2
|
|
84
|
+
};
|
|
85
|
+
// Land the dragged item's own top-left corner at the target's center-left point,
|
|
86
|
+
// rather than at the target's own top-left corner.
|
|
87
|
+
const dropPosition = {
|
|
88
|
+
x: rect.left,
|
|
89
|
+
y: rect.top + rect.height / 2
|
|
90
|
+
};
|
|
91
|
+
targets.push({
|
|
92
|
+
id,
|
|
93
|
+
dropPosition,
|
|
94
|
+
center
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (targets.length === 0) {
|
|
98
|
+
return currentCoordinates;
|
|
99
|
+
}
|
|
100
|
+
const reverse = event.shiftKey;
|
|
101
|
+
|
|
102
|
+
// Sort targets by real on-screen position (top to bottom, then left to right), so
|
|
103
|
+
// this works the same whether the tiler is laid out vertically or horizontally.
|
|
104
|
+
targets.sort((a, b) => {
|
|
105
|
+
if (Math.abs(a.center.y - b.center.y) > 10) return a.center.y - b.center.y;
|
|
106
|
+
return a.center.x - b.center.x;
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Find the current target (closest to current coordinates)
|
|
110
|
+
let currentIndex = 0;
|
|
111
|
+
let minDist = Infinity;
|
|
112
|
+
for (let i = 0; i < targets.length; i++) {
|
|
113
|
+
const dist = distance(currentCenter, targets[i].center);
|
|
114
|
+
if (dist < minDist) {
|
|
115
|
+
minDist = dist;
|
|
116
|
+
currentIndex = i;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const nextIndex = reverse ? (currentIndex - 1 + targets.length) % targets.length : (currentIndex + 1) % targets.length;
|
|
120
|
+
return targets[nextIndex].dropPosition;
|
|
121
|
+
};
|
|
122
|
+
exports.closestDroppableKeyboardCoordinates = closestDroppableKeyboardCoordinates;
|
|
123
|
+
const distance = (a, b) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
|
|
124
|
+
//# sourceMappingURL=keyboard-coordinates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard-coordinates.js","names":["_core","require","closestDroppableKeyboardCoordinates","event","active","context","currentCoordinates","code","isTab","isArrow","KeyboardCode","Down","Up","Left","Right","undefined","defaultKeyboardCoordinateGetter","preventDefault","droppableRects","droppableContainers","collisionRect","size","draggedHalfSize","x","width","y","height","currentCenter","activeType","data","current","type","excludeChoiceDroppables","targets","id","container","disabled","rect","get","center","left","top","dropPosition","push","length","reverse","shiftKey","sort","a","b","Math","abs","currentIndex","minDist","Infinity","i","dist","distance","nextIndex","exports","sqrt"],"sources":["../src/keyboard-coordinates.js"],"sourcesContent":["import { defaultKeyboardCoordinateGetter, KeyboardCode } from '@dnd-kit/core';\n\n/**\n * Custom keyboard coordinate getter for placement-ordering's Tab-based placement mode\n * (enabled only when the item is configured with `placementArea` / `includeTargets`).\n *\n * Tab/Shift+Tab cycle the dragged choice directly onto the next/previous enabled\n * droppable (a placement/target tile, or an empty gap left behind in the choices row),\n * in real on-screen position order, placing the dragged item's own top-left corner at\n * the target's center-left point.\n *\n * Arrow keys are delegated to dnd-kit's own `defaultKeyboardCoordinateGetter` so the\n * pre-existing free-form arrow-key dragging behavior is left completely unchanged.\n *\n * The tile currently being dragged already disables its own droppable\n * (see `useDroppable({ disabled: isDragging })` in tile.jsx), so it's naturally\n * excluded from the candidate list here without any extra bookkeeping.\n *\n * When picking up a choice from the choices row, the other not-yet-placed choice\n * tiles are also registered droppables (tile.jsx disables a droppable only while it's\n * the one being dragged), but dropping a choice onto another choice is a no-op in the\n * reducer (ordering.js's updateResponse has no `choice -> choice` case) — so they're\n * excluded from the Tab/Shift+Tab cycle, leaving only the real placement targets.\n */\nexport const closestDroppableKeyboardCoordinates = (event, { active, context, currentCoordinates }) => {\n const { code } = event;\n const isTab = code === 'Tab';\n const isArrow =\n code === KeyboardCode.Down || code === KeyboardCode.Up || code === KeyboardCode.Left || code === KeyboardCode.Right;\n\n if (!isTab && !isArrow) {\n return undefined;\n }\n\n if (isArrow) {\n return defaultKeyboardCoordinateGetter(event, { context, currentCoordinates });\n }\n\n event.preventDefault();\n\n const { droppableRects, droppableContainers, collisionRect } = context;\n\n if (!droppableRects || droppableRects.size === 0) {\n return currentCoordinates;\n }\n\n // `currentCoordinates` is the top-left of the dragged item's collision rect (not its\n // center), so derive the dragged item's center in the same frame before comparing it\n // against droppable centers below.\n const draggedHalfSize = {\n x: (collisionRect?.width || 0) / 2,\n y: (collisionRect?.height || 0) / 2,\n };\n const currentCenter = {\n x: currentCoordinates.x + draggedHalfSize.x,\n y: currentCoordinates.y + draggedHalfSize.y,\n };\n\n // Only exclude other choice tiles while dragging a choice; dragging a placed target\n // back onto a choice-row gap is still a valid \"return to pool\" destination.\n const activeType = active?.data?.current?.type;\n const excludeChoiceDroppables = activeType === 'choice';\n\n const targets = [];\n\n for (const [id, container] of droppableContainers) {\n if (container?.disabled) continue;\n\n if (excludeChoiceDroppables && container?.data?.current?.type === 'choice') continue;\n\n const rect = droppableRects.get(id);\n\n if (!rect) continue;\n\n const center = {\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2,\n };\n // Land the dragged item's own top-left corner at the target's center-left point,\n // rather than at the target's own top-left corner.\n const dropPosition = {\n x: rect.left,\n y: rect.top + rect.height / 2,\n };\n\n targets.push({ id, dropPosition, center });\n }\n\n if (targets.length === 0) {\n return currentCoordinates;\n }\n\n const reverse = event.shiftKey;\n\n // Sort targets by real on-screen position (top to bottom, then left to right), so\n // this works the same whether the tiler is laid out vertically or horizontally.\n targets.sort((a, b) => {\n if (Math.abs(a.center.y - b.center.y) > 10) return a.center.y - b.center.y;\n return a.center.x - b.center.x;\n });\n\n // Find the current target (closest to current coordinates)\n let currentIndex = 0;\n let minDist = Infinity;\n\n for (let i = 0; i < targets.length; i++) {\n const dist = distance(currentCenter, targets[i].center);\n\n if (dist < minDist) {\n minDist = dist;\n currentIndex = i;\n }\n }\n\n const nextIndex = reverse\n ? (currentIndex - 1 + targets.length) % targets.length\n : (currentIndex + 1) % targets.length;\n\n return targets[nextIndex].dropPosition;\n};\n\nconst distance = (a, b) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);\n"],"mappings":"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","ignoreList":[]}
|