@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.57",
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-staging.55",
29
- "@gem-sdk/plugin-cookie-bar": "1.23.0-staging.26",
30
- "@gem-sdk/plugin-quick-view": "1.23.0-staging.26",
31
- "@gem-sdk/plugin-sticky-add-to-cart": "1.23.0-staging.26"
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"