@gem-sdk/core 1.42.3-dev.64 → 1.42.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ComponentToolbarPreview.js +6 -120
- package/dist/cjs/components/ComponentWrapperPreview.js +1 -44
- package/dist/cjs/components/Render.liquid.js +0 -2
- package/dist/cjs/components/RenderCustomCode.js +0 -2
- package/dist/cjs/components/constant.js +2 -19
- package/dist/cjs/components/resize/Spacing.js +0 -2
- package/dist/cjs/components/theme-section/CreateThemeSection.js +0 -2
- package/dist/cjs/contexts/BuilderPreviewContext.js +6 -11
- package/dist/cjs/contexts/SectionContext.js +0 -1
- package/dist/cjs/helpers/carousel.js +10 -7
- package/dist/cjs/helpers/colors.js +1 -1
- package/dist/cjs/helpers/queries/get-products.js +0 -23
- package/dist/cjs/helpers/typography.js +4 -4
- package/dist/cjs/hooks/shop/use-products-query.js +0 -29
- package/dist/cjs/hooks/useAnimations.js +0 -2
- package/dist/cjs/hooks/useInitialSwatchesOptions.js +0 -2
- package/dist/cjs/hooks/useProduct.js +0 -2
- package/dist/cjs/index.js +15 -26
- package/dist/esm/components/ComponentToolbarPreview.js +6 -120
- package/dist/esm/components/ComponentWrapperPreview.js +1 -44
- package/dist/esm/components/Render.liquid.js +0 -2
- package/dist/esm/components/RenderCustomCode.js +0 -2
- package/dist/esm/components/constant.js +3 -19
- package/dist/esm/components/resize/Spacing.js +0 -2
- package/dist/esm/components/theme-section/CreateThemeSection.js +0 -2
- package/dist/esm/contexts/BuilderPreviewContext.js +6 -11
- package/dist/esm/contexts/SectionContext.js +0 -1
- package/dist/esm/helpers/carousel.js +10 -7
- package/dist/esm/helpers/colors.js +1 -1
- package/dist/esm/helpers/queries/get-products.js +1 -23
- package/dist/esm/helpers/typography.js +4 -4
- package/dist/esm/hooks/shop/use-products-query.js +2 -30
- package/dist/esm/hooks/useAnimations.js +0 -2
- package/dist/esm/hooks/useInitialSwatchesOptions.js +0 -2
- package/dist/esm/hooks/useProduct.js +0 -2
- package/dist/esm/index.js +10 -14
- package/dist/types/index.d.ts +86 -227
- package/package.json +3 -5
- package/dist/cjs/components/ai-generator/AIContentGenerator.js +0 -205
- package/dist/cjs/components/ai-generator/AIGenContentLoading.js +0 -85
- package/dist/cjs/components/ai-generator/components/PickProduct.js +0 -218
- package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +0 -77
- package/dist/cjs/components/ai-generator/hooks/useCheckingProductInside.js +0 -47
- package/dist/cjs/components/ai-generator/hooks/useFlipPopup.js +0 -110
- package/dist/cjs/components/ai-generator/hooks/useGettingGenerateRequest.js +0 -37
- package/dist/cjs/components/ai-generator/hooks/useListenEventGenerate.js +0 -63
- package/dist/cjs/components/ai-generator/icons/AIIcon.js +0 -67
- package/dist/cjs/components/ai-generator/icons/CloseIcon.js +0 -19
- package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +0 -37
- package/dist/cjs/components/ai-generator/icons/SearchIcon.js +0 -21
- package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +0 -21
- package/dist/cjs/contexts/ArticleContext.js +0 -39
- package/dist/cjs/contexts/ArticleListContext.js +0 -32
- package/dist/cjs/helpers/align.js +0 -19
- package/dist/cjs/hooks/articles/useArticlesQuery.js +0 -152
- package/dist/esm/components/ai-generator/AIContentGenerator.js +0 -203
- package/dist/esm/components/ai-generator/AIGenContentLoading.js +0 -83
- package/dist/esm/components/ai-generator/components/PickProduct.js +0 -216
- package/dist/esm/components/ai-generator/components/ToneAndVoice.js +0 -75
- package/dist/esm/components/ai-generator/hooks/useCheckingProductInside.js +0 -45
- package/dist/esm/components/ai-generator/hooks/useFlipPopup.js +0 -108
- package/dist/esm/components/ai-generator/hooks/useGettingGenerateRequest.js +0 -35
- package/dist/esm/components/ai-generator/hooks/useListenEventGenerate.js +0 -61
- package/dist/esm/components/ai-generator/icons/AIIcon.js +0 -65
- package/dist/esm/components/ai-generator/icons/CloseIcon.js +0 -17
- package/dist/esm/components/ai-generator/icons/DropdownIcon.js +0 -34
- package/dist/esm/components/ai-generator/icons/SearchIcon.js +0 -19
- package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +0 -19
- package/dist/esm/contexts/ArticleContext.js +0 -36
- package/dist/esm/contexts/ArticleListContext.js +0 -28
- package/dist/esm/helpers/align.js +0 -17
- package/dist/esm/hooks/articles/useArticlesQuery.js +0 -149
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var react = require('react');
|
|
4
|
-
|
|
5
|
-
const useFlipPopup = (isShowPopup, dom)=>{
|
|
6
|
-
const { genTool, genPopup, genPopupHeader, genButtonWrapper } = dom;
|
|
7
|
-
const [popupPositionY, setPopupPositionY] = react.useState('top');
|
|
8
|
-
const [popupPositionX, setPopupPositionX] = react.useState('left');
|
|
9
|
-
const [bodyMaxHeight, setBodyMaxHeight] = react.useState(null);
|
|
10
|
-
const [isValidating, setIsValidating] = react.useState(true);
|
|
11
|
-
const calculateMaxHeight = react.useCallback((currentPopupPositionY)=>{
|
|
12
|
-
const parentOverflow = genTool.current?.closest("[class~='gp-overflow-hidden']");
|
|
13
|
-
if (!parentOverflow || !genTool.current) {
|
|
14
|
-
return {
|
|
15
|
-
positionY: currentPopupPositionY,
|
|
16
|
-
maxHeight: null
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const parentOverflowPos = parentOverflow.getBoundingClientRect();
|
|
20
|
-
const genToolPos = genTool.current.getBoundingClientRect();
|
|
21
|
-
const genToolHeaderHeight = genPopupHeader.current?.getBoundingClientRect().height || 0;
|
|
22
|
-
const genButtonHeight = genButtonWrapper.current?.getBoundingClientRect().height || 0;
|
|
23
|
-
const DISTANCE = 8;
|
|
24
|
-
const maxHeightForPositionTop = Math.max(parentOverflowPos.bottom - genToolPos.bottom - genToolHeaderHeight - genButtonHeight - DISTANCE, 0);
|
|
25
|
-
const maxHeightForPositionBottom = Math.max(genToolPos.top - parentOverflowPos.top - genToolHeaderHeight - genButtonHeight - DISTANCE, 0);
|
|
26
|
-
if (maxHeightForPositionBottom > maxHeightForPositionTop) {
|
|
27
|
-
return {
|
|
28
|
-
positionY: 'bottom',
|
|
29
|
-
maxHeight: maxHeightForPositionBottom
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
positionY: 'top',
|
|
34
|
-
maxHeight: maxHeightForPositionTop
|
|
35
|
-
};
|
|
36
|
-
}, [
|
|
37
|
-
genTool,
|
|
38
|
-
genPopupHeader,
|
|
39
|
-
genButtonWrapper
|
|
40
|
-
]);
|
|
41
|
-
const handleChangePopupPositionY = react.useCallback((posY)=>{
|
|
42
|
-
const { positionY: calcPosY, maxHeight } = calculateMaxHeight(posY);
|
|
43
|
-
setPopupPositionY(calcPosY);
|
|
44
|
-
setBodyMaxHeight(maxHeight);
|
|
45
|
-
}, [
|
|
46
|
-
calculateMaxHeight
|
|
47
|
-
]);
|
|
48
|
-
const calculatePopupPositionY = react.useCallback(()=>{
|
|
49
|
-
if (!genTool.current || !genPopup.current) return;
|
|
50
|
-
const viewHeight = window.innerHeight;
|
|
51
|
-
const scrollHeight = document.documentElement.scrollHeight;
|
|
52
|
-
const scrollTop = document.documentElement.scrollTop;
|
|
53
|
-
const toolPos = genTool.current?.getBoundingClientRect();
|
|
54
|
-
const genPopupHeight = genPopup.current?.getBoundingClientRect().height;
|
|
55
|
-
const MIN_DISTANCE = 50;
|
|
56
|
-
if (scrollTop + toolPos.top + genPopupHeight >= scrollHeight - MIN_DISTANCE) {
|
|
57
|
-
handleChangePopupPositionY('bottom');
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (toolPos.bottom + genPopupHeight > viewHeight) {
|
|
61
|
-
if (toolPos.top - genPopupHeight < 0) {
|
|
62
|
-
handleChangePopupPositionY('top');
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
handleChangePopupPositionY('bottom');
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
handleChangePopupPositionY('top');
|
|
69
|
-
}, [
|
|
70
|
-
genPopup,
|
|
71
|
-
genTool,
|
|
72
|
-
handleChangePopupPositionY
|
|
73
|
-
]);
|
|
74
|
-
const calculatePopupPositionX = react.useCallback(()=>{
|
|
75
|
-
if (!genTool.current || !genPopup.current) return;
|
|
76
|
-
const viewWidth = window.innerWidth;
|
|
77
|
-
const toolPos = genTool.current?.getBoundingClientRect();
|
|
78
|
-
const genPopupWidth = genPopup.current?.getBoundingClientRect().width;
|
|
79
|
-
if (toolPos.left + genPopupWidth > viewWidth) {
|
|
80
|
-
setPopupPositionX('right');
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
setPopupPositionX('left');
|
|
84
|
-
}, [
|
|
85
|
-
genPopup,
|
|
86
|
-
genTool
|
|
87
|
-
]);
|
|
88
|
-
react.useEffect(()=>{
|
|
89
|
-
if (!isShowPopup) {
|
|
90
|
-
setIsValidating(true);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
setIsValidating(true);
|
|
94
|
-
calculatePopupPositionY();
|
|
95
|
-
calculatePopupPositionX();
|
|
96
|
-
setIsValidating(false);
|
|
97
|
-
}, [
|
|
98
|
-
isShowPopup,
|
|
99
|
-
calculatePopupPositionX,
|
|
100
|
-
calculatePopupPositionY
|
|
101
|
-
]);
|
|
102
|
-
return {
|
|
103
|
-
isValidating,
|
|
104
|
-
bodyMaxHeight,
|
|
105
|
-
popupPositionY,
|
|
106
|
-
popupPositionX
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
exports.useFlipPopup = useFlipPopup;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var react = require('react');
|
|
4
|
-
|
|
5
|
-
const useGettingGenerateRequest = ()=>{
|
|
6
|
-
const [prompt, setPrompt] = react.useState('');
|
|
7
|
-
const [productName, setProductName] = react.useState('');
|
|
8
|
-
const [tone, setTone] = react.useState('');
|
|
9
|
-
const changePrompt = (value)=>{
|
|
10
|
-
const limit = 200;
|
|
11
|
-
setPrompt(value.slice(0, limit));
|
|
12
|
-
};
|
|
13
|
-
const changeProductName = (value)=>{
|
|
14
|
-
setProductName(value);
|
|
15
|
-
};
|
|
16
|
-
const changeTone = (value)=>{
|
|
17
|
-
setTone(value);
|
|
18
|
-
};
|
|
19
|
-
const getRequestBody = ()=>{
|
|
20
|
-
return {
|
|
21
|
-
prompt,
|
|
22
|
-
productName,
|
|
23
|
-
tone
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
return {
|
|
27
|
-
prompt,
|
|
28
|
-
changePrompt,
|
|
29
|
-
productName,
|
|
30
|
-
changeProductName,
|
|
31
|
-
tone,
|
|
32
|
-
changeTone,
|
|
33
|
-
getRequestBody
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
exports.useGettingGenerateRequest = useGettingGenerateRequest;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var react = require('react');
|
|
4
|
-
|
|
5
|
-
const useListenEventGenerate = (componentInfo)=>{
|
|
6
|
-
const { uid: componentUid, tag: componentTag } = componentInfo;
|
|
7
|
-
const [isGenerating, setIsGenerating] = react.useState(false);
|
|
8
|
-
const onGenerate = (body)=>{
|
|
9
|
-
const eventCreate = new CustomEvent('editor:toolbar:ai-generate-content', {
|
|
10
|
-
bubbles: true,
|
|
11
|
-
detail: {
|
|
12
|
-
componentUid: componentUid,
|
|
13
|
-
componentTag: componentTag,
|
|
14
|
-
genRequest: body
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
window.dispatchEvent(eventCreate);
|
|
18
|
-
setIsGenerating(true);
|
|
19
|
-
onNotifyStatus('loading');
|
|
20
|
-
};
|
|
21
|
-
const onNotifyStatus = (status)=>{
|
|
22
|
-
const eventNotifyStatus = new CustomEvent('editor:ai-generate-content-status', {
|
|
23
|
-
bubbles: true,
|
|
24
|
-
detail: {
|
|
25
|
-
status: status,
|
|
26
|
-
generatingUid: componentUid
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
window.dispatchEvent(eventNotifyStatus);
|
|
30
|
-
};
|
|
31
|
-
const onGenerateContentStatus = react.useCallback((e)=>{
|
|
32
|
-
const detail = e.detail;
|
|
33
|
-
if (detail?.generatingUid === componentUid && detail.status === 'success') {
|
|
34
|
-
setIsGenerating(false);
|
|
35
|
-
}
|
|
36
|
-
}, [
|
|
37
|
-
componentUid
|
|
38
|
-
]);
|
|
39
|
-
const onOpenProductElementSettings = (productElementUid)=>{
|
|
40
|
-
const eventCreate = new CustomEvent('editor:toolbar:open-product-element', {
|
|
41
|
-
bubbles: true,
|
|
42
|
-
detail: {
|
|
43
|
-
productElementUid: productElementUid
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
window.dispatchEvent(eventCreate);
|
|
47
|
-
};
|
|
48
|
-
react.useEffect(()=>{
|
|
49
|
-
window.addEventListener('editor:ai-generate-content-status', onGenerateContentStatus);
|
|
50
|
-
return ()=>{
|
|
51
|
-
window.removeEventListener('editor:ai-generate-content-status', onGenerateContentStatus);
|
|
52
|
-
};
|
|
53
|
-
}, [
|
|
54
|
-
onGenerateContentStatus
|
|
55
|
-
]);
|
|
56
|
-
return {
|
|
57
|
-
isGenerating,
|
|
58
|
-
onGenerate,
|
|
59
|
-
onOpenProductElementSettings
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
exports.useListenEventGenerate = useListenEventGenerate;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
const AIIcon = ()=>{
|
|
6
|
-
const getRandomId = ()=>{
|
|
7
|
-
return Math.random().toString(36).substring(7);
|
|
8
|
-
};
|
|
9
|
-
const linearGradientId = getRandomId();
|
|
10
|
-
return /*#__PURE__*/ jsxRuntime.jsxs("svg", {
|
|
11
|
-
width: "16",
|
|
12
|
-
height: "16",
|
|
13
|
-
viewBox: "0 0 16 16",
|
|
14
|
-
fill: "none",
|
|
15
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
-
children: [
|
|
17
|
-
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
18
|
-
d: "M11.6363 2.67137C11.5886 2.52361 11.3795 2.52361 11.3318 2.67137L11.1133 3.34797C11.0352 3.58971 10.8469 3.78 10.606 3.86067L9.93715 4.08465C9.79156 4.1334 9.79156 4.33933 9.93715 4.38809L10.606 4.61207C10.8469 4.69273 11.0352 4.88302 11.1133 5.12477L11.3318 5.80137C11.3795 5.94913 11.5886 5.94913 11.6363 5.80137L11.8549 5.12477C11.933 4.88302 12.1212 4.69273 12.3621 4.61207L13.031 4.38809C13.1766 4.33933 13.1766 4.1334 13.031 4.08465L12.3621 3.86067C12.1212 3.78 11.933 3.58971 11.8549 3.34797L11.6363 2.67137Z",
|
|
19
|
-
fill: `url(#${linearGradientId}_0)`
|
|
20
|
-
}),
|
|
21
|
-
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
22
|
-
d: "M7.61245 3.30705C7.54086 3.08541 7.22728 3.08541 7.15569 3.30705L6.39541 5.6608C6.16115 6.38604 5.59636 6.9569 4.87367 7.19891L2.56369 7.97242C2.3453 8.04555 2.34531 8.35445 2.5637 8.42758L4.87367 9.2011C5.59636 9.4431 6.16115 10.014 6.39541 10.7392L7.15569 13.093C7.22728 13.3146 7.54086 13.3146 7.61245 13.093L8.37273 10.7392C8.60699 10.014 9.17178 9.4431 9.89447 9.2011L12.2044 8.42758C12.4228 8.35445 12.4228 8.04555 12.2044 7.97242L9.89447 7.1989C9.17178 6.9569 8.60699 6.38604 8.37273 5.6608L7.61245 3.30705Z",
|
|
23
|
-
fill: `url(#${linearGradientId}_1)`
|
|
24
|
-
}),
|
|
25
|
-
/*#__PURE__*/ jsxRuntime.jsxs("defs", {
|
|
26
|
-
children: [
|
|
27
|
-
/*#__PURE__*/ jsxRuntime.jsxs("linearGradient", {
|
|
28
|
-
id: `${linearGradientId}_0`,
|
|
29
|
-
x1: "15.3433",
|
|
30
|
-
y1: "2.56054",
|
|
31
|
-
x2: "4.24885",
|
|
32
|
-
y2: "1.00838",
|
|
33
|
-
gradientUnits: "userSpaceOnUse",
|
|
34
|
-
children: [
|
|
35
|
-
/*#__PURE__*/ jsxRuntime.jsx("stop", {
|
|
36
|
-
stopColor: "#D8E1FF"
|
|
37
|
-
}),
|
|
38
|
-
/*#__PURE__*/ jsxRuntime.jsx("stop", {
|
|
39
|
-
offset: "1",
|
|
40
|
-
stopColor: "#C8ACFF"
|
|
41
|
-
})
|
|
42
|
-
]
|
|
43
|
-
}),
|
|
44
|
-
/*#__PURE__*/ jsxRuntime.jsxs("linearGradient", {
|
|
45
|
-
id: `${linearGradientId}_1`,
|
|
46
|
-
x1: "15.3433",
|
|
47
|
-
y1: "2.56054",
|
|
48
|
-
x2: "4.24885",
|
|
49
|
-
y2: "1.00838",
|
|
50
|
-
gradientUnits: "userSpaceOnUse",
|
|
51
|
-
children: [
|
|
52
|
-
/*#__PURE__*/ jsxRuntime.jsx("stop", {
|
|
53
|
-
stopColor: "#D8E1FF"
|
|
54
|
-
}),
|
|
55
|
-
/*#__PURE__*/ jsxRuntime.jsx("stop", {
|
|
56
|
-
offset: "1",
|
|
57
|
-
stopColor: "#C8ACFF"
|
|
58
|
-
})
|
|
59
|
-
]
|
|
60
|
-
})
|
|
61
|
-
]
|
|
62
|
-
})
|
|
63
|
-
]
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
exports.AIIcon = AIIcon;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
const CloseIcon = ()=>{
|
|
6
|
-
return /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
7
|
-
width: "16",
|
|
8
|
-
height: "16",
|
|
9
|
-
viewBox: "0 0 16 16",
|
|
10
|
-
fill: "none",
|
|
11
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
13
|
-
d: "M11.1755 12.0243C11.4099 12.2586 11.7898 12.2586 12.0241 12.0243C12.2584 11.79 12.2584 11.4101 12.0241 11.1757L8.84833 8L12.0241 4.82427C12.2584 4.58995 12.2584 4.21005 12.0241 3.97574C11.7898 3.74142 11.4099 3.74142 11.1755 3.97574L7.9998 7.15148L4.82407 3.97574C4.58975 3.74142 4.20986 3.74142 3.97554 3.97574C3.74123 4.21005 3.74123 4.58995 3.97554 4.82427L7.15128 8L3.97554 11.1757C3.74123 11.4101 3.74123 11.79 3.97554 12.0243C4.20986 12.2586 4.58975 12.2586 4.82407 12.0243L7.9998 8.84853L11.1755 12.0243Z",
|
|
14
|
-
fill: "#F9F9F9"
|
|
15
|
-
})
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
exports.CloseIcon = CloseIcon;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
const DropdownIcon = ()=>{
|
|
6
|
-
return /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
7
|
-
width: "20",
|
|
8
|
-
height: "20",
|
|
9
|
-
viewBox: "0 0 20 20",
|
|
10
|
-
fill: "none",
|
|
11
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
13
|
-
fillRule: "evenodd",
|
|
14
|
-
clipRule: "evenodd",
|
|
15
|
-
d: "M5.13313 7.62204C5.31064 7.45932 5.59845 7.45932 5.77596 7.62204L10 11.4941L14.224 7.62204C14.4016 7.45932 14.6894 7.45932 14.8669 7.62204C15.0444 7.78476 15.0444 8.04858 14.8669 8.21129L10.3214 12.378C10.1439 12.5407 9.8561 12.5407 9.67859 12.378L5.13313 8.21129C4.95562 8.04858 4.95562 7.78476 5.13313 7.62204Z",
|
|
16
|
-
fill: "#F9F9F9"
|
|
17
|
-
})
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
const TickIcon = ()=>{
|
|
21
|
-
return /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
22
|
-
width: "20",
|
|
23
|
-
height: "20",
|
|
24
|
-
viewBox: "0 0 20 20",
|
|
25
|
-
fill: "none",
|
|
26
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
27
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
28
|
-
fillRule: "evenodd",
|
|
29
|
-
clipRule: "evenodd",
|
|
30
|
-
d: "M15.8415 5.1766C16.0528 5.41207 16.0528 5.79383 15.8415 6.0293L7.95016 14.8234C7.84869 14.9365 7.71107 15 7.56757 15C7.42408 15 7.28645 14.9365 7.18499 14.8234L4.15846 11.4505C3.94717 11.215 3.94718 10.8333 4.15848 10.5978C4.36978 10.3623 4.71236 10.3623 4.92365 10.5978L7.56759 13.5443L15.0764 5.1766C15.2877 4.94113 15.6302 4.94113 15.8415 5.1766Z",
|
|
31
|
-
fill: "#00C853"
|
|
32
|
-
})
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.DropdownIcon = DropdownIcon;
|
|
37
|
-
exports.TickIcon = TickIcon;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
const SearchIcon = ()=>{
|
|
6
|
-
return /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
7
|
-
width: "20",
|
|
8
|
-
height: "20",
|
|
9
|
-
viewBox: "0 0 20 20",
|
|
10
|
-
fill: "none",
|
|
11
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
13
|
-
fillRule: "evenodd",
|
|
14
|
-
clipRule: "evenodd",
|
|
15
|
-
d: "M8.75 2.5C5.29822 2.5 2.5 5.29822 2.5 8.75C2.5 12.2018 5.29822 15 8.75 15C10.2508 15 11.628 14.471 12.7055 13.5893L16.4775 17.3614C16.7216 17.6054 17.1173 17.6054 17.3614 17.3614C17.6054 17.1173 17.6054 16.7216 17.3614 16.4775L13.5893 12.7055C14.471 11.628 15 10.2508 15 8.75C15 5.29822 12.2018 2.5 8.75 2.5ZM3.75 8.75C3.75 5.98858 5.98858 3.75 8.75 3.75C11.5114 3.75 13.75 5.98858 13.75 8.75C13.75 11.5114 11.5114 13.75 8.75 13.75C5.98858 13.75 3.75 11.5114 3.75 8.75Z",
|
|
16
|
-
fill: "#AAAAAA"
|
|
17
|
-
})
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
exports.SearchIcon = SearchIcon;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
const ShowMoreIcon = ()=>{
|
|
6
|
-
return /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
7
|
-
width: "17",
|
|
8
|
-
height: "16",
|
|
9
|
-
viewBox: "0 0 17 16",
|
|
10
|
-
fill: "none",
|
|
11
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
13
|
-
fillRule: "evenodd",
|
|
14
|
-
clipRule: "evenodd",
|
|
15
|
-
d: "M4.60651 6.09763C4.74852 5.96746 4.97876 5.96746 5.12077 6.09763L8.5 9.19526L11.8792 6.09763C12.0212 5.96746 12.2515 5.96746 12.3935 6.09763C12.5355 6.22781 12.5355 6.43886 12.3935 6.56904L8.75713 9.90237C8.61512 10.0325 8.38488 10.0325 8.24287 9.90237L4.60651 6.56904C4.4645 6.43886 4.4645 6.22781 4.60651 6.09763Z",
|
|
16
|
-
fill: "#F9F9F9"
|
|
17
|
-
})
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
exports.ShowMoreIcon = ShowMoreIcon;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var zustand = require('zustand');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
// const { Provider, useStore } = createContext<StoreApi<ProductContextProps>>();
|
|
8
|
-
const ArticleContext = /*#__PURE__*/ react.createContext(null);
|
|
9
|
-
const createArticleStoreProvider = (data)=>zustand.createStore(()=>({
|
|
10
|
-
...data
|
|
11
|
-
}));
|
|
12
|
-
const ArticleProvider = ({ children, article })=>{
|
|
13
|
-
const uniqueId = react.useId();
|
|
14
|
-
const store = react.useMemo(()=>{
|
|
15
|
-
return createArticleStoreProvider({
|
|
16
|
-
article,
|
|
17
|
-
uniqueId
|
|
18
|
-
});
|
|
19
|
-
}, [
|
|
20
|
-
article,
|
|
21
|
-
uniqueId
|
|
22
|
-
]);
|
|
23
|
-
return /*#__PURE__*/ jsxRuntime.jsx(ArticleContext.Provider, {
|
|
24
|
-
value: store,
|
|
25
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
26
|
-
children: children
|
|
27
|
-
})
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
const useArticleStore = (selector, equalityFn)=>{
|
|
31
|
-
const store = react.useContext(ArticleContext);
|
|
32
|
-
if (!store) {
|
|
33
|
-
throw new Error('Element of article must be used inside a Article');
|
|
34
|
-
}
|
|
35
|
-
return zustand.useStore(store, selector, equalityFn);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
exports.ArticleProvider = ArticleProvider;
|
|
39
|
-
exports.useArticleStore = useArticleStore;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var react = require('react');
|
|
5
|
-
var zustand = require('zustand');
|
|
6
|
-
|
|
7
|
-
const ArticleListContext = /*#__PURE__*/ react.createContext(null);
|
|
8
|
-
const createArticleListProvider = (data)=>zustand.createStore(()=>({
|
|
9
|
-
...data
|
|
10
|
-
}));
|
|
11
|
-
const ArticleListProvider = ({ articles, blogs, children, styles, settings })=>{
|
|
12
|
-
return /*#__PURE__*/ jsxRuntime.jsx(ArticleListContext.Provider, {
|
|
13
|
-
value: createArticleListProvider({
|
|
14
|
-
articles,
|
|
15
|
-
styles,
|
|
16
|
-
settings,
|
|
17
|
-
blogs
|
|
18
|
-
}),
|
|
19
|
-
children: children
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
const useArticleListStore = (selector, equalityFn)=>{
|
|
23
|
-
const store = react.useContext(ArticleListContext);
|
|
24
|
-
if (!store) {
|
|
25
|
-
throw new Error('useArticleListStore must be used within a useArticleListStore');
|
|
26
|
-
}
|
|
27
|
-
return zustand.useStore(store, selector, equalityFn);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
exports.ArticleListContext = ArticleListContext;
|
|
31
|
-
exports.ArticleListProvider = ArticleListProvider;
|
|
32
|
-
exports.useArticleListStore = useArticleListStore;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const convertTextAlignToJustify = (align)=>{
|
|
4
|
-
const devices = [
|
|
5
|
-
'desktop',
|
|
6
|
-
'tablet',
|
|
7
|
-
'mobile'
|
|
8
|
-
];
|
|
9
|
-
const result = {};
|
|
10
|
-
devices.forEach((device)=>{
|
|
11
|
-
const deviceType = device === 'desktop' ? '' : `${device}:`;
|
|
12
|
-
result[`${deviceType}gp-justify-start`] = align?.[device] === 'left';
|
|
13
|
-
result[`${deviceType}gp-justify-center`] = align?.[device] === 'center';
|
|
14
|
-
result[`${deviceType}gp-justify-end`] = align?.[device] === 'right';
|
|
15
|
-
});
|
|
16
|
-
return result;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
exports.convertTextAlignToJustify = convertTextAlignToJustify;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const mock = [
|
|
4
|
-
{
|
|
5
|
-
baseID: 'gid://shopify/OnlineStoreBlog/592066740457',
|
|
6
|
-
id: 592066740457,
|
|
7
|
-
title: 'Blog post might appear in a search engine listing',
|
|
8
|
-
created_at: '2024-05-09T04:06:12-04:00',
|
|
9
|
-
body_html: '<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',
|
|
10
|
-
blog_id: 91970044137,
|
|
11
|
-
author: 'Dev Team',
|
|
12
|
-
user_id: 90371653865,
|
|
13
|
-
published_at: '2024-05-09T04:06:12-04:00',
|
|
14
|
-
updated_at: '2024-05-09T04:06:13-04:00',
|
|
15
|
-
summary_html: '',
|
|
16
|
-
template_suffix: '',
|
|
17
|
-
handle: 'blog-post-might-appear-in-a-search-engine-listing',
|
|
18
|
-
tags: 'vintage',
|
|
19
|
-
admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066740457',
|
|
20
|
-
image: {
|
|
21
|
-
created_at: '2024-05-09T04:06:12-04:00',
|
|
22
|
-
alt: '',
|
|
23
|
-
width: 1073,
|
|
24
|
-
height: 719,
|
|
25
|
-
src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_2.jpg?v=1715241973'
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
baseID: 'gid://shopify/OnlineStoreBlog/592066707689',
|
|
30
|
-
id: 592066707689,
|
|
31
|
-
title: 'ar on your home page or blog.',
|
|
32
|
-
created_at: '2024-05-09T04:05:26-04:00',
|
|
33
|
-
body_html: '<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',
|
|
34
|
-
blog_id: 91970044137,
|
|
35
|
-
author: 'Dev Team',
|
|
36
|
-
user_id: 90371653865,
|
|
37
|
-
published_at: '2024-05-09T04:05:25-04:00',
|
|
38
|
-
updated_at: '2024-05-09T05:35:29-04:00',
|
|
39
|
-
summary_html: '',
|
|
40
|
-
template_suffix: '',
|
|
41
|
-
handle: 'ar-on-your-home-page-or-blog',
|
|
42
|
-
tags: 'cotton, vintage',
|
|
43
|
-
admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066707689',
|
|
44
|
-
image: {
|
|
45
|
-
created_at: '2024-05-09T04:05:26-04:00',
|
|
46
|
-
alt: '',
|
|
47
|
-
width: 1080,
|
|
48
|
-
height: 719,
|
|
49
|
-
src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_1.jpg?v=1715241926'
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
baseID: 'gid://shopify/OnlineStoreBlog/592066674921',
|
|
54
|
-
id: 592066674921,
|
|
55
|
-
title: 'Add a summary of the post.',
|
|
56
|
-
created_at: '2024-05-09T04:04:44-04:00',
|
|
57
|
-
body_html: '<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',
|
|
58
|
-
blog_id: 91970044137,
|
|
59
|
-
author: 'Dev Team',
|
|
60
|
-
user_id: 90371653865,
|
|
61
|
-
published_at: '2024-05-09T04:04:44-04:00',
|
|
62
|
-
updated_at: '2024-05-09T04:04:45-04:00',
|
|
63
|
-
summary_html: '',
|
|
64
|
-
template_suffix: '',
|
|
65
|
-
handle: 'add-a-summary-of-the-post',
|
|
66
|
-
tags: '',
|
|
67
|
-
admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066674921',
|
|
68
|
-
image: {
|
|
69
|
-
created_at: '2024-05-09T04:04:44-04:00',
|
|
70
|
-
alt: '',
|
|
71
|
-
width: 1086,
|
|
72
|
-
height: 718,
|
|
73
|
-
src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_7.jpg?v=1715241885'
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
baseID: 'gid://shopify/OnlineStoreBlog/592058777833',
|
|
78
|
-
id: 592058777833,
|
|
79
|
-
title: 'Article Page - May 7, 10:47:14',
|
|
80
|
-
created_at: '2024-05-06T23:47:59-04:00',
|
|
81
|
-
body_html: '<h2>\n<span>Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>\n</h2>',
|
|
82
|
-
blog_id: 91970044137,
|
|
83
|
-
author: 'GemPages',
|
|
84
|
-
user_id: null,
|
|
85
|
-
published_at: '2024-05-06T23:47:59-04:00',
|
|
86
|
-
updated_at: '2024-05-09T04:06:48-04:00',
|
|
87
|
-
summary_html: '',
|
|
88
|
-
template_suffix: 'gp-template-512584275137135821',
|
|
89
|
-
handle: 'article-page-may-7-10-47-14',
|
|
90
|
-
tags: 'vintage',
|
|
91
|
-
admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592058777833',
|
|
92
|
-
image: {
|
|
93
|
-
created_at: '2024-05-09T04:06:41-04:00',
|
|
94
|
-
alt: '',
|
|
95
|
-
width: 578,
|
|
96
|
-
height: 585,
|
|
97
|
-
src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.png?v=1715242002'
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
baseID: 'gid://shopify/OnlineStoreBlog/592058679529',
|
|
102
|
-
id: 592058679529,
|
|
103
|
-
title: 'Blog about your latest products or deals',
|
|
104
|
-
created_at: '2024-05-06T22:36:55-04:00',
|
|
105
|
-
body_html: '<span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>',
|
|
106
|
-
blog_id: 91970044137,
|
|
107
|
-
author: 'Dev Team',
|
|
108
|
-
user_id: 90371653865,
|
|
109
|
-
published_at: '2024-05-06T22:36:54-04:00',
|
|
110
|
-
updated_at: '2024-05-09T03:46:39-04:00',
|
|
111
|
-
summary_html: '<span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>',
|
|
112
|
-
template_suffix: 'gp-template-512584275137135821',
|
|
113
|
-
handle: 'blog-about-your-latest-products-or-deals',
|
|
114
|
-
tags: '',
|
|
115
|
-
admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592058679529',
|
|
116
|
-
image: {
|
|
117
|
-
created_at: '2024-05-06T22:36:55-04:00',
|
|
118
|
-
alt: '',
|
|
119
|
-
width: 497,
|
|
120
|
-
height: 618,
|
|
121
|
-
src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.jpg?v=1715049415'
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
];
|
|
125
|
-
const useArticlesQuery = ()=>{
|
|
126
|
-
return mock;
|
|
127
|
-
};
|
|
128
|
-
const useBlogsQuery = ()=>{
|
|
129
|
-
return {
|
|
130
|
-
blogs: {
|
|
131
|
-
edges: [
|
|
132
|
-
{
|
|
133
|
-
node: {
|
|
134
|
-
id: '511006979737518962',
|
|
135
|
-
title: 'News',
|
|
136
|
-
baseID: 'gid://shopify/OnlineStoreBlog/91970044137',
|
|
137
|
-
tags: [],
|
|
138
|
-
handle: 'news',
|
|
139
|
-
descriptionMeta: '',
|
|
140
|
-
description: '',
|
|
141
|
-
titleMeta: '',
|
|
142
|
-
templateSuffix: '',
|
|
143
|
-
platform: 'SHOPIFY'
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
exports.useArticlesQuery = useArticlesQuery;
|
|
152
|
-
exports.useBlogsQuery = useBlogsQuery;
|