@blaze-cms/react-page-builder 0.146.0-node18-tooltips.27 → 0.146.0-node18-core-styles-tooltips.25

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 +59 -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.27](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.26...v0.146.0-node18-tooltips.27) (2025-11-06)
6
+ # [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)
7
7
 
8
8
  **Note:** Version bump only for package @blaze-cms/react-page-builder
9
9
 
@@ -11,7 +11,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [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)
14
+ # [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)
15
15
 
16
16
  **Note:** Version bump only for package @blaze-cms/react-page-builder
17
17
 
@@ -19,7 +19,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
19
19
 
20
20
 
21
21
 
22
- # [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)
22
+ # [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)
23
23
 
24
24
 
25
25
  ### Bug Fixes
@@ -30,102 +30,107 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
30
30
 
31
31
 
32
32
 
33
- # [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)
33
+ # [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)
34
34
 
35
35
 
36
36
  ### Bug Fixes
37
37
 
38
38
  * content group variant should render passed props ([#4960](https://github.com/thebyte9/blaze/issues/4960)) ([6c947bb](https://github.com/thebyte9/blaze/commit/6c947bba61283b03185fb6a8865a96b55b8246a6))
39
+ * editor mode icon flicker improvements ([#4949](https://github.com/thebyte9/blaze/issues/4949)) ([211c72d](https://github.com/thebyte9/blaze/commit/211c72d83dc1da87e9bdef8e2a816af9ae3e321c))
40
+ * prevent search input from interfering with other inputs ([#4955](https://github.com/thebyte9/blaze/issues/4955)) ([78c6036](https://github.com/thebyte9/blaze/commit/78c6036c0040f07acfa71493bbbd73cdc4ad03b1))
41
+ * remove anchor links when search filters are applied ([#4957](https://github.com/thebyte9/blaze/issues/4957)) ([a5d4148](https://github.com/thebyte9/blaze/commit/a5d4148d1c122db654fe015f4892359ab0f9963c))
42
+ * reset input and results on click away ([#4930](https://github.com/thebyte9/blaze/issues/4930)) ([cebd271](https://github.com/thebyte9/blaze/commit/cebd271c09d0b32db5db52943888a342acd484d3))
39
43
 
40
44
 
45
+ ### Features
41
46
 
47
+ * add accordion content group variant ([#4906](https://github.com/thebyte9/blaze/issues/4906)) ([879f4e4](https://github.com/thebyte9/blaze/commit/879f4e45e3d35de6ab8e739adb0739a94a5bbfb4))
48
+ * 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))
49
+ * 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))
42
50
 
43
51
 
44
- # [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)
45
52
 
46
53
 
47
- ### Bug Fixes
48
54
 
49
- * remove anchor links when search filters are applied ([#4957](https://github.com/thebyte9/blaze/issues/4957)) ([a5d4148](https://github.com/thebyte9/blaze/commit/a5d4148d1c122db654fe015f4892359ab0f9963c))
55
+ # [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)
50
56
 
51
57
 
52
- ### Features
58
+ ### Bug Fixes
53
59
 
54
- * 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))
60
+ * remove card wrapper that is not required ([#4938](https://github.com/thebyte9/blaze/issues/4938)) ([52a449c](https://github.com/thebyte9/blaze/commit/52a449c4de5d8d806112ff4159b4d5556030e5c3))
55
61
 
56
62
 
57
63
 
58
64
 
59
65
 
60
- # [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)
66
+ # [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)
61
67
 
62
68
 
63
69
  ### Bug Fixes
64
70
 
65
- * prevent search input from interfering with other inputs ([#4955](https://github.com/thebyte9/blaze/issues/4955)) ([78c6036](https://github.com/thebyte9/blaze/commit/78c6036c0040f07acfa71493bbbd73cdc4ad03b1))
71
+ * render all group sections ([#4903](https://github.com/thebyte9/blaze/issues/4903)) ([fb79560](https://github.com/thebyte9/blaze/commit/fb7956017d8486ed345cfee889882d8c756c117f))
72
+ * updated chart icon ([#4925](https://github.com/thebyte9/blaze/issues/4925)) ([0cc8721](https://github.com/thebyte9/blaze/commit/0cc87217889e3c5ab93adb4ba8d7506fc78d9316))
66
73
 
67
74
 
68
75
 
69
76
 
70
77
 
71
- # [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)
78
+ # [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)
72
79
 
73
80
 
74
81
  ### Bug Fixes
75
82
 
76
- * editor mode icon flicker improvements ([#4949](https://github.com/thebyte9/blaze/issues/4949)) ([211c72d](https://github.com/thebyte9/blaze/commit/211c72d83dc1da87e9bdef8e2a816af9ae3e321c))
77
- * reset input and results on click away ([#4930](https://github.com/thebyte9/blaze/issues/4930)) ([cebd271](https://github.com/thebyte9/blaze/commit/cebd271c09d0b32db5db52943888a342acd484d3))
83
+ * update range when changing unit ([#4893](https://github.com/thebyte9/blaze/issues/4893)) ([817789a](https://github.com/thebyte9/blaze/commit/817789a1b5fac364ff004981855e04d25c6d8544))
78
84
 
79
85
 
80
86
  ### Features
81
87
 
82
- * add accordion content group variant ([#4906](https://github.com/thebyte9/blaze/issues/4906)) ([879f4e4](https://github.com/thebyte9/blaze/commit/879f4e45e3d35de6ab8e739adb0739a94a5bbfb4))
83
- * 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))
88
+ * navigate on SearchFilter submit even without changes ([#4904](https://github.com/thebyte9/blaze/issues/4904)) ([082e72e](https://github.com/thebyte9/blaze/commit/082e72ee8fec81f93a6664d7375e947fa0972c32))
84
89
 
85
90
 
86
91
 
87
92
 
88
93
 
89
- # [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)
94
+ # [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)
90
95
 
96
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
91
97
 
92
- ### Bug Fixes
93
98
 
94
- * remove card wrapper that is not required ([#4938](https://github.com/thebyte9/blaze/issues/4938)) ([52a449c](https://github.com/thebyte9/blaze/commit/52a449c4de5d8d806112ff4159b4d5556030e5c3))
95
99
 
96
100
 
97
101
 
102
+ # [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)
98
103
 
104
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
99
105
 
100
- # [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)
101
106
 
102
107
 
103
- ### Bug Fixes
104
108
 
105
- * render all group sections ([#4903](https://github.com/thebyte9/blaze/issues/4903)) ([fb79560](https://github.com/thebyte9/blaze/commit/fb7956017d8486ed345cfee889882d8c756c117f))
106
- * updated chart icon ([#4925](https://github.com/thebyte9/blaze/issues/4925)) ([0cc8721](https://github.com/thebyte9/blaze/commit/0cc87217889e3c5ab93adb4ba8d7506fc78d9316))
107
109
 
110
+ # [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)
108
111
 
109
112
 
113
+ ### Bug Fixes
110
114
 
115
+ * add react import missing from editor mode components ([#4885](https://github.com/thebyte9/blaze/issues/4885)) ([bb6e3eb](https://github.com/thebyte9/blaze/commit/bb6e3eb238a0f0263ed13a32e5121f49d21b2add))
111
116
 
112
- # [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)
113
117
 
114
118
 
115
- ### Bug Fixes
116
119
 
117
- * update range when changing unit ([#4893](https://github.com/thebyte9/blaze/issues/4893)) ([817789a](https://github.com/thebyte9/blaze/commit/817789a1b5fac364ff004981855e04d25c6d8544))
120
+
121
+ # [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)
118
122
 
119
123
 
120
124
  ### Features
121
125
 
122
- * navigate on SearchFilter submit even without changes ([#4904](https://github.com/thebyte9/blaze/issues/4904)) ([082e72e](https://github.com/thebyte9/blaze/commit/082e72ee8fec81f93a6664d7375e947fa0972c32))
126
+ * add hook for search content component ([#4866](https://github.com/thebyte9/blaze/issues/4866)) ([2fe2fb9](https://github.com/thebyte9/blaze/commit/2fe2fb91a13199b2c7cabbd734c3b79f9c962cad))
127
+ * add unit support to range filters ([fabc125](https://github.com/thebyte9/blaze/commit/fabc125355a4097c0fbe71e8419f207f93929926))
123
128
 
124
129
 
125
130
 
126
131
 
127
132
 
128
- # [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)
133
+ # [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)
129
134
 
130
135
  **Note:** Version bump only for package @blaze-cms/react-page-builder
131
136
 
@@ -133,33 +138,50 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
133
138
 
134
139
 
135
140
 
136
- # [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)
141
+ # [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)
142
+
143
+
144
+ ### Bug Fixes
145
+
146
+ * add constant to avoid duplication ([07d6742](https://github.com/thebyte9/blaze/commit/07d6742f894ee8e063c17847fbb89559c23c5766))
147
+ * 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))
137
148
 
138
- **Note:** Version bump only for package @blaze-cms/react-page-builder
139
149
 
140
150
 
141
151
 
142
152
 
153
+ # [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)
143
154
 
144
- # [0.146.0-node18-tooltips.0](https://github.com/thebyte9/blaze/compare/v0.145.0...v0.146.0-node18-tooltips.0) (2025-09-09)
155
+
156
+ ### Features
157
+
158
+ * added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
159
+
160
+
161
+
162
+
163
+
164
+ # [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)
145
165
 
146
166
 
147
167
  ### Bug Fixes
148
168
 
149
- * add constant to avoid duplication ([07d6742](https://github.com/thebyte9/blaze/commit/07d6742f894ee8e063c17847fbb89559c23c5766))
150
- * add react import missing from editor mode components ([#4885](https://github.com/thebyte9/blaze/issues/4885)) ([bb6e3eb](https://github.com/thebyte9/blaze/commit/bb6e3eb238a0f0263ed13a32e5121f49d21b2add))
169
+ * menu setdisplaychildren logic ([#4629](https://github.com/thebyte9/blaze/issues/4629)) ([16c5c67](https://github.com/thebyte9/blaze/commit/16c5c674f4db1505131a8557d34f5349cf33fc42))
151
170
  * added space between image counter ([fe23887](https://github.com/thebyte9/blaze/commit/fe23887db201c8f8c4d3c2df6b0f84adac84df9f))
152
171
  * apply search filters even when shouldAddFilters is false ([ac82708](https://github.com/thebyte9/blaze/commit/ac827080df3001f4643a2d7a69b8f5502646cf77))
153
172
  * changed image lightbox counter ([3e22b68](https://github.com/thebyte9/blaze/commit/3e22b6817d60d2b4fd4beac713f864fdb5b6826e))
154
173
  * close menu item on url change ([#4669](https://github.com/thebyte9/blaze/issues/4669)) ([697750a](https://github.com/thebyte9/blaze/commit/697750ac771a5ea89702e990e23d6e78b1c45a67))
155
174
  * encode dynamic menu urls ([#4497](https://github.com/thebyte9/blaze/issues/4497)) ([43695a0](https://github.com/thebyte9/blaze/commit/43695a01408a85a5cd94704d9b78f36fd3fb509f))
156
175
  * exported necessary helpers from blaze react page builder ([#4466](https://github.com/thebyte9/blaze/issues/4466)) ([9a8d0db](https://github.com/thebyte9/blaze/commit/9a8d0db28dc0fbf7a2c93733fa1c7d61f293ac1b))
176
+ * extended regex for #s in urls ([#4648](https://github.com/thebyte9/blaze/issues/4648)) ([089b19a](https://github.com/thebyte9/blaze/commit/089b19afaf503477429df3415fcd382e8b55745a))
157
177
  * fixed breaking tests, updated next to 14 ([fecb0e1](https://github.com/thebyte9/blaze/commit/fecb0e1d822bd69ebbaa084072a219f0fddd23f1))
158
178
  * fixed code smells ([95d874e](https://github.com/thebyte9/blaze/commit/95d874e7e392e8e39921c146c86987d515d090e5))
159
179
  * fixed more tests ([46a2fb9](https://github.com/thebyte9/blaze/commit/46a2fb9467f9f3c9cf320c9caf36c66503cc1f49))
160
180
  * fixed nan values on ranges ([#4582](https://github.com/thebyte9/blaze/issues/4582)) ([963ceec](https://github.com/thebyte9/blaze/commit/963ceec6b1eea027cb36b9358f7dee5e91e852ce))
161
181
  * fixed url change not reflecting on filters ([#4488](https://github.com/thebyte9/blaze/issues/4488)) ([0d6574f](https://github.com/thebyte9/blaze/commit/0d6574f5d5e698633c6032668cb8e1d914cf0342))
162
182
  * 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))
183
+ * fixed variable placing ([cbd733b](https://github.com/thebyte9/blaze/commit/cbd733b15bf9094bec7f2349267042fe22a54dac))
184
+ * handle active url ([58be170](https://github.com/thebyte9/blaze/commit/58be170c8641abeb89e6b51dca9c5a75179c3dd7))
163
185
  * 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))
164
186
  * improve filter and pagination scroll client side ([#4803](https://github.com/thebyte9/blaze/issues/4803)) ([b438755](https://github.com/thebyte9/blaze/commit/b4387551cb9fea3197c83db6b245ecd11a2dd64a))
165
187
  * lint errors in node 18 dev ([#4784](https://github.com/thebyte9/blaze/issues/4784)) ([5b102df](https://github.com/thebyte9/blaze/commit/5b102df10a77abc62aa94ffa476f1c2156c17947))
@@ -169,15 +191,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
169
191
  * permission should be returned when returnPermission=true ([#4775](https://github.com/thebyte9/blaze/issues/4775)) ([5f9f903](https://github.com/thebyte9/blaze/commit/5f9f90341c871d9dc76b035b7511e71cb7f964fe))
170
192
  * persist last selected filter ([#4526](https://github.com/thebyte9/blaze/issues/4526)) ([5b15b57](https://github.com/thebyte9/blaze/commit/5b15b57f5b008a6a9b71a0ea4d5a7bc75b1779a3))
171
193
  * remove limit from dynamic menu item check ([535e557](https://github.com/thebyte9/blaze/commit/535e5574817c3d4248419cf42961fdc27c28dd34))
194
+ * remove limit from dynamic menu item check ([#4533](https://github.com/thebyte9/blaze/issues/4533)) ([2f9cba8](https://github.com/thebyte9/blaze/commit/2f9cba859223e0d2a81ce8bb816cfacbe7b474b6))
172
195
  * 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))
173
196
  * removed commented code ([5e93306](https://github.com/thebyte9/blaze/commit/5e933063ff0896dc67da0b33506231bc57427a40))
174
197
  * removed empty sapce ([461f486](https://github.com/thebyte9/blaze/commit/461f4868cf7a49208825851ff4dbc22a2c65974e))
175
198
  * resolving eslint warnings ([d4d1568](https://github.com/thebyte9/blaze/commit/d4d1568751c3f63a630bf396ff002c7fdc2532e8))
176
199
  * resolving eslint warnings ([a0fc18a](https://github.com/thebyte9/blaze/commit/a0fc18a4b4ef4f2f50edf2ae9fd24ab8fb4ef2bb))
177
- * 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))
178
200
  * set correct list limit ([#4714](https://github.com/thebyte9/blaze/issues/4714)) ([4b981a2](https://github.com/thebyte9/blaze/commit/4b981a29a19e78d1cbd72fa2ab1d867958e0bdee))
201
+ * typo ([88018f9](https://github.com/thebyte9/blaze/commit/88018f96fe2559a981826acb67a60f5b02c94f04))
179
202
  * udpated yarn lock ([0cd4fa4](https://github.com/thebyte9/blaze/commit/0cd4fa4a185fca4b80b57e472badb771dd649ec2))
180
203
  * 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))
204
+ * update snapshot ([f3e1029](https://github.com/thebyte9/blaze/commit/f3e1029d9eb713a3126f396966ad01516a6a6add))
181
205
  * updated jest dependences/setup ([6d6cba8](https://github.com/thebyte9/blaze/commit/6d6cba84b3c4ce4d4da7463098de19815a9fb7a6))
182
206
  * updated react-testing-library ([ec9a955](https://github.com/thebyte9/blaze/commit/ec9a955d8991989a8daf6910d084b2853f557647))
183
207
  * updated with dev ([90f545f](https://github.com/thebyte9/blaze/commit/90f545f1beabb35e26ba6fb2b45a7a0dfd072927))
@@ -191,13 +215,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
191
215
  ### Features
192
216
 
193
217
  * add Floating Side Button variant with MVP styling ([#4594](https://github.com/thebyte9/blaze/issues/4594)) ([effb843](https://github.com/thebyte9/blaze/commit/effb843fa9c226fbf07b3ad3dac359d81e164590))
194
- * add hook for search content component ([#4866](https://github.com/thebyte9/blaze/issues/4866)) ([2fe2fb9](https://github.com/thebyte9/blaze/commit/2fe2fb91a13199b2c7cabbd734c3b79f9c962cad))
195
218
  * add list live variant ([#4727](https://github.com/thebyte9/blaze/issues/4727)) ([f482abf](https://github.com/thebyte9/blaze/commit/f482abfe03bf6db2d2d7eb462f8141ff80c1cc79))
196
219
  * add live property to content entities ([#4729](https://github.com/thebyte9/blaze/issues/4729)) ([8cdc5d6](https://github.com/thebyte9/blaze/commit/8cdc5d6b57945590ac97bd2da82c7ad74583c51d))
197
220
  * 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))
198
- * add unit support to range filters ([fabc125](https://github.com/thebyte9/blaze/commit/fabc125355a4097c0fbe71e8419f207f93929926))
199
221
  * add video component events for youtube and jwplayer ([7b4aa78](https://github.com/thebyte9/blaze/commit/7b4aa78dea3798d736b32aed13760cc67445780c))
200
- * added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
201
222
  * added Loading component ([#4469](https://github.com/thebyte9/blaze/issues/4469)) ([957f09b](https://github.com/thebyte9/blaze/commit/957f09bab84e2e08df879abf4eec17293d167e00))
202
223
  * allow customisation of refine search text ([#4489](https://github.com/thebyte9/blaze/issues/4489)) ([2082c4b](https://github.com/thebyte9/blaze/commit/2082c4b9322882cf779c9619d32ff44793324723))
203
224
  * dynamic menu items ([#4099](https://github.com/thebyte9/blaze/issues/4099)) ([c1e052b](https://github.com/thebyte9/blaze/commit/c1e052ba93218d4f603c697cf8b533d2d0befbf1))
@@ -205,6 +226,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
205
226
  * 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))
206
227
  * make editorview card placeholders dynamic ([#4722](https://github.com/thebyte9/blaze/issues/4722)) ([872be4a](https://github.com/thebyte9/blaze/commit/872be4ac9537fa8d52c705c4b120eec23a35afae))
207
228
  * move error message component to react page builder ([#4680](https://github.com/thebyte9/blaze/issues/4680)) ([5585514](https://github.com/thebyte9/blaze/commit/55855146a43300c702d7a8284828f592854950c7))
229
+ * new preOpenMenu menu setting ([db23d0d](https://github.com/thebyte9/blaze/commit/db23d0d46a3bfe9db848ce5b52532c13e8ed5aa0))
208
230
  * update image-cdn-react package with fetchpolicy update ([#4564](https://github.com/thebyte9/blaze/issues/4564)) ([1b6b719](https://github.com/thebyte9/blaze/commit/1b6b71952dc63f90fdecde1c4214e59a3207d615))
209
231
  * updated react to 18 ([9335f84](https://github.com/thebyte9/blaze/commit/9335f8432b376494501abb9c3deef1ddaa9b35a8))
210
232
 
@@ -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":[]}
@@ -5,11 +5,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "hasActiveChild", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _hasActiveChild["default"];
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "injectHelperIntoTemplate", {
9
15
  enumerable: true,
10
16
  get: function get() {
11
17
  return _injectHelperIntoTemplate["default"];
12
18
  }
13
19
  });
20
+ Object.defineProperty(exports, "isUrlPathMatch", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _isUrlPathMatch["default"];
24
+ }
25
+ });
14
26
  var _injectHelperIntoTemplate = _interopRequireDefault(require("./inject-helper-into-template"));
27
+ var _isUrlPathMatch = _interopRequireDefault(require("./isUrlPathMatch"));
28
+ var _hasActiveChild = _interopRequireDefault(require("./has-active-child"));
15
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_injectHelperIntoTemplate","_interopRequireDefault","require"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\n\nexport { injectHelperIntoTemplate };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_injectHelperIntoTemplate","_interopRequireDefault","require","_isUrlPathMatch","_hasActiveChild"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\nimport isUrlPathMatch from './isUrlPathMatch';\nimport hasActiveChild from './has-active-child';\n\nexport { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.regexp.constructor.js");
9
+ require("core-js/modules/es.regexp.exec.js");
10
+ require("core-js/modules/es.regexp.to-string.js");
11
+ var isUrlPathMatch = function isUrlPathMatch(path, itemUrl) {
12
+ if (!itemUrl || !path) return false;
13
+ var reg = new RegExp(/^[^#?]+/);
14
+ var _path = reg.exec(path)[0];
15
+ return _path === itemUrl || _path === "/".concat(itemUrl);
16
+ };
17
+ var _default = exports["default"] = isUrlPathMatch;
18
+ //# sourceMappingURL=isUrlPathMatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isUrlPathMatch.js","names":["isUrlPathMatch","path","itemUrl","reg","RegExp","_path","exec","concat","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/isUrlPathMatch.js"],"sourcesContent":["const isUrlPathMatch = (path, itemUrl) => {\n if (!itemUrl || !path) return false;\n\n const reg = new RegExp(/^[^#?]+/);\n const _path = reg.exec(path)[0];\n\n return _path === itemUrl || _path === `/${itemUrl}`;\n};\n\nexport default isUrlPathMatch;\n"],"mappings":";;;;;;;;;;AAAA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAI,EAAEC,OAAO,EAAK;EACxC,IAAI,CAACA,OAAO,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EAEnC,IAAME,GAAG,GAAG,IAAIC,MAAM,CAAC,SAAS,CAAC;EACjC,IAAMC,KAAK,GAAGF,GAAG,CAACG,IAAI,CAACL,IAAI,CAAC,CAAC,CAAC,CAAC;EAE/B,OAAOI,KAAK,KAAKH,OAAO,IAAIG,KAAK,SAAAE,MAAA,CAASL,OAAO,CAAE;AACrD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEaT,cAAc","ignoreList":[]}