@blaze-cms/react-page-builder 0.146.0-node18-tooltips.33 → 0.146.0-node18-core-styles-tooltips.41

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 (37) hide show
  1. package/CHANGELOG.md +99 -37
  2. package/lib/components/Menu/Menu.js +4 -1
  3. package/lib/components/Menu/Menu.js.map +1 -1
  4. package/lib/components/Menu/MenuContext.js +2 -1
  5. package/lib/components/Menu/MenuContext.js.map +1 -1
  6. package/lib/components/MenuItem/MenuItemRender.js +27 -12
  7. package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
  8. package/lib/components/MenuItem/helpers/has-active-child.js +19 -0
  9. package/lib/components/MenuItem/helpers/has-active-child.js.map +1 -0
  10. package/lib/components/MenuItem/helpers/index.js +14 -0
  11. package/lib/components/MenuItem/helpers/index.js.map +1 -1
  12. package/lib/components/MenuItem/helpers/isUrlPathMatch.js +18 -0
  13. package/lib/components/MenuItem/helpers/isUrlPathMatch.js.map +1 -0
  14. package/lib-es/components/Menu/Menu.js +4 -1
  15. package/lib-es/components/Menu/Menu.js.map +1 -1
  16. package/lib-es/components/Menu/MenuContext.js +2 -1
  17. package/lib-es/components/Menu/MenuContext.js.map +1 -1
  18. package/lib-es/components/MenuItem/MenuItemRender.js +25 -11
  19. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
  20. package/lib-es/components/MenuItem/helpers/has-active-child.js +5 -0
  21. package/lib-es/components/MenuItem/helpers/has-active-child.js.map +1 -0
  22. package/lib-es/components/MenuItem/helpers/index.js +3 -1
  23. package/lib-es/components/MenuItem/helpers/index.js.map +1 -1
  24. package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js +8 -0
  25. package/lib-es/components/MenuItem/helpers/isUrlPathMatch.js.map +1 -0
  26. package/package.json +10 -10
  27. package/src/components/Menu/Menu.js +3 -1
  28. package/src/components/Menu/MenuContext.js +1 -1
  29. package/src/components/MenuItem/MenuItemRender.js +40 -12
  30. package/src/components/MenuItem/helpers/has-active-child.js +10 -0
  31. package/src/components/MenuItem/helpers/index.js +3 -1
  32. package/src/components/MenuItem/helpers/isUrlPathMatch.js +10 -0
  33. package/tests/unit/src/components/MenuItem/MenuItem.test.js +5 -0
  34. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +11 -3
  35. package/tests/unit/src/components/MenuItem/helpers/constants.js +73 -0
  36. package/tests/unit/src/components/MenuItem/helpers/has-active-child.test.js +35 -0
  37. package/tests/unit/src/components/MenuItem/helpers/is-url-path-match.test.js +53 -0
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
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
- # [0.146.0-node18-tooltips.33](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.32...v0.146.0-node18-tooltips.33) (2025-12-15)
6
+ # [0.146.0-node18-core-styles-tooltips.41](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.40...v0.146.0-node18-core-styles-tooltips.41) (2025-12-15)
7
7
 
8
8
 
9
9
  ### Bug Fixes
@@ -19,19 +19,15 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
19
19
 
20
20
 
21
21
 
22
- # [0.146.0-node18-tooltips.32](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.31...v0.146.0-node18-tooltips.32) (2025-12-15)
22
+ # [0.146.0-node18-core-styles-tooltips.38](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.37...v0.146.0-node18-core-styles-tooltips.38) (2025-12-04)
23
23
 
