@gem-sdk/core 1.41.0-dev.31 → 1.41.0-dev.36

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.
@@ -0,0 +1,39 @@
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;
@@ -0,0 +1,32 @@
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;
@@ -0,0 +1,152 @@
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;
package/dist/cjs/index.js CHANGED
@@ -16,6 +16,8 @@ var ShopContext = require('./contexts/ShopContext.js');
16
16
  var PageContext = require('./contexts/PageContext.js');
17
17
  var CollectionContext = require('./contexts/CollectionContext.js');
18
18
  var ModalContext = require('./contexts/ModalContext.js');
19
+ var ArticleListContext = require('./contexts/ArticleListContext.js');
20
+ var ArticleContext = require('./contexts/ArticleContext.js');
19
21
  var pageViewUp_generated = require('./graphql/mutations/page-view-up.generated.js');
20
22
  var collectionDetailFilter_generated = require('./graphql/queries/collection-detail-filter.generated.js');
21
23
  var collection_generated = require('./graphql/queries/collection.generated.js');
@@ -89,6 +91,7 @@ var useIsomorphicLayoutEffect = require('./hooks/useIsomorphicLayoutEffect.js');
89
91
  var useLoadScript = require('./hooks/useLoadScript.js');
90
92
  var useMoney = require('./hooks/useMoney.js');
91
93
  var usePrevious = require('./hooks/usePrevious.js');
94
+ var useArticlesQuery = require('./hooks/articles/useArticlesQuery.js');
92
95
  var useProduct = require('./hooks/useProduct.js');
93
96
  var useProductList = require('./hooks/useProductList.js');
94
97
  var useSuspenseFetch = require('./hooks/useSuspenseFetch.js');
@@ -136,6 +139,10 @@ exports.CollectionProvider = CollectionContext.CollectionProvider;
136
139
  exports.useCollectionStore = CollectionContext.useCollectionStore;
137
140
  exports.ModalProvider = ModalContext.ModalProvider;
138
141
  exports.useModalStore = ModalContext.useModalStore;
142
+ exports.ArticleListProvider = ArticleListContext.ArticleListProvider;
143
+ exports.useArticleListStore = ArticleListContext.useArticleListStore;
144
+ exports.ArticleProvider = ArticleContext.ArticleProvider;
145
+ exports.useArticleStore = ArticleContext.useArticleStore;
139
146
  exports.PageViewUpDocument = pageViewUp_generated.PageViewUpDocument;
140
147
  exports.CollectionDetailFilterDocument = collectionDetailFilter_generated.CollectionDetailFilterDocument;
141
148
  exports.CollectionDocument = collection_generated.CollectionDocument;
@@ -319,6 +326,8 @@ exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect.default;
319
326
  exports.useLoadScript = useLoadScript.default;
320
327
  exports.useMoney = useMoney.default;
321
328
  exports.usePrevious = usePrevious.usePrevious;
329
+ exports.useArticlesQuery = useArticlesQuery.useArticlesQuery;
330
+ exports.useBlogsQuery = useArticlesQuery.useBlogsQuery;
322
331
  exports.useCheckAvailableVariantInStock = useProduct.useCheckAvailableVariantInStock;
323
332
  exports.useCurrentVariant = useProduct.useCurrentVariant;
324
333
  exports.useCurrentVariantInStock = useProduct.useCurrentVariantInStock;
