@gem-sdk/core 1.23.0-staging.43 → 1.23.0-staging.55
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 +8 -1
- package/dist/cjs/components/ComponentWrapperPreview.js +7 -2
- package/dist/cjs/components/Render.liquid.js +5 -1
- package/dist/cjs/components/resize/Spacing.js +1 -0
- package/dist/cjs/contexts/BuilderPreviewContext.js +0 -10
- package/dist/cjs/contexts/PageContext.js +44 -0
- package/dist/cjs/index.js +3 -0
- package/dist/esm/components/ComponentToolbarPreview.js +8 -1
- package/dist/esm/components/ComponentWrapperPreview.js +7 -2
- package/dist/esm/components/Render.liquid.js +5 -1
- package/dist/esm/components/resize/Spacing.js +1 -0
- package/dist/esm/contexts/BuilderPreviewContext.js +0 -10
- package/dist/esm/contexts/PageContext.js +41 -0
- package/dist/esm/index.js +1 -0
- package/dist/types/index.d.ts +23 -6
- package/package.json +1 -1
|
@@ -160,6 +160,13 @@ const ComponentToolbarPreview = ({ ...props })=>{
|
|
|
160
160
|
window.dispatchEvent(event);
|
|
161
161
|
return false;
|
|
162
162
|
};
|
|
163
|
+
const toolbarName = ()=>{
|
|
164
|
+
const name = props.customLabel || props.label;
|
|
165
|
+
if (name?.toLowerCase() === 'item list' || name?.toLowerCase() === 'icon list') {
|
|
166
|
+
return 'Advanced list';
|
|
167
|
+
}
|
|
168
|
+
return name;
|
|
169
|
+
};
|
|
163
170
|
const onZoomOut = (e)=>{
|
|
164
171
|
e.preventDefault();
|
|
165
172
|
e.stopPropagation();
|
|
@@ -252,7 +259,7 @@ const ComponentToolbarPreview = ({ ...props })=>{
|
|
|
252
259
|
children: isThemeSection ? props.name : `Section ${getIndexSection() + 1}${getSectionNumber() >= SECTION_LIMIT - 5 ? `/${SECTION_LIMIT}` : ''}`
|
|
253
260
|
}) : /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
254
261
|
"data-toolbar-name": true,
|
|
255
|
-
children:
|
|
262
|
+
children: toolbarName()
|
|
256
263
|
}),
|
|
257
264
|
props.tag !== 'Section' && parents.length > 0 && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
258
265
|
"data-toolbar-icon-parent": true,
|
|
@@ -106,11 +106,16 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
106
106
|
advanced: advanced
|
|
107
107
|
}),
|
|
108
108
|
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
109
|
-
style: style,
|
|
109
|
+
style: !props.editorConfigs?.component?.excludeApplyStyle ? style : {},
|
|
110
110
|
className: `${props.uid} ${props.advanced?.cssClass ? props.advanced?.cssClass : ''}`,
|
|
111
111
|
...builderAttrs,
|
|
112
112
|
children: [
|
|
113
|
-
children,
|
|
113
|
+
!props.editorConfigs?.component?.validate && children,
|
|
114
|
+
/*#__PURE__*/ react.isValidElement(children) && props.editorConfigs?.component?.validate && /*#__PURE__*/ jsxRuntime.jsx(children.type, {
|
|
115
|
+
...children.props,
|
|
116
|
+
style,
|
|
117
|
+
advanced
|
|
118
|
+
}),
|
|
114
119
|
/*#__PURE__*/ jsxRuntime.jsx(ComponentToolbarPreview.ComponentToolbarPreview, {
|
|
115
120
|
...props
|
|
116
121
|
})
|
|
@@ -24,6 +24,9 @@ const componentTexts = [
|
|
|
24
24
|
'Text',
|
|
25
25
|
'Heading'
|
|
26
26
|
];
|
|
27
|
+
const componentIconList = [
|
|
28
|
+
'IconListV2'
|
|
29
|
+
];
|
|
27
30
|
const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageContext, ...passProps })=>{
|
|
28
31
|
const item = builder[uid];
|
|
29
32
|
const Component = components[item?.tag];
|
|
@@ -104,7 +107,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
104
107
|
});
|
|
105
108
|
});
|
|
106
109
|
} else {
|
|
107
|
-
liquid = render.template`<div style="${style}" class="${item.uid} ${!item?.childrens?.length && item.tag === 'IconListItemHoz' ? 'hidden' : ''}">
|
|
110
|
+
liquid = render.template`<div style="${!componentIconList.includes(item.tag) ? style : ''}" class="${item.uid} ${!item?.childrens?.length && item.tag === 'IconListItemHoz' ? 'hidden' : ''}">
|
|
108
111
|
${render.RenderIf(item?.childrens?.length, ()=>{
|
|
109
112
|
return Component({
|
|
110
113
|
builderProps: {
|
|
@@ -153,6 +156,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
153
156
|
},
|
|
154
157
|
pageContext,
|
|
155
158
|
isText: componentTexts.includes(item.tag) ? true : null,
|
|
159
|
+
style: componentIconList.includes(item.tag) ? style : null,
|
|
156
160
|
...passProps
|
|
157
161
|
});
|
|
158
162
|
})}
|
|
@@ -106,6 +106,7 @@ function Spacing(props) {
|
|
|
106
106
|
children: props.tag !== 'Section' && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
107
107
|
"data-spacing": true,
|
|
108
108
|
"data-spacing-theme-section": isThemeSectionEditor,
|
|
109
|
+
className: "absolute w-full bottom-0",
|
|
109
110
|
children: /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
110
111
|
"data-spacing-margin-bottom": true,
|
|
111
112
|
children: [
|
|
@@ -411,16 +411,6 @@ const createBuilderPreviewProvider = (args, isThemeSectionEditor)=>zustand.creat
|
|
|
411
411
|
index++;
|
|
412
412
|
}
|
|
413
413
|
return parents;
|
|
414
|
-
},
|
|
415
|
-
setDynamicProduct: (data)=>{
|
|
416
|
-
set({
|
|
417
|
-
dynamicProduct: data
|
|
418
|
-
});
|
|
419
|
-
},
|
|
420
|
-
setDynamicCollection: (data)=>{
|
|
421
|
-
set({
|
|
422
|
-
dynamicCollection: data
|
|
423
|
-
});
|
|
424
414
|
}
|
|
425
415
|
}));
|
|
426
416
|
const BuilderPreviewProvider = ({ children, state, isThemeSectionEditor, lazy, ...passProps })=>{
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var zustand = require('zustand');
|
|
6
|
+
|
|
7
|
+
const PageContext = /*#__PURE__*/ react.createContext(null);
|
|
8
|
+
const createPageStoreProvider = (data)=>zustand.createStore((set)=>({
|
|
9
|
+
...data,
|
|
10
|
+
setDynamicProduct: (data)=>{
|
|
11
|
+
set({
|
|
12
|
+
dynamicProduct: data
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
setDynamicCollection: (data)=>{
|
|
16
|
+
set({
|
|
17
|
+
dynamicCollection: data
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
const PageProvider = ({ children, dynamicProduct, dynamicCollection, ...passProps })=>{
|
|
22
|
+
const store = react.useMemo(()=>createPageStoreProvider({
|
|
23
|
+
dynamicProduct,
|
|
24
|
+
dynamicCollection
|
|
25
|
+
}), [
|
|
26
|
+
dynamicProduct,
|
|
27
|
+
dynamicCollection
|
|
28
|
+
]);
|
|
29
|
+
return /*#__PURE__*/ jsxRuntime.jsx(PageContext.Provider, {
|
|
30
|
+
...passProps,
|
|
31
|
+
value: store,
|
|
32
|
+
children: children
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const usePageStore = (selector, equalityFn)=>{
|
|
36
|
+
const store = react.useContext(PageContext);
|
|
37
|
+
if (!store) {
|
|
38
|
+
throw new Error('usePageStore must be used within a PageProvider');
|
|
39
|
+
}
|
|
40
|
+
return zustand.useStore(store, selector, equalityFn);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
exports.PageProvider = PageProvider;
|
|
44
|
+
exports.usePageStore = usePageStore;
|
package/dist/cjs/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var ProductListContext = require('./contexts/ProductListContext.js');
|
|
|
13
13
|
var ProductContext = require('./contexts/ProductContext.js');
|
|
14
14
|
var SectionContext = require('./contexts/SectionContext.js');
|
|
15
15
|
var ShopContext = require('./contexts/ShopContext.js');
|
|
16
|
+
var PageContext = require('./contexts/PageContext.js');
|
|
16
17
|
var CollectionContext = require('./contexts/CollectionContext.js');
|
|
17
18
|
var ModalContext = require('./contexts/ModalContext.js');
|
|
18
19
|
var pageViewUp_generated = require('./graphql/mutations/page-view-up.generated.js');
|
|
@@ -119,6 +120,8 @@ exports.useSection = SectionContext.useSection;
|
|
|
119
120
|
exports.useSectionStore = SectionContext.useSectionStore;
|
|
120
121
|
exports.ShopProvider = ShopContext.ShopProvider;
|
|
121
122
|
exports.useShopStore = ShopContext.useShopStore;
|
|
123
|
+
exports.PageProvider = PageContext.PageProvider;
|
|
124
|
+
exports.usePageStore = PageContext.usePageStore;
|
|
122
125
|
exports.CollectionProvider = CollectionContext.CollectionProvider;
|
|
123
126
|
exports.useCollectionStore = CollectionContext.useCollectionStore;
|
|
124
127
|
exports.ModalProvider = ModalContext.ModalProvider;
|
|
@@ -158,6 +158,13 @@ const ComponentToolbarPreview = ({ ...props })=>{
|
|
|
158
158
|
window.dispatchEvent(event);
|
|
159
159
|
return false;
|
|
160
160
|
};
|
|
161
|
+
const toolbarName = ()=>{
|
|
162
|
+
const name = props.customLabel || props.label;
|
|
163
|
+
if (name?.toLowerCase() === 'item list' || name?.toLowerCase() === 'icon list') {
|
|
164
|
+
return 'Advanced list';
|
|
165
|
+
}
|
|
166
|
+
return name;
|
|
167
|
+
};
|
|
161
168
|
const onZoomOut = (e)=>{
|
|
162
169
|
e.preventDefault();
|
|
163
170
|
e.stopPropagation();
|
|
@@ -250,7 +257,7 @@ const ComponentToolbarPreview = ({ ...props })=>{
|
|
|
250
257
|
children: isThemeSection ? props.name : `Section ${getIndexSection() + 1}${getSectionNumber() >= SECTION_LIMIT - 5 ? `/${SECTION_LIMIT}` : ''}`
|
|
251
258
|
}) : /*#__PURE__*/ jsx("div", {
|
|
252
259
|
"data-toolbar-name": true,
|
|
253
|
-
children:
|
|
260
|
+
children: toolbarName()
|
|
254
261
|
}),
|
|
255
262
|
props.tag !== 'Section' && parents.length > 0 && /*#__PURE__*/ jsx("div", {
|
|
256
263
|
"data-toolbar-icon-parent": true,
|
|
@@ -102,11 +102,16 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
102
102
|
advanced: advanced
|
|
103
103
|
}),
|
|
104
104
|
/*#__PURE__*/ jsxs("div", {
|
|
105
|
-
style: style,
|
|
105
|
+
style: !props.editorConfigs?.component?.excludeApplyStyle ? style : {},
|
|
106
106
|
className: `${props.uid} ${props.advanced?.cssClass ? props.advanced?.cssClass : ''}`,
|
|
107
107
|
...builderAttrs,
|
|
108
108
|
children: [
|
|
109
|
-
children,
|
|
109
|
+
!props.editorConfigs?.component?.validate && children,
|
|
110
|
+
/*#__PURE__*/ isValidElement(children) && props.editorConfigs?.component?.validate && /*#__PURE__*/ jsx(children.type, {
|
|
111
|
+
...children.props,
|
|
112
|
+
style,
|
|
113
|
+
advanced
|
|
114
|
+
}),
|
|
110
115
|
/*#__PURE__*/ jsx(ComponentToolbarPreview, {
|
|
111
116
|
...props
|
|
112
117
|
})
|
|
@@ -20,6 +20,9 @@ const componentTexts = [
|
|
|
20
20
|
'Text',
|
|
21
21
|
'Heading'
|
|
22
22
|
];
|
|
23
|
+
const componentIconList = [
|
|
24
|
+
'IconListV2'
|
|
25
|
+
];
|
|
23
26
|
const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageContext, ...passProps })=>{
|
|
24
27
|
const item = builder[uid];
|
|
25
28
|
const Component = components[item?.tag];
|
|
@@ -100,7 +103,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
100
103
|
});
|
|
101
104
|
});
|
|
102
105
|
} else {
|
|
103
|
-
liquid = template`<div style="${style}" class="${item.uid} ${!item?.childrens?.length && item.tag === 'IconListItemHoz' ? 'hidden' : ''}">
|
|
106
|
+
liquid = template`<div style="${!componentIconList.includes(item.tag) ? style : ''}" class="${item.uid} ${!item?.childrens?.length && item.tag === 'IconListItemHoz' ? 'hidden' : ''}">
|
|
104
107
|
${RenderIf(item?.childrens?.length, ()=>{
|
|
105
108
|
return Component({
|
|
106
109
|
builderProps: {
|
|
@@ -149,6 +152,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
149
152
|
},
|
|
150
153
|
pageContext,
|
|
151
154
|
isText: componentTexts.includes(item.tag) ? true : null,
|
|
155
|
+
style: componentIconList.includes(item.tag) ? style : null,
|
|
152
156
|
...passProps
|
|
153
157
|
});
|
|
154
158
|
})}
|
|
@@ -102,6 +102,7 @@ function Spacing(props) {
|
|
|
102
102
|
children: props.tag !== 'Section' && /*#__PURE__*/ jsx("div", {
|
|
103
103
|
"data-spacing": true,
|
|
104
104
|
"data-spacing-theme-section": isThemeSectionEditor,
|
|
105
|
+
className: "absolute w-full bottom-0",
|
|
105
106
|
children: /*#__PURE__*/ jsxs("div", {
|
|
106
107
|
"data-spacing-margin-bottom": true,
|
|
107
108
|
children: [
|
|
@@ -409,16 +409,6 @@ const createBuilderPreviewProvider = (args, isThemeSectionEditor)=>createStore((
|
|
|
409
409
|
index++;
|
|
410
410
|
}
|
|
411
411
|
return parents;
|
|
412
|
-
},
|
|
413
|
-
setDynamicProduct: (data)=>{
|
|
414
|
-
set({
|
|
415
|
-
dynamicProduct: data
|
|
416
|
-
});
|
|
417
|
-
},
|
|
418
|
-
setDynamicCollection: (data)=>{
|
|
419
|
-
set({
|
|
420
|
-
dynamicCollection: data
|
|
421
|
-
});
|
|
422
412
|
}
|
|
423
413
|
}));
|
|
424
414
|
const BuilderPreviewProvider = ({ children, state, isThemeSectionEditor, lazy, ...passProps })=>{
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo, useContext, createContext } from 'react';
|
|
3
|
+
import { useStore, createStore } from 'zustand';
|
|
4
|
+
|
|
5
|
+
const PageContext = /*#__PURE__*/ createContext(null);
|
|
6
|
+
const createPageStoreProvider = (data)=>createStore((set)=>({
|
|
7
|
+
...data,
|
|
8
|
+
setDynamicProduct: (data)=>{
|
|
9
|
+
set({
|
|
10
|
+
dynamicProduct: data
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
setDynamicCollection: (data)=>{
|
|
14
|
+
set({
|
|
15
|
+
dynamicCollection: data
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
const PageProvider = ({ children, dynamicProduct, dynamicCollection, ...passProps })=>{
|
|
20
|
+
const store = useMemo(()=>createPageStoreProvider({
|
|
21
|
+
dynamicProduct,
|
|
22
|
+
dynamicCollection
|
|
23
|
+
}), [
|
|
24
|
+
dynamicProduct,
|
|
25
|
+
dynamicCollection
|
|
26
|
+
]);
|
|
27
|
+
return /*#__PURE__*/ jsx(PageContext.Provider, {
|
|
28
|
+
...passProps,
|
|
29
|
+
value: store,
|
|
30
|
+
children: children
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const usePageStore = (selector, equalityFn)=>{
|
|
34
|
+
const store = useContext(PageContext);
|
|
35
|
+
if (!store) {
|
|
36
|
+
throw new Error('usePageStore must be used within a PageProvider');
|
|
37
|
+
}
|
|
38
|
+
return useStore(store, selector, equalityFn);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { PageProvider, usePageStore };
|
package/dist/esm/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { ProductListProvider, useProductListStore } from './contexts/ProductList
|
|
|
11
11
|
export { ProductProvider, useProductStore } from './contexts/ProductContext.js';
|
|
12
12
|
export { SectionProvider, useSection, useSectionStore } from './contexts/SectionContext.js';
|
|
13
13
|
export { ShopProvider, useShopStore } from './contexts/ShopContext.js';
|
|
14
|
+
export { PageProvider, usePageStore } from './contexts/PageContext.js';
|
|
14
15
|
export { CollectionProvider, useCollectionStore } from './contexts/CollectionContext.js';
|
|
15
16
|
export { ModalProvider, useModalStore } from './contexts/ModalContext.js';
|
|
16
17
|
export { PageViewUpDocument } from './graphql/mutations/page-view-up.generated.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -931,9 +931,15 @@ type SizeSetting$1<T> = SharedControlType<T> & {
|
|
|
931
931
|
readonly?: boolean;
|
|
932
932
|
hiddenSettings?: SettingID[];
|
|
933
933
|
settingConfig?: Partial<Record<SettingID, SettingConfig>>;
|
|
934
|
+
hiddenShowMore?: boolean;
|
|
934
935
|
};
|
|
935
936
|
|
|
936
|
-
type
|
|
937
|
+
type ChildIconType<T> = SharedControlType<T> & {
|
|
938
|
+
type: 'child-icon';
|
|
939
|
+
[key: string]: any;
|
|
940
|
+
};
|
|
941
|
+
|
|
942
|
+
type ControlProp<T> = AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | ProductListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T>;
|
|
937
943
|
type Setting<P extends BaseProps> = {
|
|
938
944
|
id: 'setting';
|
|
939
945
|
note?: string;
|
|
@@ -961,6 +967,8 @@ type ComponentSetting<P extends BaseProps> = {
|
|
|
961
967
|
noWrap?: boolean;
|
|
962
968
|
editorConfigs?: {
|
|
963
969
|
component?: {
|
|
970
|
+
validate?: boolean;
|
|
971
|
+
excludeApplyStyle?: boolean;
|
|
964
972
|
noDelete?: boolean;
|
|
965
973
|
noDuplicate?: boolean;
|
|
966
974
|
noDragDrop?: boolean;
|
|
@@ -7355,8 +7363,6 @@ type BuilderPreviewContextProps = {
|
|
|
7355
7363
|
state: BuilderState;
|
|
7356
7364
|
loaded?: boolean;
|
|
7357
7365
|
isThemeSectionEditor?: boolean;
|
|
7358
|
-
dynamicProduct?: DynamicProduct;
|
|
7359
|
-
dynamicCollection?: DynamicCollection;
|
|
7360
7366
|
addItem: (args: {
|
|
7361
7367
|
data: BuilderEntityNested | BuilderEntityNested[];
|
|
7362
7368
|
type?: 'component' | 'section';
|
|
@@ -7378,8 +7384,6 @@ type BuilderPreviewContextProps = {
|
|
|
7378
7384
|
forceChangeState: (data: BuilderState) => void;
|
|
7379
7385
|
initState: (data: BuilderEntityNested | BuilderEntityNested[]) => void;
|
|
7380
7386
|
getParents: (id: string, limit?: number) => BuilderEntity[];
|
|
7381
|
-
setDynamicProduct: (data: DynamicProduct) => void;
|
|
7382
|
-
setDynamicCollection: (data: DynamicCollection) => void;
|
|
7383
7387
|
};
|
|
7384
7388
|
type BuilderPreviewProviderProps = Pick<BuilderPreviewContextProps, 'state'> & {
|
|
7385
7389
|
children: React.ReactNode;
|
|
@@ -7588,6 +7592,19 @@ type ShopProviderProps = {
|
|
|
7588
7592
|
declare const ShopProvider: React.FC<ShopProviderProps>;
|
|
7589
7593
|
declare const useShopStore: <U>(selector: (state: ExtractState<StoreApi<ShopContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
|
|
7590
7594
|
|
|
7595
|
+
type PageContextProps = {
|
|
7596
|
+
dynamicProduct?: DynamicProduct;
|
|
7597
|
+
dynamicCollection?: DynamicCollection;
|
|
7598
|
+
setDynamicProduct: (data: DynamicProduct) => void;
|
|
7599
|
+
setDynamicCollection: (data: DynamicCollection) => void;
|
|
7600
|
+
};
|
|
7601
|
+
type PageProviderProps = Pick<PageContextProps, 'dynamicProduct' | 'dynamicCollection'> & {
|
|
7602
|
+
children: React.ReactNode;
|
|
7603
|
+
key?: React.Key;
|
|
7604
|
+
};
|
|
7605
|
+
declare const PageProvider: React.FC<PageProviderProps>;
|
|
7606
|
+
declare const usePageStore: <U>(selector: (state: ExtractState<StoreApi<PageContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
|
|
7607
|
+
|
|
7591
7608
|
type CollectionSelectFragment = Pick<Collection, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt' | 'title' | 'handle' | 'description' | 'descriptionHtml' | 'templateSuffix' | 'titleMeta' | 'descriptionMeta' | 'baseID' | 'platform' | 'tags' | 'isStorefront' | 'isSample'> & {
|
|
7592
7609
|
products?: Maybe<Pick<ProductConnection, 'totalCount'> & {
|
|
7593
7610
|
edges: Array<{
|
|
@@ -9829,4 +9846,4 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage, 'id' | 'name' |
|
|
|
9829
9846
|
|
|
9830
9847
|
declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
|
|
9831
9848
|
|
|
9832
|
-
export { AddOn, AddonProvider, AddonProviderProps, AlignItemProp, AlignProp, Background, BaseProps, BasePropsWrap, BlockEntity, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsWidgetType, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OptionNormalStyle, OptionSpecialStyle, PageContext, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SectionData, SectionEntity, SectionProvider, SectionProviderProps, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, TransformProp, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, VariantSelectFragment, VitalsWidgetType, WiserWidgetType, WrapRenderChildren, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeBackgroundCss, composeBorderCss, composeCornerCss, composeGridLayout, composeMemo, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertOldLayout, dataStringify, fetchMedias, fetchVariants, filterToolbarPreview, flattenConnection, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getBorderStyle, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleShadow, getStyleShadowState, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleResponsive, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeNullUndefined, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
|
|
9849
|
+
export { AddOn, AddonProvider, AddonProviderProps, AlignItemProp, AlignProp, Background, BaseProps, BasePropsWrap, BlockEntity, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsWidgetType, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OptionNormalStyle, OptionSpecialStyle, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SectionData, SectionEntity, SectionProvider, SectionProviderProps, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, TransformProp, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, VariantSelectFragment, VitalsWidgetType, WiserWidgetType, WrapRenderChildren, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeBackgroundCss, composeBorderCss, composeCornerCss, composeGridLayout, composeMemo, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertOldLayout, dataStringify, fetchMedias, fetchVariants, filterToolbarPreview, flattenConnection, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getBorderStyle, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleShadow, getStyleShadowState, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleResponsive, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeNullUndefined, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageStore, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
|