24
-
25
- ### Bug Fixes
26
-
27
- * added handlebar prop validation ([#5014](https://github.com/thebyte9/blaze/issues/5014)) ([f949bc5](https://github.com/thebyte9/blaze/commit/f949bc5d949d9a33c7aef8485e1fe13f48e79d28))
28
- * fixed lint on handlebar inject test ([#5018](https://github.com/thebyte9/blaze/issues/5018)) ([c57f06c](https://github.com/thebyte9/blaze/commit/c57f06c03b095dd4e5f0683d9fcf94a22d80c592))
24
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
29
25
 
30
26
 
31
27
 
32
28
 
33
29
 
34
- # [0.146.0-node18-tooltips.30](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.29...v0.146.0-node18-tooltips.30) (2025-11-17)
30
+ # [0.146.0-node18-core-styles-tooltips.34](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.33...v0.146.0-node18-core-styles-tooltips.34) (2025-11-27)
35
31
 
36
32
  **Note:** Version bump only for package @blaze-cms/react-page-builder
37
33
 
@@ -39,7 +35,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
39
35
 
40
36
 
41
37
 
42
- # [0.146.0-node18-tooltips.28](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.27...v0.146.0-node18-tooltips.28) (2025-11-10)
38
+ # [0.146.0-node18-core-styles-tooltips.32](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.31...v0.146.0-node18-core-styles-tooltips.32) (2025-11-26)
43
39
 
44
40
  **Note:** Version bump only for package @blaze-cms/react-page-builder
45
41
 
@@ -47,15 +43,19 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
47
43
 
48
44
 
49
45
 
50
- # [0.146.0-node18-tooltips.27](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.26...v0.146.0-node18-tooltips.27) (2025-11-06)
46
+ # [0.146.0-node18-core-styles-tooltips.31](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.30...v0.146.0-node18-core-styles-tooltips.31) (2025-11-26)
51
47
 
52
- **Note:** Version bump only for package @blaze-cms/react-page-builder
48
+
49
+ ### Bug Fixes
50
+
51
+ * added handlebar prop validation ([#5014](https://github.com/thebyte9/blaze/issues/5014)) ([f949bc5](https://github.com/thebyte9/blaze/commit/f949bc5d949d9a33c7aef8485e1fe13f48e79d28))
52
+ * fixed lint on handlebar inject test ([#5018](https://github.com/thebyte9/blaze/issues/5018)) ([c57f06c](https://github.com/thebyte9/blaze/commit/c57f06c03b095dd4e5f0683d9fcf94a22d80c592))
53
53
 
54
54
 
55
55
 
56
56
 
57
57
 
58
- # [0.146.0-node18-tooltips.26](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.25...v0.146.0-node18-tooltips.26) (2025-10-29)
58
+ # [0.146.0-node18-core-styles-tooltips.30](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.29...v0.146.0-node18-core-styles-tooltips.30) (2025-11-25)
59
59
 
60
60
  **Note:** Version bump only for package @blaze-cms/react-page-builder
61
61
 
@@ -63,61 +63,66 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
63
63
 
64
64
 
65
65
 
66
- # [0.146.0-node18-tooltips.24](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.23...v0.146.0-node18-tooltips.24) (2025-10-27)
66
+ # [0.146.0-node18-core-styles-tooltips.29](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.28...v0.146.0-node18-core-styles-tooltips.29) (2025-11-17)
67
67
 
68
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
68
69
 
69
- ### Bug Fixes
70
70
 
71
- * fixed logo flicker highlight getting stuck and logo position when close to window top ([#4962](https://github.com/thebyte9/blaze/issues/4962)) ([051f843](https://github.com/thebyte9/blaze/commit/051f843d717a9648f5ca19dd531f20de8e1516c0))
72
71
 
73
72
 
74
73
 
74
+ # [0.146.0-node18-core-styles-tooltips.27](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.26...v0.146.0-node18-core-styles-tooltips.27) (2025-11-13)
75
75
 
76
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
76
77
 
77
- # [0.146.0-node18-tooltips.23](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.22...v0.146.0-node18-tooltips.23) (2025-10-20)
78
78
 
79
79
 
80
- ### Bug Fixes
81
80
 
82
- * content group variant should render passed props ([#4960](https://github.com/thebyte9/blaze/issues/4960)) ([6c947bb](https://github.com/thebyte9/blaze/commit/6c947bba61283b03185fb6a8865a96b55b8246a6))
83
81
 
82
+ # [0.146.0-node18-core-styles-tooltips.26](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.25...v0.146.0-node18-core-styles-tooltips.26) (2025-11-12)
84
83
 
84
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
85
85
 
86
86
 
87
87
 
88
- # [0.146.0-node18-tooltips.22](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.21...v0.146.0-node18-tooltips.22) (2025-10-17)
89
88
 
90
89
 
91
- ### Bug Fixes
90
+ # [0.146.0-node18-core-styles-tooltips.25](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.24...v0.146.0-node18-core-styles-tooltips.25) (2025-11-07)
92
91
 
93
- * remove anchor links when search filters are applied ([#4957](https://github.com/thebyte9/blaze/issues/4957)) ([a5d4148](https://github.com/thebyte9/blaze/commit/a5d4148d1c122db654fe015f4892359ab0f9963c))
92
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
94
93
 
95
94
 
96
- ### Features
97
95
 
98
- * update @blaze-react/checkboxes to 0.8.0-alpha.106 ([#4874](https://github.com/thebyte9/blaze/issues/4874)) ([0877a34](https://github.com/thebyte9/blaze/commit/0877a341086ff50d9243e2e2fda05ab2716d949c))
96
+
97
+
98
+ # [0.146.0-node18-core-styles-tooltips.24](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.23...v0.146.0-node18-core-styles-tooltips.24) (2025-11-03)
99
+
100
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
99
101
 
100
102
 
101
103
 
102
104
 
103
105
 
104
- # [0.146.0-node18-tooltips.21](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.20...v0.146.0-node18-tooltips.21) (2025-10-14)
106
+ # [0.146.0-node18-core-styles-tooltips.23](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.22...v0.146.0-node18-core-styles-tooltips.23) (2025-10-27)
105
107
 
106
108
 
107
109
  ### Bug Fixes
108
110
 
109
- * prevent search input from interfering with other inputs ([#4955](https://github.com/thebyte9/blaze/issues/4955)) ([78c6036](https://github.com/thebyte9/blaze/commit/78c6036c0040f07acfa71493bbbd73cdc4ad03b1))
111
+ * fixed logo flicker highlight getting stuck and logo position when close to window top ([#4962](https://github.com/thebyte9/blaze/issues/4962)) ([051f843](https://github.com/thebyte9/blaze/commit/051f843d717a9648f5ca19dd531f20de8e1516c0))
110
112
 
111
113
 
112
114
 
113
115
 
114
116
 
115
- # [0.146.0-node18-tooltips.19](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.18...v0.146.0-node18-tooltips.19) (2025-10-10)
117
+ # [0.146.0-node18-core-styles-tooltips.22](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.21...v0.146.0-node18-core-styles-tooltips.22) (2025-10-20)
116
118
 
117
119
 
118
120
  ### Bug Fixes
119
121
 
122
+ * content group variant should render passed props ([#4960](https://github.com/thebyte9/blaze/issues/4960)) ([6c947bb](https://github.com/thebyte9/blaze/commit/6c947bba61283b03185fb6a8865a96b55b8246a6))
120
123
  * editor mode icon flicker improvements ([#4949](https://github.com/thebyte9/blaze/issues/4949)) ([211c72d](https://github.com/thebyte9/blaze/commit/211c72d83dc1da87e9bdef8e2a816af9ae3e321c))
124
+ * prevent search input from interfering with other inputs ([#4955](https://github.com/thebyte9/blaze/issues/4955)) ([78c6036](https://github.com/thebyte9/blaze/commit/78c6036c0040f07acfa71493bbbd73cdc4ad03b1))
125
+ * remove anchor links when search filters are applied ([#4957](https://github.com/thebyte9/blaze/issues/4957)) ([a5d4148](https://github.com/thebyte9/blaze/commit/a5d4148d1c122db654fe015f4892359ab0f9963c))
121
126
  * reset input and results on click away ([#4930](https://github.com/thebyte9/blaze/issues/4930)) ([cebd271](https://github.com/thebyte9/blaze/commit/cebd271c09d0b32db5db52943888a342acd484d3))
122
127
 
123
128
 
@@ -125,12 +130,13 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
125
130
 
126
131
  * add accordion content group variant ([#4906](https://github.com/thebyte9/blaze/issues/4906)) ([879f4e4](https://github.com/thebyte9/blaze/commit/879f4e45e3d35de6ab8e739adb0739a94a5bbfb4))
127
132
  * enable accordion component to be marked up with FAQPage schema ([#4913](https://github.com/thebyte9/blaze/issues/4913)) ([6bf92fe](https://github.com/thebyte9/blaze/commit/6bf92fe870f47dc6069b12ce0d8b29abc9fee3d5))
133
+ * update @blaze-react/checkboxes to 0.8.0-alpha.106 ([#4874](https://github.com/thebyte9/blaze/issues/4874)) ([0877a34](https://github.com/thebyte9/blaze/commit/0877a341086ff50d9243e2e2fda05ab2716d949c))
128
134
 
129
135
 
130
136
 
131
137
 
132
138
 
133
- # [0.146.0-node18-tooltips.13](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.12...v0.146.0-node18-tooltips.13) (2025-10-02)
139
+ # [0.146.0-node18-core-styles-tooltips.20](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.19...v0.146.0-node18-core-styles-tooltips.20) (2025-10-03)
134
140
 
135
141
 
136
142
  ### Bug Fixes
@@ -141,7 +147,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
141
147
 
142
148
 
143
149
 
144
- # [0.146.0-node18-tooltips.11](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.10...v0.146.0-node18-tooltips.11) (2025-10-01)
150
+ # [0.146.0-node18-core-styles-tooltips.19](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.18...v0.146.0-node18-core-styles-tooltips.19) (2025-10-01)
145
151
 
146
152
 
147
153
  ### Bug Fixes
@@ -153,7 +159,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
153
159
 
154
160
 
155
161
 
156
- # [0.146.0-node18-tooltips.8](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.7...v0.146.0-node18-tooltips.8) (2025-09-24)
162
+ # [0.146.0-node18-core-styles-tooltips.18](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.17...v0.146.0-node18-core-styles-tooltips.18) (2025-09-29)
157
163
 
158
164
 
159
165
  ### Bug Fixes
@@ -169,7 +175,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
169
175
 
170
176
 
171
177
 
172
- # [0.146.0-node18-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.3...v0.146.0-node18-tooltips.4) (2025-09-22)
178
+ # [0.146.0-node18-core-styles-tooltips.15](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.14...v0.146.0-node18-core-styles-tooltips.15) (2025-09-23)
173
179
 
174
180
  **Note:** Version bump only for package @blaze-cms/react-page-builder
175
181
 
@@ -177,7 +183,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
177
183
 
178
184
 
179
185
 
180
- # [0.146.0-node18-tooltips.2](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.1...v0.146.0-node18-tooltips.2) (2025-09-17)
186
+ # [0.146.0-node18-core-styles-tooltips.13](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.12...v0.146.0-node18-core-styles-tooltips.13) (2025-09-15)
181
187
 
182
188
  **Note:** Version bump only for package @blaze-cms/react-page-builder
183
189
 
@@ -185,25 +191,81 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
185
191
 
186
192
 
187
193
 
188
- # [0.146.0-node18-tooltips.0](https://github.com/thebyte9/blaze/compare/v0.145.0...v0.146.0-node18-tooltips.0) (2025-09-09)
194
+ # [0.146.0-node18-core-styles-tooltips.12](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.11...v0.146.0-node18-core-styles-tooltips.12) (2025-08-27)
189
195
 
190
196
 
191
197
  ### Bug Fixes
192
198
 
193
- * add constant to avoid duplication ([07d6742](https://github.com/thebyte9/blaze/commit/07d6742f894ee8e063c17847fbb89559c23c5766))
194
199
  * add react import missing from editor mode components ([#4885](https://github.com/thebyte9/blaze/issues/4885)) ([bb6e3eb](https://github.com/thebyte9/blaze/commit/bb6e3eb238a0f0263ed13a32e5121f49d21b2add))
200
+
201
+
202
+
203
+
204
+
205
+ # [0.146.0-node18-core-styles-tooltips.11](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.10...v0.146.0-node18-core-styles-tooltips.11) (2025-08-27)
206
+
207
+
208
+ ### Features
209
+
210
+ * add hook for search content component ([#4866](https://github.com/thebyte9/blaze/issues/4866)) ([2fe2fb9](https://github.com/thebyte9/blaze/commit/2fe2fb91a13199b2c7cabbd734c3b79f9c962cad))
211
+ * add unit support to range filters ([fabc125](https://github.com/thebyte9/blaze/commit/fabc125355a4097c0fbe71e8419f207f93929926))
212
+
213
+
214
+
215
+
216
+
217
+ # [0.146.0-node18-core-styles-tooltips.5](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.4...v0.146.0-node18-core-styles-tooltips.5) (2025-07-18)
218
+
219
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
220
+
221
+
222
+
223
+
224
+
225
+ # [0.146.0-node18-core-styles-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.3...v0.146.0-node18-core-styles-tooltips.4) (2025-07-10)
226
+
227
+
228
+ ### Bug Fixes
229
+
230
+ * add constant to avoid duplication ([07d6742](https://github.com/thebyte9/blaze/commit/07d6742f894ee8e063c17847fbb89559c23c5766))
231
+ * respond to live blog item size changes for laze loaded image, live blog title and global light box fix ([#4730](https://github.com/thebyte9/blaze/issues/4730)) ([5dd38d8](https://github.com/thebyte9/blaze/commit/5dd38d8d9e5983c55d3053d440eb7ab618688920))
232
+
233
+
234
+
235
+
236
+
237
+ # [0.146.0-node18-core-styles-tooltips.1](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.0...v0.146.0-node18-core-styles-tooltips.1) (2025-06-20)
238
+
239
+
240
+ ### Features
241
+
242
+ * added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
243
+
244
+
245
+
246
+
247
+
248
+ # [0.146.0-node18-core-styles-tooltips.0](https://github.com/thebyte9/blaze/compare/v0.145.0...v0.146.0-node18-core-styles-tooltips.0) (2025-06-18)
249
+
250
+
251
+ ### Bug Fixes
252
+
253
+ * menu setdisplaychildren logic ([#4629](https://github.com/thebyte9/blaze/issues/4629)) ([16c5c67](https://github.com/thebyte9/blaze/commit/16c5c674f4db1505131a8557d34f5349cf33fc42))
195
254
  * added space between image counter ([fe23887](https://github.com/thebyte9/blaze/commit/fe23887db201c8f8c4d3c2df6b0f84adac84df9f))
196
255
  * apply search filters even when shouldAddFilters is false ([ac82708](https://github.com/thebyte9/blaze/commit/ac827080df3001f4643a2d7a69b8f5502646cf77))
197
256
  * changed image lightbox counter ([3e22b68](https://github.com/thebyte9/blaze/commit/3e22b6817d60d2b4fd4beac713f864fdb5b6826e))
198
257
  * close menu item on url change ([#4669](https://github.com/thebyte9/blaze/issues/4669)) ([697750a](https://github.com/thebyte9/blaze/commit/697750ac771a5ea89702e990e23d6e78b1c45a67))
199
258
  * encode dynamic menu urls ([#4497](https://github.com/thebyte9/blaze/issues/4497)) ([43695a0](https://github.com/thebyte9/blaze/commit/43695a01408a85a5cd94704d9b78f36fd3fb509f))
200
259
  * exported necessary helpers from blaze react page builder ([#4466](https://github.com/thebyte9/blaze/issues/4466)) ([9a8d0db](https://github.com/thebyte9/blaze/commit/9a8d0db28dc0fbf7a2c93733fa1c7d61f293ac1b))
260
+ * extended regex for #s in urls ([#4648](https://github.com/thebyte9/blaze/issues/4648)) ([089b19a](https://github.com/thebyte9/blaze/commit/089b19afaf503477429df3415fcd382e8b55745a))
201
261
  * fixed breaking tests, updated next to 14 ([fecb0e1](https://github.com/thebyte9/blaze/commit/fecb0e1d822bd69ebbaa084072a219f0fddd23f1))
202
262
  * fixed code smells ([95d874e](https://github.com/thebyte9/blaze/commit/95d874e7e392e8e39921c146c86987d515d090e5))
203
263
  * fixed more tests ([46a2fb9](https://github.com/thebyte9/blaze/commit/46a2fb9467f9f3c9cf320c9caf36c66503cc1f49))
204
264
  * fixed nan values on ranges ([#4582](https://github.com/thebyte9/blaze/issues/4582)) ([963ceec](https://github.com/thebyte9/blaze/commit/963ceec6b1eea027cb36b9358f7dee5e91e852ce))
205
265
  * fixed url change not reflecting on filters ([#4488](https://github.com/thebyte9/blaze/issues/4488)) ([0d6574f](https://github.com/thebyte9/blaze/commit/0d6574f5d5e698633c6032668cb8e1d914cf0342))
206
266
  * fixed url not being decoded when set on useEffect in SearchFilterContainer ([#4492](https://github.com/thebyte9/blaze/issues/4492)) ([64ba7a0](https://github.com/thebyte9/blaze/commit/64ba7a0260ee657561df5273fac3e537d6845db0))
267
+ * fixed variable placing ([cbd733b](https://github.com/thebyte9/blaze/commit/cbd733b15bf9094bec7f2349267042fe22a54dac))
268
+ * handle active url ([58be170](https://github.com/thebyte9/blaze/commit/58be170c8641abeb89e6b51dca9c5a75179c3dd7))
207
269
  * handle reseting filters and pagination with correct client scroll ([#4804](https://github.com/thebyte9/blaze/issues/4804)) ([8f098d9](https://github.com/thebyte9/blaze/commit/8f098d9240fe260911f399a54d91e235aa109b76))
208
270
  * improve filter and pagination scroll client side ([#4803](https://github.com/thebyte9/blaze/issues/4803)) ([b438755](https://github.com/thebyte9/blaze/commit/b4387551cb9fea3197c83db6b245ecd11a2dd64a))
209
271
  * lint errors in node 18 dev ([#4784](https://github.com/thebyte9/blaze/issues/4784)) ([5b102df](https://github.com/thebyte9/blaze/commit/5b102df10a77abc62aa94ffa476f1c2156c17947))
@@ -213,15 +275,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
213
275
  * permission should be returned when returnPermission=true ([#4775](https://github.com/thebyte9/blaze/issues/4775)) ([5f9f903](https://github.com/thebyte9/blaze/commit/5f9f90341c871d9dc76b035b7511e71cb7f964fe))
214
276
  * persist last selected filter ([#4526](https://github.com/thebyte9/blaze/issues/4526)) ([5b15b57](https://github.com/thebyte9/blaze/commit/5b15b57f5b008a6a9b71a0ea4d5a7bc75b1779a3))
215
277
  * remove limit from dynamic menu item check ([535e557](https://github.com/thebyte9/blaze/commit/535e5574817c3d4248419cf42961fdc27c28dd34))
278
+ * remove limit from dynamic menu item check ([#4533](https://github.com/thebyte9/blaze/issues/4533)) ([2f9cba8](https://github.com/thebyte9/blaze/commit/2f9cba859223e0d2a81ce8bb816cfacbe7b474b6))
216
279
  * remove youtube origin api param as it breaks SSR ([#4538](https://github.com/thebyte9/blaze/issues/4538)) ([98f71c5](https://github.com/thebyte9/blaze/commit/98f71c501fa8f01f9187d3ab7807c8fc4eada3e6))
217
280
  * removed commented code ([5e93306](https://github.com/thebyte9/blaze/commit/5e933063ff0896dc67da0b33506231bc57427a40))
218
281
  * removed empty sapce ([461f486](https://github.com/thebyte9/blaze/commit/461f4868cf7a49208825851ff4dbc22a2c65974e))
219
282
  * resolving eslint warnings ([d4d1568](https://github.com/thebyte9/blaze/commit/d4d1568751c3f63a630bf396ff002c7fdc2532e8))
220
283
  * resolving eslint warnings ([a0fc18a](https://github.com/thebyte9/blaze/commit/a0fc18a4b4ef4f2f50edf2ae9fd24ab8fb4ef2bb))
221
- * respond to live blog item size changes for laze loaded image, live blog title and global light box fix ([#4730](https://github.com/thebyte9/blaze/issues/4730)) ([5dd38d8](https://github.com/thebyte9/blaze/commit/5dd38d8d9e5983c55d3053d440eb7ab618688920))
222
284
  * set correct list limit ([#4714](https://github.com/thebyte9/blaze/issues/4714)) ([4b981a2](https://github.com/thebyte9/blaze/commit/4b981a29a19e78d1cbd72fa2ab1d867958e0bdee))
285
+ * typo ([88018f9](https://github.com/thebyte9/blaze/commit/88018f96fe2559a981826acb67a60f5b02c94f04))
223
286
  * udpated yarn lock ([0cd4fa4](https://github.com/thebyte9/blaze/commit/0cd4fa4a185fca4b80b57e472badb771dd649ec2))
224
287
  * update content tab state using url instead of url and button click ([#4759](https://github.com/thebyte9/blaze/issues/4759)) ([f5beff6](https://github.com/thebyte9/blaze/commit/f5beff686c059fb4523e87b274da5d630285478e))
288
+ * update snapshot ([f3e1029](https://github.com/thebyte9/blaze/commit/f3e1029d9eb713a3126f396966ad01516a6a6add))
225
289
  * updated jest dependences/setup ([6d6cba8](https://github.com/thebyte9/blaze/commit/6d6cba84b3c4ce4d4da7463098de19815a9fb7a6))
226
290
  * updated react-testing-library ([ec9a955](https://github.com/thebyte9/blaze/commit/ec9a955d8991989a8daf6910d084b2853f557647))
227
291
  * updated with dev ([90f545f](https://github.com/thebyte9/blaze/commit/90f545f1beabb35e26ba6fb2b45a7a0dfd072927))
@@ -235,13 +299,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
235
299
  ### Features
236
300
 
237
301
  * add Floating Side Button variant with MVP styling ([#4594](https://github.com/thebyte9/blaze/issues/4594)) ([effb843](https://github.com/thebyte9/blaze/commit/effb843fa9c226fbf07b3ad3dac359d81e164590))
238
- * add hook for search content component ([#4866](https://github.com/thebyte9/blaze/issues/4866)) ([2fe2fb9](https://github.com/thebyte9/blaze/commit/2fe2fb91a13199b2c7cabbd734c3b79f9c962cad))
239
302
  * add list live variant ([#4727](https://github.com/thebyte9/blaze/issues/4727)) ([f482abf](https://github.com/thebyte9/blaze/commit/f482abfe03bf6db2d2d7eb462f8141ff80c1cc79))
240
303
  * add live property to content entities ([#4729](https://github.com/thebyte9/blaze/issues/4729)) ([8cdc5d6](https://github.com/thebyte9/blaze/commit/8cdc5d6b57945590ac97bd2da82c7ad74583c51d))
241
304
  * add tooltip support to parent select in DynamicRelation component ([#4603](https://github.com/thebyte9/blaze/issues/4603)) ([7767b5d](https://github.com/thebyte9/blaze/commit/7767b5dd7641d4b0c2477cffe6c0be8f9e8aa9dd))
242
- * add unit support to range filters ([fabc125](https://github.com/thebyte9/blaze/commit/fabc125355a4097c0fbe71e8419f207f93929926))
243
305
  * add video component events for youtube and jwplayer ([7b4aa78](https://github.com/thebyte9/blaze/commit/7b4aa78dea3798d736b32aed13760cc67445780c))
244
- * added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
245
306
  * added Loading component ([#4469](https://github.com/thebyte9/blaze/issues/4469)) ([957f09b](https://github.com/thebyte9/blaze/commit/957f09bab84e2e08df879abf4eec17293d167e00))
246
307
  * allow customisation of refine search text ([#4489](https://github.com/thebyte9/blaze/issues/4489)) ([2082c4b](https://github.com/thebyte9/blaze/commit/2082c4b9322882cf779c9619d32ff44793324723))
247
308
  * dynamic menu items ([#4099](https://github.com/thebyte9/blaze/issues/4099)) ([c1e052b](https://github.com/thebyte9/blaze/commit/c1e052ba93218d4f603c697cf8b533d2d0befbf1))
@@ -249,6 +310,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
249
310
  * improve card click wrapper feature flag to make valid html ([#4495](https://github.com/thebyte9/blaze/issues/4495)) ([cc01f4d](https://github.com/thebyte9/blaze/commit/cc01f4dae15158c0896d48ed05cb32a64c8caa1b))
250
311
  * make editorview card placeholders dynamic ([#4722](https://github.com/thebyte9/blaze/issues/4722)) ([872be4a](https://github.com/thebyte9/blaze/commit/872be4ac9537fa8d52c705c4b120eec23a35afae))
251
312
  * move error message component to react page builder ([#4680](https://github.com/thebyte9/blaze/issues/4680)) ([5585514](https://github.com/thebyte9/blaze/commit/55855146a43300c702d7a8284828f592854950c7))
313
+ * new preOpenMenu menu setting ([db23d0d](https://github.com/thebyte9/blaze/commit/db23d0d46a3bfe9db848ce5b52532c13e8ed5aa0))
252
314
  * update image-cdn-react package with fetchpolicy update ([#4564](https://github.com/thebyte9/blaze/issues/4564)) ([1b6b719](https://github.com/thebyte9/blaze/commit/1b6b71952dc63f90fdecde1c4214e59a3207d615))
253
315
  * updated react to 18 ([9335f84](https://github.com/thebyte9/blaze/commit/9335f8432b376494501abb9c3deef1ddaa9b35a8))
254
316
 
@@ -30,6 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
30
30
  var Menu = function Menu(_ref) {
31
31
  var children = _ref.children,
32
32
  collapse = _ref.collapse,
33
+ openActiveSubmenus = _ref.openActiveSubmenus,
33
34
  modifier = _ref.modifier,
34
35
  mobileMenuModifier = _ref.mobileMenuModifier,
35
36
  mobileMenuChildrenModifier = _ref.mobileMenuChildrenModifier,
@@ -66,7 +67,8 @@ var Menu = function Menu(_ref) {
66
67
  });
67
68
  return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
68
69
  value: {
69
- showMobileMenu: showMobileMenu
70
+ showMobileMenu: showMobileMenu,
71
+ openActiveSubmenus: openActiveSubmenus
70
72
  }
71
73
  }, /*#__PURE__*/_react["default"].createElement("div", {
72
74
  className: menuWrapperClasses
@@ -106,6 +108,7 @@ var Menu = function Menu(_ref) {
106
108
  };
107
109
  Menu.propTypes = {
108
110
  collapse: _propTypes["default"].bool.isRequired,
111
+ openActiveSubmenus: _propTypes["default"].bool.isRequired,
109
112
  logoOnMobile: _propTypes["default"].bool.isRequired,
110
113
  logoOnDesktop: _propTypes["default"].bool,
111
114
  logoOnMobileUrl: _propTypes["default"].string,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_BlazeLink","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","label","MdClose","MdMenu","Link","href","name","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(() => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [router.events]);\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile && !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_BlazeLink","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","openActiveSubmenus","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","label","MdClose","MdMenu","Link","href","name","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n openActiveSubmenus,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(() => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [router.events]);\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu, openActiveSubmenus }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile && !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n openActiveSubmenus: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var MenuContext = /*#__PURE__*/_react["default"].createContext({
11
- showMobileMenu: false
11
+ showMobileMenu: false,
12
+ openActiveSubmenus: false
12
13
  });
13
14
  var _default = exports["default"] = MenuContext;
14
15
  //# sourceMappingURL=MenuContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuContext.js","names":["_react","_interopRequireDefault","require","MenuContext","React","createContext","showMobileMenu","_default","exports"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false });\n\nexport default MenuContext;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,WAAW,gBAAGC,iBAAK,CAACC,aAAa,CAAC;EAAEC,cAAc,EAAE;AAAM,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEpDL,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"MenuContext.js","names":["_react","_interopRequireDefault","require","MenuContext","React","createContext","showMobileMenu","openActiveSubmenus","_default","exports"],"sources":["../../../src/components/Menu/MenuContext.js"],"sourcesContent":["import React from 'react';\n\nconst MenuContext = React.createContext({ showMobileMenu: false, openActiveSubmenus: false });\n\nexport default MenuContext;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,WAAW,gBAAGC,iBAAK,CAACC,aAAa,CAAC;EAAEC,cAAc,EAAE,KAAK;EAAEC,kBAAkB,EAAE;AAAM,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAE/EN,WAAW","ignoreList":[]}
@@ -17,6 +17,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
17
17
  var _react = _interopRequireWildcard(require("react"));
18
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
  var _fa = require("react-icons/fa");
20
+ var _classnames = _interopRequireDefault(require("classnames"));
20
21
  var _router = require("next/router");
21
22
  var _utilsHandlebars = require("@blaze-cms/utils-handlebars");
22
23
  var _constants = require("../../constants");
@@ -26,6 +27,8 @@ var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
26
27
  var _helpers2 = require("./helpers");
27
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
28
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
30
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
31
+
29
32
  var MenuItemRender = function MenuItemRender(_ref) {
30
33
  var children = _ref.children,
31
34
  eventType = _ref.eventType,
@@ -33,12 +36,12 @@ var MenuItemRender = function MenuItemRender(_ref) {
33
36
  modifier = _ref.modifier,
34
37
  url = _ref.url,
35
38
  parent = _ref.parent;
36
- var _useState = (0, _react.useState)(false),
37
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
38
- displayChildren = _useState2[0],
39
- setDisplayChildren = _useState2[1];
39
+ var router = (0, _router.useRouter)();
40
40
  var _useContext = (0, _react.useContext)(_MenuContext["default"]),
41
- showMobileMenu = _useContext.showMobileMenu;
41
+ showMobileMenu = _useContext.showMobileMenu,
42
+ openActiveSubmenus = _useContext.openActiveSubmenus;
43
+ var isHoverEvent = eventType === _constants.HOVER;
44
+ var isClickEvent = eventType === _constants.CLICK;
42
45
  var _useStringTemplate = (0, _utilsHandlebars.useStringTemplate)(parent, [text]),
43
46
  loadingText = _useStringTemplate.loading,
44
47
  _useStringTemplate$da = (0, _slicedToArray2["default"])(_useStringTemplate.data, 1),
@@ -47,19 +50,24 @@ var MenuItemRender = function MenuItemRender(_ref) {
47
50
  loadingUrl = _useStringTemplate2.loading,
48
51
  _useStringTemplate2$d = (0, _slicedToArray2["default"])(_useStringTemplate2.data, 1),
49
52
  urlToUse = _useStringTemplate2$d[0];
50
- var router = (0, _router.useRouter)();
51
- var isHoverEvent = eventType === _constants.HOVER;
52
- var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
53
+ var isActive = router ? (0, _helpers2.isUrlPathMatch)(router.asPath, urlToUse) : false;
54
+ var isActiveParent = router ? (0, _helpers2.hasActiveChild)(router.asPath, children) : false;
55
+ var shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;
53
56
  var hasValidChildren = (0, _helpers.hasChildren)(children);
57
+ var _useState = (0, _react.useState)(shouldPreOpen),
58
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
59
+ displayChildren = _useState2[0],
60
+ setDisplayChildren = _useState2[1];
54
61
  (0, _react.useEffect)(function () {
55
- if (!showMobileMenu) setDisplayChildren(false);
56
- }, [showMobileMenu]);
62
+ if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);
63
+ }, [children, isClickEvent, loadingUrl, openActiveSubmenus, router, shouldPreOpen, showMobileMenu]);
57
64
  (0, _react.useEffect)(function () {
58
65
  if (isHoverEvent) {
59
66
  setDisplayChildren(false);
60
67
  }
61
68
  }, [router.asPath, isHoverEvent]);
62
69
  if (loadingUrl || loadingText) return '';
70
+ var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
63
71
  var handleItemEvent = function handleItemEvent(_ref2) {
64
72
  var type = _ref2.type;
65
73
  if (isHoverEvent) {
@@ -76,18 +84,25 @@ var MenuItemRender = function MenuItemRender(_ref) {
76
84
  setDisplayChildren(!displayChildren);
77
85
  }
78
86
  };
87
+ var menuItemLinkClassname = (0, _classnames["default"])('menu--item--link', {
88
+ 'menu--item--link--active': isActive,
89
+ 'menu--item--link--active-parent': isActiveParent
90
+ });
79
91
  return /*#__PURE__*/_react["default"].createElement("li", {
80
92
  className: modifier,
81
93
  onMouseEnter: handleItemEvent,
82
94
  onMouseLeave: handleItemEvent
83
95
  }, /*#__PURE__*/_react["default"].createElement("div", {
84
- className: "menu--item--link",
96
+ className: menuItemLinkClassname,
85
97
  onClick: handleMobileClick,
86
98
  role: !urlToUse && hasValidChildren ? 'button' : undefined,
87
99
  tabIndex: !urlToUse && hasValidChildren ? 0 : undefined
88
100
  }, urlToUse ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
89
101
  href: urlToUse
90
- }, textToUse) : /*#__PURE__*/_react["default"].createElement("span", null, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
102
+ }, textToUse) : /*#__PURE__*/_react["default"].createElement("span", {
103
+ role: "button",
104
+ onClick: handleItemEvent
105
+ }, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
91
106
  role: "button",
92
107
  className: "menu--item--link--icon",
93
108
  onClick: function onClick(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_router","_utilsHandlebars","_constants","_helpers","_BlazeLink","_MenuContext","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MenuItemRender","_ref","children","eventType","text","modifier","url","parent","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","_useStringTemplate","useStringTemplate","loadingText","loading","_useStringTemplate$da","data","textToUse","_useStringTemplate2","injectHelperIntoTemplate","loadingUrl","_useStringTemplate2$d","urlToUse","router","useRouter","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","hasValidChildren","hasChildren","useEffect","asPath","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","handleMobileClick","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","stopPropagation","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useRouter } from 'next/router';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n const router = useRouter();\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n const hasValidChildren = hasChildren(children);\n\n useEffect(() => {\n if (!showMobileMenu) setDisplayChildren(false);\n }, [showMobileMenu]);\n\n useEffect(() => {\n if (isHoverEvent) {\n setDisplayChildren(false);\n }\n }, [router.asPath, isHoverEvent]);\n\n if (loadingUrl || loadingText) return '';\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n\n const handleMobileClick = () => {\n if (!urlToUse && hasValidChildren) {\n setDisplayChildren(!displayChildren);\n }\n };\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div\n className=\"menu--item--link\"\n onClick={handleMobileClick}\n role={!urlToUse && hasValidChildren ? 'button' : undefined}\n tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>\n {urlToUse ? <BlazeLink href={urlToUse}>{textToUse}</BlazeLink> : <span>{textToUse}</span>}\n\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={e => {\n e.stopPropagation();\n setDisplayChildren(!displayChildren);\n }}\n tabIndex={0}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MenuItemRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_classnames","_router","_utilsHandlebars","_constants","_helpers","_BlazeLink","_MenuContext","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MenuItemRender","_ref","children","eventType","text","modifier","url","parent","router","useRouter","_useContext","useContext","MenuContext","showMobileMenu","openActiveSubmenus","isHoverEvent","HOVER","isClickEvent","CLICK","_useStringTemplate","useStringTemplate","loadingText","loading","_useStringTemplate$da","_slicedToArray2","data","textToUse","_useStringTemplate2","injectHelperIntoTemplate","loadingUrl","_useStringTemplate2$d","urlToUse","isActive","isUrlPathMatch","asPath","isActiveParent","hasActiveChild","shouldPreOpen","hasValidChildren","hasChildren","_useState","useState","_useState2","displayChildren","setDisplayChildren","useEffect","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","handleMobileClick","menuItemLinkClassname","classnames","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","stopPropagation","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN, CLICK } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const router = useRouter();\n const { showMobileMenu, openActiveSubmenus } = useContext(MenuContext);\n\n const isHoverEvent = eventType === HOVER;\n const isClickEvent = eventType === CLICK;\n\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n const isActive = router ? isUrlPathMatch(router.asPath, urlToUse) : false;\n const isActiveParent = router ? hasActiveChild(router.asPath, children) : false;\n const shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;\n const hasValidChildren = hasChildren(children);\n\n const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);\n\n useEffect(() => {\n if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);\n }, [\n children,\n isClickEvent,\n loadingUrl,\n openActiveSubmenus,\n router,\n shouldPreOpen,\n showMobileMenu\n ]);\n\n useEffect(() => {\n if (isHoverEvent) {\n setDisplayChildren(false);\n }\n }, [router.asPath, isHoverEvent]);\n\n if (loadingUrl || loadingText) return '';\n\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n\n const handleMobileClick = () => {\n if (!urlToUse && hasValidChildren) {\n setDisplayChildren(!displayChildren);\n }\n };\n\n const menuItemLinkClassname = classnames('menu--item--link', {\n 'menu--item--link--active': isActive,\n 'menu--item--link--active-parent': isActiveParent\n });\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div\n className={menuItemLinkClassname}\n onClick={handleMobileClick}\n role={!urlToUse && hasValidChildren ? 'button' : undefined}\n tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={e => {\n e.stopPropagation();\n setDisplayChildren(!displayChildren);\n }}\n tabIndex={0}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ require("core-js/modules/es.array.find.js");
10
+ require("core-js/modules/es.object.to-string.js");
11
+ var _isUrlPathMatch = _interopRequireDefault(require("./isUrlPathMatch"));
12
+ var _helpers = require("../../../helpers");
13
+ var hasActiveChild = function hasActiveChild(path, children) {
14
+ return (0, _helpers.hasChildren)(children) && children.props.children[1][0].props.component.items.find(function (menuItem) {
15
+ return (0, _isUrlPathMatch["default"])(path, menuItem.settings.url);
16
+ });
17
+ };
18
+ var _default = exports["default"] = hasActiveChild;
19
+ //# sourceMappingURL=has-active-child.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-active-child.js","names":["_isUrlPathMatch","_interopRequireDefault","require","_helpers","hasActiveChild","path","children","hasChildren","props","component","items","find","menuItem","isUrlPathMatch","settings","url","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/has-active-child.js"],"sourcesContent":["import isUrlPathMatch from './isUrlPathMatch';\nimport { hasChildren } from '../../../helpers';\n\nconst hasActiveChild = (path, children) =>\n hasChildren(children) &&\n children.props.children[1][0].props.component.items.find(menuItem =>\n isUrlPathMatch(path, menuItem.settings.url)\n );\n\nexport default hasActiveChild;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAI,EAAEC,QAAQ;EAAA,OACpC,IAAAC,oBAAW,EAACD,QAAQ,CAAC,IACrBA,QAAQ,CAACE,KAAK,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAC,UAAAC,QAAQ;IAAA,OAC/D,IAAAC,0BAAc,EAACR,IAAI,EAAEO,QAAQ,CAACE,QAAQ,CAACC,GAAG,CAAC;EAAA,CAC7C,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEWb,cAAc","ignoreList":[]}