@@ -0,0 +1,36 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useStore, createStore } from 'zustand';
3
+ import { useId, useMemo, useContext, createContext } from 'react';
4
+
5
+ // const { Provider, useStore } = createContext<StoreApi<ProductContextProps>>();
6
+ const ArticleContext = /*#__PURE__*/ createContext(null);
7
+ const createArticleStoreProvider = (data)=>createStore(()=>({
8
+ ...data
9
+ }));
10
+ const ArticleProvider = ({ children, article })=>{
11
+ const uniqueId = useId();
12
+ const store = useMemo(()=>{
13
+ return createArticleStoreProvider({
14
+ article,
15
+ uniqueId
16
+ });
17
+ }, [
18
+ article,
19
+ uniqueId
20
+ ]);
21
+ return /*#__PURE__*/ jsx(ArticleContext.Provider, {
22
+ value: store,
23
+ children: /*#__PURE__*/ jsx(Fragment, {
24
+ children: children
25
+ })
26
+ });
27
+ };
28
+ const useArticleStore = (selector, equalityFn)=>{
29
+ const store = useContext(ArticleContext);
30
+ if (!store) {
31
+ throw new Error('Element of article must be used inside a Article');
32
+ }
33
+ return useStore(store, selector, equalityFn);
34
+ };
35
+
36
+ export { ArticleProvider, useArticleStore };
@@ -0,0 +1,28 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, createContext } from 'react';
3
+ import { useStore, createStore } from 'zustand';
4
+
5
+ const ArticleListContext = /*#__PURE__*/ createContext(null);
6
+ const createArticleListProvider = (data)=>createStore(()=>({
7
+ ...data
8
+ }));
9
+ const ArticleListProvider = ({ articles, blogs, children, styles, settings })=>{
10
+ return /*#__PURE__*/ jsx(ArticleListContext.Provider, {
11
+ value: createArticleListProvider({
12
+ articles,
13
+ styles,
14
+ settings,
15
+ blogs
16
+ }),
17
+ children: children
18
+ });
19
+ };
20
+ const useArticleListStore = (selector, equalityFn)=>{
21
+ const store = useContext(ArticleListContext);
22
+ if (!store) {
23
+ throw new Error('useArticleListStore must be used within a useArticleListStore');
24
+ }
25
+ return useStore(store, selector, equalityFn);
26
+ };
27
+
28
+ export { ArticleListContext, ArticleListProvider, useArticleListStore };
@@ -0,0 +1,149 @@
1
+ const mock = [
2
+ {
3
+ baseID: 'gid://shopify/OnlineStoreBlog/592066740457',
4
+ id: 592066740457,
5
+ title: 'Blog post might appear in a search engine listing',
6
+ created_at: '2024-05-09T04:06:12-04:00',
7
+ 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>',
8
+ blog_id: 91970044137,
9
+ author: 'Dev Team',
10
+ user_id: 90371653865,
11
+ published_at: '2024-05-09T04:06:12-04:00',
12
+ updated_at: '2024-05-09T04:06:13-04:00',
13
+ summary_html: '',
14
+ template_suffix: '',
15
+ handle: 'blog-post-might-appear-in-a-search-engine-listing',
16
+ tags: 'vintage',
17
+ admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066740457',
18
+ image: {
19
+ created_at: '2024-05-09T04:06:12-04:00',
20
+ alt: '',
21
+ width: 1073,
22
+ height: 719,
23
+ src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_2.jpg?v=1715241973'
24
+ }
25
+ },
26
+ {
27
+ baseID: 'gid://shopify/OnlineStoreBlog/592066707689',
28
+ id: 592066707689,
29
+ title: 'ar on your home page or blog.',
30
+ created_at: '2024-05-09T04:05:26-04:00',
31
+ 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>',
32
+ blog_id: 91970044137,
33
+ author: 'Dev Team',
34
+ user_id: 90371653865,
35
+ published_at: '2024-05-09T04:05:25-04:00',
36
+ updated_at: '2024-05-09T05:35:29-04:00',
37
+ summary_html: '',
38
+ template_suffix: '',
39
+ handle: 'ar-on-your-home-page-or-blog',
40
+ tags: 'cotton, vintage',
41
+ admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066707689',
42
+ image: {
43
+ created_at: '2024-05-09T04:05:26-04:00',
44
+ alt: '',
45
+ width: 1080,
46
+ height: 719,
47
+ src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_1.jpg?v=1715241926'
48
+ }
49
+ },
50
+ {
51
+ baseID: 'gid://shopify/OnlineStoreBlog/592066674921',
52
+ id: 592066674921,
53
+ title: 'Add a summary of the post.',
54
+ created_at: '2024-05-09T04:04:44-04:00',
55
+ 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>',
56
+ blog_id: 91970044137,
57
+ author: 'Dev Team',
58
+ user_id: 90371653865,
59
+ published_at: '2024-05-09T04:04:44-04:00',
60
+ updated_at: '2024-05-09T04:04:45-04:00',
61
+ summary_html: '',
62
+ template_suffix: '',
63
+ handle: 'add-a-summary-of-the-post',
64
+ tags: '',
65
+ admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592066674921',
66
+ image: {
67
+ created_at: '2024-05-09T04:04:44-04:00',
68
+ alt: '',
69
+ width: 1086,
70
+ height: 718,
71
+ src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_7.jpg?v=1715241885'
72
+ }
73
+ },
74
+ {
75
+ baseID: 'gid://shopify/OnlineStoreBlog/592058777833',
76
+ id: 592058777833,
77
+ title: 'Article Page - May 7, 10:47:14',
78
+ created_at: '2024-05-06T23:47:59-04:00',
79
+ 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>',
80
+ blog_id: 91970044137,
81
+ author: 'GemPages',
82
+ user_id: null,
83
+ published_at: '2024-05-06T23:47:59-04:00',
84
+ updated_at: '2024-05-09T04:06:48-04:00',
85
+ summary_html: '',
86
+ template_suffix: 'gp-template-512584275137135821',
87
+ handle: 'article-page-may-7-10-47-14',
88
+ tags: 'vintage',
89
+ admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592058777833',
90
+ image: {
91
+ created_at: '2024-05-09T04:06:41-04:00',
92
+ alt: '',
93
+ width: 578,
94
+ height: 585,
95
+ src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.png?v=1715242002'
96
+ }
97
+ },
98
+ {
99
+ baseID: 'gid://shopify/OnlineStoreBlog/592058679529',
100
+ id: 592058679529,
101
+ title: 'Blog about your latest products or deals',
102
+ created_at: '2024-05-06T22:36:55-04:00',
103
+ 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>',
104
+ blog_id: 91970044137,
105
+ author: 'Dev Team',
106
+ user_id: 90371653865,
107
+ published_at: '2024-05-06T22:36:54-04:00',
108
+ updated_at: '2024-05-09T03:46:39-04:00',
109
+ summary_html: '<span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>',
110
+ template_suffix: 'gp-template-512584275137135821',
111
+ handle: 'blog-about-your-latest-products-or-deals',
112
+ tags: '',
113
+ admin_graphql_api_id: 'gid://shopify/OnlineStoreArticle/592058679529',
114
+ image: {
115
+ created_at: '2024-05-06T22:36:55-04:00',
116
+ alt: '',
117
+ width: 497,
118
+ height: 618,
119
+ src: 'https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.jpg?v=1715049415'
120
+ }
121
+ }
122
+ ];
123
+ const useArticlesQuery = ()=>{
124
+ return mock;
125
+ };
126
+ const useBlogsQuery = ()=>{
127
+ return {
128
+ blogs: {
129
+ edges: [
130
+ {
131
+ node: {
132
+ id: '511006979737518962',
133
+ title: 'News',
134
+ baseID: 'gid://shopify/OnlineStoreBlog/91970044137',
135
+ tags: [],
136
+ handle: 'news',
137
+ descriptionMeta: '',
138
+ description: '',
139
+ titleMeta: '',
140
+ templateSuffix: '',
141
+ platform: 'SHOPIFY'
142
+ }
143
+ }
144
+ ]
145
+ }
146
+ };
147
+ };
148
+
149
+ export { useArticlesQuery, useBlogsQuery };
package/dist/esm/index.js CHANGED
@@ -14,6 +14,8 @@ export { ShopProvider, useShopStore } from './contexts/ShopContext.js';
14
14
  export { PageProvider, usePageStore } from './contexts/PageContext.js';
