@gem-sdk/pages 1.23.0-moon.57 → 1.23.0-moon.60
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.
|
@@ -11,6 +11,7 @@ const Toolbar = ()=>{
|
|
|
11
11
|
const isDragging = react.useRef(false);
|
|
12
12
|
const stopWatchReRenderComponent = react.useRef();
|
|
13
13
|
const isResizeSpacing = react.useRef(false);
|
|
14
|
+
const isResizeColumn = react.useRef(false);
|
|
14
15
|
/* Functions */ const changePositionToolbar = ({ state, $toolbar, $component })=>{
|
|
15
16
|
const $parentOverflow = findOverflowParent($component, $toolbar);
|
|
16
17
|
if ($parentOverflow) {
|
|
@@ -47,6 +48,7 @@ const Toolbar = ()=>{
|
|
|
47
48
|
const $outline = getChildrenByAttrSelector($component, 'data-outline');
|
|
48
49
|
const $btnAddTop = getChildrenByAttrSelector($component, 'data-toolbar-add-top');
|
|
49
50
|
const $btnAddBottom = getChildrenByAttrSelector($component, 'data-toolbar-add-bottom');
|
|
51
|
+
const $resizeColumn = getChildrenByAttrSelector($component, 'data-column');
|
|
50
52
|
const $themeSectionStatus = getChildrenByAttrSelector($component, 'data-theme-section-status');
|
|
51
53
|
if (isThemeSection && $themeSectionStatus) {
|
|
52
54
|
$themeSectionStatus.setAttribute('data-theme-section-status-active', 'true');
|
|
@@ -78,6 +80,9 @@ const Toolbar = ()=>{
|
|
|
78
80
|
if ($btnAddBottom) {
|
|
79
81
|
$btnAddBottom.setAttribute('data-toolbar-add-hover', 'true');
|
|
80
82
|
}
|
|
83
|
+
if ($resizeColumn) {
|
|
84
|
+
$resizeColumn.setAttribute('data-column-visible', 'true');
|
|
85
|
+
}
|
|
81
86
|
}, []);
|
|
82
87
|
const setHoverComponentParents = react.useCallback(({ $component, componentUid })=>{
|
|
83
88
|
if (!$component) {
|
|
@@ -167,7 +172,8 @@ const Toolbar = ()=>{
|
|
|
167
172
|
'data-toolbar-hover-revert',
|
|
168
173
|
'data-toolbar-hover-inside',
|
|
169
174
|
'data-outline-hover',
|
|
170
|
-
'data-toolbar-add-hover'
|
|
175
|
+
'data-toolbar-add-hover',
|
|
176
|
+
'data-column-visible'
|
|
171
177
|
];
|
|
172
178
|
const $elms = document.querySelectorAll(clearAttrs.map((attr)=>`[${attr}]`).join(','));
|
|
173
179
|
if ($elms) {
|
|
@@ -189,7 +195,8 @@ const Toolbar = ()=>{
|
|
|
189
195
|
'data-toolbar-active-inside',
|
|
190
196
|
'data-spacing-margin-bottom-active',
|
|
191
197
|
'data-toolbar-force-hover',
|
|
192
|
-
'data-outline-force-hover'
|
|
198
|
+
'data-outline-force-hover',
|
|
199
|
+
'data-column-force-visible'
|
|
193
200
|
];
|
|
194
201
|
const $elms = document.querySelectorAll(clearAttrs.map((attr)=>`[${attr}]`).join(','));
|
|
195
202
|
if ($elms) {
|
|
@@ -290,6 +297,7 @@ const Toolbar = ()=>{
|
|
|
290
297
|
const $outline = getChildrenByAttrSelector($component, 'data-outline');
|
|
291
298
|
const $btnAddTop = getChildrenByAttrSelector($component, 'data-toolbar-add-top');
|
|
292
299
|
const $btnAddBottom = getChildrenByAttrSelector($component, 'data-toolbar-add-bottom');
|
|
300
|
+
const $resizeColumn = getChildrenByAttrSelector($component, 'data-column');
|
|
293
301
|
if ($toolbar) {
|
|
294
302
|
currentComponentActive.current = {
|
|
295
303
|
componentUid,
|
|
@@ -312,6 +320,9 @@ const Toolbar = ()=>{
|
|
|
312
320
|
if ($btnAddBottom) {
|
|
313
321
|
$btnAddBottom.setAttribute('data-toolbar-add-active', 'true');
|
|
314
322
|
}
|
|
323
|
+
if ($resizeColumn) {
|
|
324
|
+
$resizeColumn.setAttribute('data-column-force-visible', 'true');
|
|
325
|
+
}
|
|
315
326
|
// Active same element in product list
|
|
316
327
|
if (productId) {
|
|
317
328
|
const $relatedElements = document.querySelectorAll(`[data-uid="${componentUid}"]`);
|
|
@@ -464,6 +475,7 @@ const Toolbar = ()=>{
|
|
|
464
475
|
/* Event listener */ const onMouseMove = react.useCallback((e)=>{
|
|
465
476
|
if (isDragging.current) return;
|
|
466
477
|
if (isResizeSpacing.current) return;
|
|
478
|
+
if (isResizeColumn.current) return;
|
|
467
479
|
const $target = e.target;
|
|
468
480
|
if (!$target) {
|
|
469
481
|
removeHoverOverlayComponent();
|
|
@@ -608,6 +620,17 @@ const Toolbar = ()=>{
|
|
|
608
620
|
}, [
|
|
609
621
|
removeHoverComponent
|
|
610
622
|
]);
|
|
623
|
+
const onResizeColumn = react.useCallback((e)=>{
|
|
624
|
+
const detail = e.detail;
|
|
625
|
+
if (detail?.value) {
|
|
626
|
+
removeHoverComponent();
|
|
627
|
+
isResizeColumn.current = true;
|
|
628
|
+
} else {
|
|
629
|
+
isResizeColumn.current = false;
|
|
630
|
+
}
|
|
631
|
+
}, [
|
|
632
|
+
removeHoverComponent
|
|
633
|
+
]);
|
|
611
634
|
/* Register event */ react.useEffect(()=>{
|
|
612
635
|
document.addEventListener('mousemove', onMouseMove);
|
|
613
636
|
window.addEventListener('editor:active-component', onActiveComponent);
|
|
@@ -616,6 +639,7 @@ const Toolbar = ()=>{
|
|
|
616
639
|
window.addEventListener('editor:is-editing-text-editor', onIsEditingTextEditor);
|
|
617
640
|
window.addEventListener('editor:toolbar:show-parents', onShowParents);
|
|
618
641
|
window.addEventListener('editor:toolbar:resize-spacing', onResizeSpacing);
|
|
642
|
+
window.addEventListener('editor:toolbar:resize-column', onResizeColumn);
|
|
619
643
|
return ()=>{
|
|
620
644
|
document.removeEventListener('mousemove', onMouseMove);
|
|
621
645
|
window.removeEventListener('editor:active-component', onActiveComponent);
|
|
@@ -624,6 +648,7 @@ const Toolbar = ()=>{
|
|
|
624
648
|
window.removeEventListener('editor:is-editing-text-editor', onIsEditingTextEditor);
|
|
625
649
|
window.removeEventListener('editor:toolbar:show-parents', onShowParents);
|
|
626
650
|
window.removeEventListener('editor:toolbar:resize-spacing', onResizeSpacing);
|
|
651
|
+
window.removeEventListener('editor:toolbar:resize-column', onResizeColumn);
|
|
627
652
|
};
|
|
628
653
|
}, [
|
|
629
654
|
onMouseMove,
|
|
@@ -632,7 +657,8 @@ const Toolbar = ()=>{
|
|
|
632
657
|
onIsDragging,
|
|
633
658
|
onIsEditingTextEditor,
|
|
634
659
|
onShowParents,
|
|
635
|
-
onResizeSpacing
|
|
660
|
+
onResizeSpacing,
|
|
661
|
+
onResizeColumn
|
|
636
662
|
]);
|
|
637
663
|
return null;
|
|
638
664
|
};
|
|
@@ -7,6 +7,7 @@ const Toolbar = ()=>{
|
|
|
7
7
|
const isDragging = useRef(false);
|
|
8
8
|
const stopWatchReRenderComponent = useRef();
|
|
9
9
|
const isResizeSpacing = useRef(false);
|
|
10
|
+
const isResizeColumn = useRef(false);
|
|
10
11
|
/* Functions */ const changePositionToolbar = ({ state, $toolbar, $component })=>{
|
|
11
12
|
const $parentOverflow = findOverflowParent($component, $toolbar);
|
|
12
13
|
if ($parentOverflow) {
|
|
@@ -43,6 +44,7 @@ const Toolbar = ()=>{
|
|
|
43
44
|
const $outline = getChildrenByAttrSelector($component, 'data-outline');
|
|
44
45
|
const $btnAddTop = getChildrenByAttrSelector($component, 'data-toolbar-add-top');
|
|
45
46
|
const $btnAddBottom = getChildrenByAttrSelector($component, 'data-toolbar-add-bottom');
|
|
47
|
+
const $resizeColumn = getChildrenByAttrSelector($component, 'data-column');
|
|
46
48
|
const $themeSectionStatus = getChildrenByAttrSelector($component, 'data-theme-section-status');
|
|
47
49
|
if (isThemeSection && $themeSectionStatus) {
|
|
48
50
|
$themeSectionStatus.setAttribute('data-theme-section-status-active', 'true');
|
|
@@ -74,6 +76,9 @@ const Toolbar = ()=>{
|
|
|
74
76
|
if ($btnAddBottom) {
|
|
75
77
|
$btnAddBottom.setAttribute('data-toolbar-add-hover', 'true');
|
|
76
78
|
}
|
|
79
|
+
if ($resizeColumn) {
|
|
80
|
+
$resizeColumn.setAttribute('data-column-visible', 'true');
|
|
81
|
+
}
|
|
77
82
|
}, []);
|
|
78
83
|
const setHoverComponentParents = useCallback(({ $component, componentUid })=>{
|
|
79
84
|
if (!$component) {
|
|
@@ -163,7 +168,8 @@ const Toolbar = ()=>{
|
|
|
163
168
|
'data-toolbar-hover-revert',
|
|
164
169
|
'data-toolbar-hover-inside',
|
|
165
170
|
'data-outline-hover',
|
|
166
|
-
'data-toolbar-add-hover'
|
|
171
|
+
'data-toolbar-add-hover',
|
|
172
|
+
'data-column-visible'
|
|
167
173
|
];
|
|
168
174
|
const $elms = document.querySelectorAll(clearAttrs.map((attr)=>`[${attr}]`).join(','));
|
|
169
175
|
if ($elms) {
|
|
@@ -185,7 +191,8 @@ const Toolbar = ()=>{
|
|
|
185
191
|
'data-toolbar-active-inside',
|
|
186
192
|
'data-spacing-margin-bottom-active',
|
|
187
193
|
'data-toolbar-force-hover',
|
|
188
|
-
'data-outline-force-hover'
|
|
194
|
+
'data-outline-force-hover',
|
|
195
|
+
'data-column-force-visible'
|
|
189
196
|
];
|
|
190
197
|
const $elms = document.querySelectorAll(clearAttrs.map((attr)=>`[${attr}]`).join(','));
|
|
191
198
|
if ($elms) {
|
|
@@ -286,6 +293,7 @@ const Toolbar = ()=>{
|
|
|
286
293
|
const $outline = getChildrenByAttrSelector($component, 'data-outline');
|
|
287
294
|
const $btnAddTop = getChildrenByAttrSelector($component, 'data-toolbar-add-top');
|
|
288
295
|
const $btnAddBottom = getChildrenByAttrSelector($component, 'data-toolbar-add-bottom');
|
|
296
|
+
const $resizeColumn = getChildrenByAttrSelector($component, 'data-column');
|
|
289
297
|
if ($toolbar) {
|
|
290
298
|
currentComponentActive.current = {
|
|
291
299
|
componentUid,
|
|
@@ -308,6 +316,9 @@ const Toolbar = ()=>{
|
|
|
308
316
|
if ($btnAddBottom) {
|
|
309
317
|
$btnAddBottom.setAttribute('data-toolbar-add-active', 'true');
|
|
310
318
|
}
|
|
319
|
+
if ($resizeColumn) {
|
|
320
|
+
$resizeColumn.setAttribute('data-column-force-visible', 'true');
|
|
321
|
+
}
|
|
311
322
|
// Active same element in product list
|
|
312
323
|
if (productId) {
|
|
313
324
|
const $relatedElements = document.querySelectorAll(`[data-uid="${componentUid}"]`);
|
|
@@ -460,6 +471,7 @@ const Toolbar = ()=>{
|
|
|
460
471
|
/* Event listener */ const onMouseMove = useCallback((e)=>{
|
|
461
472
|
if (isDragging.current) return;
|
|
462
473
|
if (isResizeSpacing.current) return;
|
|
474
|
+
if (isResizeColumn.current) return;
|
|
463
475
|
const $target = e.target;
|
|
464
476
|
if (!$target) {
|
|
465
477
|
removeHoverOverlayComponent();
|
|
@@ -604,6 +616,17 @@ const Toolbar = ()=>{
|
|
|
604
616
|
}, [
|
|
605
617
|
removeHoverComponent
|
|
606
618
|
]);
|
|
619
|
+
const onResizeColumn = useCallback((e)=>{
|
|
620
|
+
const detail = e.detail;
|
|
621
|
+
if (detail?.value) {
|
|
622
|
+
removeHoverComponent();
|
|
623
|
+
isResizeColumn.current = true;
|
|
624
|
+
} else {
|
|
625
|
+
isResizeColumn.current = false;
|
|
626
|
+
}
|
|
627
|
+
}, [
|
|
628
|
+
removeHoverComponent
|
|
629
|
+
]);
|
|
607
630
|
/* Register event */ useEffect(()=>{
|
|
608
631
|
document.addEventListener('mousemove', onMouseMove);
|
|
609
632
|
window.addEventListener('editor:active-component', onActiveComponent);
|
|
@@ -612,6 +635,7 @@ const Toolbar = ()=>{
|
|
|
612
635
|
window.addEventListener('editor:is-editing-text-editor', onIsEditingTextEditor);
|
|
613
636
|
window.addEventListener('editor:toolbar:show-parents', onShowParents);
|
|
614
637
|
window.addEventListener('editor:toolbar:resize-spacing', onResizeSpacing);
|
|
638
|
+
window.addEventListener('editor:toolbar:resize-column', onResizeColumn);
|
|
615
639
|
return ()=>{
|
|
616
640
|
document.removeEventListener('mousemove', onMouseMove);
|
|
617
641
|
window.removeEventListener('editor:active-component', onActiveComponent);
|
|
@@ -620,6 +644,7 @@ const Toolbar = ()=>{
|
|
|
620
644
|
window.removeEventListener('editor:is-editing-text-editor', onIsEditingTextEditor);
|
|
621
645
|
window.removeEventListener('editor:toolbar:show-parents', onShowParents);
|
|
622
646
|
window.removeEventListener('editor:toolbar:resize-spacing', onResizeSpacing);
|
|
647
|
+
window.removeEventListener('editor:toolbar:resize-column', onResizeColumn);
|
|
623
648
|
};
|
|
624
649
|
}, [
|
|
625
650
|
onMouseMove,
|
|
@@ -628,7 +653,8 @@ const Toolbar = ()=>{
|
|
|
628
653
|
onIsDragging,
|
|
629
654
|
onIsEditingTextEditor,
|
|
630
655
|
onShowParents,
|
|
631
|
-
onResizeSpacing
|
|
656
|
+
onResizeSpacing,
|
|
657
|
+
onResizeColumn
|
|
632
658
|
]);
|
|
633
659
|
return null;
|
|
634
660
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "1.23.0-moon.
|
|
3
|
+
"version": "1.23.0-moon.60",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"next-seo": "^6.0.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@gem-sdk/core": "1.23.0-
|
|
29
|
-
"@gem-sdk/plugin-cookie-bar": "1.23.0-
|
|
30
|
-
"@gem-sdk/plugin-quick-view": "1.23.0-
|
|
31
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "1.23.0-
|
|
28
|
+
"@gem-sdk/core": "1.23.0-moon.60",
|
|
29
|
+
"@gem-sdk/plugin-cookie-bar": "1.23.0-moon.58",
|
|
30
|
+
"@gem-sdk/plugin-quick-view": "1.23.0-moon.58",
|
|
31
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "1.23.0-moon.58"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"next": ">=13"
|