15
15
  export { CollectionProvider, useCollectionStore } from './contexts/CollectionContext.js';
16
16
  export { ModalProvider, useModalStore } from './contexts/ModalContext.js';
17
+ export { ArticleListProvider, useArticleListStore } from './contexts/ArticleListContext.js';
18
+ export { ArticleProvider, useArticleStore } from './contexts/ArticleContext.js';
17
19
  export { PageViewUpDocument } from './graphql/mutations/page-view-up.generated.js';
18
20
  export { CollectionDetailFilterDocument } from './graphql/queries/collection-detail-filter.generated.js';
19
21
  export { CollectionDocument } from './graphql/queries/collection.generated.js';
@@ -90,6 +92,7 @@ export { default as useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayou
90
92
  export { default as useLoadScript } from './hooks/useLoadScript.js';
91
93
  export { default as useMoney } from './hooks/useMoney.js';
92
94
  export { usePrevious } from './hooks/usePrevious.js';
95
+ export { useArticlesQuery, useBlogsQuery } from './hooks/articles/useArticlesQuery.js';
93
96
  export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useIsSyncProduct, useProduct, useProductOfferDiscount, useProductProperties, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants } from './hooks/useProduct.js';
94
97
  export { useProductList, useProductListProducts, useProductListSettings, useProductListStyles } from './hooks/useProductList.js';
95
98
  export { default as useSuspenseFetch } from './hooks/useSuspenseFetch.js';
@@ -60,7 +60,7 @@ type Analytic$1 = {
60
60
  gaTrackingID?: Maybe$1<Scalars$2['String']>;
61
61
  tiktokPixelID?: Maybe$1<Scalars$2['String']>;
62
62
  };
63
- type Article$1 = {
63
+ type Article$2 = {
64
64
  baseID?: Maybe$1<Scalars$2['String']>;
65
65
  blogs?: Maybe$1<BlogConnection$1>;
66
66
  description?: Maybe$1<Scalars$2['String']>;
@@ -133,7 +133,7 @@ type ArticleConnection$1 = {
133
133
  };
134
134
  type ArticleEdge$1 = {
135
135
  cursor?: Maybe$1<Scalars$2['Cursor']>;
136
- node?: Maybe$1<Article$1>;
136
+ node?: Maybe$1<Article$2>;
137
137
  };
138
138
  type ArticleOrder$1 = {
139
139
  direction: OrderDirection$1;
@@ -5722,7 +5722,7 @@ type PublishedThemeStyleWhereInput$1 = {
5722
5722
  type Query$1 = {
5723
5723
  _entities: Array<Maybe$1<_Entity>>;
5724
5724
  _service: _Service;
5725
- article?: Maybe$1<Article$1>;
5725
+ article?: Maybe$1<Article$2>;
5726
5726
  articles?: Maybe$1<ArticleConnection$1>;
5727
5727
  blog?: Maybe$1<Blog$1>;
5728
5728
  blogs?: Maybe$1<BlogConnection$1>;
@@ -6237,7 +6237,7 @@ type shop__Service = _Service;
6237
6237
  declare namespace shop {
6238
6238
  export {
6239
6239
  Analytic$1 as Analytic,
6240
- Article$1 as Article,
6240
+ Article$2 as Article,
6241
6241
  ArticleBlogWhereInput$1 as ArticleBlogWhereInput,
6242
6242
  ArticleBlogsArgs$1 as ArticleBlogsArgs,
6243
6243
  ArticleConnection$1 as ArticleConnection,
@@ -6926,6 +6926,7 @@ type InputControlType<T> = SharedControlType<T> & {
6926
6926
  value: any;
6927
6927
  }[];
6928
6928
  readonly?: boolean;
6929
+ suffix?: string;
6929
6930
  action?: {
6930
6931
  clear?: boolean;
6931
6932
  };
@@ -7423,6 +7424,11 @@ type ProductListControlType<T> = SharedControlType<T> & {
7423
7424
  isMultiple?: boolean;
7424
7425
  };
7425
7426
 
7427
+ type ArticleListControlType<T> = SharedControlType<T> & {
7428
+ type: 'article-list';
7429
+ isMultiple?: boolean;
7430
+ };
7431
+
7426
7432
  type SizeUnit$1 = '%' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt' | 'px' | 'em' | 'cap' | 'ex' | 'ch' | 'ic' | 'rem' | 'lh' | 'rlh' | 'vw' | 'vh' | 'vi' | 'vb' | 'vmin' | 'vmax';
7427
7433
  type InputUnitSpacingControlType<T> = SharedControlType<T> & {
7428
7434
  type: 'input:unit-spacing';
@@ -7582,6 +7588,7 @@ type ParallaxScrollingType<T> = SharedControlType<T> & {
7582
7588
 
7583
7589
  type BackgroundColorPickerType<T> = SharedControlType<T> & {
7584
7590
  type: 'background-color-picker';
7591
+ mode?: 'both' | 'solid' | 'gradient';
7585
7592
  popup?: boolean;
7586
7593
  readonly?: boolean;
7587
7594
  };
@@ -7731,7 +7738,11 @@ type ButtonLayoutType<T> = SharedControlType<T> & {
7731
7738
  type: 'button-layout';
7732
7739
  };
7733
7740
 
7734
- 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> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | BackgroundColorPickerType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | SneakPeakControlType<T> | BackgroundColorPickerType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | NotesControlType<T> | NotesControlType<T> | ButtonLayoutType<T>;
7741
+ type ShapeSelectorControlType<T> = SharedControlType<T> & {
7742
+ type: 'shape-selector';
7743
+ };
7744
+
7745
+ 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> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | BackgroundColorPickerType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | SneakPeakControlType<T> | BackgroundColorPickerType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | NotesControlType<T> | NotesControlType<T> | ButtonLayoutType<T> | ShapeSelectorControlType<T>;
7735
7746
  type ControlTriggerAction = {
7736
7747
  controlId: string;
7737
7748
  newValue?: any;
@@ -7959,7 +7970,7 @@ type AnalyticsQueryParameter = {
7959
7970
  startDate?: InputMaybe<Scalars['Time']>;
7960
7971
  };
7961
7972
  type AppType = 'CUSTOM' | 'GEMPAGES' | 'GEMPAGESV5' | 'GEMPAGESV7' | 'GEMX';
7962
- type Article = {
7973
+ type Article$1 = {
7963
7974
  baseID?: Maybe<Scalars['String']>;
7964
7975
  blogs?: Maybe<BlogConnection>;
7965
7976
  description?: Maybe<Scalars['String']>;
@@ -8032,7 +8043,7 @@ type ArticleConnection = {
8032
8043
  };
8033
8044
  type ArticleEdge = {
8034
8045
  cursor?: Maybe<Scalars['Cursor']>;
8035
- node?: Maybe<Article>;
8046
+ node?: Maybe<Article$1>;
8036
8047
  };
8037
8048
  type ArticleOrder = {
8038
8049
  direction: OrderDirection;
@@ -18842,7 +18853,7 @@ type PutCustomComponentFileInput = {
18842
18853
  name: Scalars['String'];
18843
18854
  };
18844
18855
  type Query = {
18845
- article?: Maybe<Article>;
18856
+ article?: Maybe<Article$1>;
18846
18857
  articles?: Maybe<ArticleConnection>;
18847
18858
  backgroundTasks?: Maybe<BackgroundTaskConnection>;
18848
18859
  blog?: Maybe<Blog>;
@@ -25023,7 +25034,6 @@ type appAPI_AddEmployeeInput = AddEmployeeInput;
25023
25034
  type appAPI_Analytic = Analytic;
25024
25035
  type appAPI_AnalyticsQueryParameter = AnalyticsQueryParameter;
25025
25036
  type appAPI_AppType = AppType;
25026
- type appAPI_Article = Article;
25027
25037
  type appAPI_ArticleBlogWhereInput = ArticleBlogWhereInput;
25028
25038
  type appAPI_ArticleBlogsArgs = ArticleBlogsArgs;
25029
25039
  type appAPI_ArticleConnection = ArticleConnection;
@@ -26016,7 +26026,7 @@ declare namespace appAPI {
26016
26026
  appAPI_Analytic as Analytic,
26017
26027
  appAPI_AnalyticsQueryParameter as AnalyticsQueryParameter,
26018
26028
  appAPI_AppType as AppType,
26019
- appAPI_Article as Article,
26029
+ Article$1 as Article,
26020
26030
  appAPI_ArticleBlogWhereInput as ArticleBlogWhereInput,
26021
26031
  appAPI_ArticleBlogsArgs as ArticleBlogsArgs,
26022
26032
  appAPI_ArticleConnection as ArticleConnection,
@@ -27609,6 +27619,39 @@ type ModalProviderProps = Pick<ModalContextProps, 'activeId'> & {
27609
27619
  declare const ModalProvider: React.FC<ModalProviderProps>;
27610
27620
  declare const useModalStore: <U>(selector: (state: ExtractState<StoreApi<ModalContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
27611
27621
 
27622
+ type ArticleListContextProps = {
27623
+ articles?: any[];
27624
+ blogs?: Blog$1[];
27625
+ settings?: {
27626
+ slidesToShow?: ObjectDevices<number | 'auto'>;
27627
+ };
27628
+ styles?: {
27629
+ horizontalGutter?: ObjectDevices<string>;
27630
+ verticalGutter?: ObjectDevices<string>;
27631
+ fullWidth?: ObjectDevices<boolean>;
27632
+ spacing?: ObjectDevices<number>;
27633
+ width?: ObjectDevices<string>;
27634
+ height?: ObjectDevices<string>;
27635
+ };
27636
+ };
27637
+ type ArticleListProviderProps = ArticleListContextProps & {
27638
+ children: React.ReactNode;
27639
+ };
27640
+ declare const ArticleListProvider: React.FC<ArticleListProviderProps>;
27641
+ declare const useArticleListStore: <U>(selector: (state: ExtractState<StoreApi<ArticleListContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
27642
+
27643
+ type Article = any;
27644
+ type ArticleContextProps = {
27645
+ article: Article;
27646
+ uniqueId: string;
27647
+ };
27648
+ type ArticleProviderProps = Pick<ArticleContextProps, 'article'> & {
27649
+ readOnly?: boolean;
27650
+ children: React.ReactNode;
27651
+ };
27652
+ declare const ArticleProvider: React.FC<ArticleProviderProps>;
27653
+ declare const useArticleStore: <U>(selector: (state: ExtractState<StoreApi<ArticleContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
27654
+
27612
27655
  type PageViewUpMutationVariables = Exact$1<{
27613
27656
  pageHandle: Scalars$2['String'];
27614
27657
  userAgent: Scalars$2['String'];
@@ -35889,6 +35932,64 @@ declare const useMoney: (amount: number) => UseMoneyValue;
35889
35932
 
35890
35933
  declare const usePrevious: <T>(value: T) => T | undefined;
35891
35934
 
35935
+ type BlogsQueryResponse = {
35936
+ blogs?: Maybe$1<Pick<BlogConnection$1, 'totalCount'> & {
35937
+ edges: Array<Pick<BlogEdge$1, 'cursor'> & {
35938
+ node?: Maybe$1<Pick<Blog$1, 'baseID' | 'description' | 'descriptionMeta' | 'handle' | 'id' | 'platform' | 'tags' | 'templateSuffix' | 'title' | 'titleMeta'>>;
35939
+ }>;
35940
+ pageInfo?: Maybe$1<Pick<PageInfo$1, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>>;
35941
+ }>;
35942
+ };
35943
+
35944
+ declare const useArticlesQuery: () => ({
35945
+ baseID: string;
35946
+ id: number;
35947
+ title: string;
35948
+ created_at: string;
35949
+ body_html: string;
35950
+ blog_id: number;
35951
+ author: string;
35952
+ user_id: number;
35953
+ published_at: string;
35954
+ updated_at: string;
35955
+ summary_html: string;
35956
+ template_suffix: string;
35957
+ handle: string;
35958
+ tags: string;
35959
+ admin_graphql_api_id: string;
35960
+ image: {
35961
+ created_at: string;
35962
+ alt: string;
35963
+ width: number;
35964
+ height: number;
35965
+ src: string;
35966
+ };
35967
+ } | {
35968
+ baseID: string;
35969
+ id: number;
35970
+ title: string;
35971
+ created_at: string;
35972
+ body_html: string;
35973
+ blog_id: number;
35974
+ author: string;
35975
+ user_id: null;
35976
+ published_at: string;
35977
+ updated_at: string;
35978
+ summary_html: string;
35979
+ template_suffix: string;
35980
+ handle: string;
35981
+ tags: string;
35982
+ admin_graphql_api_id: string;
35983
+ image: {
35984
+ created_at: string;
35985
+ alt: string;
35986
+ width: number;
35987
+ height: number;
35988
+ src: string;
35989
+ };
35990
+ })[];
35991
+ declare const useBlogsQuery: () => BlogsQueryResponse;
35992
+
35892
35993
  declare const useUniqProductID: () => string;
35893
35994
  declare const useProduct: () => ProductSelectFragment | undefined;
35894
35995
  declare const useFeaturedImageGlobal: () => MediaSelectFragment | undefined;
@@ -35971,4 +36072,4 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage$1, 'id' | 'name'
35971
36072
 
35972
36073
  declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
35973
36074
 
35974
- export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, 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, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAspectRatioGlobalSize, getBgImageByDevice, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleShadow, getStyleShadowState, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, 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, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
36075
+ export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, ArticleListProvider, ArticleListProviderProps, ArticleProvider, ArticleProviderProps, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, 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, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAspectRatioGlobalSize, getBgImageByDevice, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleShadow, getStyleShadowState, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useArticleListStore, useArticleStore, useArticlesQuery, useBlogsQuery, 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, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.41.0-dev.31",
3
+ "version": "1.41.0-dev.36",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,8 +27,8 @@
27
27
  "type-check": "yarn tsc --noEmit"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/adapter-shopify": "1.41.0-dev.28",
31
- "@gem-sdk/styles": "1.41.0-dev.28",
30
+ "@gem-sdk/adapter-shopify": "1.41.0-dev.36",
31
+ "@gem-sdk/styles": "1.41.0-dev.36",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {